@filip.mazev/blocks 1.2.29 → 1.2.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/styles/_a11y.scss +38 -0
- package/core/styles/_index.scss +1 -0
- package/fesm2022/filip.mazev-blocks-core.mjs +62 -5
- package/fesm2022/filip.mazev-blocks-core.mjs.map +1 -1
- package/fesm2022/filip.mazev-blocks-forms.mjs +49 -0
- package/fesm2022/filip.mazev-blocks-forms.mjs.map +1 -0
- package/fesm2022/filip.mazev-blocks-icons.mjs +3888 -3888
- package/fesm2022/filip.mazev-blocks-icons.mjs.map +1 -1
- package/fesm2022/filip.mazev-blocks-modal.mjs +32 -13
- package/fesm2022/filip.mazev-blocks-modal.mjs.map +1 -1
- package/fesm2022/filip.mazev-blocks-navigation.mjs +78 -8
- package/fesm2022/filip.mazev-blocks-navigation.mjs.map +1 -1
- package/fesm2022/filip.mazev-blocks-toastr.mjs +34 -10
- package/fesm2022/filip.mazev-blocks-toastr.mjs.map +1 -1
- package/fesm2022/filip.mazev-blocks.mjs +1 -1
- package/fesm2022/filip.mazev-blocks.mjs.map +1 -1
- package/package.json +4 -4
- package/types/filip.mazev-blocks-core.d.ts +20 -3
- package/types/{filip.mazev-blocks-button.d.ts → filip.mazev-blocks-forms.d.ts} +2 -0
- package/types/filip.mazev-blocks-icons.d.ts +1 -1
- package/types/filip.mazev-blocks-modal.d.ts +9 -6
- package/types/filip.mazev-blocks-navigation.d.ts +73 -34
- package/types/filip.mazev-blocks-toastr.d.ts +11 -6
- package/types/filip.mazev-blocks.d.ts +1 -1
- package/fesm2022/filip.mazev-blocks-button.mjs +0 -43
- package/fesm2022/filip.mazev-blocks-button.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filip.mazev-blocks-toastr.mjs","sources":["../../../projects/blocks/toastr/classes/toast-ref.ts","../../../projects/blocks/toastr/tokens/toast-data.token.ts","../../../projects/blocks/toastr/services/toastr-global-settings.service.ts","../../../projects/blocks/toastr/components/toast-core.ts","../../../projects/blocks/toastr/components/toast-core.html","../../../projects/blocks/toastr/classes/toast.ts","../../../projects/blocks/toastr/components/views/simple-toast/simple-toast.ts","../../../projects/blocks/toastr/components/views/simple-toast/simple-toast.html","../../../projects/blocks/toastr/services/toastr.service.ts","../../../projects/blocks/toastr/public-api.ts","../../../projects/blocks/toastr/filip.mazev-blocks-toastr.ts"],"sourcesContent":["import { Subject } from 'rxjs';\nimport { IToastConfig } from '../interfaces/itoast-config.interface';\n\nexport class ToastRef<D = undefined, R = unknown> {\n private readonly afterClosedSubject = new Subject<R | undefined>();\n\n private readonly pauseSubject = new Subject<void>();\n private readonly resumeSubject = new Subject<void>();\n\n public readonly afterClosed$ = this.afterClosedSubject.asObservable();\n public readonly onPause$ = this.pauseSubject.asObservable();\n public readonly onResume$ = this.resumeSubject.asObservable();\n public config!: IToastConfig<D>;\n\n public close(result?: R): void {\n this.afterClosedSubject.next(result);\n this.afterClosedSubject.complete();\n }\n\n public pause(): void {\n this.pauseSubject.next();\n }\n\n public resume(): void {\n this.resumeSubject.next();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const TOAST_DATA = new InjectionToken<any>('TOAST_DATA');\n","import { Injectable, signal } from '@angular/core';\nimport { ToastPosition } from '../types/toastr.types';\nimport { ThemedColor } from '@filip.mazev/blocks/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToastrGlobalSettingsService {\n public readonly position = signal<ToastPosition>('top-right');\n public readonly animate = signal<boolean>(true);\n public readonly wrapperClass = signal<string | undefined>(undefined);\n public readonly durationInMs = signal<number>(5000);\n public readonly swipeToDismiss = signal<boolean>(true);\n public readonly maxOpened = signal<number>(4);\n\n public readonly showCloseButton = signal<boolean>(true);\n public readonly closeButtonColor = signal<ThemedColor | undefined>('text-primary');\n \n public readonly showProgressBar = signal<boolean>(true);\n public readonly progressBarColor = signal<ThemedColor | undefined>('text-primary');\n\n public update(\n settings: Partial<{\n position: ToastPosition;\n animate: boolean;\n wrapperClass: string;\n durationInMs: number;\n swipeToDismiss: boolean;\n maxOpened: number;\n showCloseButton: boolean;\n closeButtonColor: ThemedColor;\n showProgressBar: boolean;\n progressBarColor: ThemedColor;\n }>\n ): void {\n if (settings.position !== undefined) this.position.set(settings.position);\n if (settings.animate !== undefined) this.animate.set(settings.animate);\n if (settings.wrapperClass !== undefined) this.wrapperClass.set(settings.wrapperClass);\n if (settings.durationInMs !== undefined) this.durationInMs.set(settings.durationInMs);\n if (settings.swipeToDismiss !== undefined) this.swipeToDismiss.set(settings.swipeToDismiss);\n if (settings.maxOpened !== undefined) this.maxOpened.set(settings.maxOpened);\n \n if (settings.showCloseButton !== undefined) this.showCloseButton.set(settings.showCloseButton);\n if (settings.closeButtonColor !== undefined) this.closeButtonColor.set(settings.closeButtonColor);\n \n if (settings.showProgressBar !== undefined) this.showProgressBar.set(settings.showProgressBar);\n if (settings.progressBarColor !== undefined) this.progressBarColor.set(settings.progressBarColor);\n }\n}\n","import {\n Component,\n ViewChild,\n ViewContainerRef,\n ComponentRef,\n ElementRef,\n OnInit,\n OnDestroy,\n signal,\n computed,\n AfterViewInit,\n HostListener,\n inject\n} from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { IToastConfig } from '../interfaces/itoast-config.interface';\nimport { ToastRef } from '../classes/toast-ref';\nimport { IToast } from '../interfaces/itoast.interface';\nimport { Icon } from '@filip.mazev/blocks/icons';\nimport { Subscription } from 'rxjs';\nimport { Color, getComplementaryToken, resolveTokenToCssVar } from '@filip.mazev/blocks/core';\nimport { ToastrGlobalSettingsService } from '../services/toastr-global-settings.service';\n\n@Component({\n selector: 'bx-toast-core',\n imports: [NgClass, Icon],\n templateUrl: './toast-core.html',\n styleUrl: './toast-core.scss'\n})\nexport class ToastCore<D, R, C extends IToast<D, R> = IToast<D, R>> implements OnInit, AfterViewInit, OnDestroy {\n private readonly toastrGlobalSettingsService = inject(ToastrGlobalSettingsService);\n \n public componentRef!: ComponentRef<C>;\n public config?: IToastConfig<D>;\n public toastRef!: ToastRef<D, R>;\n\n public isVisible = signal(false);\n public currentTranslateY = signal(0);\n public isSwipingFinished = signal(false);\n\n public isCollapsing = signal(false);\n\n protected showCloseButton = computed(() => this.config?.showCloseButton ?? this.toastrGlobalSettingsService.showCloseButton());\n protected closeButtonColor = computed(() => this.config?.closeButtonColor ?? this.toastrGlobalSettingsService.closeButtonColor());\n \n protected showProgressBar = computed(() => {\n if (this.config?.showProgressBar === false)\n return false;\n\n return this.config?.showProgressBar === true || this.config?.progressBarColor !== undefined;\n });\n\n protected progressBarColor = computed(() => {\n return this.showProgressBar() \n ? ((this.config?.progressBarColor ?? this.toastrGlobalSettingsService.progressBarColor()) as Color) \n : undefined;\n });\n\n protected progressBarCssVar = computed(() => {\n const progressBarColor = this.progressBarColor();\n return progressBarColor ? resolveTokenToCssVar(progressBarColor) : undefined\n });\n\n protected progressBarBgCssVar = computed(() => {\n const progressBarColor = this.progressBarColor();\n return progressBarColor ? resolveTokenToCssVar(getComplementaryToken(progressBarColor)) : undefined\n });\n\n protected isAnimated = computed(() => this.config?.animate !== false);\n protected isBottom = computed(() => (this.config?.position ?? this.toastrGlobalSettingsService.position()).includes('bottom'));\n\n @ViewChild('dynamicContainer', { read: ViewContainerRef, static: true }) protected dynamicContainer!: ViewContainerRef;\n @ViewChild('toastSwipeTarget', { static: true }) protected toastSwipeTarget!: ElementRef;\n @ViewChild('animatorWrapper', { static: true }) protected animatorWrapper!: ElementRef;\n @ViewChild('progressBar') protected progressBar?: ElementRef<HTMLElement>;\n\n protected wrapperClasses = computed(() => {\n const isTop = (this.config?.position ?? 'top-right').includes('top');\n const animClass = isTop ? 'anim-dir-top' : 'anim-dir-bottom';\n const wrapperClass = this.config?.wrapperClass ?? 'default-wrapper' + (this.config?.hasDefaultBackground === false ? ' no-bg' : '');\n return `${animClass} ${wrapperClass}`;\n });\n\n protected toastrTransform = computed(() => {\n if (!this.isAnimated()) return null;\n\n const isTop = (this.config?.position ?? 'top-right').includes('top');\n\n if (this.isSwipingFinished()) {\n return isTop ? 'translateY(-150px)' : 'translateY(150px)';\n }\n\n if (this.currentTranslateY() !== 0) {\n return `translateY(${this.currentTranslateY()}px)`;\n }\n\n return null;\n });\n\n private progressAnimation?: Animation;\n private subs = new Subscription();\n\n private remainingMs = 0;\n\n private timerStartTime = 0;\n\n private originalCloseFn!: (result?: R) => void;\n private closeResult?: R;\n\n private isTrackingSwipe = false;\n private isTouchActive = false;\n private autoCloseTimeout?: ReturnType<typeof setTimeout>;\n private hasEmittedClose = false;\n\n private cleanupListeners: Array<() => void> = [];\n private swipeCleanupListeners: (() => void) | null = null;\n private globalResizeCleanup: (() => void) | null = null;\n\n public ngOnInit(): void {\n this.dynamicContainer.insert(this.componentRef.hostView);\n\n this.originalCloseFn = this.toastRef.close.bind(this.toastRef);\n this.toastRef.close = (result?: R) => {\n this.closeToast(result);\n };\n\n setTimeout(() => this.isVisible.set(true), 10);\n\n if (this.config?.swipeToDismiss !== false) {\n this.startVerticalSwipeDetection();\n this.monitorInputType();\n }\n\n const animatorTarget = this.animatorWrapper.nativeElement;\n\n const onAnimatorTransitionEnd = (event: TransitionEvent) => {\n if (event.target !== animatorTarget || event.propertyName !== 'grid-template-rows') return;\n if (this.isCollapsing() && !this.hasEmittedClose) {\n this.hasEmittedClose = true;\n this.originalCloseFn(this.closeResult);\n }\n };\n\n animatorTarget.addEventListener('transitionend', onAnimatorTransitionEnd);\n this.cleanupListeners.push(() => animatorTarget.removeEventListener('transitionend', onAnimatorTransitionEnd));\n }\n\n public ngAfterViewInit(): void {\n const duration = this.config?.durationInMs;\n\n if (duration) {\n this.remainingMs = duration;\n this.startTimer();\n }\n\n if (duration && this.progressBar?.nativeElement) {\n this.progressAnimation = this.progressBar.nativeElement.animate([{ width: '100%' }, { width: '0%' }], { duration, fill: 'forwards' });\n\n this.subs.add(this.toastRef.onPause$.subscribe(() => this.progressAnimation?.pause()));\n this.subs.add(this.toastRef.onResume$.subscribe(() => this.progressAnimation?.play()));\n }\n }\n\n public ngOnDestroy(): void {\n clearTimeout(this.autoCloseTimeout);\n\n this.stopVerticalSwipeDetection();\n this.globalResizeCleanup?.();\n\n this.cleanupListeners.forEach((fn) => fn());\n this.cleanupListeners = [];\n\n this.progressAnimation?.cancel();\n this.subs.unsubscribe();\n }\n\n public closeToast(result?: R, fromSwipe = false): void {\n this.closeResult = result !== undefined ? result : this.closeResult;\n\n if (!this.isAnimated()) {\n if (!this.hasEmittedClose) {\n this.hasEmittedClose = true;\n this.originalCloseFn(this.closeResult);\n }\n return;\n }\n\n this.isVisible.set(false);\n this.isCollapsing.set(true);\n\n if (fromSwipe) {\n this.isSwipingFinished.set(true);\n }\n }\n\n @HostListener('mouseenter')\n protected onMouseEnter(): void {\n if (!this.isTouchActive && this.config?.durationInMs && !this.isCollapsing()) {\n this.pauseTimer();\n }\n }\n\n @HostListener('mouseleave')\n protected onMouseLeave(): void {\n if (!this.isTouchActive && this.config?.durationInMs && !this.isCollapsing()) {\n this.startTimer();\n this.toastRef.resume();\n }\n }\n \n //#region Swipe Logic\n\n private startVerticalSwipeDetection(): void {\n if (this.isTrackingSwipe) return;\n\n const hasTouch = typeof window !== 'undefined' && (window.matchMedia('(pointer: coarse)').matches || navigator.maxTouchPoints > 0);\n if (!hasTouch) return;\n\n this.isTrackingSwipe = true;\n const target = this.toastSwipeTarget.nativeElement;\n const isTop = (this.config?.position ?? 'top-right').includes('top');\n\n let startY = 0;\n let startTime = 0;\n let isPointerDown = false;\n let limit = 0;\n\n const pointerDown = (event: PointerEvent) => {\n if (event.button !== 0 && event.pointerType === 'mouse') return;\n\n const toastHeight = target.offsetHeight || 0;\n limit = toastHeight / 3;\n\n isPointerDown = true;\n startY = event.clientY;\n startTime = event.timeStamp;\n\n this.pauseTimer();\n target.setPointerCapture(event.pointerId);\n };\n\n const pointerMove = (event: PointerEvent) => {\n if (!isPointerDown) return;\n const currentY = event.clientY - startY;\n\n if ((isTop && currentY < 0) || (!isTop && currentY > 0)) {\n if (event.cancelable) event.preventDefault();\n this.currentTranslateY.set(currentY);\n }\n };\n\n const pointerUp = (event: PointerEvent) => {\n if (!isPointerDown) return;\n isPointerDown = false;\n target.releasePointerCapture(event.pointerId);\n\n const deltaY = event.clientY - startY;\n const duration = event.timeStamp - startTime || 1;\n const velocityY = Math.abs(deltaY / duration);\n\n const crossedLimit = isTop ? deltaY < -limit : deltaY > limit;\n\n if (crossedLimit || velocityY > 0.3) {\n this.closeToast(undefined, true);\n } else {\n this.currentTranslateY.set(0);\n this.startTimer();\n this.toastRef.resume();\n }\n };\n\n target.addEventListener('pointerdown', pointerDown, { passive: false });\n target.addEventListener('pointermove', pointerMove, { passive: false });\n target.addEventListener('pointerup', pointerUp);\n target.addEventListener('pointercancel', pointerUp);\n\n this.swipeCleanupListeners = () => {\n target.removeEventListener('pointerdown', pointerDown);\n target.removeEventListener('pointermove', pointerMove);\n target.removeEventListener('pointerup', pointerUp);\n target.removeEventListener('pointercancel', pointerUp);\n };\n }\n\n private stopVerticalSwipeDetection(): void {\n if (!this.isTrackingSwipe) return;\n\n this.isTrackingSwipe = false;\n\n if (this.swipeCleanupListeners) {\n this.swipeCleanupListeners();\n this.swipeCleanupListeners = null;\n }\n }\n\n private monitorInputType(): void {\n if (this.globalResizeCleanup) return;\n\n const handler = (event: PointerEvent) => {\n const isTouch = event.pointerType === 'touch';\n\n if (isTouch && !this.isTouchActive) {\n this.isTouchActive = true;\n this.startVerticalSwipeDetection();\n } else if (!isTouch && this.isTouchActive) {\n this.isTouchActive = false;\n this.stopVerticalSwipeDetection();\n }\n };\n\n window.addEventListener('pointerdown', handler);\n this.globalResizeCleanup = () => window.removeEventListener('pointerdown', handler);\n }\n\n //#endregion\n\n //#region Timer Logic\n\n private startTimer(): void {\n if (this.remainingMs <= 0) return;\n\n this.timerStartTime = Date.now();\n this.autoCloseTimeout = setTimeout(() => this.closeToast(), this.remainingMs);\n }\n\n private pauseTimer(): void {\n if (!this.autoCloseTimeout) return;\n\n clearTimeout(this.autoCloseTimeout);\n this.autoCloseTimeout = undefined;\n\n const elapsed = Date.now() - this.timerStartTime;\n this.remainingMs -= elapsed;\n\n this.toastRef.pause();\n }\n\n //#endregion\n}\n","<div #animatorWrapper class=\"toast-animator\" [class.collapsing]=\"isCollapsing()\" [class.is-bottom]=\"isBottom()\">\n <div #toastSwipeTarget class=\"toast-wrapper\" [ngClass]=\"wrapperClasses()\" [class.show]=\"isVisible()\"\n [class.no-animate]=\"!isAnimated()\" [style.transform]=\"toastrTransform()\">\n @if(showCloseButton()) {\n <bx-icon name=\"x\" size=\"20\" [color]=\"closeButtonColor()\" class=\"toast-close-button\" (click)=\"closeToast()\"\n aria-label=\"Close toast\" />\n }\n\n <ng-container #dynamicContainer></ng-container>\n\n @if (config?.durationInMs && showProgressBar() && progressBarCssVar() && progressBarBgCssVar()) {\n <div class=\"toast-progress-container\" [style.background]=\"progressBarBgCssVar()\">\n <div class=\"toast-progress-bar\" [style.background]=\"progressBarCssVar()\" #progressBar></div>\n </div>\n }\n </div>\n</div>","import { inject, Injectable } from '@angular/core';\nimport { ToastRef } from './toast-ref';\nimport { TOAST_DATA } from '../tokens/toast-data.token';\nimport { IToast } from '../interfaces/itoast.interface';\n\n@Injectable()\nexport abstract class Toast<D = unknown, R = unknown> implements IToast<D, R> {\n /**\n * Data injected into the toast component.\n */\n public data = inject<D>(TOAST_DATA);\n\n /**\n * Reference to the ToastRef instance associated with this toast.\n */\n public toast!: ToastRef<D, R>;\n\n /**\n * Called when the toast is initialized.\n */\n public onToastInit(): void {}\n\n /**\n * Closes the toast with an optional result.\n * @param result The result to be passed when closing the toast.\n */\n public close(result?: R): void {\n this.toast?.close(result);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { Toast } from '../../../classes/toast';\nimport { ISimpleToastData } from '../../../interfaces/isimple-toast.interface';\n\n@Component({\n selector: 'bx-simple-toast',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './simple-toast.html',\n styleUrl: './simple-toast.scss'\n})\nexport class SimpleToast extends Toast<ISimpleToastData, undefined> {\n protected dismiss(): void {\n this.toast?.close();\n }\n}\n","<div class=\"simple-toast\" [ngClass]=\"data.type\">\n <div class=\"simple-toast-content\">\n @if(data.title ) {\n <h4 class=\"simple-toast-title\">{{ data.title }}</h4>\n <p class=\"simple-toast-message\">{{ data.message }}</p>\n } @else {\n <p class=\"simple-toast-message large-message\">{{ data.message }}</p>\n }\n </div>\n</div>","import { Injectable, inject, Injector, ApplicationRef, EnvironmentInjector, createComponent, ComponentRef } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { IToastConfig } from '../interfaces/itoast-config.interface';\nimport { ToastRef } from '../classes/toast-ref';\nimport { TOAST_DATA } from '../tokens/toast-data.token';\nimport { IToast } from '../interfaces/itoast.interface';\nimport { ToastrGlobalSettingsService } from './toastr-global-settings.service';\nimport { ToastPosition } from '../types/toastr.types';\nimport { ComponentType } from '@angular/cdk/portal';\nimport { ToastCore } from '../components/toast-core';\nimport { take } from 'rxjs';\nimport { SimpleToast } from '../components/views/simple-toast/simple-toast';\nimport { ISimpleToastData } from '../interfaces/isimple-toast.interface';\nimport { IQueueSimpleToastRequest } from '../interfaces/iqueue-simple-toast-request.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToastrService {\n private readonly injector = inject(Injector);\n private readonly appRef = inject(ApplicationRef);\n private readonly environmentInjector = inject(EnvironmentInjector);\n private readonly document = inject(DOCUMENT);\n private readonly globalSettings = inject(ToastrGlobalSettingsService);\n\n private readonly toastQueue: Array<() => void> = [];\n private readonly activeToasts: Array<ComponentRef<ToastCore<unknown, unknown, IToast<unknown, unknown>>>> = [];\n private readonly containers = new Map<ToastPosition, HTMLElement>();\n\n private activePauses = 0;\n\n /**\n * Displays a toast notification with the specified component and configuration.\n * @param componentType\n * @param config\n * @returns\n */\n public queueToast<D, R, C extends IToast<D, R>>(componentType: ComponentType<C>, config?: IToastConfig<D>): ToastRef<D, R> {\n const resolvedConfig = this.resolveConfig(config);\n const toastRef = new ToastRef<D, R>();\n\n this.toastQueue.push(() => this.buildAndAttachToast(componentType, resolvedConfig, toastRef));\n\n this.processQueue();\n\n return toastRef;\n }\n\n /**\n * Queues a simple success toast notification with the specified message and optional title, position, and duration.\n * @param request An object containing the message, optional title, optional position, and duration for the toast notification.\n * @returns A ToastRef instance representing the queued toast.\n */\n public queueSuccess(request: IQueueSimpleToastRequest): ToastRef<ISimpleToastData, undefined> {\n return this.queueToast<ISimpleToastData, undefined, SimpleToast>(SimpleToast, {\n position: request.position ?? this.globalSettings.position(),\n data: {\n title: request.title,\n message: request.message,\n type: 'success'\n },\n closeButtonColor: 'text-success',\n progressBarColor: 'text-success',\n hasDefaultBackground: false,\n durationInMs: request.durationInMs ?? this.globalSettings.durationInMs(),\n animate: this.globalSettings.animate(),\n showProgressBar: request.showProgessBar ?? this.globalSettings.showProgressBar(),\n showCloseButton: request.showCloseButton ?? this.globalSettings.showCloseButton()\n });\n }\n\n /**\n * Queues a simple info toast notification with the specified message and optional title, position, and duration.\n * @param request An object containing the message, optional title, optional position, and duration for the toast notification.\n * @returns A ToastRef instance representing the queued toast.\n */\n public queueInfo(request: IQueueSimpleToastRequest): ToastRef<ISimpleToastData, undefined> {\n return this.queueToast<ISimpleToastData, undefined, SimpleToast>(SimpleToast, {\n position: request.position ?? this.globalSettings.position(),\n data: {\n title: request.title,\n message: request.message,\n type: 'info'\n },\n closeButtonColor: 'text-info',\n progressBarColor: 'text-info',\n hasDefaultBackground: false,\n durationInMs: request.durationInMs ?? this.globalSettings.durationInMs(),\n animate: this.globalSettings.animate(),\n showProgressBar: request.showProgessBar ?? this.globalSettings.showProgressBar(),\n showCloseButton: request.showCloseButton ?? this.globalSettings.showCloseButton()\n });\n }\n\n /**\n * Queues a simple warning toast notification with the specified message and optional title, position, and duration.\n * @param request An object containing the message, optional title, optional position, and duration for the toast notification.\n * @returns A ToastRef instance representing the queued toast.\n */\n public queueWarning(request: IQueueSimpleToastRequest): ToastRef<ISimpleToastData, undefined> {\n return this.queueToast<ISimpleToastData, undefined, SimpleToast>(SimpleToast, {\n position: request.position ?? this.globalSettings.position(),\n data: {\n title: request.title,\n message: request.message,\n type: 'warn'\n },\n closeButtonColor: 'text-warn',\n progressBarColor: 'text-warn',\n hasDefaultBackground: false,\n durationInMs: request.durationInMs ?? this.globalSettings.durationInMs(),\n animate: this.globalSettings.animate(),\n showProgressBar: request.showProgessBar ?? this.globalSettings.showProgressBar(),\n showCloseButton: request.showCloseButton ?? this.globalSettings.showCloseButton()\n });\n }\n\n /**\n * Queues a simple error toast notification with the specified message and optional title, position, and duration.\n * @param request An object containing the message, optional title, optional position, and duration for the toast notification.\n * @returns A ToastRef instance representing the queued toast.\n */\n public queueDanger(request: IQueueSimpleToastRequest): ToastRef<ISimpleToastData, undefined> {\n return this.queueToast<ISimpleToastData, undefined, SimpleToast>(SimpleToast, {\n position: request.position ?? this.globalSettings.position(),\n data: {\n title: request.title,\n message: request.message,\n type: 'danger'\n },\n closeButtonColor: 'text-danger',\n progressBarColor: 'text-danger',\n hasDefaultBackground: false,\n durationInMs: request.durationInMs ?? this.globalSettings.durationInMs(),\n animate: this.globalSettings.animate(),\n showProgressBar: request.showProgessBar ?? this.globalSettings.showProgressBar(),\n showCloseButton: request.showCloseButton ?? this.globalSettings.showCloseButton()\n });\n }\n\n //#region Helper Methods\n\n private processQueue(): void {\n if (this.activePauses > 0) {\n return;\n }\n\n const max = this.globalSettings.maxOpened();\n\n while (this.activeToasts.length < max && this.toastQueue.length > 0) {\n const buildNext = this.toastQueue.shift();\n if (buildNext) {\n buildNext();\n }\n }\n }\n\n private buildAndAttachToast<D, R, C extends IToast<D, R>>(componentType: ComponentType<C>, config: IToastConfig<D>, toastRef: ToastRef<D, R>): void {\n const dataInjector = Injector.create({\n providers: [{ provide: TOAST_DATA, useValue: config.data }],\n parent: this.injector\n });\n\n const contentRef = createComponent(componentType, {\n environmentInjector: this.environmentInjector,\n elementInjector: dataInjector\n });\n\n if (this.isIToast<D, R, C>(contentRef.instance)) {\n contentRef.instance.toast = toastRef;\n contentRef.instance.onToastInit?.();\n }\n\n const wrapperInjector = Injector.create({\n providers: [{ provide: ToastRef, useValue: toastRef }],\n parent: this.injector\n });\n\n const wrapperRef = createComponent<ToastCore<D, R, C>>(ToastCore, {\n environmentInjector: this.environmentInjector,\n elementInjector: wrapperInjector\n });\n\n wrapperRef.instance.componentRef = contentRef;\n wrapperRef.instance.config = config;\n wrapperRef.instance.toastRef = toastRef;\n\n this.appRef.attachView(wrapperRef.hostView);\n\n const container = this.getContainer(config.position || 'top-right');\n container.appendChild(wrapperRef.location.nativeElement);\n\n this.activeToasts.push(wrapperRef as ComponentRef<ToastCore<unknown, unknown, IToast<unknown, unknown>>>);\n\n let isThisToastPausing = false;\n\n toastRef.config = config;\n\n toastRef.onPause$.subscribe(() => {\n if (!isThisToastPausing) {\n isThisToastPausing = true;\n this.activePauses++;\n }\n });\n\n toastRef.onResume$.subscribe(() => {\n if (isThisToastPausing) {\n isThisToastPausing = false;\n this.activePauses = Math.max(0, this.activePauses - 1);\n\n if (this.activePauses === 0) {\n this.processQueue();\n }\n }\n });\n\n toastRef.afterClosed$.pipe(take(1)).subscribe(() => {\n if (isThisToastPausing) {\n isThisToastPausing = false;\n this.activePauses = Math.max(0, this.activePauses - 1);\n }\n\n this.finalizeToast(wrapperRef);\n });\n }\n\n private finalizeToast<D, R, C extends IToast<D, R>>(wrapperRef: ComponentRef<ToastCore<D, R, C>>): void {\n const index = this.activeToasts.indexOf(wrapperRef as ComponentRef<ToastCore<unknown, unknown, IToast<unknown, unknown>>>);\n\n if (index > -1) {\n this.activeToasts.splice(index, 1);\n }\n\n this.appRef.detachView(wrapperRef.hostView);\n wrapperRef.location.nativeElement.remove();\n wrapperRef.destroy();\n\n this.processQueue();\n }\n\n private getContainer(position: ToastPosition): HTMLElement {\n if (this.containers.has(position)) {\n return this.containers.get(position) as HTMLElement;\n }\n\n const container = this.document.createElement('div');\n container.classList.add('toast-container', `toast-container-${position}`);\n this.document.body.appendChild(container);\n\n this.containers.set(position, container);\n\n return container;\n }\n\n private resolveConfig<D>(config?: IToastConfig<D>): IToastConfig<D> {\n return {\n ...config,\n position: config?.position ?? this.globalSettings.position(),\n animate: config?.animate ?? this.globalSettings.animate(),\n wrapperClass: config?.wrapperClass ?? this.globalSettings.wrapperClass(),\n durationInMs: config?.durationInMs ?? this.globalSettings.durationInMs(),\n swipeToDismiss: config?.swipeToDismiss ?? this.globalSettings.swipeToDismiss(),\n showCloseButton: config?.showCloseButton ?? this.globalSettings.showCloseButton(),\n closeButtonColor: config?.closeButtonColor ?? this.globalSettings.closeButtonColor(),\n showProgressBar: config?.showProgressBar ?? this.globalSettings.showProgressBar(),\n progressBarColor: config?.progressBarColor ?? this.globalSettings?.progressBarColor()\n };\n }\n\n private isIToast<D, R, C extends IToast<D, R>>(component: unknown): component is C {\n return typeof component === 'object' && component !== null && 'toast' in component;\n }\n\n //#endregion\n}\n","/*\n * Public API Surface of toastr\n */\n\nexport * from './services/toastr.service';\nexport * from './services/toastr-global-settings.service';\n\nexport * from './components/toast-core';\nexport * from './components/views/simple-toast/simple-toast';\n\nexport * from './interfaces/itoast-config.interface';\nexport * from './interfaces/itoast.interface';\nexport * from './interfaces/isimple-toast.interface';\n\nexport * from './types/toastr.types';\n\nexport * from './tokens/toast-data.token';\n\nexport * from './classes/toast-ref';\nexport * from './classes/toast';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filip.mazev-blocks-toastr.mjs","sources":["../../../projects/blocks/toastr/classes/toast-ref.ts","../../../projects/blocks/toastr/tokens/toast-data.token.ts","../../../projects/blocks/toastr/services/toastr-global-settings.service.ts","../../../projects/blocks/toastr/components/toast-core.ts","../../../projects/blocks/toastr/components/toast-core.html","../../../projects/blocks/toastr/classes/toast.ts","../../../projects/blocks/toastr/components/views/simple-toast/simple-toast.ts","../../../projects/blocks/toastr/components/views/simple-toast/simple-toast.html","../../../projects/blocks/toastr/services/toastr.service.ts","../../../projects/blocks/toastr/public-api.ts","../../../projects/blocks/toastr/filip.mazev-blocks-toastr.ts"],"sourcesContent":["import { Subject } from 'rxjs';\nimport { IToastConfig } from '../interfaces/itoast-config.interface';\n\nexport class ToastRef<D = undefined, R = unknown> {\n private readonly afterClosedSubject = new Subject<R | undefined>();\n\n private readonly pauseSubject = new Subject<void>();\n private readonly resumeSubject = new Subject<void>();\n\n public readonly afterClosed$ = this.afterClosedSubject.asObservable();\n public readonly onPause$ = this.pauseSubject.asObservable();\n public readonly onResume$ = this.resumeSubject.asObservable();\n public config!: IToastConfig<D>;\n\n public close(result?: R): void {\n this.afterClosedSubject.next(result);\n this.afterClosedSubject.complete();\n }\n\n public pause(): void {\n this.pauseSubject.next();\n }\n\n public resume(): void {\n this.resumeSubject.next();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const TOAST_DATA = new InjectionToken<any>('TOAST_DATA');\n","import { Injectable, signal } from '@angular/core';\nimport { ToastPosition } from '../types/toastr.types';\nimport { ThemedColor } from '@filip.mazev/blocks/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToastrGlobalSettingsService {\n public readonly position = signal<ToastPosition>('top-right');\n public readonly animate = signal<boolean>(true);\n public readonly wrapperClass = signal<string | undefined>(undefined);\n public readonly durationInMs = signal<number>(5000);\n public readonly swipeToDismiss = signal<boolean>(true);\n public readonly maxOpened = signal<number>(4);\n\n public readonly showCloseButton = signal<boolean>(true);\n public readonly closeButtonColor = signal<ThemedColor | undefined>('text-primary');\n \n public readonly showProgressBar = signal<boolean>(true);\n public readonly progressBarColor = signal<ThemedColor | undefined>('text-primary');\n\n public update(\n settings: Partial<{\n position: ToastPosition;\n animate: boolean;\n wrapperClass: string;\n durationInMs: number;\n swipeToDismiss: boolean;\n maxOpened: number;\n showCloseButton: boolean;\n closeButtonColor: ThemedColor;\n showProgressBar: boolean;\n progressBarColor: ThemedColor;\n }>\n ): void {\n if (settings.position !== undefined) this.position.set(settings.position);\n if (settings.animate !== undefined) this.animate.set(settings.animate);\n if (settings.wrapperClass !== undefined) this.wrapperClass.set(settings.wrapperClass);\n if (settings.durationInMs !== undefined) this.durationInMs.set(settings.durationInMs);\n if (settings.swipeToDismiss !== undefined) this.swipeToDismiss.set(settings.swipeToDismiss);\n if (settings.maxOpened !== undefined) this.maxOpened.set(settings.maxOpened);\n \n if (settings.showCloseButton !== undefined) this.showCloseButton.set(settings.showCloseButton);\n if (settings.closeButtonColor !== undefined) this.closeButtonColor.set(settings.closeButtonColor);\n \n if (settings.showProgressBar !== undefined) this.showProgressBar.set(settings.showProgressBar);\n if (settings.progressBarColor !== undefined) this.progressBarColor.set(settings.progressBarColor);\n }\n}\n","import {\n Component,\n ViewChild,\n ViewContainerRef,\n ComponentRef,\n ElementRef,\n OnInit,\n OnDestroy,\n signal,\n computed,\n AfterViewInit,\n HostListener,\n inject\n} from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { IToastConfig } from '../interfaces/itoast-config.interface';\nimport { ToastRef } from '../classes/toast-ref';\nimport { IToast } from '../interfaces/itoast.interface';\nimport { Icon } from '@filip.mazev/blocks/icons';\nimport { Subscription } from 'rxjs';\nimport { Color, getComplementaryToken, resolveTokenToCssVar } from '@filip.mazev/blocks/core';\nimport { ToastrGlobalSettingsService } from '../services/toastr-global-settings.service';\n\n@Component({\n selector: 'bx-toast-core',\n imports: [NgClass, Icon],\n templateUrl: './toast-core.html',\n styleUrl: './toast-core.scss'\n})\nexport class ToastCore<D, R, C extends IToast<D, R> = IToast<D, R>> implements OnInit, AfterViewInit, OnDestroy {\n private readonly toastrGlobalSettingsService = inject(ToastrGlobalSettingsService);\n \n public componentRef!: ComponentRef<C>;\n public config?: IToastConfig<D>;\n public toastRef!: ToastRef<D, R>;\n\n public isVisible = signal(false);\n public currentTranslateY = signal(0);\n public isSwipingFinished = signal(false);\n\n public isCollapsing = signal(false);\n\n protected showCloseButton = computed(() => this.config?.showCloseButton ?? this.toastrGlobalSettingsService.showCloseButton());\n protected closeButtonColor = computed(() => this.config?.closeButtonColor ?? this.toastrGlobalSettingsService.closeButtonColor());\n \n protected showProgressBar = computed(() => {\n if (this.config?.showProgressBar === false)\n return false;\n\n return this.config?.showProgressBar === true || this.config?.progressBarColor !== undefined;\n });\n\n protected progressBarColor = computed(() => {\n return this.showProgressBar() \n ? ((this.config?.progressBarColor ?? this.toastrGlobalSettingsService.progressBarColor()) as Color) \n : undefined;\n });\n\n protected progressBarCssVar = computed(() => {\n const progressBarColor = this.progressBarColor();\n return progressBarColor ? resolveTokenToCssVar(progressBarColor) : undefined\n });\n\n protected progressBarBgCssVar = computed(() => {\n const progressBarColor = this.progressBarColor();\n return progressBarColor ? resolveTokenToCssVar(getComplementaryToken(progressBarColor)) : undefined\n });\n\n protected isAnimated = computed(() => this.config?.animate !== false);\n protected isBottom = computed(() => (this.config?.position ?? this.toastrGlobalSettingsService.position()).includes('bottom'));\n\n @ViewChild('dynamicContainer', { read: ViewContainerRef, static: true }) protected dynamicContainer!: ViewContainerRef;\n @ViewChild('toastSwipeTarget', { static: true }) protected toastSwipeTarget!: ElementRef;\n @ViewChild('animatorWrapper', { static: true }) protected animatorWrapper!: ElementRef;\n @ViewChild('progressBar') protected progressBar?: ElementRef<HTMLElement>;\n\n protected wrapperClasses = computed(() => {\n const isTop = (this.config?.position ?? 'top-right').includes('top');\n const animClass = isTop ? 'anim-dir-top' : 'anim-dir-bottom';\n const wrapperClass = this.config?.wrapperClass ?? 'default-wrapper' + (this.config?.hasDefaultBackground === false ? ' no-bg' : '');\n return `${animClass} ${wrapperClass}`;\n });\n\n protected toastrTransform = computed(() => {\n if (!this.isAnimated()) return null;\n\n const isTop = (this.config?.position ?? 'top-right').includes('top');\n\n if (this.isSwipingFinished()) {\n return isTop ? 'translateY(-150px)' : 'translateY(150px)';\n }\n\n if (this.currentTranslateY() !== 0) {\n return `translateY(${this.currentTranslateY()}px)`;\n }\n\n return null;\n });\n\n private progressAnimation?: Animation;\n private subs = new Subscription();\n\n private remainingMs = 0;\n\n private timerStartTime = 0;\n\n private originalCloseFn!: (result?: R) => void;\n private closeResult?: R;\n\n private isTrackingSwipe = false;\n private isTouchActive = false;\n private autoCloseTimeout?: ReturnType<typeof setTimeout>;\n private hasEmittedClose = false;\n\n private cleanupListeners: Array<() => void> = [];\n private swipeCleanupListeners: (() => void) | null = null;\n private globalResizeCleanup: (() => void) | null = null;\n\n public ngOnInit(): void {\n this.dynamicContainer.insert(this.componentRef.hostView);\n\n this.originalCloseFn = this.toastRef.close.bind(this.toastRef);\n this.toastRef.close = (result?: R) => {\n this.closeToast(result);\n };\n\n setTimeout(() => this.isVisible.set(true), 10);\n\n if (this.config?.swipeToDismiss !== false) {\n this.startVerticalSwipeDetection();\n this.monitorInputType();\n }\n\n const animatorTarget = this.animatorWrapper.nativeElement;\n\n const onAnimatorTransitionEnd = (event: TransitionEvent) => {\n if (event.target !== animatorTarget || event.propertyName !== 'grid-template-rows') return;\n if (this.isCollapsing() && !this.hasEmittedClose) {\n this.hasEmittedClose = true;\n this.originalCloseFn(this.closeResult);\n }\n };\n\n animatorTarget.addEventListener('transitionend', onAnimatorTransitionEnd);\n this.cleanupListeners.push(() => animatorTarget.removeEventListener('transitionend', onAnimatorTransitionEnd));\n }\n\n public ngAfterViewInit(): void {\n const duration = this.config?.durationInMs;\n\n if (duration) {\n this.remainingMs = duration;\n this.startTimer();\n }\n\n if (duration && this.progressBar?.nativeElement) {\n this.progressAnimation = this.progressBar.nativeElement.animate([{ width: '100%' }, { width: '0%' }], { duration, fill: 'forwards' });\n\n this.subs.add(this.toastRef.onPause$.subscribe(() => this.progressAnimation?.pause()));\n this.subs.add(this.toastRef.onResume$.subscribe(() => this.progressAnimation?.play()));\n }\n }\n\n public ngOnDestroy(): void {\n clearTimeout(this.autoCloseTimeout);\n\n this.stopVerticalSwipeDetection();\n this.globalResizeCleanup?.();\n\n this.cleanupListeners.forEach((fn) => fn());\n this.cleanupListeners = [];\n\n this.progressAnimation?.cancel();\n this.subs.unsubscribe();\n }\n\n public closeToast(result?: R, fromSwipe = false): void {\n this.closeResult = result !== undefined ? result : this.closeResult;\n\n if (!this.isAnimated()) {\n if (!this.hasEmittedClose) {\n this.hasEmittedClose = true;\n this.originalCloseFn(this.closeResult);\n }\n return;\n }\n\n this.isVisible.set(false);\n this.isCollapsing.set(true);\n\n if (fromSwipe) {\n this.isSwipingFinished.set(true);\n }\n }\n\n @HostListener('mouseenter')\n protected onMouseEnter(): void {\n if (!this.isTouchActive && this.config?.durationInMs && !this.isCollapsing()) {\n this.pauseTimer();\n }\n }\n\n @HostListener('mouseleave')\n protected onMouseLeave(): void {\n if (!this.isTouchActive && this.config?.durationInMs && !this.isCollapsing()) {\n this.startTimer();\n this.toastRef.resume();\n }\n }\n \n //#region Swipe Logic\n\n private startVerticalSwipeDetection(): void {\n if (this.isTrackingSwipe) return;\n\n const hasTouch = typeof window !== 'undefined' && (window.matchMedia('(pointer: coarse)').matches || navigator.maxTouchPoints > 0);\n if (!hasTouch) return;\n\n this.isTrackingSwipe = true;\n const target = this.toastSwipeTarget.nativeElement;\n const isTop = (this.config?.position ?? 'top-right').includes('top');\n\n let startY = 0;\n let startTime = 0;\n let isPointerDown = false;\n let limit = 0;\n\n const pointerDown = (event: PointerEvent) => {\n if (event.button !== 0 && event.pointerType === 'mouse') return;\n\n const toastHeight = target.offsetHeight || 0;\n limit = toastHeight / 3;\n\n isPointerDown = true;\n startY = event.clientY;\n startTime = event.timeStamp;\n\n this.pauseTimer();\n target.setPointerCapture(event.pointerId);\n };\n\n const pointerMove = (event: PointerEvent) => {\n if (!isPointerDown) return;\n const currentY = event.clientY - startY;\n\n if ((isTop && currentY < 0) || (!isTop && currentY > 0)) {\n if (event.cancelable) event.preventDefault();\n this.currentTranslateY.set(currentY);\n }\n };\n\n const pointerUp = (event: PointerEvent) => {\n if (!isPointerDown) return;\n isPointerDown = false;\n target.releasePointerCapture(event.pointerId);\n\n const deltaY = event.clientY - startY;\n const duration = event.timeStamp - startTime || 1;\n const velocityY = Math.abs(deltaY / duration);\n\n const crossedLimit = isTop ? deltaY < -limit : deltaY > limit;\n\n if (crossedLimit || velocityY > 0.3) {\n this.closeToast(undefined, true);\n } else {\n this.currentTranslateY.set(0);\n this.startTimer();\n this.toastRef.resume();\n }\n };\n\n target.addEventListener('pointerdown', pointerDown, { passive: false });\n target.addEventListener('pointermove', pointerMove, { passive: false });\n target.addEventListener('pointerup', pointerUp);\n target.addEventListener('pointercancel', pointerUp);\n\n this.swipeCleanupListeners = () => {\n target.removeEventListener('pointerdown', pointerDown);\n target.removeEventListener('pointermove', pointerMove);\n target.removeEventListener('pointerup', pointerUp);\n target.removeEventListener('pointercancel', pointerUp);\n };\n }\n\n private stopVerticalSwipeDetection(): void {\n if (!this.isTrackingSwipe) return;\n\n this.isTrackingSwipe = false;\n\n if (this.swipeCleanupListeners) {\n this.swipeCleanupListeners();\n this.swipeCleanupListeners = null;\n }\n }\n\n private monitorInputType(): void {\n if (this.globalResizeCleanup) return;\n\n const handler = (event: PointerEvent) => {\n const isTouch = event.pointerType === 'touch';\n\n if (isTouch && !this.isTouchActive) {\n this.isTouchActive = true;\n this.startVerticalSwipeDetection();\n } else if (!isTouch && this.isTouchActive) {\n this.isTouchActive = false;\n this.stopVerticalSwipeDetection();\n }\n };\n\n window.addEventListener('pointerdown', handler);\n this.globalResizeCleanup = () => window.removeEventListener('pointerdown', handler);\n }\n\n //#endregion\n\n //#region Timer Logic\n\n private startTimer(): void {\n if (this.remainingMs <= 0) return;\n\n this.timerStartTime = Date.now();\n this.autoCloseTimeout = setTimeout(() => this.closeToast(), this.remainingMs);\n }\n\n private pauseTimer(): void {\n if (!this.autoCloseTimeout) return;\n\n clearTimeout(this.autoCloseTimeout);\n this.autoCloseTimeout = undefined;\n\n const elapsed = Date.now() - this.timerStartTime;\n this.remainingMs -= elapsed;\n\n this.toastRef.pause();\n }\n\n //#endregion\n}\n","<div #animatorWrapper class=\"toast-animator\" [class.collapsing]=\"isCollapsing()\" [class.is-bottom]=\"isBottom()\">\n <div #toastSwipeTarget class=\"toast-wrapper\" [ngClass]=\"wrapperClasses()\" [class.show]=\"isVisible()\"\n [class.no-animate]=\"!isAnimated()\" [style.transform]=\"toastrTransform()\">\n @if(showCloseButton()) {\n <bx-icon name=\"x\" size=\"20\" [color]=\"closeButtonColor()\" class=\"toast-close-button\" (click)=\"closeToast()\"\n aria-label=\"Close toast\" />\n }\n\n <ng-container #dynamicContainer></ng-container>\n\n @if (config?.durationInMs && showProgressBar() && progressBarCssVar() && progressBarBgCssVar()) {\n <div class=\"toast-progress-container\" [style.background]=\"progressBarBgCssVar()\">\n <div class=\"toast-progress-bar\" [style.background]=\"progressBarCssVar()\" #progressBar></div>\n </div>\n }\n </div>\n</div>","import { inject, Injectable } from '@angular/core';\nimport { ToastRef } from './toast-ref';\nimport { TOAST_DATA } from '../tokens/toast-data.token';\nimport { IToast } from '../interfaces/itoast.interface';\n\n@Injectable()\nexport abstract class Toast<D = unknown, R = unknown> implements IToast<D, R> {\n /**\n * Data injected into the toast component.\n */\n public data = inject<D>(TOAST_DATA);\n\n /**\n * Reference to the ToastRef instance associated with this toast.\n */\n public toast!: ToastRef<D, R>;\n\n /**\n * Called when the toast is initialized.\n */\n public onToastInit(): void {}\n\n /**\n * Closes the toast with an optional result.\n * @param result The result to be passed when closing the toast.\n */\n public close(result?: R): void {\n this.toast?.close(result);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, computed, inject } from '@angular/core';\nimport { Toast } from '../../../classes/toast';\nimport { ISimpleToastData } from '../../../interfaces/isimple-toast.interface';\nimport { BX_I18N, isTextWithKey } from '@filip.mazev/blocks/core';\n\n@Component({\n selector: 'bx-simple-toast',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './simple-toast.html',\n styleUrl: './simple-toast.scss'\n})\nexport class SimpleToast extends Toast<ISimpleToastData, undefined> {\n private readonly i18n = inject(BX_I18N, { optional: true });\n \n protected readonly resolvedTitle = computed(() => {\n this.i18n?.version?.();\n\n const title = this.data.title;\n if (!title) return undefined;\n\n if (isTextWithKey(title)) {\n return this.i18n?.translate(title.key) ?? title.key;\n }\n\n return title;\n });\n\n protected readonly resolvedMessage = computed(() => {\n this.i18n?.version?.();\n\n const message = this.data.message;\n if (!message) return undefined;\n\n if (isTextWithKey(message)) {\n return this.i18n?.translate(message.key) ?? message.key;\n }\n\n return message;\n });\n\n protected dismiss(): void {\n this.toast?.close();\n }\n}\n","<div class=\"simple-toast\" [ngClass]=\"data.type\">\n <div class=\"simple-toast-content\">\n @if(resolvedTitle()) {\n <h4 class=\"simple-toast-title\">{{ resolvedTitle() }}</h4>\n <p class=\"simple-toast-message\">{{ resolvedMessage() }}</p>\n } @else {\n <p class=\"simple-toast-message large-message\">{{ resolvedMessage() }}</p>\n }\n </div>\n</div>","import { Injectable, inject, Injector, ApplicationRef, EnvironmentInjector, createComponent, ComponentRef } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { ComponentType } from '@angular/cdk/portal';\nimport { take } from 'rxjs';\nimport { IToastConfig } from '../interfaces/itoast-config.interface';\nimport { ToastRef } from '../classes/toast-ref';\nimport { TOAST_DATA } from '../tokens/toast-data.token';\nimport { IToast } from '../interfaces/itoast.interface';\nimport { ToastrGlobalSettingsService } from './toastr-global-settings.service';\nimport { ToastPosition } from '../types/toastr.types';\nimport { ToastCore } from '../components/toast-core';\nimport { SimpleToast } from '../components/views/simple-toast/simple-toast';\nimport { ISimpleToastData } from '../interfaces/isimple-toast.interface';\nimport { IQueueSimpleToastRequest } from '../interfaces/iqueue-simple-toast-request.interface';\nimport { BxA11yService } from '@filip.mazev/blocks/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToastrService {\n private readonly injector = inject(Injector);\n private readonly appRef = inject(ApplicationRef);\n private readonly environmentInjector = inject(EnvironmentInjector);\n private readonly document = inject(DOCUMENT);\n private readonly globalSettings = inject(ToastrGlobalSettingsService);\n private readonly a11y = inject(BxA11yService);\n\n private readonly toastQueue: Array<() => void> = [];\n private readonly activeToasts: Array<ComponentRef<ToastCore<unknown, unknown, IToast<unknown, unknown>>>> = [];\n private readonly containers = new Map<ToastPosition, HTMLElement>();\n\n private activePauses = 0;\n\n /**\n * Displays a toast notification with the specified component and configuration.\n * @param componentType\n * @param config\n * @returns\n */\n public queueToast<D, R, C extends IToast<D, R>>(componentType: ComponentType<C>, config?: IToastConfig<D>): ToastRef<D, R> {\n const resolvedConfig = this.resolveConfig(config);\n const toastRef = new ToastRef<D, R>();\n\n this.toastQueue.push(() => this.buildAndAttachToast(componentType, resolvedConfig, toastRef));\n\n this.processQueue();\n\n return toastRef;\n }\n\n /**\n * Queues a simple success toast notification with the specified message and optional title, position, and duration.\n * @param request An object containing the message, optional title, optional position, and duration for the toast notification.\n * @returns A ToastRef instance representing the queued toast.\n */\n public queueSuccess(request: IQueueSimpleToastRequest): ToastRef<ISimpleToastData, undefined> {\n return this.queueToast<ISimpleToastData, undefined, SimpleToast>(SimpleToast, {\n position: request.position ?? this.globalSettings.position(),\n data: {\n title: request.title,\n message: request.message,\n type: 'success'\n },\n closeButtonColor: 'text-success',\n progressBarColor: 'text-success',\n hasDefaultBackground: false,\n durationInMs: request.durationInMs ?? this.globalSettings.durationInMs(),\n animate: request.animate ?? this.globalSettings.animate(),\n showProgressBar: request.showProgessBar ?? this.globalSettings.showProgressBar(),\n showCloseButton: request.showCloseButton ?? this.globalSettings.showCloseButton()\n });\n }\n\n /**\n * Queues a simple info toast notification with the specified message and optional title, position, and duration.\n * @param request An object containing the message, optional title, optional position, and duration for the toast notification.\n * @returns A ToastRef instance representing the queued toast.\n */\n public queueInfo(request: IQueueSimpleToastRequest): ToastRef<ISimpleToastData, undefined> {\n return this.queueToast<ISimpleToastData, undefined, SimpleToast>(SimpleToast, {\n position: request.position ?? this.globalSettings.position(),\n data: {\n title: request.title,\n message: request.message,\n type: 'info'\n },\n closeButtonColor: 'text-info',\n progressBarColor: 'text-info',\n hasDefaultBackground: false,\n durationInMs: request.durationInMs ?? this.globalSettings.durationInMs(),\n animate: request.animate ?? this.globalSettings.animate(),\n showProgressBar: request.showProgessBar ?? this.globalSettings.showProgressBar(),\n showCloseButton: request.showCloseButton ?? this.globalSettings.showCloseButton()\n });\n }\n\n /**\n * Queues a simple warning toast notification with the specified message and optional title, position, and duration.\n * @param request An object containing the message, optional title, optional position, and duration for the toast notification.\n * @returns A ToastRef instance representing the queued toast.\n */\n public queueWarning(request: IQueueSimpleToastRequest): ToastRef<ISimpleToastData, undefined> {\n return this.queueToast<ISimpleToastData, undefined, SimpleToast>(SimpleToast, {\n position: request.position ?? this.globalSettings.position(),\n data: {\n title: request.title,\n message: request.message,\n type: 'warn'\n },\n closeButtonColor: 'text-warn',\n progressBarColor: 'text-warn',\n hasDefaultBackground: false,\n durationInMs: request.durationInMs ?? this.globalSettings.durationInMs(),\n animate: request.animate ?? this.globalSettings.animate(),\n showProgressBar: request.showProgessBar ?? this.globalSettings.showProgressBar(),\n showCloseButton: request.showCloseButton ?? this.globalSettings.showCloseButton()\n });\n }\n\n /**\n * Queues a simple error toast notification with the specified message and optional title, position, and duration.\n * @param request An object containing the message, optional title, optional position, and duration for the toast notification.\n * @returns A ToastRef instance representing the queued toast.\n */\n public queueDanger(request: IQueueSimpleToastRequest): ToastRef<ISimpleToastData, undefined> {\n return this.queueToast<ISimpleToastData, undefined, SimpleToast>(SimpleToast, {\n position: request.position ?? this.globalSettings.position(),\n data: {\n title: request.title,\n message: request.message,\n type: 'danger'\n },\n closeButtonColor: 'text-danger',\n progressBarColor: 'text-danger',\n hasDefaultBackground: false,\n durationInMs: request.durationInMs ?? this.globalSettings.durationInMs(),\n animate: request.animate ?? this.globalSettings.animate(),\n showProgressBar: request.showProgessBar ?? this.globalSettings.showProgressBar(),\n showCloseButton: request.showCloseButton ?? this.globalSettings.showCloseButton()\n });\n }\n\n //#region Helper Methods\n\n private processQueue(): void {\n if (this.activePauses > 0) {\n return;\n }\n\n const max = this.globalSettings.maxOpened();\n\n while (this.activeToasts.length < max && this.toastQueue.length > 0) {\n const buildNext = this.toastQueue.shift();\n if (buildNext) {\n buildNext();\n }\n }\n }\n\n private buildAndAttachToast<D, R, C extends IToast<D, R>>(componentType: ComponentType<C>, config: IToastConfig<D>, toastRef: ToastRef<D, R>): void {\n const dataInjector = Injector.create({\n providers: [{ provide: TOAST_DATA, useValue: config.data }],\n parent: this.injector\n });\n\n const contentRef = createComponent(componentType, {\n environmentInjector: this.environmentInjector,\n elementInjector: dataInjector\n });\n\n if (this.isIToast<D, R, C>(contentRef.instance)) {\n contentRef.instance.toast = toastRef;\n contentRef.instance.onToastInit?.();\n }\n\n const wrapperInjector = Injector.create({\n providers: [{ provide: ToastRef, useValue: toastRef }],\n parent: this.injector\n });\n\n const wrapperRef = createComponent<ToastCore<D, R, C>>(ToastCore, {\n environmentInjector: this.environmentInjector,\n elementInjector: wrapperInjector\n });\n\n wrapperRef.instance.componentRef = contentRef;\n wrapperRef.instance.config = config;\n wrapperRef.instance.toastRef = toastRef;\n\n this.appRef.attachView(wrapperRef.hostView);\n\n const container = this.getContainer(config.position || 'top-right');\n container.appendChild(wrapperRef.location.nativeElement);\n\n this.activeToasts.push(wrapperRef as ComponentRef<ToastCore<unknown, unknown, IToast<unknown, unknown>>>);\n\n let isThisToastPausing = false;\n\n toastRef.config = config;\n\n toastRef.onPause$.subscribe(() => {\n if (!isThisToastPausing) {\n isThisToastPausing = true;\n this.activePauses++;\n }\n });\n\n toastRef.onResume$.subscribe(() => {\n if (isThisToastPausing) {\n isThisToastPausing = false;\n this.activePauses = Math.max(0, this.activePauses - 1);\n\n if (this.activePauses === 0) {\n this.processQueue();\n }\n }\n });\n\n toastRef.afterClosed$.pipe(take(1)).subscribe(() => {\n if (isThisToastPausing) {\n isThisToastPausing = false;\n this.activePauses = Math.max(0, this.activePauses - 1);\n }\n\n this.finalizeToast(wrapperRef);\n });\n }\n\n private finalizeToast<D, R, C extends IToast<D, R>>(wrapperRef: ComponentRef<ToastCore<D, R, C>>): void {\n const index = this.activeToasts.indexOf(wrapperRef as ComponentRef<ToastCore<unknown, unknown, IToast<unknown, unknown>>>);\n\n if (index > -1) {\n this.activeToasts.splice(index, 1);\n }\n\n this.appRef.detachView(wrapperRef.hostView);\n wrapperRef.location.nativeElement.remove();\n wrapperRef.destroy();\n\n this.processQueue();\n }\n\n private getContainer(position: ToastPosition): HTMLElement {\n if (this.containers.has(position)) {\n return this.containers.get(position) as HTMLElement;\n }\n\n const container = this.document.createElement('div');\n container.classList.add('toast-container', `toast-container-${position}`);\n this.document.body.appendChild(container);\n\n this.containers.set(position, container);\n\n return container;\n }\n\n private resolveConfig<D>(config?: IToastConfig<D>): IToastConfig<D> {\n const requestedAnimation = config?.animate ?? this.globalSettings.animate();\n const finalAnimateState = this.a11y.isReducedMotion() ? false : requestedAnimation;\n\n return {\n ...config,\n position: config?.position ?? this.globalSettings.position(),\n animate: finalAnimateState,\n wrapperClass: config?.wrapperClass ?? this.globalSettings.wrapperClass(),\n durationInMs: config?.durationInMs ?? this.globalSettings.durationInMs(),\n swipeToDismiss: config?.swipeToDismiss ?? this.globalSettings.swipeToDismiss(),\n showCloseButton: config?.showCloseButton ?? this.globalSettings.showCloseButton(),\n closeButtonColor: config?.closeButtonColor ?? this.globalSettings.closeButtonColor(),\n showProgressBar: config?.showProgressBar ?? this.globalSettings.showProgressBar(),\n progressBarColor: config?.progressBarColor ?? this.globalSettings?.progressBarColor()\n };\n }\n\n private isIToast<D, R, C extends IToast<D, R>>(component: unknown): component is C {\n return typeof component === 'object' && component !== null && 'toast' in component;\n }\n\n //#endregion\n}","/*\n * Public API Surface of toastr\n */\n\nexport * from './services/toastr.service';\nexport * from './services/toastr-global-settings.service';\n\nexport * from './components/toast-core';\nexport * from './components/views/simple-toast/simple-toast';\n\nexport * from './interfaces/itoast-config.interface';\nexport * from './interfaces/itoast.interface';\nexport * from './interfaces/isimple-toast.interface';\n\nexport * from './types/toastr.types';\n\nexport * from './tokens/toast-data.token';\n\nexport * from './classes/toast-ref';\nexport * from './classes/toast';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAGa,QAAQ,CAAA;AACF,IAAA,kBAAkB,GAAG,IAAI,OAAO,EAAiB;AAEjD,IAAA,YAAY,GAAG,IAAI,OAAO,EAAQ;AAClC,IAAA,aAAa,GAAG,IAAI,OAAO,EAAQ;AAEpC,IAAA,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;AACrD,IAAA,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAC3C,IAAA,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;AACtD,IAAA,MAAM;AAEN,IAAA,KAAK,CAAC,MAAU,EAAA;AACrB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;AACpC,QAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IACpC;IAEO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;IAC1B;IAEO,MAAM,GAAA;AACX,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;IAC3B;AACD;;ACxBD;MACa,UAAU,GAAG,IAAI,cAAc,CAAM,YAAY;;MCIjD,2BAA2B,CAAA;AACtB,IAAA,QAAQ,GAAG,MAAM,CAAgB,WAAW,+EAAC;AAC7C,IAAA,OAAO,GAAG,MAAM,CAAU,IAAI,8EAAC;AAC/B,IAAA,YAAY,GAAG,MAAM,CAAqB,SAAS,mFAAC;AACpD,IAAA,YAAY,GAAG,MAAM,CAAS,IAAI,mFAAC;AACnC,IAAA,cAAc,GAAG,MAAM,CAAU,IAAI,qFAAC;AACtC,IAAA,SAAS,GAAG,MAAM,CAAS,CAAC,gFAAC;AAE7B,IAAA,eAAe,GAAG,MAAM,CAAU,IAAI,sFAAC;AACvC,IAAA,gBAAgB,GAAG,MAAM,CAA0B,cAAc,uFAAC;AAElE,IAAA,eAAe,GAAG,MAAM,CAAU,IAAI,sFAAC;AACvC,IAAA,gBAAgB,GAAG,MAAM,CAA0B,cAAc,uFAAC;AAE3E,IAAA,MAAM,CACX,QAWE,EAAA;AAEF,QAAA,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACzE,QAAA,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;AACtE,QAAA,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS;YAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;AACrF,QAAA,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS;YAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;AACrF,QAAA,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS;YAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;AAC3F,QAAA,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;AAE5E,QAAA,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC;AAC9F,QAAA,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS;YAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;AAEjG,QAAA,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC;AAC9F,QAAA,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS;YAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACnG;uGAxCW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAA3B,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cAF1B,MAAM,EAAA,CAAA;;2FAEP,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCuBY,SAAS,CAAA;AACH,IAAA,2BAA2B,GAAG,MAAM,CAAC,2BAA2B,CAAC;AAE3E,IAAA,YAAY;AACZ,IAAA,MAAM;AACN,IAAA,QAAQ;AAER,IAAA,SAAS,GAAG,MAAM,CAAC,KAAK,gFAAC;AACzB,IAAA,iBAAiB,GAAG,MAAM,CAAC,CAAC,wFAAC;AAC7B,IAAA,iBAAiB,GAAG,MAAM,CAAC,KAAK,wFAAC;AAEjC,IAAA,YAAY,GAAG,MAAM,CAAC,KAAK,mFAAC;AAEzB,IAAA,eAAe,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,eAAe,IAAI,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,sFAAC;AACpH,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,gBAAgB,IAAI,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,uFAAC;AAEvH,IAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AACxC,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,eAAe,KAAK,KAAK;AACxC,YAAA,OAAO,KAAK;AAEd,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,gBAAgB,KAAK,SAAS;AAC7F,IAAA,CAAC,sFAAC;AAEQ,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAK;QACzC,OAAO,IAAI,CAAC,eAAe;AAC3B,eAAI,IAAI,CAAC,MAAM,EAAE,gBAAgB,IAAI,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,EAAE;cACtF,SAAS;AACb,IAAA,CAAC,uFAAC;AAEQ,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAK;AAC1C,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAChD,QAAA,OAAO,gBAAgB,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,GAAG,SAAS;AAC9E,IAAA,CAAC,wFAAC;AAEQ,IAAA,mBAAmB,GAAG,QAAQ,CAAC,MAAK;AAC5C,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAChD,QAAA,OAAO,gBAAgB,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,GAAG,SAAS;AACrG,IAAA,CAAC,0FAAC;AAEQ,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,KAAK,KAAK,iFAAC;IAC3D,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAE3C,IAAA,gBAAgB;AACxC,IAAA,gBAAgB;AACjB,IAAA,eAAe;AACrC,IAAA,WAAW;AAErC,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;AACvC,QAAA,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC;QACpE,MAAM,SAAS,GAAG,KAAK,GAAG,cAAc,GAAG,iBAAiB;QAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,iBAAiB,IAAI,IAAI,CAAC,MAAM,EAAE,oBAAoB,KAAK,KAAK,GAAG,QAAQ,GAAG,EAAE,CAAC;AACnI,QAAA,OAAO,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,YAAY,EAAE;AACvC,IAAA,CAAC,qFAAC;AAEQ,IAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AACxC,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAAE,YAAA,OAAO,IAAI;AAEnC,QAAA,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC;AAEpE,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAC5B,OAAO,KAAK,GAAG,oBAAoB,GAAG,mBAAmB;QAC3D;AAEA,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE;AAClC,YAAA,OAAO,cAAc,IAAI,CAAC,iBAAiB,EAAE,KAAK;QACpD;AAEA,QAAA,OAAO,IAAI;AACb,IAAA,CAAC,sFAAC;AAEM,IAAA,iBAAiB;AACjB,IAAA,IAAI,GAAG,IAAI,YAAY,EAAE;IAEzB,WAAW,GAAG,CAAC;IAEf,cAAc,GAAG,CAAC;AAElB,IAAA,eAAe;AACf,IAAA,WAAW;IAEX,eAAe,GAAG,KAAK;IACvB,aAAa,GAAG,KAAK;AACrB,IAAA,gBAAgB;IAChB,eAAe,GAAG,KAAK;IAEvB,gBAAgB,GAAsB,EAAE;IACxC,qBAAqB,GAAwB,IAAI;IACjD,mBAAmB,GAAwB,IAAI;IAEhD,QAAQ,GAAA;QACb,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;AAExD,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC9D,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,MAAU,KAAI;AACnC,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;AACzB,QAAA,CAAC;AAED,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAE9C,IAAI,IAAI,CAAC,MAAM,EAAE,cAAc,KAAK,KAAK,EAAE;YACzC,IAAI,CAAC,2BAA2B,EAAE;YAClC,IAAI,CAAC,gBAAgB,EAAE;QACzB;AAEA,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa;AAEzD,QAAA,MAAM,uBAAuB,GAAG,CAAC,KAAsB,KAAI;YACzD,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc,IAAI,KAAK,CAAC,YAAY,KAAK,oBAAoB;gBAAE;YACpF,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AAChD,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;YACxC;AACF,QAAA,CAAC;AAED,QAAA,cAAc,CAAC,gBAAgB,CAAC,eAAe,EAAE,uBAAuB,CAAC;AACzE,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,cAAc,CAAC,mBAAmB,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC;IAChH;IAEO,eAAe,GAAA;AACpB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY;QAE1C,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,CAAC,WAAW,GAAG,QAAQ;YAC3B,IAAI,CAAC,UAAU,EAAE;QACnB;QAEA,IAAI,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE;AAC/C,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAErI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;YACtF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QACxF;IACF;IAEO,WAAW,GAAA;AAChB,QAAA,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAEnC,IAAI,CAAC,0BAA0B,EAAE;AACjC,QAAA,IAAI,CAAC,mBAAmB,IAAI;AAE5B,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;AAC3C,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAE1B,QAAA,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE;AAChC,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;IACzB;AAEO,IAAA,UAAU,CAAC,MAAU,EAAE,SAAS,GAAG,KAAK,EAAA;AAC7C,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,KAAK,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC,WAAW;AAEnE,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;AACtB,YAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AACzB,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;YACxC;YACA;QACF;AAEA,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;QAE3B,IAAI,SAAS,EAAE;AACb,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;QAClC;IACF;IAGU,YAAY,GAAA;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;YAC5E,IAAI,CAAC,UAAU,EAAE;QACnB;IACF;IAGU,YAAY,GAAA;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;YAC5E,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QACxB;IACF;;IAIQ,2BAA2B,GAAA;QACjC,IAAI,IAAI,CAAC,eAAe;YAAE;QAE1B,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,WAAW,KAAK,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;AAClI,QAAA,IAAI,CAAC,QAAQ;YAAE;AAEf,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa;AAClD,QAAA,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC;QAEpE,IAAI,MAAM,GAAG,CAAC;QACd,IAAI,SAAS,GAAG,CAAC;QACjB,IAAI,aAAa,GAAG,KAAK;QACzB,IAAI,KAAK,GAAG,CAAC;AAEb,QAAA,MAAM,WAAW,GAAG,CAAC,KAAmB,KAAI;YAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO;gBAAE;AAEzD,YAAA,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC;AAC5C,YAAA,KAAK,GAAG,WAAW,GAAG,CAAC;YAEvB,aAAa,GAAG,IAAI;AACpB,YAAA,MAAM,GAAG,KAAK,CAAC,OAAO;AACtB,YAAA,SAAS,GAAG,KAAK,CAAC,SAAS;YAE3B,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC;AAC3C,QAAA,CAAC;AAED,QAAA,MAAM,WAAW,GAAG,CAAC,KAAmB,KAAI;AAC1C,YAAA,IAAI,CAAC,aAAa;gBAAE;AACpB,YAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM;AAEvC,YAAA,IAAI,CAAC,KAAK,IAAI,QAAQ,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE;gBACvD,IAAI,KAAK,CAAC,UAAU;oBAAE,KAAK,CAAC,cAAc,EAAE;AAC5C,gBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;YACtC;AACF,QAAA,CAAC;AAED,QAAA,MAAM,SAAS,GAAG,CAAC,KAAmB,KAAI;AACxC,YAAA,IAAI,CAAC,aAAa;gBAAE;YACpB,aAAa,GAAG,KAAK;AACrB,YAAA,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC;AAE7C,YAAA,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM;YACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC;YACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC;AAE7C,YAAA,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,CAAC,KAAK,GAAG,MAAM,GAAG,KAAK;AAE7D,YAAA,IAAI,YAAY,IAAI,SAAS,GAAG,GAAG,EAAE;AACnC,gBAAA,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC;YAClC;iBAAO;AACL,gBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,UAAU,EAAE;AACjB,gBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACxB;AACF,QAAA,CAAC;AAED,QAAA,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACvE,QAAA,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACvE,QAAA,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC;AAC/C,QAAA,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE,SAAS,CAAC;AAEnD,QAAA,IAAI,CAAC,qBAAqB,GAAG,MAAK;AAChC,YAAA,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,WAAW,CAAC;AACtD,YAAA,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,WAAW,CAAC;AACtD,YAAA,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC;AAClD,YAAA,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,SAAS,CAAC;AACxD,QAAA,CAAC;IACH;IAEQ,0BAA0B,GAAA;QAChC,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE;AAE3B,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;AAE5B,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,IAAI,CAAC,qBAAqB,EAAE;AAC5B,YAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;QACnC;IACF;IAEQ,gBAAgB,GAAA;QACtB,IAAI,IAAI,CAAC,mBAAmB;YAAE;AAE9B,QAAA,MAAM,OAAO,GAAG,CAAC,KAAmB,KAAI;AACtC,YAAA,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,KAAK,OAAO;AAE7C,YAAA,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AAClC,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI;gBACzB,IAAI,CAAC,2BAA2B,EAAE;YACpC;AAAO,iBAAA,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE;AACzC,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK;gBAC1B,IAAI,CAAC,0BAA0B,EAAE;YACnC;AACF,QAAA,CAAC;AAED,QAAA,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC;AAC/C,QAAA,IAAI,CAAC,mBAAmB,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC;IACrF;;;IAMQ,UAAU,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC;YAAE;AAE3B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE;AAChC,QAAA,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC;IAC/E;IAEQ,UAAU,GAAA;QAChB,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE;AAE5B,QAAA,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC;AACnC,QAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;QAEjC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc;AAChD,QAAA,IAAI,CAAC,WAAW,IAAI,OAAO;AAE3B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;IACvB;uGAlTW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAT,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,mQA0CmB,gBAAgB,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvEzD,y7BAgBM,EAAA,MAAA,EAAA,CAAA,+zrCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDSM,OAAO,oFAAE,IAAI,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,YAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIZ,SAAS,EAAA,UAAA,EAAA,CAAA;kBANrB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAAA,OAAA,EAChB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAA,QAAA,EAAA,y7BAAA,EAAA,MAAA,EAAA,CAAA,+zrCAAA,CAAA,EAAA;;sBA8CvB,SAAS;uBAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE;;sBACtE,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAC9C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAC7C,SAAS;uBAAC,aAAa;;sBAyHvB,YAAY;uBAAC,YAAY;;sBAOzB,YAAY;uBAAC,YAAY;;;MEpMN,KAAK,CAAA;AACzB;;AAEG;AACI,IAAA,IAAI,GAAG,MAAM,CAAI,UAAU,CAAC;AAEnC;;AAEG;AACI,IAAA,KAAK;AAEZ;;AAEG;AACI,IAAA,WAAW,KAAU;AAE5B;;;AAGG;AACI,IAAA,KAAK,CAAC,MAAU,EAAA;AACrB,QAAA,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;IAC3B;uGAtBoB,KAAK,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAL,KAAK,EAAA,CAAA;;2FAAL,KAAK,EAAA,UAAA,EAAA,CAAA;kBAD1B;;;ACQK,MAAO,WAAY,SAAQ,KAAkC,CAAA;IAChD,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAExC,IAAA,aAAa,GAAG,QAAQ,CAAC,MAAK;AAC/C,QAAA,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI;AAEtB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK;AAC7B,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,SAAS;AAE5B,QAAA,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG;QACrD;AAEA,QAAA,OAAO,KAAK;AACd,IAAA,CAAC,oFAAC;AAEiB,IAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AACjD,QAAA,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI;AAEtB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO;AACjC,QAAA,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,SAAS;AAE9B,QAAA,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;AAC1B,YAAA,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG;QACzD;AAEA,QAAA,OAAO,OAAO;AAChB,IAAA,CAAC,sFAAC;IAEQ,OAAO,GAAA;AACf,QAAA,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE;IACrB;uGA/BW,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbxB,mZASM,EAAA,MAAA,EAAA,CAAA,qwoCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDAM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAPvB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,UAAA,EACf,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,mZAAA,EAAA,MAAA,EAAA,CAAA,qwoCAAA,CAAA,EAAA;;;MEUZ,aAAa,CAAA;AACP,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;AAC/B,IAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AACjD,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,cAAc,GAAG,MAAM,CAAC,2BAA2B,CAAC;AACpD,IAAA,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC;IAE5B,UAAU,GAAsB,EAAE;IAClC,YAAY,GAA+E,EAAE;AAC7F,IAAA,UAAU,GAAG,IAAI,GAAG,EAA8B;IAE3D,YAAY,GAAG,CAAC;AAExB;;;;;AAKG;IACI,UAAU,CAA+B,aAA+B,EAAE,MAAwB,EAAA;QACvG,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;AACjD,QAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAQ;AAErC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QAE7F,IAAI,CAAC,YAAY,EAAE;AAEnB,QAAA,OAAO,QAAQ;IACjB;AAEA;;;;AAIG;AACI,IAAA,YAAY,CAAC,OAAiC,EAAA;AACnD,QAAA,OAAO,IAAI,CAAC,UAAU,CAA2C,WAAW,EAAE;YAC5E,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;AAC5D,YAAA,IAAI,EAAE;gBACJ,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;AACxB,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA,gBAAgB,EAAE,cAAc;AAChC,YAAA,gBAAgB,EAAE,cAAc;AAChC,YAAA,oBAAoB,EAAE,KAAK;YAC3B,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YACxE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACzD,eAAe,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE;YAChF,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe;AAChF,SAAA,CAAC;IACJ;AAEA;;;;AAIG;AACI,IAAA,SAAS,CAAC,OAAiC,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,UAAU,CAA2C,WAAW,EAAE;YAC5E,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;AAC5D,YAAA,IAAI,EAAE;gBACJ,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;AACxB,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA,gBAAgB,EAAE,WAAW;AAC7B,YAAA,gBAAgB,EAAE,WAAW;AAC7B,YAAA,oBAAoB,EAAE,KAAK;YAC3B,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YACxE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACzD,eAAe,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE;YAChF,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe;AAChF,SAAA,CAAC;IACJ;AAEA;;;;AAIG;AACI,IAAA,YAAY,CAAC,OAAiC,EAAA;AACnD,QAAA,OAAO,IAAI,CAAC,UAAU,CAA2C,WAAW,EAAE;YAC5E,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;AAC5D,YAAA,IAAI,EAAE;gBACJ,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;AACxB,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA,gBAAgB,EAAE,WAAW;AAC7B,YAAA,gBAAgB,EAAE,WAAW;AAC7B,YAAA,oBAAoB,EAAE,KAAK;YAC3B,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YACxE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACzD,eAAe,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE;YAChF,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe;AAChF,SAAA,CAAC;IACJ;AAEA;;;;AAIG;AACI,IAAA,WAAW,CAAC,OAAiC,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,UAAU,CAA2C,WAAW,EAAE;YAC5E,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;AAC5D,YAAA,IAAI,EAAE;gBACJ,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;AACxB,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA,gBAAgB,EAAE,aAAa;AAC/B,YAAA,gBAAgB,EAAE,aAAa;AAC/B,YAAA,oBAAoB,EAAE,KAAK;YAC3B,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YACxE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACzD,eAAe,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE;YAChF,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe;AAChF,SAAA,CAAC;IACJ;;IAIQ,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;YACzB;QACF;QAEA,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;AAE3C,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACnE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;YACzC,IAAI,SAAS,EAAE;AACb,gBAAA,SAAS,EAAE;YACb;QACF;IACF;AAEQ,IAAA,mBAAmB,CAA+B,aAA+B,EAAE,MAAuB,EAAE,QAAwB,EAAA;AAC1I,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC;AACnC,YAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3D,MAAM,EAAE,IAAI,CAAC;AACd,SAAA,CAAC;AAEF,QAAA,MAAM,UAAU,GAAG,eAAe,CAAC,aAAa,EAAE;YAChD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;AAC7C,YAAA,eAAe,EAAE;AAClB,SAAA,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,CAAU,UAAU,CAAC,QAAQ,CAAC,EAAE;AAC/C,YAAA,UAAU,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ;AACpC,YAAA,UAAU,CAAC,QAAQ,CAAC,WAAW,IAAI;QACrC;AAEA,QAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC;YACtC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YACtD,MAAM,EAAE,IAAI,CAAC;AACd,SAAA,CAAC;AAEF,QAAA,MAAM,UAAU,GAAG,eAAe,CAAqB,SAAS,EAAE;YAChE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;AAC7C,YAAA,eAAe,EAAE;AAClB,SAAA,CAAC;AAEF,QAAA,UAAU,CAAC,QAAQ,CAAC,YAAY,GAAG,UAAU;AAC7C,QAAA,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM;AACnC,QAAA,UAAU,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ;QAEvC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;AAE3C,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC;QACnE,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;AAExD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAiF,CAAC;QAEzG,IAAI,kBAAkB,GAAG,KAAK;AAE9B,QAAA,QAAQ,CAAC,MAAM,GAAG,MAAM;AAExB,QAAA,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAK;YAC/B,IAAI,CAAC,kBAAkB,EAAE;gBACvB,kBAAkB,GAAG,IAAI;gBACzB,IAAI,CAAC,YAAY,EAAE;YACrB;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,MAAK;YAChC,IAAI,kBAAkB,EAAE;gBACtB,kBAAkB,GAAG,KAAK;AAC1B,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;AAEtD,gBAAA,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE;oBAC3B,IAAI,CAAC,YAAY,EAAE;gBACrB;YACF;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YACjD,IAAI,kBAAkB,EAAE;gBACtB,kBAAkB,GAAG,KAAK;AAC1B,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACxD;AAEA,YAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;AAChC,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,aAAa,CAA+B,UAA4C,EAAA;QAC9F,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAiF,CAAC;AAE1H,QAAA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACpC;QAEA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;AAC3C,QAAA,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE;QAC1C,UAAU,CAAC,OAAO,EAAE;QAEpB,IAAI,CAAC,YAAY,EAAE;IACrB;AAEQ,IAAA,YAAY,CAAC,QAAuB,EAAA;QAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAgB;QACrD;QAEA,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QACpD,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAA,gBAAA,EAAmB,QAAQ,CAAA,CAAE,CAAC;QACzE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QAEzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC;AAExC,QAAA,OAAO,SAAS;IAClB;AAEQ,IAAA,aAAa,CAAI,MAAwB,EAAA;AAC/C,QAAA,MAAM,kBAAkB,GAAG,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;AAC3E,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,KAAK,GAAG,kBAAkB;QAElF,OAAO;AACL,YAAA,GAAG,MAAM;YACT,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;AAC5D,YAAA,OAAO,EAAE,iBAAiB;YAC1B,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YACxE,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YACxE,cAAc,EAAE,MAAM,EAAE,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE;YAC9E,eAAe,EAAE,MAAM,EAAE,eAAe,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE;YACjF,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE;YACpF,eAAe,EAAE,MAAM,EAAE,eAAe,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE;YACjF,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,IAAI,IAAI,CAAC,cAAc,EAAE,gBAAgB;SACpF;IACH;AAEQ,IAAA,QAAQ,CAA+B,SAAkB,EAAA;AAC/D,QAAA,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,IAAI,SAAS;IACpF;uGAjQW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAb,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA;;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;AClBD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filip.mazev-blocks.mjs","sources":["../../../projects/blocks/src/public-api.ts","../../../projects/blocks/src/filip.mazev-blocks.ts"],"sourcesContent":["/* * Public API Surface of blocks\n * This file is auto-generated. Do not edit directly.\n */\n\nexport const BLOCKS_VERSION = '1.2.
|
|
1
|
+
{"version":3,"file":"filip.mazev-blocks.mjs","sources":["../../../projects/blocks/src/public-api.ts","../../../projects/blocks/src/filip.mazev-blocks.ts"],"sourcesContent":["/* * Public API Surface of blocks\n * This file is auto-generated. Do not edit directly.\n */\n\nexport const BLOCKS_VERSION = '1.2.32';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAAA;;AAEG;AAEI,MAAM,cAAc,GAAG;;ACJ9B;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@filip.mazev/blocks",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.32",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"schematics": "./schematics/collection.json",
|
|
6
6
|
"exports": {
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
"./package.json": {
|
|
24
24
|
"default": "./package.json"
|
|
25
25
|
},
|
|
26
|
-
"./
|
|
27
|
-
"types": "./types/filip.mazev-blocks-
|
|
28
|
-
"default": "./fesm2022/filip.mazev-blocks-
|
|
26
|
+
"./forms": {
|
|
27
|
+
"types": "./types/filip.mazev-blocks-forms.d.ts",
|
|
28
|
+
"default": "./fesm2022/filip.mazev-blocks-forms.mjs"
|
|
29
29
|
},
|
|
30
30
|
"./icons": {
|
|
31
31
|
"types": "./types/filip.mazev-blocks-icons.d.ts",
|
|
@@ -160,11 +160,27 @@ declare class ThemingService implements OnDestroy {
|
|
|
160
160
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ThemingService>;
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
+
declare class BxA11yService {
|
|
164
|
+
private readonly document;
|
|
165
|
+
private readonly platformId;
|
|
166
|
+
private readonly osPrefersReducedMotion;
|
|
167
|
+
private readonly manualOverride;
|
|
168
|
+
readonly isReducedMotion: _angular_core.Signal<boolean>;
|
|
169
|
+
constructor();
|
|
170
|
+
setReducedMotion(reduce: boolean | null): void;
|
|
171
|
+
private initMediaMatcher;
|
|
172
|
+
private syncWithDOM;
|
|
173
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BxA11yService, never>;
|
|
174
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<BxA11yService>;
|
|
175
|
+
}
|
|
176
|
+
|
|
163
177
|
interface IBxI18nAdapter {
|
|
164
178
|
translate(key: string, params?: Record<string, unknown>): string;
|
|
165
179
|
version?: Signal<number>;
|
|
166
180
|
}
|
|
167
181
|
|
|
182
|
+
declare const SCROLL_LOCK_INSTANCE_IDENTIFIER = "scroll_lock_instance_";
|
|
183
|
+
|
|
168
184
|
type SemanticColorToken = 'bg-canvas' | 'bg-surface' | 'bg-surface-alt' | 'bg-element' | 'bg-element-hover' | 'bg-element-active' | 'primary' | 'primary-hover' | 'primary-active' | 'primary-subtle' | 'on-primary' | 'text-heading' | 'text-primary' | 'text-secondary' | 'text-brand' | 'text-inverse' | 'text-info' | 'text-warn' | 'text-success' | 'text-danger' | 'border-subtle' | 'border-default' | 'border-strong' | 'border-brand' | 'border-info' | 'border-success' | 'border-warn' | 'border-danger' | 'bg-info' | 'bg-info-hover' | 'bg-info-active' | 'bg-info-disabled' | 'bg-info-subtle' | 'bg-success' | 'bg-success-hover' | 'bg-success-active' | 'bg-success-disabled' | 'bg-success-subtle' | 'bg-warn' | 'bg-warn-hover' | 'bg-warn-active' | 'bg-warn-disabled' | 'bg-warn-subtle' | 'bg-danger' | 'bg-danger-hover' | 'bg-danger-active' | 'bg-danger-disabled' | 'bg-danger-subtle' | 'scroll-bg' | 'scroll-thumb' | 'scroll-thumb-hover';
|
|
169
185
|
|
|
170
186
|
declare const PALETTE_NAMES: readonly ["orange", "purple", "red", "green", "danger", "success", "information", "neutral"];
|
|
@@ -186,8 +202,6 @@ declare const BREAKPOINTS: {
|
|
|
186
202
|
readonly '4xl': 2560;
|
|
187
203
|
};
|
|
188
204
|
|
|
189
|
-
declare const SCROLL_LOCK_INSTANCE_IDENTIFIER = "scroll_lock_instance_";
|
|
190
|
-
|
|
191
205
|
type ThemePalette = (typeof PALETTE_NAMES)[number];
|
|
192
206
|
type ThemeShade = (typeof SHADE_NUMBERS)[number];
|
|
193
207
|
type ThemeColorToken = `${ThemePalette}-${ThemeShade}`;
|
|
@@ -199,6 +213,9 @@ type ThemedColor = Color | {
|
|
|
199
213
|
|
|
200
214
|
declare const BX_I18N: InjectionToken<IBxI18nAdapter>;
|
|
201
215
|
|
|
216
|
+
/**
|
|
217
|
+
* Type guard to check if a ResolvableText is an object with a 'key' property, indicating it's a translation key rather than a plain string.
|
|
218
|
+
*/
|
|
202
219
|
declare function isTextWithKey(value: ResolvableText): value is {
|
|
203
220
|
key: string;
|
|
204
221
|
};
|
|
@@ -226,5 +243,5 @@ declare function invertPaletteToken(token: Color): Color;
|
|
|
226
243
|
|
|
227
244
|
declare function uuidv4(): string;
|
|
228
245
|
|
|
229
|
-
export { BREAKPOINTS, BX_I18N, DesktopOS, DeviceTypeService, FALLBACK_COLOR, MobileOS, PALETTE_NAMES, SCROLL_LOCK_INSTANCE_IDENTIFIER, SEMANTIC_PAIRS, SHADE_NUMBERS, ScrollLockService, TOKEN_COLOR_DELIMITER, TOKEN_DELIMITER, TOKEN_PREFIX, ThemingService, WindowDimensionsService, getComplementaryToken, invertPaletteToken, isPaletteToken, isTextWithKey, isThemedColor, resolveTokenToCssVar, uuidv4 };
|
|
246
|
+
export { BREAKPOINTS, BX_I18N, BxA11yService, DesktopOS, DeviceTypeService, FALLBACK_COLOR, MobileOS, PALETTE_NAMES, SCROLL_LOCK_INSTANCE_IDENTIFIER, SEMANTIC_PAIRS, SHADE_NUMBERS, ScrollLockService, TOKEN_COLOR_DELIMITER, TOKEN_DELIMITER, TOKEN_PREFIX, ThemingService, WindowDimensionsService, getComplementaryToken, invertPaletteToken, isPaletteToken, isTextWithKey, isThemedColor, resolveTokenToCssVar, uuidv4 };
|
|
230
247
|
export type { Color, DeviceOS, DeviceOrientationType, DeviceTheme, IBxI18nAdapter, IDeviceState, IScrollLockConfig, IWindowDimensions, LegacyScreenOrientation, MSStreamWindow, OperaCapableWindow, ResolvableText, SemanticColorToken, Strict, ThemeColorToken, ThemePalette, ThemeShade, ThemedColor };
|
|
@@ -4,6 +4,8 @@ type ButtonVariant = 'text' | 'filled' | 'tonal' | 'icon' | 'fab' | 'mini-fab' |
|
|
|
4
4
|
type ButtonColor = 'primary' | 'success' | 'danger' | 'info' | 'warn' | 'grayscale';
|
|
5
5
|
|
|
6
6
|
declare class Button {
|
|
7
|
+
private readonly a11y;
|
|
8
|
+
readonly isAnimated: _angular_core.Signal<boolean>;
|
|
7
9
|
readonly variant: _angular_core.InputSignal<ButtonVariant>;
|
|
8
10
|
readonly color: _angular_core.InputSignal<ButtonColor>;
|
|
9
11
|
readonly outlined: _angular_core.InputSignal<boolean>;
|
|
@@ -4,7 +4,7 @@ import { ThemedColor } from '@filip.mazev/blocks/core';
|
|
|
4
4
|
import * as _filip_mazev_blocks_icons from '@filip.mazev/blocks/icons';
|
|
5
5
|
|
|
6
6
|
declare const lucideNames: readonly ["a-arrow-down", "a-arrow-up", "a-large-small", "accessibility", "activity-square", "activity", "air-vent", "airplay", "alarm-check", "alarm-clock-check", "alarm-clock-minus", "alarm-clock-off", "alarm-clock-plus", "alarm-clock", "alarm-minus", "alarm-plus", "alarm-smoke", "album", "alert-circle", "alert-octagon", "alert-triangle", "align-center-horizontal", "align-center-vertical", "align-center", "align-end-horizontal", "align-end-vertical", "align-horizontal-distribute-center", "align-horizontal-distribute-end", "align-horizontal-distribute-start", "align-horizontal-justify-center", "align-horizontal-justify-end", "align-horizontal-justify-start", "align-horizontal-space-around", "align-horizontal-space-between", "align-justify", "align-left", "align-right", "align-start-horizontal", "align-start-vertical", "align-vertical-distribute-center", "align-vertical-distribute-end", "align-vertical-distribute-start", "align-vertical-justify-center", "align-vertical-justify-end", "align-vertical-justify-start", "align-vertical-space-around", "align-vertical-space-between", "ambulance", "ampersand", "ampersands", "amphora", "anchor", "angry", "annoyed", "antenna", "anvil", "aperture", "app-window-mac", "app-window", "apple", "archive-restore", "archive-x", "archive", "area-chart", "armchair", "arrow-big-down-dash", "arrow-big-down", "arrow-big-left-dash", "arrow-big-left", "arrow-big-right-dash", "arrow-big-right", "arrow-big-up-dash", "arrow-big-up", "arrow-down-0-1", "arrow-down-01", "arrow-down-1-0", "arrow-down-10", "arrow-down-a-z", "arrow-down-az", "arrow-down-circle", "arrow-down-from-line", "arrow-down-left-from-circle", "arrow-down-left-from-square", "arrow-down-left-square", "arrow-down-left", "arrow-down-narrow-wide", "arrow-down-right-from-circle", "arrow-down-right-from-square", "arrow-down-right-square", "arrow-down-right", "arrow-down-square", "arrow-down-to-dot", "arrow-down-to-line", "arrow-down-up", "arrow-down-wide-narrow", "arrow-down-z-a", "arrow-down-za", "arrow-down", "arrow-left-circle", "arrow-left-from-line", "arrow-left-right", "arrow-left-square", "arrow-left-to-line", "arrow-left", "arrow-right-circle", "arrow-right-from-line", "arrow-right-left", "arrow-right-square", "arrow-right-to-line", "arrow-right", "arrow-up-0-1", "arrow-up-01", "arrow-up-1-0", "arrow-up-10", "arrow-up-a-z", "arrow-up-az", "arrow-up-circle", "arrow-up-down", "arrow-up-from-dot", "arrow-up-from-line", "arrow-up-left-from-circle", "arrow-up-left-from-square", "arrow-up-left-square", "arrow-up-left", "arrow-up-narrow-wide", "arrow-up-right-from-circle", "arrow-up-right-from-square", "arrow-up-right-square", "arrow-up-right", "arrow-up-square", "arrow-up-to-line", "arrow-up-wide-narrow", "arrow-up-z-a", "arrow-up-za", "arrow-up", "arrows-up-from-line", "asterisk-square", "asterisk", "at-sign", "atom", "audio-lines", "audio-waveform", "award", "axe", "axis-3-d", "axis-3d", "baby", "backpack", "badge-alert", "badge-cent", "badge-check", "badge-dollar-sign", "badge-euro", "badge-help", "badge-indian-rupee", "badge-info", "badge-japanese-yen", "badge-minus", "badge-percent", "badge-plus", "badge-pound-sterling", "badge-question-mark", "badge-russian-ruble", "badge-swiss-franc", "badge-turkish-lira", "badge-x", "badge", "baggage-claim", "balloon", "ban", "banana", "bandage", "banknote-arrow-down", "banknote-arrow-up", "banknote-x", "banknote", "bar-chart-2", "bar-chart-3", "bar-chart-4", "bar-chart-big", "bar-chart-horizontal-big", "bar-chart-horizontal", "bar-chart", "barcode", "barrel", "baseline", "bath", "battery-charging", "battery-full", "battery-low", "battery-medium", "battery-plus", "battery-warning", "battery", "beaker", "bean-off", "bean", "bed-double", "bed-single", "bed", "beef-off", "beef", "beer-off", "beer", "bell-dot", "bell-electric", "bell-minus", "bell-off", "bell-plus", "bell-ring", "bell", "between-horizonal-end", "between-horizonal-start", "between-horizontal-end", "between-horizontal-start", "between-vertical-end", "between-vertical-start", "biceps-flexed", "bike", "binary", "binoculars", "biohazard", "bird", "birdhouse", "bitcoin", "blend", "blinds", "blocks", "bluetooth-connected", "bluetooth-off", "bluetooth-searching", "bluetooth", "bold", "bolt", "bomb", "bone", "book-a", "book-alert", "book-audio", "book-check", "book-copy", "book-dashed", "book-down", "book-headphones", "book-heart", "book-image", "book-key", "book-lock", "book-marked", "book-minus", "book-open-check", "book-open-text", "book-open", "book-plus", "book-search", "book-template", "book-text", "book-type", "book-up-2", "book-up", "book-user", "book-x", "book", "bookmark-check", "bookmark-minus", "bookmark-off", "bookmark-plus", "bookmark-x", "bookmark", "boom-box", "bot-message-square", "bot-off", "bot", "bottle-wine", "bow-arrow", "box-select", "box", "boxes", "braces", "brackets", "brain-circuit", "brain-cog", "brain", "brick-wall-fire", "brick-wall-shield", "brick-wall", "briefcase-business", "briefcase-conveyor-belt", "briefcase-medical", "briefcase", "bring-to-front", "brush-cleaning", "brush", "bubbles", "bug-off", "bug-play", "bug", "building-2", "building", "bus-front", "bus", "cable-car", "cable", "cake-slice", "cake", "calculator", "calendar-1", "calendar-arrow-down", "calendar-arrow-up", "calendar-check-2", "calendar-check", "calendar-clock", "calendar-cog", "calendar-days", "calendar-fold", "calendar-heart", "calendar-minus-2", "calendar-minus", "calendar-off", "calendar-plus-2", "calendar-plus", "calendar-range", "calendar-search", "calendar-sync", "calendar-x-2", "calendar-x", "calendar", "calendars", "camera-off", "camera", "candlestick-chart", "candy-cane", "candy-off", "candy", "cannabis-off", "cannabis", "captions-off", "captions", "car-front", "car-taxi-front", "car", "caravan", "card-sim", "carrot", "case-lower", "case-sensitive", "case-upper", "cassette-tape", "cast", "castle", "cat", "cctv-off", "cctv", "chart-area", "chart-bar-big", "chart-bar-decreasing", "chart-bar-increasing", "chart-bar-stacked", "chart-bar", "chart-candlestick", "chart-column-big", "chart-column-decreasing", "chart-column-increasing", "chart-column-stacked", "chart-column", "chart-gantt", "chart-line", "chart-network", "chart-no-axes-column-decreasing", "chart-no-axes-column-increasing", "chart-no-axes-column", "chart-no-axes-combined", "chart-no-axes-gantt", "chart-pie", "chart-scatter", "chart-spline", "check-check", "check-circle-2", "check-circle", "check-line", "check-square-2", "check-square", "check", "chef-hat", "cherry", "chess-bishop", "chess-king", "chess-knight", "chess-pawn", "chess-queen", "chess-rook", "chevron-down-circle", "chevron-down-square", "chevron-down", "chevron-first", "chevron-last", "chevron-left-circle", "chevron-left-square", "chevron-left", "chevron-right-circle", "chevron-right-square", "chevron-right", "chevron-up-circle", "chevron-up-square", "chevron-up", "chevrons-down-up", "chevrons-down", "chevrons-left-right-ellipsis", "chevrons-left-right", "chevrons-left", "chevrons-right-left", "chevrons-right", "chevrons-up-down", "chevrons-up", "church", "cigarette-off", "cigarette", "circle-alert", "circle-arrow-down", "circle-arrow-left", "circle-arrow-out-down-left", "circle-arrow-out-down-right", "circle-arrow-out-up-left", "circle-arrow-out-up-right", "circle-arrow-right", "circle-arrow-up", "circle-check-big", "circle-check", "circle-chevron-down", "circle-chevron-left", "circle-chevron-right", "circle-chevron-up", "circle-dashed", "circle-divide", "circle-dollar-sign", "circle-dot-dashed", "circle-dot", "circle-ellipsis", "circle-equal", "circle-fading-arrow-up", "circle-fading-plus", "circle-gauge", "circle-help", "circle-minus", "circle-off", "circle-parking-off", "circle-parking", "circle-pause", "circle-percent", "circle-pile", "circle-play", "circle-plus", "circle-pound-sterling", "circle-power", "circle-question-mark", "circle-slash-2", "circle-slash", "circle-slashed", "circle-small", "circle-star", "circle-stop", "circle-user-round", "circle-user", "circle-x", "circle", "circuit-board", "citrus", "clapperboard", "clipboard-check", "clipboard-clock", "clipboard-copy", "clipboard-edit", "clipboard-list", "clipboard-minus", "clipboard-paste", "clipboard-pen-line", "clipboard-pen", "clipboard-plus", "clipboard-signature", "clipboard-type", "clipboard-x", "clipboard", "clock-1", "clock-10", "clock-11", "clock-12", "clock-2", "clock-3", "clock-4", "clock-5", "clock-6", "clock-7", "clock-8", "clock-9", "clock-alert", "clock-arrow-down", "clock-arrow-up", "clock-check", "clock-fading", "clock-plus", "clock", "closed-caption", "cloud-alert", "cloud-backup", "cloud-check", "cloud-cog", "cloud-download", "cloud-drizzle", "cloud-fog", "cloud-hail", "cloud-lightning", "cloud-moon-rain", "cloud-moon", "cloud-off", "cloud-rain-wind", "cloud-rain", "cloud-snow", "cloud-sun-rain", "cloud-sun", "cloud-sync", "cloud-upload", "cloud", "cloudy", "clover", "club", "code-2", "code-square", "code-xml", "code", "coffee", "cog", "coins", "columns-2", "columns-3-cog", "columns-3", "columns-4", "columns-settings", "columns", "combine", "command", "compass", "component", "computer", "concierge-bell", "cone", "construction", "contact-2", "contact-round", "contact", "container", "contrast", "cookie", "cooking-pot", "copy-check", "copy-minus", "copy-plus", "copy-slash", "copy-x", "copy", "copyleft", "copyright", "corner-down-left", "corner-down-right", "corner-left-down", "corner-left-up", "corner-right-down", "corner-right-up", "corner-up-left", "corner-up-right", "cpu", "creative-commons", "credit-card", "croissant", "crop", "cross", "crosshair", "crown", "cuboid", "cup-soda", "curly-braces", "currency", "cylinder", "dam", "database-backup", "database-search", "database-zap", "database", "decimals-arrow-left", "decimals-arrow-right", "delete", "dessert", "diameter", "diamond-minus", "diamond-percent", "diamond-plus", "diamond", "dice-1", "dice-2", "dice-3", "dice-4", "dice-5", "dice-6", "dices", "diff", "disc-2", "disc-3", "disc-album", "disc", "divide-circle", "divide-square", "divide", "dna-off", "dna", "dock", "dog", "dollar-sign", "donut", "door-closed-locked", "door-closed", "door-open", "dot-square", "dot", "download-cloud", "download", "drafting-compass", "drama", "drill", "drone", "droplet-off", "droplet", "droplets", "drum", "drumstick", "dumbbell", "ear-off", "ear", "earth-lock", "earth", "eclipse", "edit-2", "edit-3", "edit", "egg-fried", "egg-off", "egg", "ellipse", "ellipsis-vertical", "ellipsis", "equal-approximately", "equal-not", "equal-square", "equal", "eraser", "ethernet-port", "euro", "ev-charger", "expand", "external-link", "eye-closed", "eye-off", "eye", "factory", "fan", "fast-forward", "feather", "fence", "ferris-wheel", "file-archive", "file-audio-2", "file-audio", "file-axis-3-d", "file-axis-3d", "file-badge-2", "file-badge", "file-bar-chart-2", "file-bar-chart", "file-box", "file-braces-corner", "file-braces", "file-chart-column-increasing", "file-chart-column", "file-chart-line", "file-chart-pie", "file-check-2", "file-check-corner", "file-check", "file-clock", "file-code-2", "file-code-corner", "file-code", "file-cog-2", "file-cog", "file-diff", "file-digit", "file-down", "file-edit", "file-exclamation-point", "file-headphone", "file-heart", "file-image", "file-input", "file-json-2", "file-json", "file-key-2", "file-key", "file-line-chart", "file-lock-2", "file-lock", "file-minus-2", "file-minus-corner", "file-minus", "file-music", "file-output", "file-pen-line", "file-pen", "file-pie-chart", "file-play", "file-plus-2", "file-plus-corner", "file-plus", "file-question-mark", "file-question", "file-scan", "file-search-2", "file-search-corner", "file-search", "file-signal", "file-signature", "file-sliders", "file-spreadsheet", "file-stack", "file-symlink", "file-terminal", "file-text", "file-type-2", "file-type-corner", "file-type", "file-up", "file-user", "file-video-2", "file-video-camera", "file-video", "file-volume-2", "file-volume", "file-warning", "file-x-2", "file-x-corner", "file-x", "file", "files", "film", "filter-x", "filter", "fingerprint-pattern", "fingerprint", "fire-extinguisher", "fish-off", "fish-symbol", "fish", "fishing-hook", "fishing-rod", "flag-off", "flag-triangle-left", "flag-triangle-right", "flag", "flame-kindling", "flame", "flashlight-off", "flashlight", "flask-conical-off", "flask-conical", "flask-round", "flip-horizontal-2", "flip-horizontal", "flip-vertical-2", "flip-vertical", "flower-2", "flower", "focus", "fold-horizontal", "fold-vertical", "folder-archive", "folder-check", "folder-clock", "folder-closed", "folder-code", "folder-cog-2", "folder-cog", "folder-dot", "folder-down", "folder-edit", "folder-git-2", "folder-git", "folder-heart", "folder-input", "folder-kanban", "folder-key", "folder-lock", "folder-minus", "folder-open-dot", "folder-open", "folder-output", "folder-pen", "folder-plus", "folder-root", "folder-search-2", "folder-search", "folder-symlink", "folder-sync", "folder-tree", "folder-up", "folder-x", "folder", "folders", "footprints", "fork-knife-crossed", "fork-knife", "forklift", "form-input", "form", "forward", "frame", "frown", "fuel", "fullscreen", "function-square", "funnel-plus", "funnel-x", "funnel", "gallery-horizontal-end", "gallery-horizontal", "gallery-thumbnails", "gallery-vertical-end", "gallery-vertical", "gamepad-2", "gamepad-directional", "gamepad", "gantt-chart-square", "gantt-chart", "gauge-circle", "gauge", "gavel", "gem", "georgian-lari", "ghost", "gift", "git-branch-minus", "git-branch-plus", "git-branch", "git-commit-horizontal", "git-commit-vertical", "git-commit", "git-compare-arrows", "git-compare", "git-fork", "git-graph", "git-merge-conflict", "git-merge", "git-pull-request-arrow", "git-pull-request-closed", "git-pull-request-create-arrow", "git-pull-request-create", "git-pull-request-draft", "git-pull-request", "glass-water", "glasses", "globe-2", "globe-lock", "globe-off", "globe-x", "globe", "goal", "gpu", "grab", "graduation-cap", "grape", "grid-2-x-2-check", "grid-2-x-2-plus", "grid-2-x-2-x", "grid-2-x-2", "grid-2x2-check", "grid-2x2-plus", "grid-2x2-x", "grid-2x2", "grid-3-x-3", "grid-3x2", "grid-3x3", "grid", "grip-horizontal", "grip-vertical", "grip", "group", "guitar", "ham", "hamburger", "hammer", "hand-coins", "hand-fist", "hand-grab", "hand-heart", "hand-helping", "hand-metal", "hand-platter", "hand", "handbag", "handshake", "hard-drive-download", "hard-drive-upload", "hard-drive", "hard-hat", "hash", "hat-glasses", "haze", "hd", "hdmi-port", "heading-1", "heading-2", "heading-3", "heading-4", "heading-5", "heading-6", "heading", "headphone-off", "headphones", "headset", "heart-crack", "heart-handshake", "heart-minus", "heart-off", "heart-plus", "heart-pulse", "heart", "heater", "helicopter", "help-circle", "helping-hand", "hexagon", "highlighter", "history", "home", "hop-off", "hop", "hospital", "hotel", "hourglass", "house-heart", "house-plug", "house-plus", "house-wifi", "house", "ice-cream-2", "ice-cream-bowl", "ice-cream-cone", "ice-cream", "id-card-lanyard", "id-card", "image-down", "image-minus", "image-off", "image-play", "image-plus", "image-up", "image-upscale", "image", "images", "import", "inbox", "indent-decrease", "indent-increase", "indent", "indian-rupee", "infinity", "info", "inspect", "inspection-panel", "italic", "iteration-ccw", "iteration-cw", "japanese-yen", "joystick", "kanban-square-dashed", "kanban-square", "kanban", "kayak", "key-round", "key-square", "key", "keyboard-music", "keyboard-off", "keyboard", "lamp-ceiling", "lamp-desk", "lamp-floor", "lamp-wall-down", "lamp-wall-up", "lamp", "land-plot", "landmark", "languages", "laptop-2", "laptop-minimal-check", "laptop-minimal", "laptop", "lasso-select", "lasso", "laugh", "layers-2", "layers-3", "layers-plus", "layers", "layout-dashboard", "layout-grid", "layout-list", "layout-panel-left", "layout-panel-top", "layout-template", "layout", "leaf", "leafy-green", "lectern", "lens-concave", "lens-convex", "letter-text", "library-big", "library-square", "library", "life-buoy", "ligature", "lightbulb-off", "lightbulb", "line-chart", "line-dot-right-horizontal", "line-squiggle", "line-style", "link-2-off", "link-2", "link", "list-check", "list-checks", "list-chevrons-down-up", "list-chevrons-up-down", "list-collapse", "list-end", "list-filter-plus", "list-filter", "list-indent-decrease", "list-indent-increase", "list-minus", "list-music", "list-ordered", "list-plus", "list-restart", "list-start", "list-todo", "list-tree", "list-video", "list-x", "list", "loader-2", "loader-circle", "loader-pinwheel", "loader", "locate-fixed", "locate-off", "locate", "location-edit", "lock-keyhole-open", "lock-keyhole", "lock-open", "lock", "log-in", "log-out", "logs", "lollipop", "luggage", "m-square", "magnet", "mail-check", "mail-minus", "mail-open", "mail-plus", "mail-question-mark", "mail-question", "mail-search", "mail-warning", "mail-x", "mail", "mailbox", "mails", "map-minus", "map-pin-check-inside", "map-pin-check", "map-pin-house", "map-pin-minus-inside", "map-pin-minus", "map-pin-off", "map-pin-pen", "map-pin-plus-inside", "map-pin-plus", "map-pin-search", "map-pin-x-inside", "map-pin-x", "map-pin", "map-pinned", "map-plus", "map", "mars-stroke", "mars", "martini", "maximize-2", "maximize", "medal", "megaphone-off", "megaphone", "meh", "memory-stick", "menu-square", "menu", "merge", "message-circle-check", "message-circle-code", "message-circle-dashed", "message-circle-heart", "message-circle-more", "message-circle-off", "message-circle-plus", "message-circle-question-mark", "message-circle-question", "message-circle-reply", "message-circle-warning", "message-circle-x", "message-circle", "message-square-check", "message-square-code", "message-square-dashed", "message-square-diff", "message-square-dot", "message-square-heart", "message-square-lock", "message-square-more", "message-square-off", "message-square-plus", "message-square-quote", "message-square-reply", "message-square-share", "message-square-text", "message-square-warning", "message-square-x", "message-square", "messages-square", "metronome", "mic-2", "mic-off", "mic-vocal", "mic", "microchip", "microscope", "microwave", "milestone", "milk-off", "milk", "minimize-2", "minimize", "minus-circle", "minus-square", "minus", "mirror-rectangular", "mirror-round", "monitor-check", "monitor-cloud", "monitor-cog", "monitor-dot", "monitor-down", "monitor-off", "monitor-pause", "monitor-play", "monitor-smartphone", "monitor-speaker", "monitor-stop", "monitor-up", "monitor-x", "monitor", "moon-star", "moon", "more-horizontal", "more-vertical", "motorbike", "mountain-snow", "mountain", "mouse-left", "mouse-off", "mouse-pointer-2-off", "mouse-pointer-2", "mouse-pointer-ban", "mouse-pointer-click", "mouse-pointer-square-dashed", "mouse-pointer", "mouse-right", "mouse", "move-3-d", "move-3d", "move-diagonal-2", "move-diagonal", "move-down-left", "move-down-right", "move-down", "move-horizontal", "move-left", "move-right", "move-up-left", "move-up-right", "move-up", "move-vertical", "move", "music-2", "music-3", "music-4", "music", "navigation-2-off", "navigation-2", "navigation-off", "navigation", "network", "newspaper", "nfc", "non-binary", "notebook-pen", "notebook-tabs", "notebook-text", "notebook", "notepad-text-dashed", "notepad-text", "nut-off", "nut", "octagon-alert", "octagon-minus", "octagon-pause", "octagon-x", "octagon", "omega", "option", "orbit", "origami", "outdent", "package-2", "package-check", "package-minus", "package-open", "package-plus", "package-search", "package-x", "package", "paint-bucket", "paint-roller", "paintbrush-2", "paintbrush-vertical", "paintbrush", "palette", "palmtree", "panda", "panel-bottom-close", "panel-bottom-dashed", "panel-bottom-inactive", "panel-bottom-open", "panel-bottom", "panel-left-close", "panel-left-dashed", "panel-left-inactive", "panel-left-open", "panel-left-right-dashed", "panel-left", "panel-right-close", "panel-right-dashed", "panel-right-inactive", "panel-right-open", "panel-right", "panel-top-bottom-dashed", "panel-top-close", "panel-top-dashed", "panel-top-inactive", "panel-top-open", "panel-top", "panels-left-bottom", "panels-left-right", "panels-right-bottom", "panels-top-bottom", "panels-top-left", "paperclip", "parentheses", "parking-circle-off", "parking-circle", "parking-meter", "parking-square-off", "parking-square", "party-popper", "pause-circle", "pause-octagon", "pause", "paw-print", "pc-case", "pen-box", "pen-line", "pen-off", "pen-square", "pen-tool", "pen", "pencil-line", "pencil-off", "pencil-ruler", "pencil", "pentagon", "percent-circle", "percent-diamond", "percent-square", "percent", "person-standing", "philippine-peso", "phone-call", "phone-forwarded", "phone-incoming", "phone-missed", "phone-off", "phone-outgoing", "phone", "pi-square", "pi", "piano", "pickaxe", "picture-in-picture-2", "picture-in-picture", "pie-chart", "piggy-bank", "pilcrow-left", "pilcrow-right", "pilcrow-square", "pilcrow", "pill-bottle", "pill", "pin-off", "pin", "pipette", "pizza", "plane-landing", "plane-takeoff", "plane", "play-circle", "play-square", "play", "plug-2", "plug-zap-2", "plug-zap", "plug", "plus-circle", "plus-square", "plus", "pocket-knife", "podcast", "pointer-off", "pointer", "popcorn", "popsicle", "pound-sterling", "power-circle", "power-off", "power-square", "power", "presentation", "printer-check", "printer-x", "printer", "projector", "proportions", "puzzle", "pyramid", "qr-code", "quote", "rabbit", "radar", "radiation", "radical", "radio-off", "radio-receiver", "radio-tower", "radio", "radius", "rainbow", "rat", "ratio", "receipt-cent", "receipt-euro", "receipt-indian-rupee", "receipt-japanese-yen", "receipt-pound-sterling", "receipt-russian-ruble", "receipt-swiss-franc", "receipt-text", "receipt-turkish-lira", "receipt", "rectangle-circle", "rectangle-ellipsis", "rectangle-goggles", "rectangle-horizontal", "rectangle-vertical", "recycle", "redo-2", "redo-dot", "redo", "refresh-ccw-dot", "refresh-ccw", "refresh-cw-off", "refresh-cw", "refrigerator", "regex", "remove-formatting", "repeat-1", "repeat-2", "repeat", "replace-all", "replace", "reply-all", "reply", "rewind", "ribbon", "road", "rocket", "rocking-chair", "roller-coaster", "rose", "rotate-3-d", "rotate-3d", "rotate-ccw-key", "rotate-ccw-square", "rotate-ccw", "rotate-cw-square", "rotate-cw", "route-off", "route", "router", "rows-2", "rows-3", "rows-4", "rows", "rss", "ruler-dimension-line", "ruler", "russian-ruble", "sailboat", "salad", "sandwich", "satellite-dish", "satellite", "saudi-riyal", "save-all", "save-off", "save", "scale-3-d", "scale-3d", "scale", "scaling", "scan-barcode", "scan-eye", "scan-face", "scan-heart", "scan-line", "scan-qr-code", "scan-search", "scan-text", "scan", "scatter-chart", "school-2", "school", "scissors-line-dashed", "scissors-square-dashed-bottom", "scissors-square", "scissors", "scooter", "screen-share-off", "screen-share", "scroll-text", "scroll", "search-alert", "search-check", "search-code", "search-slash", "search-x", "search", "section", "send-horizonal", "send-horizontal", "send-to-back", "send", "separator-horizontal", "separator-vertical", "server-cog", "server-crash", "server-off", "server", "settings-2", "settings", "shapes", "share-2", "share", "sheet", "shell", "shelving-unit", "shield-alert", "shield-ban", "shield-check", "shield-close", "shield-cog-corner", "shield-cog", "shield-ellipsis", "shield-half", "shield-minus", "shield-off", "shield-plus", "shield-question-mark", "shield-question", "shield-user", "shield-x", "shield", "ship-wheel", "ship", "shirt", "shopping-bag", "shopping-basket", "shopping-cart", "shovel", "shower-head", "shredder", "shrimp", "shrink", "shrub", "shuffle", "sidebar-close", "sidebar-open", "sidebar", "sigma-square", "sigma", "signal-high", "signal-low", "signal-medium", "signal-zero", "signal", "signature", "signpost-big", "signpost", "siren", "skip-back", "skip-forward", "skull", "slash-square", "slash", "slice", "sliders-horizontal", "sliders-vertical", "sliders", "smartphone-charging", "smartphone-nfc", "smartphone", "smile-plus", "smile", "snail", "snowflake", "soap-dispenser-droplet", "sofa", "solar-panel", "sort-asc", "sort-desc", "soup", "space", "spade", "sparkle", "sparkles", "speaker", "speech", "spell-check-2", "spell-check", "spline-pointer", "spline", "split-square-horizontal", "split-square-vertical", "split", "spool", "sport-shoe", "spotlight", "spray-can", "sprout", "square-activity", "square-arrow-down-left", "square-arrow-down-right", "square-arrow-down", "square-arrow-left", "square-arrow-out-down-left", "square-arrow-out-down-right", "square-arrow-out-up-left", "square-arrow-out-up-right", "square-arrow-right-enter", "square-arrow-right-exit", "square-arrow-right", "square-arrow-up-left", "square-arrow-up-right", "square-arrow-up", "square-asterisk", "square-bottom-dashed-scissors", "square-centerline-dashed-horizontal", "square-centerline-dashed-vertical", "square-chart-gantt", "square-check-big", "square-check", "square-chevron-down", "square-chevron-left", "square-chevron-right", "square-chevron-up", "square-code", "square-dashed-bottom-code", "square-dashed-bottom", "square-dashed-kanban", "square-dashed-mouse-pointer", "square-dashed-text", "square-dashed-top-solid", "square-dashed", "square-divide", "square-dot", "square-equal", "square-function", "square-gantt-chart", "square-kanban", "square-library", "square-m", "square-menu", "square-minus", "square-mouse-pointer", "square-parking-off", "square-parking", "square-pause", "square-pen", "square-percent", "square-pi", "square-pilcrow", "square-play", "square-plus", "square-power", "square-radical", "square-round-corner", "square-scissors", "square-sigma", "square-slash", "square-split-horizontal", "square-split-vertical", "square-square", "square-stack", "square-star", "square-stop", "square-terminal", "square-user-round", "square-user", "square-x", "square", "squares-exclude", "squares-intersect", "squares-subtract", "squares-unite", "squircle-dashed", "squircle", "squirrel", "stamp", "star-half", "star-off", "star", "stars", "step-back", "step-forward", "stethoscope", "sticker", "sticky-note", "stone", "stop-circle", "store", "stretch-horizontal", "stretch-vertical", "strikethrough", "subscript", "subtitles", "sun-dim", "sun-medium", "sun-moon", "sun-snow", "sun", "sunrise", "sunset", "superscript", "swatch-book", "swiss-franc", "switch-camera", "sword", "swords", "syringe", "table-2", "table-cells-merge", "table-cells-split", "table-columns-split", "table-config", "table-of-contents", "table-properties", "table-rows-split", "table", "tablet-smartphone", "tablet", "tablets", "tag", "tags", "tally-1", "tally-2", "tally-3", "tally-4", "tally-5", "tangent", "target", "telescope", "tent-tree", "tent", "terminal-square", "terminal", "test-tube-2", "test-tube-diagonal", "test-tube", "test-tubes", "text-align-center", "text-align-end", "text-align-justify", "text-align-start", "text-cursor-input", "text-cursor", "text-initial", "text-quote", "text-search", "text-select", "text-selection", "text-wrap", "text", "theater", "thermometer-snowflake", "thermometer-sun", "thermometer", "thumbs-down", "thumbs-up", "ticket-check", "ticket-minus", "ticket-percent", "ticket-plus", "ticket-slash", "ticket-x", "ticket", "tickets-plane", "tickets", "timer-off", "timer-reset", "timer", "toggle-left", "toggle-right", "toilet", "tool-case", "toolbox", "tornado", "torus", "touchpad-off", "touchpad", "towel-rack", "tower-control", "toy-brick", "tractor", "traffic-cone", "train-front-tunnel", "train-front", "train-track", "train", "tram-front", "transgender", "trash-2", "trash", "tree-deciduous", "tree-palm", "tree-pine", "trees", "trending-down", "trending-up-down", "trending-up", "triangle-alert", "triangle-dashed", "triangle-right", "triangle", "trophy", "truck-electric", "truck", "turkish-lira", "turntable", "turtle", "tv-2", "tv-minimal-play", "tv-minimal", "tv", "type-outline", "type", "umbrella-off", "umbrella", "underline", "undo-2", "undo-dot", "undo", "unfold-horizontal", "unfold-vertical", "ungroup", "university", "unlink-2", "unlink", "unlock-keyhole", "unlock", "unplug", "upload-cloud", "upload", "usb", "user-2", "user-check-2", "user-check", "user-circle-2", "user-circle", "user-cog-2", "user-cog", "user-key", "user-lock", "user-minus-2", "user-minus", "user-pen", "user-plus-2", "user-plus", "user-round-check", "user-round-cog", "user-round-key", "user-round-minus", "user-round-pen", "user-round-plus", "user-round-search", "user-round-x", "user-round", "user-search", "user-square-2", "user-square", "user-star", "user-x-2", "user-x", "user", "users-2", "users-round", "users", "utensils-crossed", "utensils", "utility-pole", "van", "variable", "vault", "vector-square", "vegan", "venetian-mask", "venus-and-mars", "venus", "verified", "vibrate-off", "vibrate", "video-off", "video", "videotape", "view", "voicemail", "volleyball", "volume-1", "volume-2", "volume-off", "volume-x", "volume", "vote", "wallet-2", "wallet-cards", "wallet-minimal", "wallet", "wallpaper", "wand-2", "wand-sparkles", "wand", "warehouse", "washing-machine", "watch", "waves-arrow-down", "waves-arrow-up", "waves-ladder", "waves", "waypoints", "webcam", "webhook-off", "webhook", "weight-tilde", "weight", "wheat-off", "wheat", "whole-word", "wifi-cog", "wifi-high", "wifi-low", "wifi-off", "wifi-pen", "wifi-sync", "wifi-zero", "wifi", "wind-arrow-down", "wind", "wine-off", "wine", "workflow", "worm", "wrap-text", "wrench", "x-circle", "x-line-top", "x-octagon", "x-square", "x", "zap-off", "zap", "zodiac-aquarius", "zodiac-aries", "zodiac-cancer", "zodiac-capricorn", "zodiac-gemini", "zodiac-leo", "zodiac-libra", "zodiac-ophiuchus", "zodiac-pisces", "zodiac-sagittarius", "zodiac-scorpio", "zodiac-taurus", "zodiac-virgo", "zoom-in", "zoom-out"];
|
|
7
|
-
type LucideName =
|
|
7
|
+
type LucideName = typeof lucideNames[number];
|
|
8
8
|
|
|
9
9
|
type IconSize = '16' | '20' | '24' | '28' | '32' | '36' | '40' | '44' | '48';
|
|
10
10
|
type IconStrokeWidth = 0.5 | 0.75 | 1 | 1.25 | 1.5 | 1.75 | 2 | 2.25 | 2.5 | 2.75 | 3;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _filip_mazev_blocks_core from '@filip.mazev/blocks/core';
|
|
2
|
-
import { BREAKPOINTS } from '@filip.mazev/blocks/core';
|
|
2
|
+
import { BREAKPOINTS, ResolvableText } from '@filip.mazev/blocks/core';
|
|
3
3
|
import * as _angular_core from '@angular/core';
|
|
4
4
|
import { Type, ComponentRef, OnInit, OnDestroy, Signal, AfterViewInit, TemplateRef, ElementRef, ViewContainerRef, InputSignal, OutputEmitterRef, QueryList, InjectionToken } from '@angular/core';
|
|
5
5
|
import { Observable, Subject } from 'rxjs';
|
|
@@ -141,6 +141,7 @@ declare class ModalService implements IModalService {
|
|
|
141
141
|
private readonly document;
|
|
142
142
|
private readonly renderer;
|
|
143
143
|
private readonly globalSettings;
|
|
144
|
+
private readonly a11y;
|
|
144
145
|
private modals;
|
|
145
146
|
private modalsSubject;
|
|
146
147
|
constructor();
|
|
@@ -234,11 +235,11 @@ interface IModalStyleConfig {
|
|
|
234
235
|
|
|
235
236
|
/**
|
|
236
237
|
* IModalHeaderConfig, the configuration for the modal header
|
|
237
|
-
* @param {
|
|
238
|
+
* @param {ResolvableText} text The text to be shown in the header as ResolvableText, this can be a string or an object with a translation key
|
|
238
239
|
* @param {IconData} icon (optional) An icon to display to the left of the text, will default to undefined
|
|
239
240
|
*/
|
|
240
241
|
interface IModalHeaderConfig {
|
|
241
|
-
text:
|
|
242
|
+
text: ResolvableText;
|
|
242
243
|
icon?: IconData;
|
|
243
244
|
}
|
|
244
245
|
|
|
@@ -507,12 +508,14 @@ declare class ModalBackdrop {
|
|
|
507
508
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModalBackdrop, "bx-modal-backdrop", never, { "isAnimated": { "alias": "isAnimated"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "click": "click"; }, never, never, true, never>;
|
|
508
509
|
}
|
|
509
510
|
|
|
510
|
-
declare class ModalBanner
|
|
511
|
+
declare class ModalBanner {
|
|
512
|
+
private readonly i18n;
|
|
511
513
|
readonly header: _angular_core.InputSignal<IModalHeaderConfig$1 | undefined>;
|
|
512
514
|
readonly showCloseButton: _angular_core.InputSignal<boolean>;
|
|
513
515
|
readonly close: _angular_core.OutputEmitterRef<ModalCloseMode | undefined>;
|
|
514
|
-
|
|
515
|
-
static
|
|
516
|
+
protected readonly resolvedText: _angular_core.Signal<string | undefined>;
|
|
517
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModalBanner, never>;
|
|
518
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModalBanner, "bx-modal-banner", never, { "header": { "alias": "header"; "required": true; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": true; "isSignal": true; }; }, { "close": "close"; }, never, never, true, never>;
|
|
516
519
|
}
|
|
517
520
|
|
|
518
521
|
declare class ModalGlobalSettingsService {
|