@acorex/components 22.3.11 → 22.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-components-button.mjs +87 -7
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/{acorex-components-conversation-acorex-components-conversation-BZjCPB-7.mjs → acorex-components-conversation-acorex-components-conversation-OaSJ3SUq.mjs} +5 -8
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-OaSJ3SUq.mjs.map +1 -0
- package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-CNwDWg_O.mjs → acorex-components-conversation-picker-rename-file-dialog.component-BaLD7loU.mjs} +2 -2
- package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-CNwDWg_O.mjs.map → acorex-components-conversation-picker-rename-file-dialog.component-BaLD7loU.mjs.map} +1 -1
- package/fesm2022/acorex-components-conversation.mjs +1 -1
- package/fesm2022/acorex-components-notification.mjs +2 -2
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +8 -7
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +2 -2
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +2 -2
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/package.json +3 -3
- package/types/acorex-components-button.d.ts +20 -2
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-BZjCPB-7.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-toast.mjs","sources":["../../../../packages/components/toast/src/lib/toast.config.ts","../../../../packages/components/toast/src/lib/toast.service.ts","../../../../packages/components/toast/src/lib/toast.component.ts","../../../../packages/components/toast/src/lib/toast.component.html","../../../../packages/components/toast/src/lib/toast.module.ts","../../../../packages/components/toast/src/acorex-components-toast.ts"],"sourcesContent":["import { AXLocation, AXStyleLookType } from '@acorex/cdk/common';\nimport { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\n\nexport interface AXToastConfig {\n gap: number;\n timeOut: number;\n timeOutProgress: boolean;\n location: AXLocation;\n limit: number;\n pauseOnHover: boolean;\n look: AXStyleLookType;\n}\n\nexport const AX_TOAST_CONFIG = new InjectionToken<AXToastConfig>('AX_TOAST_CONFIG', {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'layout.toast', AX_TOAST_CONFIG);\n return AXToastDefaultConfig;\n },\n});\n\nexport const AXToastDefaultConfig: AXToastConfig = {\n gap: 5,\n timeOut: 2500,\n timeOutProgress: true,\n location: 'bottom-center',\n limit: 3,\n pauseOnHover: true,\n look: 'solid',\n};\n\nexport type PartialToastConfig = Partial<AXToastConfig>;\n\nexport function toastConfig(config: PartialToastConfig = {}): AXToastConfig {\n const result = {\n ...AXToastDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { AXLocation, AXStyleColorType, AXStyleLookType } from '@acorex/cdk/common';\nimport { AXOverlayService } from '@acorex/cdk/overlay';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { ComponentRef, Injectable, inject, signal } from '@angular/core';\nimport { AXToastData, AXToastDisplayConfig, AXToastInternalRef, AXToastRef } from './toast.class';\nimport { AXToastComponent } from './toast.component';\nimport { AXToastConfig, AX_TOAST_CONFIG } from './toast.config';\n\ntype AXReservedToasts = {\n config: AXToastDisplayConfig;\n reservedRef: {\n close: () => void;\n };\n};\ntype AXMoreToastsConfig = {\n timeOut?: number;\n timeOutProgress?: boolean;\n color: AXStyleColorType;\n look: AXStyleLookType;\n location: AXLocation;\n contextElement?: AXToastDisplayConfig['contextElement'];\n};\n\nlet toastIdCounter = 0;\n\n@Injectable({ providedIn: 'root' })\nexport class AXToastService {\n private overlayService = inject(AXOverlayService);\n private defaultConfig: AXToastConfig = inject(AX_TOAST_CONFIG);\n private translationService: AXTranslationService = inject(AXTranslationService);\n\n private reserveCounter = signal(0);\n private activeToasts = signal<AXToastInternalRef[]>([]);\n private reservedToasts = signal<AXReservedToasts[]>([]);\n private toastCounterRef = signal<AXToastInternalRef | null>(null);\n private moreToastsConfig = signal<AXMoreToastsConfig>({\n color: 'primary',\n look: 'solid',\n location: 'bottom-center',\n });\n\n /**\n * Shows a primary toast notification.\n *\n * @param content - The message content to display.\n */\n primary(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'primary',\n content: content,\n });\n }\n\n /**\n * Shows a secondary toast notification.\n *\n * @param content - The message content to display.\n */\n secondary(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'secondary',\n content: content,\n });\n }\n\n /**\n * Shows a success toast notification.\n *\n * @param content - The message content to display.\n */\n success(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'success',\n content: content,\n });\n }\n\n /**\n * Shows a warning toast notification.\n *\n * @param content - The message content to display.\n */\n warning(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'warning',\n content: content,\n });\n }\n\n /**\n * Shows a danger toast notification.\n *\n * @param content - The message content to display.\n */\n danger(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'danger',\n content: content,\n });\n }\n\n /**\n * Shows a default toast notification.\n *\n * @param content - The message content to display.\n */\n default(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'default',\n content: content,\n });\n }\n\n /**\n * Shows a toast notification with the specified configuration.\n *\n * @param config - The toast display configuration.\n * @returns AXToastRef - Reference to the created toast for programmatic control.\n */\n show(config: AXToastDisplayConfig): AXToastRef {\n config = { ...this.defaultConfig, ...config };\n\n this.moreToastsConfig.set({\n color: config.color,\n look: config.look ?? this.defaultConfig.look,\n location: config.location,\n timeOut: config.timeOut,\n timeOutProgress: config.timeOutProgress,\n contextElement: config.contextElement,\n });\n\n if (this.defaultConfig.limit > 0 && this.activeToasts().length >= this.defaultConfig.limit) {\n const reservedRef = {\n close: () => {\n console.warn('Reserved notification cannot be closed until it is displayed.');\n },\n };\n this.reservedToasts.update((prev) => [...prev, { config, reservedRef }]);\n this.handleReservedToastCounter();\n return reservedRef;\n }\n\n return this.displayToast(config);\n }\n\n private displayToast(config: AXToastDisplayConfig): AXToastRef {\n const gap = this.defaultConfig.gap;\n const toastData: AXToastData = {\n icon: config.icon,\n title: config.title,\n content: config.content,\n location: config.location,\n closeButton: config.closeButton ?? true,\n color: config.color,\n look: config.look ?? this.defaultConfig.look,\n timeOut: config.timeOut,\n timeOutProgress: config.timeOutProgress ?? true,\n pauseOnHover: config.pauseOnHover,\n };\n\n const toastId = `toast-${++toastIdCounter}`;\n let internalRef: AXToastInternalRef;\n\n const closeToast = () => {\n if (internalRef) {\n internalRef.overlayRef.dispose();\n this.activeToasts.set(this.activeToasts().filter((t) => t.id !== internalRef.id));\n this.handleShowReservedToast();\n this.handleReservedToastCounter();\n setTimeout(() => {\n this.reposition(config.location, gap);\n });\n }\n };\n\n this.overlayService\n .create<AXToastComponent>(AXToastComponent, {\n inputs: {\n config: toastData,\n onClose: closeToast,\n },\n contextElement: config.contextElement,\n visualContextScope: 'theme',\n centered: false,\n panelClass: ['animate-animated', 'animate-fadeIn', 'animate-faster'],\n onDispose: () => {\n // Clean up when disposed externally\n const currentToasts = this.activeToasts();\n if (internalRef && currentToasts.find((t) => t.id === internalRef.id)) {\n this.activeToasts.set(currentToasts.filter((t) => t.id !== internalRef.id));\n this.handleShowReservedToast();\n this.handleReservedToastCounter();\n }\n },\n })\n .then((overlayRef) => {\n internalRef = {\n id: toastId,\n overlayRef,\n config: toastData,\n contextElement: config.contextElement,\n close: closeToast,\n };\n\n // Position the toast BEFORE adding to activeToasts (so getPosition calculates correctly)\n this.positionToast(overlayRef.overlayElement, config.location, gap);\n\n this.activeToasts.update((prev) => [...prev, internalRef]);\n this.handleReservedToastCounter();\n });\n\n return {\n close: () => {\n closeToast();\n },\n };\n }\n\n /**\n * Hides all active toast notifications.\n */\n hideAll() {\n this.reserveCounter.set(0);\n this.reservedToasts.set([]);\n\n // Close all active toasts\n this.activeToasts().forEach((toast) => {\n toast.overlayRef.dispose();\n });\n this.activeToasts.set([]);\n\n // Close counter toast if exists\n const counterRef = this.toastCounterRef();\n if (counterRef) {\n counterRef.overlayRef.dispose();\n this.toastCounterRef.set(null);\n }\n\n this.handleReservedToastCounter();\n }\n\n private handleShowReservedToast() {\n if (this.activeToasts().length > this.defaultConfig.limit - 1) return;\n if (!this.reservedToasts().length) return;\n\n const reserved = this.reservedToasts()[0];\n this.reservedToasts.update((prev) => prev.slice(1));\n\n const displayedRef = this.displayToast(reserved.config);\n this.handleReservedToastCounter();\n reserved.reservedRef.close = displayedRef.close;\n }\n\n private handleReservedToastCounter() {\n const reservedCount = this.reservedToasts().length;\n\n if (reservedCount === this.reserveCounter()) return;\n\n this.reserveCounter.set(reservedCount);\n\n if (reservedCount === 0 && this.toastCounterRef() !== null) {\n this.toastCounterRef().close();\n this.toastCounterRef.set(null);\n return;\n }\n\n if (reservedCount > 0) {\n if (this.toastCounterRef() !== null) {\n this.toastCounterRef().close();\n this.toastCounterRef.set(null);\n }\n const firstToast = this.activeToasts()[0];\n if (firstToast) {\n const toastComponent = (firstToast.overlayRef.instance as ComponentRef<AXToastComponent>).instance;\n const remainingTime = toastComponent.createdDate();\n this.createReservedCounterToast(remainingTime);\n }\n }\n }\n\n private async createReservedCounterToast(remainingTime: number) {\n const gap = this.defaultConfig.gap;\n const timeOut = Math.min(\n this.moreToastsConfig().timeOut - (new Date().getTime() - remainingTime),\n this.moreToastsConfig().timeOut,\n );\n\n const opt: AXToastData = {\n closeButton: false,\n color: this.moreToastsConfig().color,\n look: this.moreToastsConfig().look,\n location: this.moreToastsConfig().location,\n title: await this.translationService.translateAsync('@acorex:common.notifications.more', {\n params: { number: this.reserveCounter() },\n }),\n timeOut,\n timeOutProgress: this.moreToastsConfig().timeOutProgress,\n closeAllButton: true,\n };\n\n const toastId = `toast-counter-${++toastIdCounter}`;\n let counterInternalRef: AXToastInternalRef;\n\n const closeCounter = () => {\n if (counterInternalRef) {\n counterInternalRef.overlayRef.dispose();\n if (this.toastCounterRef()?.id === counterInternalRef.id) {\n this.toastCounterRef.set(null);\n }\n }\n };\n\n const counterContextElement =\n this.moreToastsConfig().contextElement ?? this.activeToasts()[0]?.contextElement;\n\n const overlayRef = await this.overlayService.create<AXToastComponent>(AXToastComponent, {\n inputs: {\n config: opt,\n onClose: closeCounter,\n },\n contextElement: counterContextElement,\n visualContextScope: 'theme',\n centered: false,\n panelClass: ['animate-animated', 'animate-fadeIn', 'animate-faster'],\n });\n\n counterInternalRef = {\n id: toastId,\n overlayRef,\n config: opt,\n close: closeCounter,\n };\n\n this.toastCounterRef.set(counterInternalRef);\n\n // Position the counter toast\n this.positionToast(overlayRef.overlayElement, opt.location, gap);\n }\n\n private positionToast(element: HTMLElement, location: AXLocation, gap: number): void {\n if (!element) return;\n\n const pos = this.getPosition(location) + gap;\n\n // Override the centered overlay container styles for toast positioning\n element.style.width = 'max-content';\n element.style.height = 'auto';\n element.style.display = 'block';\n element.style.alignItems = '';\n element.style.justifyContent = '';\n\n // Reset all positioning styles\n element.style.top = '';\n element.style.bottom = '';\n element.style.left = '';\n element.style.right = '';\n element.style.transform = '';\n\n // Apply position based on location\n switch (location) {\n case 'bottom-center':\n element.style.bottom = pos + 'px';\n element.style.left = '50%';\n element.style.transform = 'translateX(-50%)';\n break;\n case 'bottom-end':\n element.style.bottom = pos + 'px';\n element.style.right = gap + 'px';\n break;\n case 'bottom-start':\n element.style.bottom = pos + 'px';\n element.style.left = gap + 'px';\n break;\n case 'top-center':\n element.style.top = pos + 'px';\n element.style.left = '50%';\n element.style.transform = 'translateX(-50%)';\n break;\n case 'top-end':\n element.style.top = pos + 'px';\n element.style.right = gap + 'px';\n break;\n case 'top-start':\n element.style.top = pos + 'px';\n element.style.left = gap + 'px';\n break;\n case 'center-start':\n element.style.top = '50%';\n element.style.left = gap + 'px';\n element.style.transform = 'translateY(-50%)';\n break;\n case 'center-end':\n element.style.top = '50%';\n element.style.right = gap + 'px';\n element.style.transform = 'translateY(-50%)';\n break;\n }\n }\n\n private reposition(toastLocation: AXLocation, gap: number): void {\n const list = this.activeToasts().filter((t) => t.config?.location === toastLocation);\n\n list.forEach((toast, index) => {\n const element = toast.overlayRef.overlayElement;\n if (!element) return;\n\n const pos = this.getRepositionPosition(index, gap, list, toastLocation);\n this.applyRepositionPosition(element, toastLocation, pos, gap);\n });\n }\n\n private getRepositionPosition(index: number, gap: number, list: AXToastInternalRef[], toastLocation: string): number {\n if (index === 0) return gap;\n const previousToast = list[index - 1];\n const previousElement = previousToast.overlayRef.overlayElement;\n if (!previousElement) return gap;\n\n if (toastLocation.split('-')[0] === 'bottom') {\n return window.innerHeight - previousElement.offsetTop + gap;\n }\n return previousElement.offsetTop + previousElement.offsetHeight + gap;\n }\n\n private applyRepositionPosition(element: HTMLElement, location: AXLocation, pos: number, gap: number): void {\n // Reset transform if needed, then apply position\n const isVerticalCenter = location === 'center-start' || location === 'center-end';\n const isHorizontalCenter = location === 'bottom-center' || location === 'top-center';\n\n if (location.startsWith('bottom')) {\n element.style.bottom = pos + 'px';\n element.style.top = '';\n if (isHorizontalCenter) {\n element.style.transform = 'translateX(-50%)';\n }\n } else if (location.startsWith('top')) {\n element.style.top = pos + 'px';\n element.style.bottom = '';\n if (isHorizontalCenter) {\n element.style.transform = 'translateX(-50%)';\n }\n } else if (isVerticalCenter) {\n element.style.top = pos + 'px';\n element.style.bottom = '';\n element.style.transform = '';\n }\n }\n\n private getPosition(location: string): number {\n const list = this.activeToasts().filter((t) => t.config?.location === location);\n if (list.length === 0) return 0;\n\n const lastToast = list[list.length - 1];\n const element = lastToast.overlayRef.overlayElement;\n if (!element) return 0;\n\n if (location.split('-')[0] === 'bottom') {\n return window.innerHeight - element.offsetTop;\n }\n return element.offsetTop + element.offsetHeight;\n }\n}\n","import { AXClosableComponent, AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { AXButtonItem, AXDecoratorCloseButtonComponent } from '@acorex/components/button';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe } from '@angular/common';\nimport { Component, computed, inject, input, OnInit, signal, ViewEncapsulation } from '@angular/core';\nimport { AXToastData } from './toast.class';\nimport { AXToastService } from './toast.service';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-toast',\n templateUrl: './toast.component.html',\n styleUrls: ['./toast.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'hostClass()',\n },\n providers: [\n { provide: AXClosableComponent, useExisting: AXToastComponent },\n { provide: AXComponent, useExisting: AXToastComponent },\n ],\n imports: [AXDecoratorCloseButtonComponent, AsyncPipe, AXTranslatorPipe],\n})\nexport class AXToastComponent extends MXBaseComponent implements OnInit {\n /** Toast configuration data */\n config = input.required<AXToastData>();\n\n protected hostClass = computed(() => {\n const { color, look } = this.config();\n const lookClass = look === 'outline' || look === 'twotone' ? look : 'solid';\n return `ax-${lookClass} ax-${color}`;\n });\n\n /** @internal Callback function to close the toast */\n onClose = input<() => void>();\n\n toastService = inject(AXToastService);\n createdDate = signal(0);\n\n private intervalId: number;\n private isPaused = signal(false);\n protected remainingTime = signal(0);\n protected transitionDuration = signal(150);\n\n /** @ignore */\n protected _toastWidth = 100;\n\n /** @ignore */\n protected _icon: string;\n\n /** @ignore */\n override ngOnInit() {\n super.ngOnInit();\n this._initIcon();\n this.createdDate.set(new Date().getTime());\n this.remainingTime.set(this.config().timeOut);\n this._handleTimeOut();\n\n this.getHostElement().addEventListener('pointerenter', () => {\n if (!this.config().pauseOnHover) return;\n if (this.isPaused()) return;\n // Only pause if not already paused\n this.isPaused.set(true);\n this.pauseAnimation();\n });\n\n this.getHostElement().addEventListener('pointerleave', () => {\n if (!this.config().pauseOnHover) return;\n if (!this.isPaused()) return;\n // Only resume if paused\n this.isPaused.set(false);\n this._handleTimeOut();\n });\n }\n\n private pauseAnimation() {\n clearInterval(this.intervalId);\n }\n\n private _handleTimeOut() {\n if (this.config().timeOut) {\n this.intervalId = setInterval(() => {\n this.remainingTime.update((prev) => prev - this.transitionDuration());\n if (this.remainingTime() <= 0) {\n clearInterval(this.intervalId);\n this.close();\n }\n }, this.transitionDuration()) as unknown as number;\n }\n }\n\n private _initIcon() {\n if (!this.config().icon) {\n switch (this.config().color) {\n case 'success':\n this._icon = 'ax-icon ax-icon-check-circle';\n break;\n case 'warning':\n this._icon = 'ax-icon ax-icon-warning';\n break;\n case 'danger':\n this._icon = 'ax-icon ax-icon-error';\n break;\n default:\n this._icon = this.config().icon || 'ax-icon ax-icon-info';\n break;\n }\n } else {\n this._icon = this.config().icon;\n }\n }\n\n /** @ignore */\n _handleButtonClick(button: AXButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n /**\n * Closes the toast notification.\n */\n close() {\n const closeCallback = this.onClose();\n if (closeCallback) {\n closeCallback();\n }\n }\n\n /**\n * Closes all toast notifications.\n */\n closeAll() {\n this.toastService.hideAll();\n }\n}\n","<span class=\"ax-toast-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-toast-content\">\n <div class=\"ax-toast-title\" [class.ax-mb-2]=\"config().title && config().content\">\n {{ config().title | translate | async }}\n </div>\n <div class=\"ax-toast-body\" [innerHTML]=\"config().content | translate | async\"></div>\n</div>\n@if (config().closeButton) {\n <ax-close-button></ax-close-button>\n} @else if (config().closeAllButton) {\n <ax-close-button [closeAll]=\"true\"></ax-close-button>\n}\n@if (config().timeOutProgress && config().timeOut) {\n <div\n class=\"ax-toast-progress\"\n [style.transition-duration]=\"transitionDuration()\"\n [style.width]=\"(remainingTime() * 100) / config().timeOut + '%'\"\n ></div>\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXToastComponent } from './toast.component';\nimport { AXToastService } from './toast.service';\n\nconst COMPONENT = [AXToastComponent];\nconst MODULES = [CommonModule, AXButtonModule, AXDecoratorModule, AXLoadingModule, AXTranslationModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [AXToastService],\n})\nexport class AXToastModule {}\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-toast.mjs","sources":["../../../../packages/components/toast/src/lib/toast.config.ts","../../../../packages/components/toast/src/lib/toast.service.ts","../../../../packages/components/toast/src/lib/toast.component.ts","../../../../packages/components/toast/src/lib/toast.component.html","../../../../packages/components/toast/src/lib/toast.module.ts","../../../../packages/components/toast/src/acorex-components-toast.ts"],"sourcesContent":["import { AXLocation, AXStyleLookType } from '@acorex/cdk/common';\nimport { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\n\nexport interface AXToastConfig {\n gap: number;\n timeOut: number;\n timeOutProgress: boolean;\n location: AXLocation;\n limit: number;\n pauseOnHover: boolean;\n look: AXStyleLookType;\n}\n\nexport const AX_TOAST_CONFIG = new InjectionToken<AXToastConfig>('AX_TOAST_CONFIG', {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'layout.toast', AX_TOAST_CONFIG);\n return AXToastDefaultConfig;\n },\n});\n\nexport const AXToastDefaultConfig: AXToastConfig = {\n gap: 5,\n timeOut: 2500,\n timeOutProgress: true,\n location: 'bottom-center',\n limit: 3,\n pauseOnHover: true,\n look: 'solid',\n};\n\nexport type PartialToastConfig = Partial<AXToastConfig>;\n\nexport function toastConfig(config: PartialToastConfig = {}): AXToastConfig {\n const result = {\n ...AXToastDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { AXLocation, AXStyleColorType, AXStyleLookType } from '@acorex/cdk/common';\nimport { AXOverlayService } from '@acorex/cdk/overlay';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { ComponentRef, Injectable, inject, signal } from '@angular/core';\nimport { AXToastData, AXToastDisplayConfig, AXToastInternalRef, AXToastRef } from './toast.class';\nimport { AXToastComponent } from './toast.component';\nimport { AXToastConfig, AX_TOAST_CONFIG } from './toast.config';\n\ntype AXReservedToasts = {\n config: AXToastDisplayConfig;\n reservedRef: {\n close: () => void;\n };\n};\ntype AXMoreToastsConfig = {\n timeOut?: number;\n timeOutProgress?: boolean;\n color: AXStyleColorType;\n look: AXStyleLookType;\n location: AXLocation;\n contextElement?: AXToastDisplayConfig['contextElement'];\n};\n\nlet toastIdCounter = 0;\n\n@Injectable({ providedIn: 'root' })\nexport class AXToastService {\n private overlayService = inject(AXOverlayService);\n private defaultConfig: AXToastConfig = inject(AX_TOAST_CONFIG);\n private translationService: AXTranslationService = inject(AXTranslationService);\n\n private reserveCounter = signal(0);\n private activeToasts = signal<AXToastInternalRef[]>([]);\n private reservedToasts = signal<AXReservedToasts[]>([]);\n private toastCounterRef = signal<AXToastInternalRef | null>(null);\n private moreToastsConfig = signal<AXMoreToastsConfig>({\n color: 'primary',\n look: 'solid',\n location: 'bottom-center',\n });\n\n /**\n * Shows a primary toast notification.\n *\n * @param content - The message content to display.\n */\n primary(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'primary',\n content: content,\n });\n }\n\n /**\n * Shows a secondary toast notification.\n *\n * @param content - The message content to display.\n */\n secondary(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'secondary',\n content: content,\n });\n }\n\n /**\n * Shows a success toast notification.\n *\n * @param content - The message content to display.\n */\n success(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'success',\n content: content,\n });\n }\n\n /**\n * Shows a warning toast notification.\n *\n * @param content - The message content to display.\n */\n warning(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'warning',\n content: content,\n });\n }\n\n /**\n * Shows a danger toast notification.\n *\n * @param content - The message content to display.\n */\n danger(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'danger',\n content: content,\n });\n }\n\n /**\n * Shows a default toast notification.\n *\n * @param content - The message content to display.\n */\n default(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'default',\n content: content,\n });\n }\n\n /**\n * Shows a toast notification with the specified configuration.\n *\n * @param config - The toast display configuration.\n * @returns AXToastRef - Reference to the created toast for programmatic control.\n */\n show(config: AXToastDisplayConfig): AXToastRef {\n config = { ...this.defaultConfig, ...config };\n\n this.moreToastsConfig.set({\n color: config.color,\n look: config.look ?? this.defaultConfig.look,\n location: config.location,\n timeOut: config.timeOut,\n timeOutProgress: config.timeOutProgress,\n contextElement: config.contextElement,\n });\n\n if (this.defaultConfig.limit > 0 && this.activeToasts().length >= this.defaultConfig.limit) {\n const reservedRef = {\n close: () => {\n console.warn('Reserved notification cannot be closed until it is displayed.');\n },\n };\n this.reservedToasts.update((prev) => [...prev, { config, reservedRef }]);\n this.handleReservedToastCounter();\n return reservedRef;\n }\n\n return this.displayToast(config);\n }\n\n private displayToast(config: AXToastDisplayConfig): AXToastRef {\n const gap = this.defaultConfig.gap;\n const toastData: AXToastData = {\n icon: config.icon,\n title: config.title,\n content: config.content,\n location: config.location,\n closeButton: config.closeButton ?? true,\n color: config.color,\n look: config.look ?? this.defaultConfig.look,\n timeOut: config.timeOut,\n timeOutProgress: config.timeOutProgress ?? true,\n pauseOnHover: config.pauseOnHover,\n };\n\n const toastId = `toast-${++toastIdCounter}`;\n let internalRef: AXToastInternalRef;\n\n const closeToast = () => {\n if (internalRef) {\n internalRef.overlayRef.dispose();\n this.activeToasts.set(this.activeToasts().filter((t) => t.id !== internalRef.id));\n this.handleShowReservedToast();\n this.handleReservedToastCounter();\n setTimeout(() => {\n this.reposition(config.location, gap);\n });\n }\n };\n\n this.overlayService\n .create<AXToastComponent>(AXToastComponent, {\n inputs: {\n config: toastData,\n onClose: closeToast,\n },\n contextElement: config.contextElement,\n visualContextScope: 'theme',\n centered: false,\n panelClass: ['animate-animated', 'animate-fadeIn', 'animate-faster'],\n onDispose: () => {\n // Clean up when disposed externally\n const currentToasts = this.activeToasts();\n if (internalRef && currentToasts.find((t) => t.id === internalRef.id)) {\n this.activeToasts.set(currentToasts.filter((t) => t.id !== internalRef.id));\n this.handleShowReservedToast();\n this.handleReservedToastCounter();\n }\n },\n })\n .then((overlayRef) => {\n internalRef = {\n id: toastId,\n overlayRef,\n config: toastData,\n contextElement: config.contextElement,\n close: closeToast,\n };\n\n // Position the toast BEFORE adding to activeToasts (so getPosition calculates correctly)\n this.positionToast(overlayRef.overlayElement, config.location, gap);\n\n this.activeToasts.update((prev) => [...prev, internalRef]);\n this.handleReservedToastCounter();\n });\n\n return {\n close: () => {\n closeToast();\n },\n };\n }\n\n /**\n * Hides all active toast notifications.\n */\n hideAll() {\n this.reserveCounter.set(0);\n this.reservedToasts.set([]);\n\n // Close all active toasts\n this.activeToasts().forEach((toast) => {\n toast.overlayRef.dispose();\n });\n this.activeToasts.set([]);\n\n // Close counter toast if exists\n const counterRef = this.toastCounterRef();\n if (counterRef) {\n counterRef.overlayRef.dispose();\n this.toastCounterRef.set(null);\n }\n\n this.handleReservedToastCounter();\n }\n\n private handleShowReservedToast() {\n if (this.activeToasts().length > this.defaultConfig.limit - 1) return;\n if (!this.reservedToasts().length) return;\n\n const reserved = this.reservedToasts()[0];\n this.reservedToasts.update((prev) => prev.slice(1));\n\n const displayedRef = this.displayToast(reserved.config);\n this.handleReservedToastCounter();\n reserved.reservedRef.close = displayedRef.close;\n }\n\n private handleReservedToastCounter() {\n const reservedCount = this.reservedToasts().length;\n\n if (reservedCount === this.reserveCounter()) return;\n\n this.reserveCounter.set(reservedCount);\n\n if (reservedCount === 0 && this.toastCounterRef() !== null) {\n this.toastCounterRef().close();\n this.toastCounterRef.set(null);\n return;\n }\n\n if (reservedCount > 0) {\n if (this.toastCounterRef() !== null) {\n this.toastCounterRef().close();\n this.toastCounterRef.set(null);\n }\n const firstToast = this.activeToasts()[0];\n if (firstToast) {\n const toastComponent = (firstToast.overlayRef.instance as ComponentRef<AXToastComponent>).instance;\n const remainingTime = toastComponent.createdDate();\n this.createReservedCounterToast(remainingTime);\n }\n }\n }\n\n private async createReservedCounterToast(remainingTime: number) {\n const gap = this.defaultConfig.gap;\n const timeOut = Math.min(\n this.moreToastsConfig().timeOut - (new Date().getTime() - remainingTime),\n this.moreToastsConfig().timeOut,\n );\n\n const opt: AXToastData = {\n closeButton: false,\n color: this.moreToastsConfig().color,\n look: this.moreToastsConfig().look,\n location: this.moreToastsConfig().location,\n title: await this.translationService.translateAsync('@acorex:common.notifications.more', {\n params: { number: this.reserveCounter() },\n }),\n timeOut,\n timeOutProgress: this.moreToastsConfig().timeOutProgress,\n closeAllButton: true,\n };\n\n const toastId = `toast-counter-${++toastIdCounter}`;\n let counterInternalRef: AXToastInternalRef;\n\n const closeCounter = () => {\n if (counterInternalRef) {\n counterInternalRef.overlayRef.dispose();\n if (this.toastCounterRef()?.id === counterInternalRef.id) {\n this.toastCounterRef.set(null);\n }\n }\n };\n\n const counterContextElement =\n this.moreToastsConfig().contextElement ?? this.activeToasts()[0]?.contextElement;\n\n const overlayRef = await this.overlayService.create<AXToastComponent>(AXToastComponent, {\n inputs: {\n config: opt,\n onClose: closeCounter,\n },\n contextElement: counterContextElement,\n visualContextScope: 'theme',\n centered: false,\n panelClass: ['animate-animated', 'animate-fadeIn', 'animate-faster'],\n });\n\n counterInternalRef = {\n id: toastId,\n overlayRef,\n config: opt,\n close: closeCounter,\n };\n\n this.toastCounterRef.set(counterInternalRef);\n\n // Position the counter toast\n this.positionToast(overlayRef.overlayElement, opt.location, gap);\n }\n\n private positionToast(element: HTMLElement, location: AXLocation, gap: number): void {\n if (!element) return;\n\n const pos = this.getPosition(location) + gap;\n\n // Override the centered overlay container styles for toast positioning\n element.style.width = 'max-content';\n element.style.height = 'auto';\n element.style.display = 'block';\n element.style.alignItems = '';\n element.style.justifyContent = '';\n\n // Reset all positioning styles\n element.style.top = '';\n element.style.bottom = '';\n element.style.left = '';\n element.style.right = '';\n element.style.transform = '';\n\n // Apply position based on location\n switch (location) {\n case 'bottom-center':\n element.style.bottom = pos + 'px';\n element.style.left = '50%';\n element.style.transform = 'translateX(-50%)';\n break;\n case 'bottom-end':\n element.style.bottom = pos + 'px';\n element.style.right = gap + 'px';\n break;\n case 'bottom-start':\n element.style.bottom = pos + 'px';\n element.style.left = gap + 'px';\n break;\n case 'top-center':\n element.style.top = pos + 'px';\n element.style.left = '50%';\n element.style.transform = 'translateX(-50%)';\n break;\n case 'top-end':\n element.style.top = pos + 'px';\n element.style.right = gap + 'px';\n break;\n case 'top-start':\n element.style.top = pos + 'px';\n element.style.left = gap + 'px';\n break;\n case 'center-start':\n element.style.top = '50%';\n element.style.left = gap + 'px';\n element.style.transform = 'translateY(-50%)';\n break;\n case 'center-end':\n element.style.top = '50%';\n element.style.right = gap + 'px';\n element.style.transform = 'translateY(-50%)';\n break;\n }\n }\n\n private reposition(toastLocation: AXLocation, gap: number): void {\n const list = this.activeToasts().filter((t) => t.config?.location === toastLocation);\n\n list.forEach((toast, index) => {\n const element = toast.overlayRef.overlayElement;\n if (!element) return;\n\n const pos = this.getRepositionPosition(index, gap, list, toastLocation);\n this.applyRepositionPosition(element, toastLocation, pos, gap);\n });\n }\n\n private getRepositionPosition(index: number, gap: number, list: AXToastInternalRef[], toastLocation: string): number {\n if (index === 0) return gap;\n const previousToast = list[index - 1];\n const previousElement = previousToast.overlayRef.overlayElement;\n if (!previousElement) return gap;\n\n if (toastLocation.split('-')[0] === 'bottom') {\n return window.innerHeight - previousElement.offsetTop + gap;\n }\n return previousElement.offsetTop + previousElement.offsetHeight + gap;\n }\n\n private applyRepositionPosition(element: HTMLElement, location: AXLocation, pos: number, gap: number): void {\n // Reset transform if needed, then apply position\n const isVerticalCenter = location === 'center-start' || location === 'center-end';\n const isHorizontalCenter = location === 'bottom-center' || location === 'top-center';\n\n if (location.startsWith('bottom')) {\n element.style.bottom = pos + 'px';\n element.style.top = '';\n if (isHorizontalCenter) {\n element.style.transform = 'translateX(-50%)';\n }\n } else if (location.startsWith('top')) {\n element.style.top = pos + 'px';\n element.style.bottom = '';\n if (isHorizontalCenter) {\n element.style.transform = 'translateX(-50%)';\n }\n } else if (isVerticalCenter) {\n element.style.top = pos + 'px';\n element.style.bottom = '';\n element.style.transform = '';\n }\n }\n\n private getPosition(location: string): number {\n const list = this.activeToasts().filter((t) => t.config?.location === location);\n if (list.length === 0) return 0;\n\n const lastToast = list[list.length - 1];\n const element = lastToast.overlayRef.overlayElement;\n if (!element) return 0;\n\n if (location.split('-')[0] === 'bottom') {\n return window.innerHeight - element.offsetTop;\n }\n return element.offsetTop + element.offsetHeight;\n }\n}\n","import { AXClosableComponent, AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { AXButtonItem, AXDecoratorCloseButtonComponent } from '@acorex/components/button';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe } from '@angular/common';\nimport { Component, computed, inject, input, OnInit, signal, ViewEncapsulation } from '@angular/core';\nimport { AXToastData } from './toast.class';\nimport { AXToastService } from './toast.service';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-toast',\n templateUrl: './toast.component.html',\n styleUrls: ['./toast.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'hostClass()',\n },\n providers: [\n { provide: AXClosableComponent, useExisting: AXToastComponent },\n { provide: AXComponent, useExisting: AXToastComponent },\n ],\n imports: [AXDecoratorCloseButtonComponent, AsyncPipe, AXTranslatorPipe],\n})\nexport class AXToastComponent extends MXBaseComponent implements OnInit {\n /** Toast configuration data */\n config = input.required<AXToastData>();\n\n protected hostClass = computed(() => {\n const { color, look } = this.config();\n const lookClass = look === 'outline' || look === 'twotone' ? look : 'solid';\n return `ax-${lookClass} ax-${color}`;\n });\n\n /** @internal Callback function to close the toast */\n onClose = input<() => void>();\n\n toastService = inject(AXToastService);\n createdDate = signal(0);\n\n private intervalId: number;\n private isPaused = signal(false);\n protected remainingTime = signal(0);\n protected transitionDuration = signal(150);\n\n /** @ignore */\n protected _toastWidth = 100;\n\n /** @ignore */\n protected _icon: string;\n\n /** @ignore */\n override ngOnInit() {\n super.ngOnInit();\n this._initIcon();\n this.createdDate.set(new Date().getTime());\n this.remainingTime.set(this.config().timeOut);\n this._handleTimeOut();\n\n this.getHostElement().addEventListener('pointerenter', () => {\n if (!this.config().pauseOnHover) return;\n if (this.isPaused()) return;\n // Only pause if not already paused\n this.isPaused.set(true);\n this.pauseAnimation();\n });\n\n this.getHostElement().addEventListener('pointerleave', () => {\n if (!this.config().pauseOnHover) return;\n if (!this.isPaused()) return;\n // Only resume if paused\n this.isPaused.set(false);\n this._handleTimeOut();\n });\n }\n\n private pauseAnimation() {\n clearInterval(this.intervalId);\n }\n\n private _handleTimeOut() {\n if (this.config().timeOut) {\n this.intervalId = setInterval(() => {\n this.remainingTime.update((prev) => prev - this.transitionDuration());\n if (this.remainingTime() <= 0) {\n clearInterval(this.intervalId);\n this.close();\n }\n }, this.transitionDuration()) as unknown as number;\n }\n }\n\n private _initIcon() {\n if (!this.config().icon) {\n switch (this.config().color) {\n case 'success':\n this._icon = 'ax-icon ax-icon-check-circle';\n break;\n case 'warning':\n this._icon = 'ax-icon ax-icon-warning';\n break;\n case 'danger':\n this._icon = 'ax-icon ax-icon-error';\n break;\n default:\n this._icon = this.config().icon || 'ax-icon ax-icon-info';\n break;\n }\n } else {\n this._icon = this.config().icon;\n }\n }\n\n /** @ignore */\n _handleButtonClick(button: AXButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n /**\n * Closes the toast notification.\n */\n close() {\n const closeCallback = this.onClose();\n if (closeCallback) {\n closeCallback();\n }\n }\n\n /**\n * Closes all toast notifications.\n */\n closeAll() {\n this.toastService.hideAll();\n }\n}\n","<span class=\"ax-toast-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-toast-content\">\n <div class=\"ax-toast-title\" [class.ax-mb-2]=\"config().title && config().content\">\n {{ config().title | translate | async }}\n </div>\n <div class=\"ax-toast-body\" [innerHTML]=\"config().content | translate | async\"></div>\n</div>\n@if (config().closeButton) {\n <ax-close-button></ax-close-button>\n} @else if (config().closeAllButton) {\n <ax-close-button [closeAll]=\"true\"></ax-close-button>\n}\n@if (config().timeOutProgress && config().timeOut) {\n <div\n class=\"ax-toast-progress\"\n [style.transition-duration]=\"transitionDuration()\"\n [style.width]=\"(remainingTime() * 100) / config().timeOut + '%'\"\n ></div>\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXToastComponent } from './toast.component';\nimport { AXToastService } from './toast.service';\n\nconst COMPONENT = [AXToastComponent];\nconst MODULES = [CommonModule, AXButtonModule, AXDecoratorModule, AXLoadingModule, AXTranslationModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [AXToastService],\n})\nexport class AXToastModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acorex/components",
|
|
3
|
-
"version": "22.3.
|
|
3
|
+
"version": "22.3.13",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@acorex/core": "22.3.
|
|
6
|
-
"@acorex/cdk": "22.3.
|
|
5
|
+
"@acorex/core": "22.3.13",
|
|
6
|
+
"@acorex/cdk": "22.3.13",
|
|
7
7
|
"@angular/aria": ">=22.1.0",
|
|
8
8
|
"polytype": ">=0.17.0",
|
|
9
9
|
"hammerjs": ">=2.0.8",
|
|
@@ -313,6 +313,8 @@ declare class AXDecoratorCloseButtonComponent extends MXBaseComponent {
|
|
|
313
313
|
* @param v The icon class.
|
|
314
314
|
*/
|
|
315
315
|
set icon(v: string);
|
|
316
|
+
/** Forwards ax-xs … ax-xl from the host to the inner ax-button. */
|
|
317
|
+
protected get buttonSizeClasses(): string;
|
|
316
318
|
/**
|
|
317
319
|
* @ignore
|
|
318
320
|
*/
|
|
@@ -321,11 +323,27 @@ declare class AXDecoratorCloseButtonComponent extends MXBaseComponent {
|
|
|
321
323
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXDecoratorCloseButtonComponent, "ax-close-button", never, { "closeAll": { "alias": "closeAll"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; }; }, {}, never, never, true, never>;
|
|
322
324
|
}
|
|
323
325
|
|
|
326
|
+
/**
|
|
327
|
+
* Icon-only blank chrome control (window caption, toolbar). Matches {@link AXDecoratorCloseButtonComponent} styling.
|
|
328
|
+
*
|
|
329
|
+
* @category Components
|
|
330
|
+
*/
|
|
331
|
+
declare class AXChromeButtonComponent extends MXBaseComponent {
|
|
332
|
+
/** Visible tooltip / native title. */
|
|
333
|
+
title: _angular_core.InputSignal<string>;
|
|
334
|
+
/** Accessible name; falls back to {@link title}. */
|
|
335
|
+
ariaLabel: _angular_core.InputSignal<string>;
|
|
336
|
+
/** Forwards ax-xs … ax-xl from the host to the inner ax-button. */
|
|
337
|
+
protected get buttonSizeClasses(): string;
|
|
338
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXChromeButtonComponent, never>;
|
|
339
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXChromeButtonComponent, "ax-chrome-button", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
340
|
+
}
|
|
341
|
+
|
|
324
342
|
declare class AXButtonModule {
|
|
325
343
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXButtonModule, never>;
|
|
326
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXButtonModule, never, [typeof AXButtonComponent, typeof AXButtonItemComponent, typeof AXButtonItemListComponent, typeof AXDecoratorCloseButtonComponent], [typeof AXButtonComponent, typeof AXButtonItemComponent, typeof AXButtonItemListComponent, typeof AXDecoratorCloseButtonComponent]>;
|
|
344
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXButtonModule, never, [typeof AXButtonComponent, typeof AXButtonItemComponent, typeof AXButtonItemListComponent, typeof AXDecoratorCloseButtonComponent, typeof AXChromeButtonComponent], [typeof AXButtonComponent, typeof AXButtonItemComponent, typeof AXButtonItemListComponent, typeof AXDecoratorCloseButtonComponent, typeof AXChromeButtonComponent]>;
|
|
327
345
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXButtonModule>;
|
|
328
346
|
}
|
|
329
347
|
|
|
330
|
-
export { AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent, AXButtonModule, AXDecoratorCloseButtonComponent };
|
|
348
|
+
export { AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent, AXButtonModule, AXChromeButtonComponent, AXDecoratorCloseButtonComponent };
|
|
331
349
|
export type { AXButtonItem, AXButtonItemListItem, AXButtonType };
|