@cineverse/infrastructure-common 0.0.3 → 0.0.4

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.
@@ -280,7 +280,10 @@ class RouterHelper {
280
280
  }
281
281
  }
282
282
  navigateToIdentity(path, extras) {
283
- window.location.href = this.buildUrlWithParams(`/${identityBasePath}${path}`, extras?.queryParams);
283
+ const cleanPath = path.startsWith('/')
284
+ ? path
285
+ : `/${path}`;
286
+ window.location.href = this.buildUrlWithParams(`${identityBasePath}${cleanPath}`, extras?.queryParams);
284
287
  }
285
288
  navigateToCineverse(path, extras) {
286
289
  if (needsFullPageReload(path)) {
@@ -386,15 +389,6 @@ function getValidationError(control) {
386
389
  return null;
387
390
  }
388
391
 
389
- class NotFound {
390
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NotFound, deps: [], target: i0.ɵɵFactoryTarget.Component });
391
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: NotFound, isStandalone: true, selector: "lib-not-found", ngImport: i0, template: "<div class=\"min-h-screen flex items-center justify-center bg-gray-50 px-6\">\n <div class=\"text-center max-w-md\">\n\n <h1 class=\"text-9xl font-bold text-primary mb-4\">\n 404\n </h1>\n\n <h2 class=\"text-3xl font-semibold text-gray-800 mb-3\">\n Page not found\n </h2>\n\n <p class=\"text-gray-500 mb-8\">\n The page you are looking for doesn\u2019t exist or has been moved.\n </p>\n\n </div>\n</div>\n" });
392
- }
393
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NotFound, decorators: [{
394
- type: Component,
395
- args: [{ selector: 'lib-not-found', imports: [], template: "<div class=\"min-h-screen flex items-center justify-center bg-gray-50 px-6\">\n <div class=\"text-center max-w-md\">\n\n <h1 class=\"text-9xl font-bold text-primary mb-4\">\n 404\n </h1>\n\n <h2 class=\"text-3xl font-semibold text-gray-800 mb-3\">\n Page not found\n </h2>\n\n <p class=\"text-gray-500 mb-8\">\n The page you are looking for doesn\u2019t exist or has been moved.\n </p>\n\n </div>\n</div>\n" }]
396
- }] });
397
-
398
392
  /*
399
393
  * Public API Surface of infrastructure-common
400
394
  */
@@ -404,5 +398,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
404
398
  * Generated bundle index. Do not edit.
405
399
  */
406
400
 
407
- export { BlockActionsService, BlockingOverlay, Footer, Header, LoadingOverlay, LoadingService, NotFound, PrimeNgPreset, RouterHelper, ToastContainer, ToastItem, ToastService, createErrorLink, createLoadingLink, errorInterceptor, formatDate, getValidationError, identityBasePath, isIdentityRoute, isOnIdentityService, loadingInterceptor, needsFullPageReload };
401
+ export { BlockActionsService, BlockingOverlay, Footer, Header, LoadingOverlay, LoadingService, PrimeNgPreset, RouterHelper, ToastContainer, ToastItem, ToastService, createErrorLink, createLoadingLink, errorInterceptor, formatDate, getValidationError, identityBasePath, isIdentityRoute, isOnIdentityService, loadingInterceptor, needsFullPageReload };
408
402
  //# sourceMappingURL=cineverse-infrastructure-common.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"cineverse-infrastructure-common.mjs","sources":["../../../projects/infrastructure-common/src/lib/feedback/toast/services/toast.service.ts","../../../projects/infrastructure-common/src/lib/integrations/apollo/links/error.link.ts","../../../projects/infrastructure-common/src/lib/feedback/loading/services/loading.service.ts","../../../projects/infrastructure-common/src/lib/feedback/blocking/services/block-actions.service.ts","../../../projects/infrastructure-common/src/lib/integrations/apollo/links/loading.link.ts","../../../projects/infrastructure-common/src/lib/integrations/primeNG/PrimeNgPreset.ts","../../../projects/infrastructure-common/src/lib/integrations/http/interceptors/loading.interceptor.ts","../../../projects/infrastructure-common/src/lib/integrations/http/interceptors/error.interceptor.ts","../../../projects/infrastructure-common/src/lib/feedback/blocking/components/blocking-overlay/blocking-overlay.ts","../../../projects/infrastructure-common/src/lib/feedback/blocking/components/blocking-overlay/blocking-overlay.html","../../../projects/infrastructure-common/src/lib/feedback/loading/components/loading-overlay/loading-overlay.ts","../../../projects/infrastructure-common/src/lib/feedback/loading/components/loading-overlay/loading-overlay.html","../../../projects/infrastructure-common/src/lib/feedback/toast/components/toast-item/toast-item.ts","../../../projects/infrastructure-common/src/lib/feedback/toast/components/toast-item/toast-item.html","../../../projects/infrastructure-common/src/lib/feedback/toast/components/toast-container/toast-container.ts","../../../projects/infrastructure-common/src/lib/feedback/toast/components/toast-container/toast-container.html","../../../projects/infrastructure-common/src/lib/shared/utils/router.utils.ts","../../../projects/infrastructure-common/src/lib/shared/helpers/router.helper.ts","../../../projects/infrastructure-common/src/lib/layout/header/header.ts","../../../projects/infrastructure-common/src/lib/layout/header/header.html","../../../projects/infrastructure-common/src/lib/layout/footer/footer.ts","../../../projects/infrastructure-common/src/lib/layout/footer/footer.html","../../../projects/infrastructure-common/src/lib/shared/utils/date.utils.ts","../../../projects/infrastructure-common/src/lib/shared/helpers/validation.helper.ts","../../../projects/infrastructure-common/src/lib/shared/pages/not-found/not-found.ts","../../../projects/infrastructure-common/src/lib/shared/pages/not-found/not-found.html","../../../projects/infrastructure-common/src/public-api.ts","../../../projects/infrastructure-common/src/cineverse-infrastructure-common.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\nimport { Toast, ToastType } from '../models/toast.model';\n\n@Injectable({ providedIn: 'root' })\nexport class ToastService {\n private _queue : Toast[] = [];\n private _toasts = signal<Toast[]>([]);\n public toasts$ = this._toasts;\n\n private show(message: string, type: ToastType = 'info'){\n const id = Date.now();\n const toast: Toast = {\n id,\n message,\n type\n };\n\n this._queue.push(toast);\n if (this._toasts().length === 0) {\n this.displayNext();\n }\n }\n\n private displayNext() {\n if (this._queue.length === 0) return;\n\n const toast = this._queue.shift()!;\n this._toasts.set([toast]);\n\n setTimeout(() => this.remove(toast.id), 3000);\n }\n\n success(message: string) {\n this.show(message, 'success');\n }\n\n error(message: string) {\n this.show(message, 'error');\n }\n\n info(message: string) {\n this.show(message, 'info');\n }\n\n warning(message: string) {\n this.show(message, 'warning');\n }\n\n remove(id: number) {\n this._toasts.update(list =>\n list.map(t => t.id === id ? { ...t, hiding: true } : t)\n );\n\n setTimeout(() => {\n this._toasts.set([]);\n this.displayNext();\n }, 300);\n }\n}\n","import { ErrorLink } from '@apollo/client/link/error';\nimport { inject } from '@angular/core';\nimport { ToastService } from '../../../feedback/toast/services/toast.service';\n\n// TODO: fix\nexport function createErrorLink() {\n const toastService = inject(ToastService);\n\n return new ErrorLink(({ error }) => {\n if (error.message) {\n toastService.error(error.message);\n console.error('GraphQL Error', error.message, error);\n }\n });\n}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class LoadingService {\n private _activeRequests = 0;\n readonly isLoading = signal(false);\n\n public show(): void {\n this._activeRequests++;\n this.isLoading.set(true);\n }\n\n public hide(): void {\n if (this._activeRequests <= 1) {\n this.reset();\n }\n\n this._activeRequests--;\n }\n\n public reset(){\n this._activeRequests = 0;\n this.isLoading.set(false);\n }\n}\n","import { computed, Injectable, signal } from '@angular/core';\n\n@Injectable({providedIn: 'root'})\nexport class BlockActionsService{\n private _blocked = signal(false);\n\n readonly isBlocked = computed(() => this._blocked());\n\n public block(): void {\n this._blocked.set(true);\n }\n\n public unblock(): void {\n this._blocked.set(false);\n }\n}\n","import { ApolloLink, Observable } from '@apollo/client/core';\nimport { inject } from '@angular/core';\nimport { LoadingService } from '../../../feedback/loading/services/loading.service';\nimport { BlockActionsService } from '../../../feedback/blocking/services/block-actions.service';\n\nexport function createLoadingLink(): ApolloLink {\n const loadingService = inject(LoadingService);\n const blockActionsService = inject(BlockActionsService);\n\n return new ApolloLink((operation, forward) => {\n const isQuery = operation.query.definitions.some(\n (def: any) =>\n def.kind === 'OperationDefinition' && def.operation === 'query'\n );\n\n if (isQuery) loadingService.show();\n else blockActionsService.block();\n\n const finish = () => {\n if (isQuery) loadingService.hide();\n else blockActionsService.unblock();\n };\n\n return new Observable(observer => {\n const sub = forward(operation).subscribe({\n next: result => observer.next(result),\n error: error => {\n finish();\n observer.error(error);\n },\n complete: () => {\n finish();\n observer.complete();\n },\n });\n\n return () => {\n sub.unsubscribe();\n finish();\n };\n });\n });\n}\n","import { definePreset } from '@primeuix/themes';\nimport Aura from '@primeuix/themes/aura';\n\nexport const PrimeNgPreset = definePreset(Aura, {\n semantic: {\n primary: {\n 50: '{slate.100}',\n 100: '{slate.100}',\n 200: '{slate.200}',\n 300: '{slate.300}',\n 400: '{slate.400}',\n 500: '{slate.700}',\n 600: '{slate.900}',\n 700: '{slate.1000}',\n 800: '{slate.800}',\n 900: '{slate.900}',\n 950: '{slate.950}',\n },\n },\n});\n","import { HttpInterceptorFn } from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { finalize } from 'rxjs/operators';\nimport { LoadingService } from '../../../feedback/loading/services/loading.service';\nimport { BlockActionsService } from '../../../feedback/blocking/services/block-actions.service';\n\nexport const loadingInterceptor: HttpInterceptorFn = (req, next) => {\n const loadingService = inject(LoadingService);\n const blockActionsService = inject(BlockActionsService);\n\n const isGetRequest = req.method === 'GET';\n\n if (isGetRequest) {\n loadingService.show();\n } else {\n blockActionsService.block();\n }\n\n return next(req).pipe(\n finalize(() => {\n if (isGetRequest) {\n loadingService.hide();\n } else {\n blockActionsService.unblock();\n }\n })\n );\n};\n","import { HttpInterceptorFn, HttpErrorResponse } from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { catchError, throwError } from 'rxjs';\nimport { ToastService } from '../../../feedback/toast/services/toast.service';\n\nexport const errorInterceptor: HttpInterceptorFn = (req, next) => {\n const toastService = inject(ToastService);\n\n return next(req).pipe(\n catchError((error: HttpErrorResponse) => {\n let errorMessage = 'An error occurred';\n\n if (error.error instanceof ErrorEvent) {\n errorMessage = error.error.message;\n } else {\n if (error.error?.message) {\n errorMessage = error.error.message;\n } else if (error.message) {\n errorMessage = error.message;\n } else {\n errorMessage = `Error: ${error.status} - ${error.status}`;\n }\n }\n\n toastService.error(errorMessage);\n console.error('HTTP Error:', errorMessage, error);\n\n return throwError(() => error);\n })\n );\n};\n","import { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { BlockActionsService } from '../../services/block-actions.service';\n\n@Component({\n selector: 'cineverse-blocking-overlay',\n imports: [],\n templateUrl: 'blocking-overlay.html',\n styleUrl: 'blocking-overlay.css',\n standalone: true\n})\nexport class BlockingOverlay {\n protected service = inject(BlockActionsService);\n}\n","<div\n class=\"overlay\"\n [class.hide]=\"!service.isBlocked()\">\n <div class=\"flex flex-col items-center gap-3\">\n <div class=\"h-10 w-10 border-4 border-white/30 border-t-white rounded-full animate-spin\"></div>\n </div>\n</div>\n","import { Component, inject } from '@angular/core';\nimport { LoadingService } from '../../services/loading.service';\n\n@Component({\n selector: 'cineverse-loading-overlay',\n templateUrl: 'loading-overlay.html',\n styleUrl: 'loading-overlay.css'\n})\nexport class LoadingOverlay {\n public loadingService = inject(LoadingService);\n}\n","<div class=\"overlay\" [class.hide]=\"!(loadingService.isLoading())\">\n <div class=\"loading-logo\">\n <span class=\"loading-text\">CINEVERSE</span>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { Toast } from '../../models/toast.model';\nimport { NgClass } from '@angular/common';\n\n@Component({\n selector: 'cineverse-toast',\n imports: [\n NgClass\n ],\n templateUrl: 'toast-item.html',\n styleUrl: 'toast-item.css'\n})\nexport class ToastItem {\n @Input() toast!: Toast;\n}\n","<div class=\"toast\" [ngClass]=\"[toast.type, toast.hiding ? 'hide' : '']\">\n <div class=\"toast-icon\" style=\"margin-right: 8px; display: inline-flex; align-items: center;\">\n @switch (toast.type) {\n @case ('error') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 48 48\">\n <circle cx=\"24\" cy=\"24\" r=\"24\" fill=\"#E53935\"/>\n <path d=\"M14 14L34 34M34 14L14 34\" stroke=\"white\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n }\n @case ('info') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 48 48\">\n <circle cx=\"24\" cy=\"24\" r=\"24\" fill=\"#1E88E5\"/>\n <circle cx=\"24\" cy=\"14\" r=\"3\" fill=\"white\"/>\n <rect x=\"21\" y=\"20\" width=\"6\" height=\"16\" rx=\"2\" fill=\"white\"/>\n </svg>\n }\n @case ('success') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 48 48\">\n <circle cx=\"24\" cy=\"24\" r=\"24\" fill=\"#43A047\"/>\n <path d=\"M14 24L20 30L34 16\" stroke=\"white\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"/>\n </svg>\n }\n @case ('warning') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 48 48\">\n <circle cx=\"24\" cy=\"24\" r=\"24\" fill=\"#FB8C00\"/>\n <path d=\"M24 12V28\" stroke=\"white\" stroke-width=\"4\" stroke-linecap=\"round\"/>\n <circle cx=\"24\" cy=\"35\" r=\"2.5\" fill=\"white\"/>\n </svg>\n }\n }\n </div>\n\n <span>{{ toast.message }}</span>\n</div>\n","import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToastService } from '../../services/toast.service';\nimport { ToastItem } from '../toast-item/toast-item';\n\n@Component({\n selector: 'cineverse-toast-container',\n imports: [\n ToastItem,\n CommonModule\n ],\n templateUrl: 'toast-container.html',\n styleUrl: 'toast-container.css',\n standalone: true\n})\nexport class ToastContainer {\n public toastService = inject(ToastService);\n}\n","<div class=\"toast-container\">\n @for (toast of toastService.toasts$(); track toast.id) {\n <cineverse-toast [toast]=\"toast\"></cineverse-toast>\n }\n</div>\n","export const identityBasePath = '/identity';\n\nexport function isOnIdentityService(): boolean {\n return window.location.pathname.startsWith(identityBasePath);\n}\n\nexport function isIdentityRoute(path: string): boolean {\n return path.startsWith(identityBasePath);\n}\n\nexport function needsFullPageReload(targetPath: string): boolean {\n const currentIsIdentity = isOnIdentityService();\n const targetIsIdentity = isIdentityRoute(targetPath);\n\n return currentIsIdentity !== targetIsIdentity;\n}\n","import { inject, Injectable } from '@angular/core';\nimport { NavigationExtras, Params, Router } from '@angular/router';\nimport { identityBasePath, needsFullPageReload } from '../utils/router.utils';\n\n@Injectable({ providedIn: 'root' })\nexport class RouterHelper {\n private router = inject(Router);\n\n navigate(path: string, extras?: NavigationExtras): void {\n if (needsFullPageReload(path)) {\n window.location.href = this.buildUrlWithParams(path, extras?.queryParams);\n } else {\n this.router.navigate([path], extras).then();\n }\n }\n\n navigateToIdentity(path: string, extras?: NavigationExtras): void {\n window.location.href = this.buildUrlWithParams(`/${identityBasePath}${path}`, extras?.queryParams);\n }\n\n navigateToCineverse(path: string, extras?: NavigationExtras): void {\n if (needsFullPageReload(path)) {\n window.location.href = this.buildUrlWithParams(path, extras?.queryParams);\n } else {\n this.router.navigate([path], extras).then();\n }\n }\n\n private buildUrlWithParams(path: string, queryParams?: Params | null): string {\n if (!queryParams || Object.keys(queryParams).length === 0) {\n return path;\n }\n\n const params = new URLSearchParams();\n Object.entries(queryParams).forEach(([key, value]) => {\n if (value != null) {\n params.append(key, String(value));\n }\n });\n\n const queryString = params.toString();\n return queryString ? `${path}?${queryString}` : path;\n }\n}\n","import { Component, HostListener, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterHelper } from '../../shared/helpers/router.helper';\n\n@Component({\n selector: 'cineverse-header',\n standalone: true,\n imports: [CommonModule],\n templateUrl: 'header.html',\n styleUrls: ['header.css']\n})\n\nexport class Header {\n private routerHelper = inject(RouterHelper);\n isMenuOpen = false;\n\n toggleMenu(event: Event) {\n event.stopPropagation();\n this.isMenuOpen = !this.isMenuOpen;\n }\n\n closeMenu() {\n this.isMenuOpen = false;\n }\n\n @HostListener('document:click', ['$event'])\n onClick(event: Event) {\n if (!(event.target as Element).closest('.menu') &&\n !(event.target as Element).closest('.menu-icon')) {\n this.isMenuOpen = false;\n }\n }\n\n protected navigate(path: string) {\n this.routerHelper.navigate(path);\n this.closeMenu();\n }\n}\n","<div class=\"wrapper\">\n <header>\n <nav>\n <div class=\"logo-wrapper\">\n <a (click)=\"navigate('/')\" class=\"logo\">\n CINEVERSE\n </a>\n </div>\n <div class=\"menu-icon\" (click)=\"toggleMenu($event)\">\n <i class=\"pi pi-bars fa-2x\"></i>\n </div>\n <ul [class.showing]=\"isMenuOpen\">\n <li><a (click)=\"navigate('/')\">Home</a></li>\n <li><a (click)=\"navigate('/movies')\">Movies</a></li>\n <li><a (click)=\"navigate('/contact')\">Contact</a></li>\n <li><a (click)=\"navigate('/about')\">About</a></li>\n <li><a (click)=\"navigate('/identity/profile')\">Profile</a></li>\n </ul>\n </nav>\n </header>\n</div>\n","import { Component, inject } from '@angular/core';\nimport { RouterHelper } from '../../shared/helpers/router.helper';\n\n@Component({\n selector: 'cineverse-footer',\n imports: [],\n templateUrl: './footer.html',\n styleUrl: './footer.css',\n})\nexport class Footer {\n private routerHelper = inject(RouterHelper);\n\n protected navigate(path: string) {\n this.routerHelper.navigate(path);\n }\n}\n","<footer class=\"site-footer\">\n <div class=\"container\">\n <div class=\"footer-content\">\n\n <div class=\"footer-column\">\n <h3 class=\"footer-title\">Quick Links</h3>\n <ul class=\"footer-links\">\n <li><a (click)=\"navigate('/')\"><i class=\"pi pi-chevron-right\"></i> Home</a></li>\n <li><a (click)=\"navigate('/movies')\"><i class=\"pi pi-chevron-right\"></i> Movies</a></li>\n <li><a (click)=\"navigate('/contact')\"><i class=\"pi pi-chevron-right\"></i> Contact Us</a></li>\n <li><a (click)=\"navigate('/about')\"><i class=\"pi pi-chevron-right\"></i> About</a></li>\n <li><a (click)=\"navigate('/identity/profile')\"><i class=\"pi pi-chevron-right\"></i> Profile</a></li>\n </ul>\n </div>\n\n <div id=\"contact-us\" class=\"footer-column\">\n <h3 class=\"footer-title\">Contact Us</h3>\n <ul class=\"footer-contacts\">\n <li><i class=\"pi pi-map-marker\"></i> Chisinau str. Vasile Alecsandri 32</li>\n <li><i class=\"pi pi-phone\"></i> +373 69-077-251</li>\n <li><i class=\"pi pi-envelope\"></i> info&#64;cineverse.com</li>\n <li><i class=\"pi pi-clock\"></i> Mon-Mon: 9AM - 10PM</li>\n </ul>\n </div>\n\n <div class=\"footer-column\">\n <h3 class=\"footer-title\">Stay Connected</h3>\n <p class=\"footer-text\">Subscribe to our newsletter for the latest updates</p>\n <form class=\"newsletter-form\">\n <input type=\"email\" placeholder=\"Your Email\" required>\n <button type=\"submit\"><i class=\"pi pi-bell\"></i></button>\n </form>\n <div class=\"social-links\">\n <a href=\"https://www.instagram.com/darkf_nn?igsh=MXBwNGplYm85aHcxeA==\"><i class=\"pi pi-instagram\"></i></a>\n <a href=\"https://www.linkedin.com/in/vlad-timbal-511769296/\"><i class=\"pi pi-linkedin\"></i></a>\n <a href=\"https://github.com/DARK6870\"><i class=\"pi pi-github\"></i></a>\n </div>\n </div>\n </div>\n\n <div class=\"footer-bottom\">\n <p>&copy; 2025 Cineverse. All Rights Reserved.</p>\n <div class=\"legal-links\">\n <a href=\"#\">Privacy Policy</a>\n <a href=\"#\">Terms of Service</a>\n <a href=\"#\">Cookies</a>\n </div>\n </div>\n </div>\n</footer>\n","export function formatDate(stringDate: string): string {\n if (!stringDate) return '';\n const date = new Date(stringDate);\n return date.toLocaleDateString('en-US', {\n day: 'numeric',\n month: 'long',\n });\n}\n","import { AbstractControl } from '@angular/forms';\n\nexport function getValidationError(control: AbstractControl | null): string | null {\n if (!control || !control.errors) return null;\n\n if (!(control.touched || control.dirty)) return null;\n\n const errorMessages: Record<string, (error: any) => string> = {\n required: () => `This field is required`,\n email: () => `Please enter a valid email`,\n minlength: (err) => `Minimum length is ${err.requiredLength} characters`,\n maxlength: (err) => `Maximum length is ${err.requiredLength} characters`,\n pattern: () => `Invalid format`,\n passwordMismatch: () => `Passwords do not match`\n };\n\n for (const errorName in control.errors) {\n if (errorMessages[errorName]) {\n return errorMessages[errorName](control.errors[errorName]);\n }\n }\n\n return null;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-not-found',\n imports: [],\n templateUrl: './not-found.html'\n})\nexport class NotFound { }\n","<div class=\"min-h-screen flex items-center justify-center bg-gray-50 px-6\">\n <div class=\"text-center max-w-md\">\n\n <h1 class=\"text-9xl font-bold text-primary mb-4\">\n 404\n </h1>\n\n <h2 class=\"text-3xl font-semibold text-gray-800 mb-3\">\n Page not found\n </h2>\n\n <p class=\"text-gray-500 mb-8\">\n The page you are looking for doesn’t exist or has been moved.\n </p>\n\n </div>\n</div>\n","/*\n * Public API Surface of infrastructure-common\n */\n\n// integrations\nexport * from './lib/integrations/apollo/links/error.link';\nexport * from './lib/integrations/apollo/links/loading.link';\n\nexport * from './lib/integrations/primeNG/PrimeNgPreset';\n\nexport * from './lib/integrations/http/interceptors/loading.interceptor';\nexport * from './lib/integrations/http/interceptors/error.interceptor';\n\n// feedback\nexport * from './lib/feedback/blocking/components/blocking-overlay/blocking-overlay';\nexport * from './lib/feedback/blocking/services/block-actions.service';\n\nexport * from './lib/feedback/loading/components/loading-overlay/loading-overlay';\nexport * from './lib/feedback/loading/services/loading.service';\n\nexport * from './lib/feedback/toast/components/toast-container/toast-container';\nexport * from './lib/feedback/toast/components/toast-item/toast-item';\nexport * from './lib/feedback/toast/services/toast.service';\n\n// layout\nexport * from './lib/layout/header/header';\nexport * from './lib/layout/footer/footer';\n\n// shared\nexport * from './lib/shared/utils/date.utils';\nexport * from './lib/shared/utils/router.utils';\nexport * from './lib/shared/helpers/validation.helper';\nexport * from './lib/shared/helpers/router.helper';\nexport * from './lib/shared/pages/not-found/not-found';\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":"cineverse-infrastructure-common.mjs","sources":["../../../projects/infrastructure-common/src/lib/feedback/toast/services/toast.service.ts","../../../projects/infrastructure-common/src/lib/integrations/apollo/links/error.link.ts","../../../projects/infrastructure-common/src/lib/feedback/loading/services/loading.service.ts","../../../projects/infrastructure-common/src/lib/feedback/blocking/services/block-actions.service.ts","../../../projects/infrastructure-common/src/lib/integrations/apollo/links/loading.link.ts","../../../projects/infrastructure-common/src/lib/integrations/primeNG/PrimeNgPreset.ts","../../../projects/infrastructure-common/src/lib/integrations/http/interceptors/loading.interceptor.ts","../../../projects/infrastructure-common/src/lib/integrations/http/interceptors/error.interceptor.ts","../../../projects/infrastructure-common/src/lib/feedback/blocking/components/blocking-overlay/blocking-overlay.ts","../../../projects/infrastructure-common/src/lib/feedback/blocking/components/blocking-overlay/blocking-overlay.html","../../../projects/infrastructure-common/src/lib/feedback/loading/components/loading-overlay/loading-overlay.ts","../../../projects/infrastructure-common/src/lib/feedback/loading/components/loading-overlay/loading-overlay.html","../../../projects/infrastructure-common/src/lib/feedback/toast/components/toast-item/toast-item.ts","../../../projects/infrastructure-common/src/lib/feedback/toast/components/toast-item/toast-item.html","../../../projects/infrastructure-common/src/lib/feedback/toast/components/toast-container/toast-container.ts","../../../projects/infrastructure-common/src/lib/feedback/toast/components/toast-container/toast-container.html","../../../projects/infrastructure-common/src/lib/shared/utils/router.utils.ts","../../../projects/infrastructure-common/src/lib/shared/helpers/router.helper.ts","../../../projects/infrastructure-common/src/lib/layout/header/header.ts","../../../projects/infrastructure-common/src/lib/layout/header/header.html","../../../projects/infrastructure-common/src/lib/layout/footer/footer.ts","../../../projects/infrastructure-common/src/lib/layout/footer/footer.html","../../../projects/infrastructure-common/src/lib/shared/utils/date.utils.ts","../../../projects/infrastructure-common/src/lib/shared/helpers/validation.helper.ts","../../../projects/infrastructure-common/src/public-api.ts","../../../projects/infrastructure-common/src/cineverse-infrastructure-common.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\nimport { Toast, ToastType } from '../models/toast.model';\n\n@Injectable({ providedIn: 'root' })\nexport class ToastService {\n private _queue : Toast[] = [];\n private _toasts = signal<Toast[]>([]);\n public toasts$ = this._toasts;\n\n private show(message: string, type: ToastType = 'info'){\n const id = Date.now();\n const toast: Toast = {\n id,\n message,\n type\n };\n\n this._queue.push(toast);\n if (this._toasts().length === 0) {\n this.displayNext();\n }\n }\n\n private displayNext() {\n if (this._queue.length === 0) return;\n\n const toast = this._queue.shift()!;\n this._toasts.set([toast]);\n\n setTimeout(() => this.remove(toast.id), 3000);\n }\n\n success(message: string) {\n this.show(message, 'success');\n }\n\n error(message: string) {\n this.show(message, 'error');\n }\n\n info(message: string) {\n this.show(message, 'info');\n }\n\n warning(message: string) {\n this.show(message, 'warning');\n }\n\n remove(id: number) {\n this._toasts.update(list =>\n list.map(t => t.id === id ? { ...t, hiding: true } : t)\n );\n\n setTimeout(() => {\n this._toasts.set([]);\n this.displayNext();\n }, 300);\n }\n}\n","import { ErrorLink } from '@apollo/client/link/error';\nimport { inject } from '@angular/core';\nimport { ToastService } from '../../../feedback/toast/services/toast.service';\n\n// TODO: fix\nexport function createErrorLink() {\n const toastService = inject(ToastService);\n\n return new ErrorLink(({ error }) => {\n if (error.message) {\n toastService.error(error.message);\n console.error('GraphQL Error', error.message, error);\n }\n });\n}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class LoadingService {\n private _activeRequests = 0;\n readonly isLoading = signal(false);\n\n public show(): void {\n this._activeRequests++;\n this.isLoading.set(true);\n }\n\n public hide(): void {\n if (this._activeRequests <= 1) {\n this.reset();\n }\n\n this._activeRequests--;\n }\n\n public reset(){\n this._activeRequests = 0;\n this.isLoading.set(false);\n }\n}\n","import { computed, Injectable, signal } from '@angular/core';\n\n@Injectable({providedIn: 'root'})\nexport class BlockActionsService{\n private _blocked = signal(false);\n\n readonly isBlocked = computed(() => this._blocked());\n\n public block(): void {\n this._blocked.set(true);\n }\n\n public unblock(): void {\n this._blocked.set(false);\n }\n}\n","import { ApolloLink, Observable } from '@apollo/client/core';\nimport { inject } from '@angular/core';\nimport { LoadingService } from '../../../feedback/loading/services/loading.service';\nimport { BlockActionsService } from '../../../feedback/blocking/services/block-actions.service';\n\nexport function createLoadingLink(): ApolloLink {\n const loadingService = inject(LoadingService);\n const blockActionsService = inject(BlockActionsService);\n\n return new ApolloLink((operation, forward) => {\n const isQuery = operation.query.definitions.some(\n (def: any) =>\n def.kind === 'OperationDefinition' && def.operation === 'query'\n );\n\n if (isQuery) loadingService.show();\n else blockActionsService.block();\n\n const finish = () => {\n if (isQuery) loadingService.hide();\n else blockActionsService.unblock();\n };\n\n return new Observable(observer => {\n const sub = forward(operation).subscribe({\n next: result => observer.next(result),\n error: error => {\n finish();\n observer.error(error);\n },\n complete: () => {\n finish();\n observer.complete();\n },\n });\n\n return () => {\n sub.unsubscribe();\n finish();\n };\n });\n });\n}\n","import { definePreset } from '@primeuix/themes';\nimport Aura from '@primeuix/themes/aura';\n\nexport const PrimeNgPreset = definePreset(Aura, {\n semantic: {\n primary: {\n 50: '{slate.100}',\n 100: '{slate.100}',\n 200: '{slate.200}',\n 300: '{slate.300}',\n 400: '{slate.400}',\n 500: '{slate.700}',\n 600: '{slate.900}',\n 700: '{slate.1000}',\n 800: '{slate.800}',\n 900: '{slate.900}',\n 950: '{slate.950}',\n },\n },\n});\n","import { HttpInterceptorFn } from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { finalize } from 'rxjs/operators';\nimport { LoadingService } from '../../../feedback/loading/services/loading.service';\nimport { BlockActionsService } from '../../../feedback/blocking/services/block-actions.service';\n\nexport const loadingInterceptor: HttpInterceptorFn = (req, next) => {\n const loadingService = inject(LoadingService);\n const blockActionsService = inject(BlockActionsService);\n\n const isGetRequest = req.method === 'GET';\n\n if (isGetRequest) {\n loadingService.show();\n } else {\n blockActionsService.block();\n }\n\n return next(req).pipe(\n finalize(() => {\n if (isGetRequest) {\n loadingService.hide();\n } else {\n blockActionsService.unblock();\n }\n })\n );\n};\n","import { HttpInterceptorFn, HttpErrorResponse } from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { catchError, throwError } from 'rxjs';\nimport { ToastService } from '../../../feedback/toast/services/toast.service';\n\nexport const errorInterceptor: HttpInterceptorFn = (req, next) => {\n const toastService = inject(ToastService);\n\n return next(req).pipe(\n catchError((error: HttpErrorResponse) => {\n let errorMessage = 'An error occurred';\n\n if (error.error instanceof ErrorEvent) {\n errorMessage = error.error.message;\n } else {\n if (error.error?.message) {\n errorMessage = error.error.message;\n } else if (error.message) {\n errorMessage = error.message;\n } else {\n errorMessage = `Error: ${error.status} - ${error.status}`;\n }\n }\n\n toastService.error(errorMessage);\n console.error('HTTP Error:', errorMessage, error);\n\n return throwError(() => error);\n })\n );\n};\n","import { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { BlockActionsService } from '../../services/block-actions.service';\n\n@Component({\n selector: 'cineverse-blocking-overlay',\n imports: [],\n templateUrl: 'blocking-overlay.html',\n styleUrl: 'blocking-overlay.css',\n standalone: true\n})\nexport class BlockingOverlay {\n protected service = inject(BlockActionsService);\n}\n","<div\n class=\"overlay\"\n [class.hide]=\"!service.isBlocked()\">\n <div class=\"flex flex-col items-center gap-3\">\n <div class=\"h-10 w-10 border-4 border-white/30 border-t-white rounded-full animate-spin\"></div>\n </div>\n</div>\n","import { Component, inject } from '@angular/core';\nimport { LoadingService } from '../../services/loading.service';\n\n@Component({\n selector: 'cineverse-loading-overlay',\n templateUrl: 'loading-overlay.html',\n styleUrl: 'loading-overlay.css'\n})\nexport class LoadingOverlay {\n public loadingService = inject(LoadingService);\n}\n","<div class=\"overlay\" [class.hide]=\"!(loadingService.isLoading())\">\n <div class=\"loading-logo\">\n <span class=\"loading-text\">CINEVERSE</span>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { Toast } from '../../models/toast.model';\nimport { NgClass } from '@angular/common';\n\n@Component({\n selector: 'cineverse-toast',\n imports: [\n NgClass\n ],\n templateUrl: 'toast-item.html',\n styleUrl: 'toast-item.css'\n})\nexport class ToastItem {\n @Input() toast!: Toast;\n}\n","<div class=\"toast\" [ngClass]=\"[toast.type, toast.hiding ? 'hide' : '']\">\n <div class=\"toast-icon\" style=\"margin-right: 8px; display: inline-flex; align-items: center;\">\n @switch (toast.type) {\n @case ('error') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 48 48\">\n <circle cx=\"24\" cy=\"24\" r=\"24\" fill=\"#E53935\"/>\n <path d=\"M14 14L34 34M34 14L14 34\" stroke=\"white\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n }\n @case ('info') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 48 48\">\n <circle cx=\"24\" cy=\"24\" r=\"24\" fill=\"#1E88E5\"/>\n <circle cx=\"24\" cy=\"14\" r=\"3\" fill=\"white\"/>\n <rect x=\"21\" y=\"20\" width=\"6\" height=\"16\" rx=\"2\" fill=\"white\"/>\n </svg>\n }\n @case ('success') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 48 48\">\n <circle cx=\"24\" cy=\"24\" r=\"24\" fill=\"#43A047\"/>\n <path d=\"M14 24L20 30L34 16\" stroke=\"white\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"/>\n </svg>\n }\n @case ('warning') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 48 48\">\n <circle cx=\"24\" cy=\"24\" r=\"24\" fill=\"#FB8C00\"/>\n <path d=\"M24 12V28\" stroke=\"white\" stroke-width=\"4\" stroke-linecap=\"round\"/>\n <circle cx=\"24\" cy=\"35\" r=\"2.5\" fill=\"white\"/>\n </svg>\n }\n }\n </div>\n\n <span>{{ toast.message }}</span>\n</div>\n","import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToastService } from '../../services/toast.service';\nimport { ToastItem } from '../toast-item/toast-item';\n\n@Component({\n selector: 'cineverse-toast-container',\n imports: [\n ToastItem,\n CommonModule\n ],\n templateUrl: 'toast-container.html',\n styleUrl: 'toast-container.css',\n standalone: true\n})\nexport class ToastContainer {\n public toastService = inject(ToastService);\n}\n","<div class=\"toast-container\">\n @for (toast of toastService.toasts$(); track toast.id) {\n <cineverse-toast [toast]=\"toast\"></cineverse-toast>\n }\n</div>\n","export const identityBasePath = '/identity';\n\nexport function isOnIdentityService(): boolean {\n return window.location.pathname.startsWith(identityBasePath);\n}\n\nexport function isIdentityRoute(path: string): boolean {\n return path.startsWith(identityBasePath);\n}\n\nexport function needsFullPageReload(targetPath: string): boolean {\n const currentIsIdentity = isOnIdentityService();\n const targetIsIdentity = isIdentityRoute(targetPath);\n\n return currentIsIdentity !== targetIsIdentity;\n}\n","import { inject, Injectable } from '@angular/core';\nimport { NavigationExtras, Params, Router } from '@angular/router';\nimport { identityBasePath, needsFullPageReload } from '../utils/router.utils';\n\n@Injectable({ providedIn: 'root' })\nexport class RouterHelper {\n private router = inject(Router);\n\n navigate(path: string, extras?: NavigationExtras): void {\n if (needsFullPageReload(path)) {\n window.location.href = this.buildUrlWithParams(path, extras?.queryParams);\n } else {\n this.router.navigate([path], extras).then();\n }\n }\n\n navigateToIdentity(path: string, extras?: NavigationExtras): void {\n const cleanPath = path.startsWith('/')\n ? path\n : `/${path}`;\n\n window.location.href = this.buildUrlWithParams(\n `${identityBasePath}${cleanPath}`,\n extras?.queryParams\n );\n }\n\n\n navigateToCineverse(path: string, extras?: NavigationExtras): void {\n if (needsFullPageReload(path)) {\n window.location.href = this.buildUrlWithParams(path, extras?.queryParams);\n } else {\n this.router.navigate([path], extras).then();\n }\n }\n\n private buildUrlWithParams(path: string, queryParams?: Params | null): string {\n if (!queryParams || Object.keys(queryParams).length === 0) {\n return path;\n }\n\n const params = new URLSearchParams();\n Object.entries(queryParams).forEach(([key, value]) => {\n if (value != null) {\n params.append(key, String(value));\n }\n });\n\n const queryString = params.toString();\n return queryString ? `${path}?${queryString}` : path;\n }\n}\n","import { Component, HostListener, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterHelper } from '../../shared/helpers/router.helper';\n\n@Component({\n selector: 'cineverse-header',\n standalone: true,\n imports: [CommonModule],\n templateUrl: 'header.html',\n styleUrls: ['header.css']\n})\n\nexport class Header {\n private routerHelper = inject(RouterHelper);\n isMenuOpen = false;\n\n toggleMenu(event: Event) {\n event.stopPropagation();\n this.isMenuOpen = !this.isMenuOpen;\n }\n\n closeMenu() {\n this.isMenuOpen = false;\n }\n\n @HostListener('document:click', ['$event'])\n onClick(event: Event) {\n if (!(event.target as Element).closest('.menu') &&\n !(event.target as Element).closest('.menu-icon')) {\n this.isMenuOpen = false;\n }\n }\n\n protected navigate(path: string) {\n this.routerHelper.navigate(path);\n this.closeMenu();\n }\n}\n","<div class=\"wrapper\">\n <header>\n <nav>\n <div class=\"logo-wrapper\">\n <a (click)=\"navigate('/')\" class=\"logo\">\n CINEVERSE\n </a>\n </div>\n <div class=\"menu-icon\" (click)=\"toggleMenu($event)\">\n <i class=\"pi pi-bars fa-2x\"></i>\n </div>\n <ul [class.showing]=\"isMenuOpen\">\n <li><a (click)=\"navigate('/')\">Home</a></li>\n <li><a (click)=\"navigate('/movies')\">Movies</a></li>\n <li><a (click)=\"navigate('/contact')\">Contact</a></li>\n <li><a (click)=\"navigate('/about')\">About</a></li>\n <li><a (click)=\"navigate('/identity/profile')\">Profile</a></li>\n </ul>\n </nav>\n </header>\n</div>\n","import { Component, inject } from '@angular/core';\nimport { RouterHelper } from '../../shared/helpers/router.helper';\n\n@Component({\n selector: 'cineverse-footer',\n imports: [],\n templateUrl: './footer.html',\n styleUrl: './footer.css',\n})\nexport class Footer {\n private routerHelper = inject(RouterHelper);\n\n protected navigate(path: string) {\n this.routerHelper.navigate(path);\n }\n}\n","<footer class=\"site-footer\">\n <div class=\"container\">\n <div class=\"footer-content\">\n\n <div class=\"footer-column\">\n <h3 class=\"footer-title\">Quick Links</h3>\n <ul class=\"footer-links\">\n <li><a (click)=\"navigate('/')\"><i class=\"pi pi-chevron-right\"></i> Home</a></li>\n <li><a (click)=\"navigate('/movies')\"><i class=\"pi pi-chevron-right\"></i> Movies</a></li>\n <li><a (click)=\"navigate('/contact')\"><i class=\"pi pi-chevron-right\"></i> Contact Us</a></li>\n <li><a (click)=\"navigate('/about')\"><i class=\"pi pi-chevron-right\"></i> About</a></li>\n <li><a (click)=\"navigate('/identity/profile')\"><i class=\"pi pi-chevron-right\"></i> Profile</a></li>\n </ul>\n </div>\n\n <div id=\"contact-us\" class=\"footer-column\">\n <h3 class=\"footer-title\">Contact Us</h3>\n <ul class=\"footer-contacts\">\n <li><i class=\"pi pi-map-marker\"></i> Chisinau str. Vasile Alecsandri 32</li>\n <li><i class=\"pi pi-phone\"></i> +373 69-077-251</li>\n <li><i class=\"pi pi-envelope\"></i> info&#64;cineverse.com</li>\n <li><i class=\"pi pi-clock\"></i> Mon-Mon: 9AM - 10PM</li>\n </ul>\n </div>\n\n <div class=\"footer-column\">\n <h3 class=\"footer-title\">Stay Connected</h3>\n <p class=\"footer-text\">Subscribe to our newsletter for the latest updates</p>\n <form class=\"newsletter-form\">\n <input type=\"email\" placeholder=\"Your Email\" required>\n <button type=\"submit\"><i class=\"pi pi-bell\"></i></button>\n </form>\n <div class=\"social-links\">\n <a href=\"https://www.instagram.com/darkf_nn?igsh=MXBwNGplYm85aHcxeA==\"><i class=\"pi pi-instagram\"></i></a>\n <a href=\"https://www.linkedin.com/in/vlad-timbal-511769296/\"><i class=\"pi pi-linkedin\"></i></a>\n <a href=\"https://github.com/DARK6870\"><i class=\"pi pi-github\"></i></a>\n </div>\n </div>\n </div>\n\n <div class=\"footer-bottom\">\n <p>&copy; 2025 Cineverse. All Rights Reserved.</p>\n <div class=\"legal-links\">\n <a href=\"#\">Privacy Policy</a>\n <a href=\"#\">Terms of Service</a>\n <a href=\"#\">Cookies</a>\n </div>\n </div>\n </div>\n</footer>\n","export function formatDate(stringDate: string): string {\n if (!stringDate) return '';\n const date = new Date(stringDate);\n return date.toLocaleDateString('en-US', {\n day: 'numeric',\n month: 'long',\n });\n}\n","import { AbstractControl } from '@angular/forms';\n\nexport function getValidationError(control: AbstractControl | null): string | null {\n if (!control || !control.errors) return null;\n\n if (!(control.touched || control.dirty)) return null;\n\n const errorMessages: Record<string, (error: any) => string> = {\n required: () => `This field is required`,\n email: () => `Please enter a valid email`,\n minlength: (err) => `Minimum length is ${err.requiredLength} characters`,\n maxlength: (err) => `Maximum length is ${err.requiredLength} characters`,\n pattern: () => `Invalid format`,\n passwordMismatch: () => `Passwords do not match`\n };\n\n for (const errorName in control.errors) {\n if (errorMessages[errorName]) {\n return errorMessages[errorName](control.errors[errorName]);\n }\n }\n\n return null;\n}\n","/*\n * Public API Surface of infrastructure-common\n */\n\n// integrations\nexport * from './lib/integrations/apollo/links/error.link';\nexport * from './lib/integrations/apollo/links/loading.link';\n\nexport * from './lib/integrations/primeNG/PrimeNgPreset';\n\nexport * from './lib/integrations/http/interceptors/loading.interceptor';\nexport * from './lib/integrations/http/interceptors/error.interceptor';\n\n// feedback\nexport * from './lib/feedback/blocking/components/blocking-overlay/blocking-overlay';\nexport * from './lib/feedback/blocking/services/block-actions.service';\n\nexport * from './lib/feedback/loading/components/loading-overlay/loading-overlay';\nexport * from './lib/feedback/loading/services/loading.service';\n\nexport * from './lib/feedback/toast/components/toast-container/toast-container';\nexport * from './lib/feedback/toast/components/toast-item/toast-item';\nexport * from './lib/feedback/toast/services/toast.service';\n\n// layout\nexport * from './lib/layout/header/header';\nexport * from './lib/layout/footer/footer';\n\n// shared\nexport * from './lib/shared/utils/date.utils';\nexport * from './lib/shared/utils/router.utils';\nexport * from './lib/shared/helpers/validation.helper';\nexport * from './lib/shared/helpers/router.helper';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;MAIa,YAAY,CAAA;IACf,MAAM,GAAa,EAAE;AACrB,IAAA,OAAO,GAAG,MAAM,CAAU,EAAE,mDAAC;AAC9B,IAAA,OAAO,GAAG,IAAI,CAAC,OAAO;AAErB,IAAA,IAAI,CAAC,OAAe,EAAE,IAAA,GAAkB,MAAM,EAAA;AACpD,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;AACrB,QAAA,MAAM,KAAK,GAAU;YACnB,EAAE;YACF,OAAO;YACP;SACD;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,WAAW,EAAE;QACpB;IACF;IAEQ,WAAW,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAG;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AAEzB,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;IAC/C;AAEA,IAAA,OAAO,CAAC,OAAe,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;IAC/B;AAEA,IAAA,KAAK,CAAC,OAAe,EAAA;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;IAC7B;AAEA,IAAA,IAAI,CAAC,OAAe,EAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;IAC5B;AAEA,IAAA,OAAO,CAAC,OAAe,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;IAC/B;AAEA,IAAA,MAAM,CAAC,EAAU,EAAA;AACf,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IACtB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CACxD;QAED,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,EAAE;QACpB,CAAC,EAAE,GAAG,CAAC;IACT;uGArDW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cADC,MAAM,EAAA,CAAA;;2FACnB,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACClC;SACgB,eAAe,GAAA;AAC7B,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAEzC,OAAO,IAAI,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,KAAI;AACjC,QAAA,IAAI,KAAK,CAAC,OAAO,EAAE;AACf,YAAA,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;QACxD;AACF,IAAA,CAAC,CAAC;AACJ;;MCXa,cAAc,CAAA;IACjB,eAAe,GAAG,CAAC;AAClB,IAAA,SAAS,GAAG,MAAM,CAAC,KAAK,qDAAC;IAE3B,IAAI,GAAA;QACT,IAAI,CAAC,eAAe,EAAE;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;IAC1B;IAEO,IAAI,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,EAAE;YAC7B,IAAI,CAAC,KAAK,EAAE;QACd;QAEA,IAAI,CAAC,eAAe,EAAE;IACxB;IAEO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC;AACxB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3B;uGApBW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAd,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cADD,MAAM,EAAA,CAAA;;2FACnB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCCrB,mBAAmB,CAAA;AACtB,IAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,oDAAC;IAEvB,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;IAE7C,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;IACzB;IAEO,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1B;uGAXW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cADP,MAAM,EAAA,CAAA;;2FAClB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;SCGhB,iBAAiB,GAAA;AAC/B,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAC7C,IAAA,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;IAEvD,OAAO,IAAI,UAAU,CAAC,CAAC,SAAS,EAAE,OAAO,KAAI;QAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAC9C,CAAC,GAAQ,KACP,GAAG,CAAC,IAAI,KAAK,qBAAqB,IAAI,GAAG,CAAC,SAAS,KAAK,OAAO,CAClE;AAED,QAAA,IAAI,OAAO;YAAE,cAAc,CAAC,IAAI,EAAE;;YAC7B,mBAAmB,CAAC,KAAK,EAAE;QAEhC,MAAM,MAAM,GAAG,MAAK;AAClB,YAAA,IAAI,OAAO;gBAAE,cAAc,CAAC,IAAI,EAAE;;gBAC7B,mBAAmB,CAAC,OAAO,EAAE;AACpC,QAAA,CAAC;AAED,QAAA,OAAO,IAAI,UAAU,CAAC,QAAQ,IAAG;YAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;gBACvC,IAAI,EAAE,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;gBACrC,KAAK,EAAE,KAAK,IAAG;AACb,oBAAA,MAAM,EAAE;AACR,oBAAA,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;gBACvB,CAAC;gBACD,QAAQ,EAAE,MAAK;AACb,oBAAA,MAAM,EAAE;oBACR,QAAQ,CAAC,QAAQ,EAAE;gBACrB,CAAC;AACF,aAAA,CAAC;AAEF,YAAA,OAAO,MAAK;gBACV,GAAG,CAAC,WAAW,EAAE;AACjB,gBAAA,MAAM,EAAE;AACV,YAAA,CAAC;AACH,QAAA,CAAC,CAAC;AACJ,IAAA,CAAC,CAAC;AACJ;;ACvCO,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,EAAE;AAC9C,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,EAAE,EAAE,aAAa;AACjB,YAAA,GAAG,EAAE,aAAa;AAClB,YAAA,GAAG,EAAE,aAAa;AAClB,YAAA,GAAG,EAAE,aAAa;AAClB,YAAA,GAAG,EAAE,aAAa;AAClB,YAAA,GAAG,EAAE,aAAa;AAClB,YAAA,GAAG,EAAE,aAAa;AAClB,YAAA,GAAG,EAAE,cAAc;AACnB,YAAA,GAAG,EAAE,aAAa;AAClB,YAAA,GAAG,EAAE,aAAa;AAClB,YAAA,GAAG,EAAE,aAAa;AACnB,SAAA;AACF,KAAA;AACF,CAAA;;MCbY,kBAAkB,GAAsB,CAAC,GAAG,EAAE,IAAI,KAAI;AACjE,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAC7C,IAAA,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAEvD,IAAA,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,KAAK,KAAK;IAEzC,IAAI,YAAY,EAAE;QAChB,cAAc,CAAC,IAAI,EAAE;IACvB;SAAO;QACL,mBAAmB,CAAC,KAAK,EAAE;IAC7B;IAEA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CACnB,QAAQ,CAAC,MAAK;QACZ,IAAI,YAAY,EAAE;YAChB,cAAc,CAAC,IAAI,EAAE;QACvB;aAAO;YACL,mBAAmB,CAAC,OAAO,EAAE;QAC/B;IACF,CAAC,CAAC,CACH;AACH;;MCtBa,gBAAgB,GAAsB,CAAC,GAAG,EAAE,IAAI,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AAEzC,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CACnB,UAAU,CAAC,CAAC,KAAwB,KAAI;QACtC,IAAI,YAAY,GAAG,mBAAmB;AAEtC,QAAA,IAAI,KAAK,CAAC,KAAK,YAAY,UAAU,EAAE;AACrC,YAAA,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO;QACpC;aAAO;AACL,YAAA,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE;AACxB,gBAAA,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO;YACpC;AAAO,iBAAA,IAAI,KAAK,CAAC,OAAO,EAAE;AACxB,gBAAA,YAAY,GAAG,KAAK,CAAC,OAAO;YAC9B;iBAAO;gBACL,YAAY,GAAG,CAAA,OAAA,EAAU,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,MAAM,CAAA,CAAE;YAC3D;QACF;AAEA,QAAA,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC;AAEjD,QAAA,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC;IAChC,CAAC,CAAC,CACH;AACH;;MCpBa,eAAe,CAAA;AAChB,IAAA,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC;uGADpC,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,sFCV5B,oPAOA,EAAA,MAAA,EAAA,CAAA,gYAAA,CAAA,EAAA,CAAA;;2FDGa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;+BACE,4BAA4B,EAAA,OAAA,EAC7B,EAAE,EAAA,UAAA,EAGC,IAAI,EAAA,QAAA,EAAA,oPAAA,EAAA,MAAA,EAAA,CAAA,gYAAA,CAAA,EAAA;;;MEAL,cAAc,CAAA;AAClB,IAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;uGADnC,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,qFCR3B,+KAKA,EAAA,MAAA,EAAA,CAAA,meAAA,CAAA,EAAA,CAAA;;2FDGa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACE,2BAA2B,EAAA,QAAA,EAAA,+KAAA,EAAA,MAAA,EAAA,CAAA,meAAA,CAAA,EAAA;;;MEQ1B,SAAS,CAAA;AACX,IAAA,KAAK;uGADH,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZtB,2jDAkCA,EAAA,MAAA,EAAA,CAAA,2dAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED3BI,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAKE,SAAS,EAAA,UAAA,EAAA,CAAA;kBARrB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,OAAA,EAClB;wBACP;AACD,qBAAA,EAAA,QAAA,EAAA,2jDAAA,EAAA,MAAA,EAAA,CAAA,2dAAA,CAAA,EAAA;;sBAKA;;;MEEU,cAAc,CAAA;AAClB,IAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;uGAD/B,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECf3B,uKAKA,EAAA,MAAA,EAAA,CAAA,uMAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDGI,SAAS,8EACT,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAMH,cAAc,EAAA,UAAA,EAAA,CAAA;kBAV1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAAA,OAAA,EAC5B;wBACP,SAAS;wBACT;AACD,qBAAA,EAAA,UAAA,EAGW,IAAI,EAAA,QAAA,EAAA,uKAAA,EAAA,MAAA,EAAA,CAAA,uMAAA,CAAA,EAAA;;;AEbX,MAAM,gBAAgB,GAAG;SAEhB,mBAAmB,GAAA;IACjC,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;AAC9D;AAEM,SAAU,eAAe,CAAC,IAAY,EAAA;AAC1C,IAAA,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;AAC1C;AAEM,SAAU,mBAAmB,CAAC,UAAkB,EAAA;AACpD,IAAA,MAAM,iBAAiB,GAAG,mBAAmB,EAAE;AAC/C,IAAA,MAAM,gBAAgB,GAAG,eAAe,CAAC,UAAU,CAAC;IAEpD,OAAO,iBAAiB,KAAK,gBAAgB;AAC/C;;MCVa,YAAY,CAAA;AACf,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE/B,QAAQ,CAAC,IAAY,EAAE,MAAyB,EAAA;AAC9C,QAAA,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE;AAC7B,YAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC;QAC3E;aAAO;AACL,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE;QAC7C;IACF;IAEA,kBAAkB,CAAC,IAAY,EAAE,MAAyB,EAAA;AACxD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG;AACnC,cAAE;AACF,cAAE,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE;AAEd,QAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAC5C,GAAG,gBAAgB,CAAA,EAAG,SAAS,CAAA,CAAE,EACjC,MAAM,EAAE,WAAW,CACpB;IACH;IAGA,mBAAmB,CAAC,IAAY,EAAE,MAAyB,EAAA;AACzD,QAAA,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE;AAC7B,YAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC;QAC3E;aAAO;AACL,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE;QAC7C;IACF;IAEQ,kBAAkB,CAAC,IAAY,EAAE,WAA2B,EAAA;AAClE,QAAA,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AACzD,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE;AACpC,QAAA,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AACnD,YAAA,IAAI,KAAK,IAAI,IAAI,EAAE;gBACjB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACnC;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE;AACrC,QAAA,OAAO,WAAW,GAAG,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,WAAW,CAAA,CAAE,GAAG,IAAI;IACtD;uGA7CW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cADC,MAAM,EAAA,CAAA;;2FACnB,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCQrB,MAAM,CAAA;AACT,IAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC3C,UAAU,GAAG,KAAK;AAElB,IAAA,UAAU,CAAC,KAAY,EAAA;QACrB,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU;IACpC;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;IACzB;AAGA,IAAA,OAAO,CAAC,KAAY,EAAA;QAClB,IAAI,CAAE,KAAK,CAAC,MAAkB,CAAC,OAAO,CAAC,OAAO,CAAC;YAC7C,CAAE,KAAK,CAAC,MAAkB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AAClD,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QACzB;IACF;AAEU,IAAA,QAAQ,CAAC,IAAY,EAAA;AAC7B,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,SAAS,EAAE;IAClB;uGAxBW,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAN,MAAM,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZnB,mtBAqBA,EAAA,MAAA,EAAA,CAAA,k1CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDdY,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAKX,MAAM,EAAA,UAAA,EAAA,CAAA;kBARlB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,UAAA,EAChB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,mtBAAA,EAAA,MAAA,EAAA,CAAA,k1CAAA,CAAA,EAAA;;sBAkBtB,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;;MEhB/B,MAAM,CAAA;AACT,IAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AAEjC,IAAA,QAAQ,CAAC,IAAY,EAAA;AAC7B,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;IAClC;uGALW,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAN,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAM,4ECTnB,0yEAkDA,EAAA,MAAA,EAAA,CAAA,2gEAAA,CAAA,EAAA,CAAA;;2FDzCa,MAAM,EAAA,UAAA,EAAA,CAAA;kBANlB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,WACnB,EAAE,EAAA,QAAA,EAAA,0yEAAA,EAAA,MAAA,EAAA,CAAA,2gEAAA,CAAA,EAAA;;;AELP,SAAU,UAAU,CAAC,UAAkB,EAAA;AAC3C,IAAA,IAAI,CAAC,UAAU;AAAE,QAAA,OAAO,EAAE;AAC1B,IAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC;AACjC,IAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;AACtC,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,KAAK,EAAE,MAAM;AACd,KAAA,CAAC;AACJ;;ACLM,SAAU,kBAAkB,CAAC,OAA+B,EAAA;AAChE,IAAA,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;AAAE,QAAA,OAAO,IAAI;IAE5C,IAAI,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,IAAI;AAEpD,IAAA,MAAM,aAAa,GAA2C;AAC5D,QAAA,QAAQ,EAAE,MAAM,CAAA,sBAAA,CAAwB;AACxC,QAAA,KAAK,EAAE,MAAM,CAAA,0BAAA,CAA4B;QACzC,SAAS,EAAE,CAAC,GAAG,KAAK,CAAA,kBAAA,EAAqB,GAAG,CAAC,cAAc,CAAA,WAAA,CAAa;QACxE,SAAS,EAAE,CAAC,GAAG,KAAK,CAAA,kBAAA,EAAqB,GAAG,CAAC,cAAc,CAAA,WAAA,CAAa;AACxE,QAAA,OAAO,EAAE,MAAM,CAAA,cAAA,CAAgB;AAC/B,QAAA,gBAAgB,EAAE,MAAM,CAAA,sBAAA;KACzB;AAED,IAAA,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE;AACtC,QAAA,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE;AAC5B,YAAA,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5D;IACF;AAEA,IAAA,OAAO,IAAI;AACb;;ACvBA;;AAEG;AAEH;;ACJA;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cineverse/infrastructure-common",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.6",
6
6
  "@angular/core": "^21.0.6",
@@ -119,9 +119,4 @@ declare class RouterHelper {
119
119
  static ɵprov: i0.ɵɵInjectableDeclaration<RouterHelper>;
120
120
  }
121
121
 
122
- declare class NotFound {
123
- static ɵfac: i0.ɵɵFactoryDeclaration<NotFound, never>;
124
- static ɵcmp: i0.ɵɵComponentDeclaration<NotFound, "lib-not-found", never, {}, {}, never, never, true, never>;
125
- }
126
-
127
- export { BlockActionsService, BlockingOverlay, Footer, Header, LoadingOverlay, LoadingService, NotFound, PrimeNgPreset, RouterHelper, ToastContainer, ToastItem, ToastService, createErrorLink, createLoadingLink, errorInterceptor, formatDate, getValidationError, identityBasePath, isIdentityRoute, isOnIdentityService, loadingInterceptor, needsFullPageReload };
122
+ export { BlockActionsService, BlockingOverlay, Footer, Header, LoadingOverlay, LoadingService, PrimeNgPreset, RouterHelper, ToastContainer, ToastItem, ToastService, createErrorLink, createLoadingLink, errorInterceptor, formatDate, getValidationError, identityBasePath, isIdentityRoute, isOnIdentityService, loadingInterceptor, needsFullPageReload };