@unipin/angular-applet 21.5.0 → 21.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/unipin-angular-applet-accordion.mjs +12 -12
- package/fesm2022/unipin-angular-applet-accordion.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-alert-dialog.mjs +6 -6
- package/fesm2022/unipin-angular-applet-alert-dialog.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-alert.mjs +9 -9
- package/fesm2022/unipin-angular-applet-alert.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-approval.mjs +119 -10
- package/fesm2022/unipin-angular-applet-approval.mjs.map +1 -1
- package/fesm2022/{unipin-angular-applet-audit-audit-modal.component-Y61VDaze.mjs → unipin-angular-applet-audit-audit-modal.component-BYf0y6cO.mjs} +4 -4
- package/fesm2022/{unipin-angular-applet-audit-audit-modal.component-Y61VDaze.mjs.map → unipin-angular-applet-audit-audit-modal.component-BYf0y6cO.mjs.map} +1 -1
- package/fesm2022/unipin-angular-applet-audit.mjs +7 -7
- package/fesm2022/unipin-angular-applet-audit.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-auth.mjs +21 -21
- package/fesm2022/unipin-angular-applet-auth.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-avatar.mjs +3 -3
- package/fesm2022/unipin-angular-applet-avatar.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-badge.mjs +3 -3
- package/fesm2022/unipin-angular-applet-badge.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-buttons.mjs +6 -6
- package/fesm2022/unipin-angular-applet-buttons.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-calendar.mjs +12 -12
- package/fesm2022/unipin-angular-applet-calendar.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-collapsible.mjs +9 -9
- package/fesm2022/unipin-angular-applet-collapsible.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-common.mjs +24 -24
- package/fesm2022/unipin-angular-applet-common.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-containers.mjs +12 -12
- package/fesm2022/unipin-angular-applet-containers.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-dialog.mjs +21 -21
- package/fesm2022/unipin-angular-applet-dialog.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-forms.mjs +165 -107
- package/fesm2022/unipin-angular-applet-forms.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-froala.mjs +3 -3
- package/fesm2022/unipin-angular-applet-froala.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-grids.mjs +20 -14
- package/fesm2022/unipin-angular-applet-grids.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-infinite-scroll.mjs +3 -3
- package/fesm2022/unipin-angular-applet-infinite-scroll.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-json-viewer.mjs +3 -3
- package/fesm2022/unipin-angular-applet-json-viewer.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-kbd.mjs +3 -3
- package/fesm2022/unipin-angular-applet-kbd.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-loading-dialog.mjs +6 -6
- package/fesm2022/unipin-angular-applet-loading-dialog.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-markdown.mjs +13 -10
- package/fesm2022/unipin-angular-applet-markdown.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-popover.mjs +15 -15
- package/fesm2022/unipin-angular-applet-popover.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-progress-bar.mjs +3 -3
- package/fesm2022/unipin-angular-applet-progress-bar.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-skeleton.mjs +3 -3
- package/fesm2022/unipin-angular-applet-skeleton.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-spinner.mjs +3 -3
- package/fesm2022/unipin-angular-applet-spinner.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-stepper.mjs +6 -6
- package/fesm2022/unipin-angular-applet-stepper.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-swipeable.mjs +12 -12
- package/fesm2022/unipin-angular-applet-swipeable.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-tabs.mjs +9 -9
- package/fesm2022/unipin-angular-applet-tabs.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-tooltip.mjs +3 -3
- package/fesm2022/unipin-angular-applet-tooltip.mjs.map +1 -1
- package/package.json +1 -1
- package/types/unipin-angular-applet-approval.d.ts +42 -11
- package/types/unipin-angular-applet-forms.d.ts +27 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unipin-angular-applet-containers.mjs","sources":["../../../projects/unipin-angular/containers/column-container/directives/lazy-route.directive.ts","../../../projects/unipin-angular/containers/applet-container/utils/provide-applet-config/provide-applet-config.util.ts","../../../projects/unipin-angular/containers/applet-container/utils/redirect-to-first-menu/redirect-to-first-menu.util.ts","../../../projects/unipin-angular/containers/applet-container/components/applet-container.component.ts","../../../projects/unipin-angular/containers/applet-container/components/applet-container.component.html","../../../projects/unipin-angular/containers/column-container/column-container.component.ts","../../../projects/unipin-angular/containers/content-container/content-container.component.ts","../../../projects/unipin-angular/containers/unipin-angular-applet-containers.ts"],"sourcesContent":["import { ComponentRef, Directive, OnInit, ViewContainerRef, inject, DestroyRef, input, reflectComponentType, ComponentMirror } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, NavigationEnd, Router, Route } from '@angular/router';\nimport { distinctUntilChanged, filter, isObservable, firstValueFrom } from 'rxjs';\n\n\n@Directive({\n exportAs: 'upLoadRoute',\n selector: '[upLoadRoute]'\n})\nexport class UpLazyRouteDirective implements OnInit {\n \n protected readonly router = inject(Router);\n protected readonly vcr = inject(ViewContainerRef);\n protected readonly route = inject(ActivatedRoute);\n protected readonly destroyRef = inject(DestroyRef);\n\n /**\n * Accepts a route config object containing `loadComponent`.\n */\n public readonly loadRoute = input.required<Pick<Route, 'loadComponent'>>();\n\n /**\n * Lifecycle hook that is called after the directive's data-bound properties have been initialized.\n * Dynamically loads the component using the `loadComponent` method and creates it within the directive's view container.\n */\n public ngOnInit(): void{\n if (!this.loadRoute().loadComponent) return;\n\n const result = this.loadRoute().loadComponent!();\n const load = isObservable(result)? firstValueFrom(result) : Promise.resolve(result);\n\n load.then(\n (m: any) => {\n const cmp = m.default?? m;\n \n const cr = this.vcr.createComponent(cmp);\n const mirror = reflectComponentType(cmp);\n \n this.setInput(cr, mirror);\n this.router.events.pipe(\n filter(\n (e): e is NavigationEnd => e instanceof NavigationEnd\n ),\n distinctUntilChanged(\n (prev, curr) => {\n return prev.urlAfterRedirects.split('#')[0] === curr.urlAfterRedirects.split('#')[0];\n }\n ),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe({\n next: () => this.setInput(cr, mirror)\n });\n }\n );\n }\n\n /**\n * Method to manually set Input to the child component, because component created by ViewContainerRef won't accept the input from route param directly.\n * @param { ComponentRef<any> } cr\n */\n protected setInput(cr: ComponentRef<any>, mirror: ComponentMirror<unknown> | null): void{\n const params = this.route.firstChild?.snapshot.params ?? {};\n\n if (Object.keys(params).length === 0) {\n return;\n }\n\n for (const key of Object.keys(params)) {\n if (key in cr.instance) {\n cr.setInput(key, params[key]);\n continue;\n }\n\n if (mirror) {\n const match = mirror.inputs.find(\n (i) => i.templateName === key\n );\n \n if (match) {\n cr.setInput(match.templateName, params[key]);\n }\n }\n }\n }\n}\n","import { InjectionToken, Provider } from '@angular/core';\nimport { AppletConfig } from '../../types/applet-config.type';\n\nexport const APPLET_CONFIG = new InjectionToken<AppletConfig>('APPLET_CONFIG');\n\nexport function provideAppletConfig(config: AppletConfig): Provider{\n \n return { \n provide: APPLET_CONFIG, \n useValue: config \n };\n}\n","import { forwardRef, inject } from '@angular/core';\nimport { RedirectFunction } from '@angular/router';\nimport { PermissionService } from '@unipin/angular-applet/auth';\nimport { AppletConfig } from '../../types/applet-config.type';\nimport { APPLET_CONFIG } from '../provide-applet-config/provide-applet-config.util';\n\n/**\n * Redirects the user to their first accessible menu route based on permissions.\n * @returns {RedirectFunction} The first allowed route\n */\nexport function redirectToFirstMenu(): ReturnType<RedirectFunction>{\n \n const { has } = inject(PermissionService);\n const { containers } = inject<AppletConfig>(\n () => forwardRef(() => APPLET_CONFIG)\n );\n\n const firstMenu = containers.find(\n ({ permissions }) => {\n if (!permissions) return true;\n\n const { codes, aggregator } = permissions;\n return codes[aggregator === 'AND'? 'every' : 'some']((code) => has(code));\n }\n );\n return firstMenu?.path?? containers[0].path;\n}\n","import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { matChevronRightRound, matSettingsRound } from '@ng-icons/material-icons/round';\nimport { PermissionService } from '@unipin/angular-applet/auth';\nimport { UpButtonDirective } from '@unipin/angular-applet/buttons';\nimport { AppletConfig } from '../types/applet-config.type';\nimport { APPLET_CONFIG } from '../utils/provide-applet-config/provide-applet-config.util';\n\n\n@Component({\n selector: 'up-applet-container',\n templateUrl: './applet-container.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'flex size-full'\n },\n imports: [\n NgIcon,\n RouterLink,\n RouterLinkActive,\n UpButtonDirective,\n ],\n providers: [\n provideIcons(\n { \n matChevronRightRound, \n matSettingsRound \n }\n )\n ]\n})\nexport class AppletContainerComponent {\n\n public readonly config: AppletConfig = inject<AppletConfig>(APPLET_CONFIG); \n\n /**\n * A flag variable that used to control sidebar. When set the the value to true, the component will open the sidebar.\n * when set the value to false, the component will close the sidebar.\n * @type {boolean}\n */\n public readonly isExpanded = signal<boolean>(false);\n\n /**\n * A flag variable for indicates whether the sidebar menu is active or not in mobile view.\n * When set false the sidebar menu will be hidden\n * @type {boolean[]}\n */\n public readonly isMenuActive = signal<boolean>(false);\n\n /**\n * A flag variable that used to control sidebar menu. When set value to true, the component will hide the sidebar menu.\n * When set false, the component will show the sidebar menu.\n * @type {boolean[]}\n */\n public readonly isHidden = signal<boolean[]>(Array(this.config.containers.length).fill(true));\n\n constructor(\n protected readonly permissionService: PermissionService\n ) {\n this.isHidden.set(\n this.config.containers.map(\n ({ permissions }) => {\n if (!permissions) return false;\n \n if (permissions.aggregator === 'AND') {\n return !permissions.codes.every((code) => this.permissionService.has(code));\n }\n return !permissions.codes.some((code) => this.permissionService.has(code));\n }\n )\n );\n }\n\n /**\n * When the method is called, it will change the value of isExpanded to its opposite value. \n * If isExpanded is currently true, it will be set to false, and if it is currently false, it will be set to true. \n * This method is typically used to toggle the visibility of a side navigation menu.\n */\n public toggleSidenav(): void{\n this.isExpanded.update((v) => !v);\n }\n\n /**\n * Handles menu selection by dispatching a custom event.\n * This method is called when a sidebar menu item is selected.\n * It dispatches a custom 'menuEvent' with detail indicating the menu is inactive.\n * This event is typically used to close the sidebar menu.\n */\n public selectMenu(): void{\n dispatchEvent(\n new CustomEvent(\n 'menuEvent', \n { \n detail: { \n isActive: false \n } \n }\n )\n );\n }\n}\n","<nav \n class=\"shrink-0 h-full group flex flex-col transition-all ease-in-out border-r border-border max-md:w-0 max-md:z-10 max-md:absolute [&.expanded]:w-60\"\n [class.show]=\"isMenuActive()\"\n [class.expanded]=\"isExpanded()\"\n>\n <div class=\"shrink-0 p-2 border-b border-border flex items-center gap-2 relative\">\n <img \n class=\"rounded size-9 shrink-0\" \n [alt]=\"config.name\"\n [src]=\"config.icon\" \n />\n\n <div class=\"hidden group-[.expanded]:flex grow flex-col gap-0.5 select-none\">\n <div class=\"font-medium line-clamp-1 text-sm\">{{ config.name }}</div>\n \n <div class=\"text-muted-foreground font-medium text-xs\">\n v{{ config.version }}\n </div>\n </div>\n\n <button \n upButton\n size=\"icon\"\n variant=\"outline\"\n class=\"rounded-full absolute -right-5\"\n (click)=\"toggleSidenav()\"\n >\n <ng-icon \n size=\"18\" \n name=\"matChevronRightRound\" \n class=\"group-[.expanded]:rotate-180 transition-all ease-in-out\"\n />\n </button>\n </div>\n\n <div class=\"grow overflow-y-auto p-2 flex flex-col gap-1\">\n @for (c of config.containers; track $index) {\n <a \n upButton\n variant=\"ghost\"\n routerLinkActive=\"font-medium\"\n class=\"group-[.expanded]:w-full group-[.expanded]:justify-start\"\n [routerLink]=\"c.path\"\n [size]=\"!isExpanded()? 'icon' : 'default'\"\n (click)=\"selectMenu()\"\n >\n <ng-icon \n size=\"18\" \n [name]=\"c.icon\" \n />\n \n <span class=\"line-clamp-1 hidden group-[.expanded]:block\">\n {{ c.label }}\n </span>\n </a>\n }\n </div>\n\n @if (config.enabledSetting) {\n <div class=\"shrink-0 p-2 border-t border-border\">\n <a \n upButton\n variant=\"ghost\"\n routerLink=\"setting\" \n routerLinkActive=\"font-medium\"\n class=\"group-[.expanded]:w-full group-[.expanded]:justify-start\"\n [size]=\"!isExpanded()? 'icon' : 'default'\"\n (click)=\"selectMenu()\"\n >\n <ng-icon size=\"18\" name=\"matSettingsRound\" />\n <span class=\"line-clamp-1 hidden group-[.expanded]:block\">Setting</span>\n </a>\n </div>\n }\n</nav>\n\n<div class=\"grow overflow-y-auto overflow-x-hidden\">\n <ng-content />\n</div>\n","import { Component, HostListener, DestroyRef, signal, OnInit } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, NavigationEnd, Route, Router } from '@angular/router';\nimport { filter } from 'rxjs';\nimport { AngularSplitModule } from 'angular-split';\nimport { UpLazyRouteDirective } from './directives/lazy-route.directive';\n\n\n@Component({\n selector: 'up-column-container',\n host: {\n class: 'block size-full',\n },\n imports: [\n AngularSplitModule, \n UpLazyRouteDirective\n ],\n template: `\n <as-split \n unit=\"percent\" \n [gutterSize]=\"5\" \n [useTransition]=\"true\"\n >\n @for (a of areas(); track $index) {\n <as-split-area\n class=\"border-start\"\n [minSize]=\"20\"\n [size]=\"colSize()\"\n [visible]=\"a.visible\"\n [maxSize]=\"$index === areas().length - 1? 80 : null\"\n >\n <ng-container \n upLoadRoute\n [loadRoute]=\"a.route\" \n />\n </as-split-area>\n }\n </as-split>\n `,\n})\nexport class UpColumnContainerComponent implements OnInit {\n \n /**\n * An array of objects representing the columns, each containing a visibility flag and the associated route.\n * @type {{ visible: boolean, route: Route }[]}\n * @default {[]}\n */\n public readonly areas = signal<{ visible: boolean; route: Pick<Route, 'loadComponent'> }[]>([]);\n\n /**\n * The default size for the split area: 100 means it will be full width, and 50 means it will be divided in half.\n * This can be resizable with minimum width 20%\n */\n public readonly colSize = signal<number>(window.innerWidth <= 768? 100 : 50);\n\n /**\n * An object to keep track of the position of opened areas based on their route paths.\n * @type {{ [key: string]: number }}\n * @default {{}}\n */\n protected readonly openedArea: Record<string, number> = {};\n\n constructor(\n protected readonly router: Router,\n protected readonly destroyRef: DestroyRef,\n protected readonly activeRoute: ActivatedRoute\n ){ }\n\n /**\n * Lifecycle hook called after the component has been initialized.\n * Subscribes to router events, initializes columns based on the initial route, and sets up the first visible column.\n */\n public ngOnInit(): void{\n this.checkScreen();\n\n this.router.events.pipe(\n filter(\n (e): e is NavigationEnd => e instanceof NavigationEnd\n ),\n takeUntilDestroyed(this.destroyRef)\n ).subscribe({\n next: () => this.navigate()\n });\n\n const url: string | undefined = this.activeRoute.firstChild?.routeConfig?.path;\n const routeList: Route[] =(this.activeRoute.snapshot.routeConfig as any)._loadedRoutes;\n\n if (routeList?.length) {\n this.next(routeList[0]);\n\n for (let i = 1; i < routeList.length; i++) {\n if (\n url?.startsWith(\n routeList[i].path as string\n )\n ) {\n this.next(routeList[i]);\n }\n }\n }\n }\n\n /**\n * Event listener for the window resize event. Adjusts the default size of the split area based on the screen width.\n */\n @HostListener('window:resize')\n public checkScreen(): void{\n this.colSize.set(window.innerWidth <= 768? 100 : 50);\n }\n\n /**\n * Handles router navigation events and adjusts the display of columns accordingly.\n */\n protected navigate(): void{\n const route: Route = this.activeRoute.firstChild!.routeConfig!;\n const pos = this.openedArea[`r-${ route.path }`];\n\n if (pos <= this.areas().length) {\n this.previous(pos);\n return;\n }\n this.next(route);\n }\n\n /**\n * Adds a new column to the container and updates visibility based on the route navigation.\n * @param {Route} route - Contain next route.\n */\n protected next(route: Route): void{\n this.areas.update(\n (areas) => {\n if (\n this.colSize() === 100 &&\n areas.length >= 1\n ) {\n areas[areas.length - 1].visible = false;\n } else if (areas.length >= 2) {\n areas[areas.length - 2].visible = false;\n }\n\n const newAreas = [\n ...areas,\n { visible: true, route }\n ];\n\n this.openedArea[`r-${ route.path }`] = newAreas.length;\n return newAreas;\n }\n );\n }\n\n /**\n * Removes columns from the container based on the route navigation.\n * @param {number} pos - Contain position of the last active area index.\n */\n protected previous(pos: number): void{\n this.areas.update(\n (areas) => {\n const newAreas = areas.slice(0, pos);\n\n if (this.colSize() === 100 && newAreas.length) {\n newAreas[newAreas.length - 1].visible = true;\n return newAreas;\n }\n\n if (newAreas.length === 1) newAreas[0].visible = true;\n else if (newAreas.length >= 2) {\n newAreas[pos - 1].visible = true;\n newAreas[pos - 2].visible = true;\n }\n return newAreas;\n }\n );\n }\n}\n","import { Component, input, booleanAttribute, computed, output } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { matCloseRound } from '@ng-icons/material-icons/round';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpButtonDirective } from '@unipin/angular-applet/buttons';\n\n\n@Component({\n selector: 'up-content-container',\n host: {\n class: 'flex flex-col size-full'\n },\n imports: [\n NgIcon,\n UpButtonDirective\n ],\n providers: [\n provideIcons({ matCloseRound }),\n ],\n template: `\n <div [class]=\"_headerClass()\">\n <div class=\"grow flex items-center gap-1\">\n @if (!this.hideCloseButton()) {\n <button\n upButton\n size=\"icon\"\n tabindex=\"-1\"\n variant=\"ghost\"\n class=\"shrink-0 rounded-full\"\n [disabled]=\"disabled()\"\n (click)=\"closed.emit()\"\n >\n <ng-icon size=\"20\" name=\"matCloseRound\" />\n </button>\n }\n\n <h3 class=\"grow select-none line-clamp-1 font-semibold text-lg\">\n {{ header() }}\n </h3>\n </div>\n\n <div class=\"shrink-0\">\n <ng-content select=\"[actions]\" />\n </div>\n </div>\n\n <div class=\"grow overflow-auto\">\n <ng-content />\n </div>\n `\n})\nexport class UpContentContainerComponent {\n\n /**\n * The title text displayed in the header.\n * If the text is too long, it will be truncated with an ellipsis.\n * @type {Signal<string>}\n * @default ''\n */\n public readonly header = input<string>('');\n\n /**\n * Disables the close/back button when set to true.\n * When disabled, the close button will not be shown in the header.\n * @type {Signal<boolean>}\n * @default false\n */\n public readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Hides the close/back button when set to true.\n * When hidden, the close button will not be shown in the header.\n * @type {Signal<boolean>}\n * @default false\n */\n public readonly hideCloseButton = input(false, { transform: booleanAttribute });\n\n /**\n * Event emitted when the user clicks the close button.\n * Typically used to handle closing a modal or navigating back.\n * @type {OutputEmitterRef<void>}\n */\n public readonly closed = output<void>();\n\n protected readonly _headerClass = computed(\n () => {\n return up(\n 'shrink-0 flex items-center py-2 gap-6 border-b border-[#e0e0e0]',\n this.hideCloseButton()? 'px-4' : 'pr-4 pl-1'\n );\n }\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unipin-angular-applet-containers.mjs","sources":["../../../projects/unipin-angular/containers/column-container/directives/lazy-route.directive.ts","../../../projects/unipin-angular/containers/applet-container/utils/provide-applet-config/provide-applet-config.util.ts","../../../projects/unipin-angular/containers/applet-container/utils/redirect-to-first-menu/redirect-to-first-menu.util.ts","../../../projects/unipin-angular/containers/applet-container/components/applet-container.component.ts","../../../projects/unipin-angular/containers/applet-container/components/applet-container.component.html","../../../projects/unipin-angular/containers/column-container/column-container.component.ts","../../../projects/unipin-angular/containers/content-container/content-container.component.ts","../../../projects/unipin-angular/containers/unipin-angular-applet-containers.ts"],"sourcesContent":["import { ComponentRef, Directive, OnInit, ViewContainerRef, inject, DestroyRef, input, reflectComponentType, ComponentMirror } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, NavigationEnd, Router, Route } from '@angular/router';\nimport { distinctUntilChanged, filter, isObservable, firstValueFrom } from 'rxjs';\n\n\n@Directive({\n exportAs: 'upLoadRoute',\n selector: '[upLoadRoute]'\n})\nexport class UpLazyRouteDirective implements OnInit {\n \n protected readonly router = inject(Router);\n protected readonly vcr = inject(ViewContainerRef);\n protected readonly route = inject(ActivatedRoute);\n protected readonly destroyRef = inject(DestroyRef);\n\n /**\n * Accepts a route config object containing `loadComponent`.\n */\n public readonly loadRoute = input.required<Pick<Route, 'loadComponent'>>();\n\n /**\n * Lifecycle hook that is called after the directive's data-bound properties have been initialized.\n * Dynamically loads the component using the `loadComponent` method and creates it within the directive's view container.\n */\n public ngOnInit(): void{\n if (!this.loadRoute().loadComponent) return;\n\n const result = this.loadRoute().loadComponent!();\n const load = isObservable(result)? firstValueFrom(result) : Promise.resolve(result);\n\n load.then(\n (m: any) => {\n const cmp = m.default?? m;\n \n const cr = this.vcr.createComponent(cmp);\n const mirror = reflectComponentType(cmp);\n \n this.setInput(cr, mirror);\n this.router.events.pipe(\n filter(\n (e): e is NavigationEnd => e instanceof NavigationEnd\n ),\n distinctUntilChanged(\n (prev, curr) => {\n return prev.urlAfterRedirects.split('#')[0] === curr.urlAfterRedirects.split('#')[0];\n }\n ),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe({\n next: () => this.setInput(cr, mirror)\n });\n }\n );\n }\n\n /**\n * Method to manually set Input to the child component, because component created by ViewContainerRef won't accept the input from route param directly.\n * @param { ComponentRef<any> } cr\n */\n protected setInput(cr: ComponentRef<any>, mirror: ComponentMirror<unknown> | null): void{\n const params = this.route.firstChild?.snapshot.params ?? {};\n\n if (Object.keys(params).length === 0) {\n return;\n }\n\n for (const key of Object.keys(params)) {\n if (key in cr.instance) {\n cr.setInput(key, params[key]);\n continue;\n }\n\n if (mirror) {\n const match = mirror.inputs.find(\n (i) => i.templateName === key\n );\n \n if (match) {\n cr.setInput(match.templateName, params[key]);\n }\n }\n }\n }\n}\n","import { InjectionToken, Provider } from '@angular/core';\nimport { AppletConfig } from '../../types/applet-config.type';\n\nexport const APPLET_CONFIG = new InjectionToken<AppletConfig>('APPLET_CONFIG');\n\nexport function provideAppletConfig(config: AppletConfig): Provider{\n \n return { \n provide: APPLET_CONFIG, \n useValue: config \n };\n}\n","import { forwardRef, inject } from '@angular/core';\nimport { RedirectFunction } from '@angular/router';\nimport { PermissionService } from '@unipin/angular-applet/auth';\nimport { AppletConfig } from '../../types/applet-config.type';\nimport { APPLET_CONFIG } from '../provide-applet-config/provide-applet-config.util';\n\n/**\n * Redirects the user to their first accessible menu route based on permissions.\n * @returns {RedirectFunction} The first allowed route\n */\nexport function redirectToFirstMenu(): ReturnType<RedirectFunction>{\n \n const { has } = inject(PermissionService);\n const { containers } = inject<AppletConfig>(\n () => forwardRef(() => APPLET_CONFIG)\n );\n\n const firstMenu = containers.find(\n ({ permissions }) => {\n if (!permissions) return true;\n\n const { codes, aggregator } = permissions;\n return codes[aggregator === 'AND'? 'every' : 'some']((code) => has(code));\n }\n );\n return firstMenu?.path?? containers[0].path;\n}\n","import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { matChevronRightRound, matSettingsRound } from '@ng-icons/material-icons/round';\nimport { PermissionService } from '@unipin/angular-applet/auth';\nimport { UpButtonDirective } from '@unipin/angular-applet/buttons';\nimport { AppletConfig } from '../types/applet-config.type';\nimport { APPLET_CONFIG } from '../utils/provide-applet-config/provide-applet-config.util';\n\n\n@Component({\n selector: 'up-applet-container',\n templateUrl: './applet-container.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'flex size-full'\n },\n imports: [\n NgIcon,\n RouterLink,\n RouterLinkActive,\n UpButtonDirective,\n ],\n providers: [\n provideIcons(\n { \n matChevronRightRound, \n matSettingsRound \n }\n )\n ]\n})\nexport class AppletContainerComponent {\n\n public readonly config: AppletConfig = inject<AppletConfig>(APPLET_CONFIG); \n\n /**\n * A flag variable that used to control sidebar. When set the the value to true, the component will open the sidebar.\n * when set the value to false, the component will close the sidebar.\n * @type {boolean}\n */\n public readonly isExpanded = signal<boolean>(false);\n\n /**\n * A flag variable for indicates whether the sidebar menu is active or not in mobile view.\n * When set false the sidebar menu will be hidden\n * @type {boolean[]}\n */\n public readonly isMenuActive = signal<boolean>(false);\n\n /**\n * A flag variable that used to control sidebar menu. When set value to true, the component will hide the sidebar menu.\n * When set false, the component will show the sidebar menu.\n * @type {boolean[]}\n */\n public readonly isHidden = signal<boolean[]>(Array(this.config.containers.length).fill(true));\n\n constructor(\n protected readonly permissionService: PermissionService\n ) {\n this.isHidden.set(\n this.config.containers.map(\n ({ permissions }) => {\n if (!permissions) return false;\n \n if (permissions.aggregator === 'AND') {\n return !permissions.codes.every((code) => this.permissionService.has(code));\n }\n return !permissions.codes.some((code) => this.permissionService.has(code));\n }\n )\n );\n }\n\n /**\n * When the method is called, it will change the value of isExpanded to its opposite value. \n * If isExpanded is currently true, it will be set to false, and if it is currently false, it will be set to true. \n * This method is typically used to toggle the visibility of a side navigation menu.\n */\n public toggleSidenav(): void{\n this.isExpanded.update((v) => !v);\n }\n\n /**\n * Handles menu selection by dispatching a custom event.\n * This method is called when a sidebar menu item is selected.\n * It dispatches a custom 'menuEvent' with detail indicating the menu is inactive.\n * This event is typically used to close the sidebar menu.\n */\n public selectMenu(): void{\n dispatchEvent(\n new CustomEvent(\n 'menuEvent', \n { \n detail: { \n isActive: false \n } \n }\n )\n );\n }\n}\n","<nav \n class=\"shrink-0 h-full group flex flex-col transition-all ease-in-out border-r border-border max-md:w-0 max-md:z-10 max-md:absolute [&.expanded]:w-60\"\n [class.show]=\"isMenuActive()\"\n [class.expanded]=\"isExpanded()\"\n>\n <div class=\"shrink-0 p-2 border-b border-border flex items-center gap-2 relative\">\n <img \n class=\"rounded size-9 shrink-0\" \n [alt]=\"config.name\"\n [src]=\"config.icon\" \n />\n\n <div class=\"hidden group-[.expanded]:flex grow flex-col gap-0.5 select-none\">\n <div class=\"font-medium line-clamp-1 text-sm\">{{ config.name }}</div>\n \n <div class=\"text-muted-foreground font-medium text-xs\">\n v{{ config.version }}\n </div>\n </div>\n\n <button \n upButton\n size=\"icon\"\n variant=\"outline\"\n class=\"rounded-full absolute -right-5\"\n (click)=\"toggleSidenav()\"\n >\n <ng-icon \n size=\"18\" \n name=\"matChevronRightRound\" \n class=\"group-[.expanded]:rotate-180 transition-all ease-in-out\"\n />\n </button>\n </div>\n\n <div class=\"grow overflow-y-auto p-2 flex flex-col gap-1\">\n @for (c of config.containers; track $index) {\n <a \n upButton\n variant=\"ghost\"\n routerLinkActive=\"font-medium\"\n class=\"group-[.expanded]:w-full group-[.expanded]:justify-start\"\n [routerLink]=\"c.path\"\n [size]=\"!isExpanded()? 'icon' : 'default'\"\n (click)=\"selectMenu()\"\n >\n <ng-icon \n size=\"18\" \n [name]=\"c.icon\" \n />\n \n <span class=\"line-clamp-1 hidden group-[.expanded]:block\">\n {{ c.label }}\n </span>\n </a>\n }\n </div>\n\n @if (config.enabledSetting) {\n <div class=\"shrink-0 p-2 border-t border-border\">\n <a \n upButton\n variant=\"ghost\"\n routerLink=\"setting\" \n routerLinkActive=\"font-medium\"\n class=\"group-[.expanded]:w-full group-[.expanded]:justify-start\"\n [size]=\"!isExpanded()? 'icon' : 'default'\"\n (click)=\"selectMenu()\"\n >\n <ng-icon size=\"18\" name=\"matSettingsRound\" />\n <span class=\"line-clamp-1 hidden group-[.expanded]:block\">Setting</span>\n </a>\n </div>\n }\n</nav>\n\n<div class=\"grow overflow-y-auto overflow-x-hidden\">\n <ng-content />\n</div>\n","import { Component, HostListener, DestroyRef, signal, OnInit } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, NavigationEnd, Route, Router } from '@angular/router';\nimport { filter } from 'rxjs';\nimport { AngularSplitModule } from 'angular-split';\nimport { UpLazyRouteDirective } from './directives/lazy-route.directive';\n\n\n@Component({\n selector: 'up-column-container',\n host: {\n class: 'block size-full',\n },\n imports: [\n AngularSplitModule, \n UpLazyRouteDirective\n ],\n template: `\n <as-split \n unit=\"percent\" \n [gutterSize]=\"5\" \n [useTransition]=\"true\"\n >\n @for (a of areas(); track $index) {\n <as-split-area\n class=\"border-start\"\n [minSize]=\"20\"\n [size]=\"colSize()\"\n [visible]=\"a.visible\"\n [maxSize]=\"$index === areas().length - 1? 80 : null\"\n >\n <ng-container \n upLoadRoute\n [loadRoute]=\"a.route\" \n />\n </as-split-area>\n }\n </as-split>\n `,\n})\nexport class UpColumnContainerComponent implements OnInit {\n \n /**\n * An array of objects representing the columns, each containing a visibility flag and the associated route.\n * @type {{ visible: boolean, route: Route }[]}\n * @default {[]}\n */\n public readonly areas = signal<{ visible: boolean; route: Pick<Route, 'loadComponent'> }[]>([]);\n\n /**\n * The default size for the split area: 100 means it will be full width, and 50 means it will be divided in half.\n * This can be resizable with minimum width 20%\n */\n public readonly colSize = signal<number>(window.innerWidth <= 768? 100 : 50);\n\n /**\n * An object to keep track of the position of opened areas based on their route paths.\n * @type {{ [key: string]: number }}\n * @default {{}}\n */\n protected readonly openedArea: Record<string, number> = {};\n\n constructor(\n protected readonly router: Router,\n protected readonly destroyRef: DestroyRef,\n protected readonly activeRoute: ActivatedRoute\n ){ }\n\n /**\n * Lifecycle hook called after the component has been initialized.\n * Subscribes to router events, initializes columns based on the initial route, and sets up the first visible column.\n */\n public ngOnInit(): void{\n this.checkScreen();\n\n this.router.events.pipe(\n filter(\n (e): e is NavigationEnd => e instanceof NavigationEnd\n ),\n takeUntilDestroyed(this.destroyRef)\n ).subscribe({\n next: () => this.navigate()\n });\n\n const url: string | undefined = this.activeRoute.firstChild?.routeConfig?.path;\n const routeList: Route[] =(this.activeRoute.snapshot.routeConfig as any)._loadedRoutes;\n\n if (routeList?.length) {\n this.next(routeList[0]);\n\n for (let i = 1; i < routeList.length; i++) {\n if (\n url?.startsWith(\n routeList[i].path as string\n )\n ) {\n this.next(routeList[i]);\n }\n }\n }\n }\n\n /**\n * Event listener for the window resize event. Adjusts the default size of the split area based on the screen width.\n */\n @HostListener('window:resize')\n public checkScreen(): void{\n this.colSize.set(window.innerWidth <= 768? 100 : 50);\n }\n\n /**\n * Handles router navigation events and adjusts the display of columns accordingly.\n */\n protected navigate(): void{\n const route: Route = this.activeRoute.firstChild!.routeConfig!;\n const pos = this.openedArea[`r-${ route.path }`];\n\n if (pos <= this.areas().length) {\n this.previous(pos);\n return;\n }\n this.next(route);\n }\n\n /**\n * Adds a new column to the container and updates visibility based on the route navigation.\n * @param {Route} route - Contain next route.\n */\n protected next(route: Route): void{\n this.areas.update(\n (areas) => {\n if (\n this.colSize() === 100 &&\n areas.length >= 1\n ) {\n areas[areas.length - 1].visible = false;\n } else if (areas.length >= 2) {\n areas[areas.length - 2].visible = false;\n }\n\n const newAreas = [\n ...areas,\n { visible: true, route }\n ];\n\n this.openedArea[`r-${ route.path }`] = newAreas.length;\n return newAreas;\n }\n );\n }\n\n /**\n * Removes columns from the container based on the route navigation.\n * @param {number} pos - Contain position of the last active area index.\n */\n protected previous(pos: number): void{\n this.areas.update(\n (areas) => {\n const newAreas = areas.slice(0, pos);\n\n if (this.colSize() === 100 && newAreas.length) {\n newAreas[newAreas.length - 1].visible = true;\n return newAreas;\n }\n\n if (newAreas.length === 1) newAreas[0].visible = true;\n else if (newAreas.length >= 2) {\n newAreas[pos - 1].visible = true;\n newAreas[pos - 2].visible = true;\n }\n return newAreas;\n }\n );\n }\n}\n","import { Component, input, booleanAttribute, computed, output } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { matCloseRound } from '@ng-icons/material-icons/round';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpButtonDirective } from '@unipin/angular-applet/buttons';\n\n\n@Component({\n selector: 'up-content-container',\n host: {\n class: 'flex flex-col size-full'\n },\n imports: [\n NgIcon,\n UpButtonDirective\n ],\n providers: [\n provideIcons({ matCloseRound }),\n ],\n template: `\n <div [class]=\"_headerClass()\">\n <div class=\"grow flex items-center gap-1\">\n @if (!this.hideCloseButton()) {\n <button\n upButton\n size=\"icon\"\n tabindex=\"-1\"\n variant=\"ghost\"\n class=\"shrink-0 rounded-full\"\n [disabled]=\"disabled()\"\n (click)=\"closed.emit()\"\n >\n <ng-icon size=\"20\" name=\"matCloseRound\" />\n </button>\n }\n\n <h3 class=\"grow select-none line-clamp-1 font-semibold text-lg\">\n {{ header() }}\n </h3>\n </div>\n\n <div class=\"shrink-0\">\n <ng-content select=\"[actions]\" />\n </div>\n </div>\n\n <div class=\"grow overflow-auto\">\n <ng-content />\n </div>\n `\n})\nexport class UpContentContainerComponent {\n\n /**\n * The title text displayed in the header.\n * If the text is too long, it will be truncated with an ellipsis.\n * @type {Signal<string>}\n * @default ''\n */\n public readonly header = input<string>('');\n\n /**\n * Disables the close/back button when set to true.\n * When disabled, the close button will not be shown in the header.\n * @type {Signal<boolean>}\n * @default false\n */\n public readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Hides the close/back button when set to true.\n * When hidden, the close button will not be shown in the header.\n * @type {Signal<boolean>}\n * @default false\n */\n public readonly hideCloseButton = input(false, { transform: booleanAttribute });\n\n /**\n * Event emitted when the user clicks the close button.\n * Typically used to handle closing a modal or navigating back.\n * @type {OutputEmitterRef<void>}\n */\n public readonly closed = output<void>();\n\n protected readonly _headerClass = computed(\n () => {\n return up(\n 'shrink-0 flex items-center py-2 gap-6 border-b border-[#e0e0e0]',\n this.hideCloseButton()? 'px-4' : 'pr-4 pl-1'\n );\n }\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -202,10 +202,10 @@ class UpDialogService {
|
|
|
202
202
|
});
|
|
203
203
|
return dialogRef;
|
|
204
204
|
}
|
|
205
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
206
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
205
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
206
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogService, providedIn: 'root' }); }
|
|
207
207
|
}
|
|
208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogService, decorators: [{
|
|
209
209
|
type: Injectable,
|
|
210
210
|
args: [{
|
|
211
211
|
providedIn: 'root'
|
|
@@ -310,12 +310,12 @@ class UpDialog {
|
|
|
310
310
|
}
|
|
311
311
|
});
|
|
312
312
|
}
|
|
313
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
314
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.
|
|
313
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialog, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
314
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.11", type: UpDialog, isStandalone: true, selector: "up-dialog", inputs: { attachTo: { classPropertyName: "attachTo", publicName: "attachTo", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, autoFocus: { classPropertyName: "autoFocus", publicName: "autoFocus", isSignal: true, isRequired: false, transformFunction: null }, restoreFocus: { classPropertyName: "restoreFocus", publicName: "restoreFocus", isSignal: true, isRequired: false, transformFunction: null }, scrollStrategy: { classPropertyName: "scrollStrategy", publicName: "scrollStrategy", isSignal: true, isRequired: false, transformFunction: null }, attachPositions: { classPropertyName: "attachPositions", publicName: "attachPositions", isSignal: true, isRequired: false, transformFunction: null }, positionStrategy: { classPropertyName: "positionStrategy", publicName: "positionStrategy", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, disableClose: { classPropertyName: "disableClose", publicName: "disableClose", isSignal: true, isRequired: false, transformFunction: null }, closeDelay: { classPropertyName: "closeDelay", publicName: "closeDelay", isSignal: true, isRequired: false, transformFunction: null }, closeOnOutsidePointerEvents: { classPropertyName: "closeOnOutsidePointerEvents", publicName: "closeOnOutsidePointerEvents", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", stateChanged: "stateChanged" }, exportAs: ["upDialog"], ngImport: i0, template: `
|
|
315
315
|
<ng-content />
|
|
316
316
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
317
317
|
}
|
|
318
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
318
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialog, decorators: [{
|
|
319
319
|
type: Component,
|
|
320
320
|
args: [{
|
|
321
321
|
exportAs: 'upDialog',
|
|
@@ -337,10 +337,10 @@ class UpDialogCloseDirective {
|
|
|
337
337
|
close() {
|
|
338
338
|
this.dialogRef.close(undefined);
|
|
339
339
|
}
|
|
340
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
341
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.
|
|
340
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
341
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: UpDialogCloseDirective, isStandalone: true, selector: "button[upDialogClose]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "close()" }, properties: { "class": "_computedClass()" } }, ngImport: i0 }); }
|
|
342
342
|
}
|
|
343
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
343
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogCloseDirective, decorators: [{
|
|
344
344
|
type: Directive,
|
|
345
345
|
args: [{
|
|
346
346
|
selector: 'button[upDialogClose]',
|
|
@@ -368,10 +368,10 @@ class UpDialogContentDirective {
|
|
|
368
368
|
`, this.inlineClass());
|
|
369
369
|
}, ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
|
|
370
370
|
}
|
|
371
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
372
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.
|
|
371
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
372
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: UpDialogContentDirective, isStandalone: true, selector: "[upDialogContent]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "attr.data-state": "state()" } }, exportAs: ["upDialogContent"], ngImport: i0 }); }
|
|
373
373
|
}
|
|
374
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
374
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogContentDirective, decorators: [{
|
|
375
375
|
type: Directive,
|
|
376
376
|
args: [{
|
|
377
377
|
exportAs: 'upDialogContent',
|
|
@@ -416,10 +416,10 @@ class UpDialogTriggerDirective {
|
|
|
416
416
|
open() {
|
|
417
417
|
this.dialog?.open();
|
|
418
418
|
}
|
|
419
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
420
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.
|
|
419
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
420
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: UpDialogTriggerDirective, isStandalone: true, selector: "button[upDialogTrigger], button[upDialogTriggerFor]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, dialogTriggerFor: { classPropertyName: "dialogTriggerFor", publicName: "upDialogTriggerFor", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "open()" }, properties: { "id": "id()", "attr.data-state": "state()" } }, exportAs: ["upDialogTrigger"], ngImport: i0 }); }
|
|
421
421
|
}
|
|
422
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
422
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogTriggerDirective, decorators: [{
|
|
423
423
|
type: Directive,
|
|
424
424
|
args: [{
|
|
425
425
|
exportAs: 'upDialogTrigger',
|
|
@@ -453,12 +453,12 @@ class UpDialogContentRefDirective {
|
|
|
453
453
|
untracked(() => this.dialog?.setContext(context));
|
|
454
454
|
});
|
|
455
455
|
}
|
|
456
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
457
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.
|
|
456
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogContentRefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
457
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: UpDialogContentRefDirective, isStandalone: true, selector: "[upDialogContentRef]", inputs: { context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
458
458
|
provideExposesStateProviderExisting(() => UpDialogContentRefDirective)
|
|
459
459
|
], exportAs: ["upDialogContentRef"], ngImport: i0 }); }
|
|
460
460
|
}
|
|
461
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
461
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogContentRefDirective, decorators: [{
|
|
462
462
|
type: Directive,
|
|
463
463
|
args: [{
|
|
464
464
|
exportAs: 'upDialogContentRef',
|
|
@@ -485,8 +485,8 @@ class UpDialogWrapperComponent extends UpDialog {
|
|
|
485
485
|
ngOnDestroy() {
|
|
486
486
|
this.closedSubscription.unsubscribe();
|
|
487
487
|
}
|
|
488
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
489
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.
|
|
488
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
489
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.11", type: UpDialogWrapperComponent, isStandalone: true, selector: "up-dialog-wrapper", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismissed: "dismissed" }, providers: [
|
|
490
490
|
{
|
|
491
491
|
provide: UpDialog,
|
|
492
492
|
useExisting: forwardRef(() => UpDialogWrapperComponent)
|
|
@@ -495,7 +495,7 @@ class UpDialogWrapperComponent extends UpDialog {
|
|
|
495
495
|
<ng-content />
|
|
496
496
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
497
497
|
}
|
|
498
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
498
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: UpDialogWrapperComponent, decorators: [{
|
|
499
499
|
type: Component,
|
|
500
500
|
args: [{
|
|
501
501
|
exportAs: 'upDialogWrapper',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unipin-angular-applet-dialog.mjs","sources":["../../../projects/unipin-angular/dialog/constants/default-dialog-options.const.ts","../../../projects/unipin-angular/dialog/tokens/dialog-context.token.ts","../../../projects/unipin-angular/dialog/tokens/dialog.token.ts","../../../projects/unipin-angular/dialog/utils/create-injection-token.util.ts","../../../projects/unipin-angular/dialog/utils/expose-state.util.ts","../../../projects/unipin-angular/dialog/dialog-ref.ts","../../../projects/unipin-angular/dialog/services/dialog.service.ts","../../../projects/unipin-angular/dialog/dialog.ts","../../../projects/unipin-angular/dialog/directives/dialog-close.directive.ts","../../../projects/unipin-angular/dialog/directives/dialog-content.directive.ts","../../../projects/unipin-angular/dialog/directives/dialog-trigger.directive.ts","../../../projects/unipin-angular/dialog/directives/dialog-content-ref.directive.ts","../../../projects/unipin-angular/dialog/components/dialog-wrapper.component.ts","../../../projects/unipin-angular/dialog/unipin-angular-applet-dialog.ts"],"sourcesContent":["import { UpDialogOptions } from '../types/dialog-options.type';\n\n\nexport const defaultDialogOptions: UpDialogOptions = {\n role: 'dialog',\n panelClass: null,\n hasBackdrop: true,\n disableClose: false,\n \n autoFocus: false,\n restoreFocus: false,\n\n closeDelay: 200,\n closeOnBackdropClick: true,\n closeOnOutsidePointerEvents: false,\n\n attachPositions: [],\n scrollStrategy: null,\n};\n","import { inject, InjectOptions } from '@angular/core';\nimport { DIALOG_DATA } from '@angular/cdk/dialog';\n\nexport const injectDialogContext = <DialogContext = any>(options: InjectOptions = {}) => {\n return inject(DIALOG_DATA, options) as DialogContext;\n};\n","import { inject, InjectionToken, ValueProvider } from '@angular/core';\nimport { UpDialogOptions } from '../types/dialog-options.type';\nimport { defaultDialogOptions } from '../constants/default-dialog-options.const';\n\nconst DEFAULT_OPTIONS = new InjectionToken<UpDialogOptions>(\n 'up-dialog-default-options',\n {\n providedIn: 'root',\n factory: () => defaultDialogOptions,\n }\n);\n\nexport function provideDialogDefaultOptions(options: Partial<UpDialogOptions>): ValueProvider{\n return {\n provide: DEFAULT_OPTIONS,\n useValue: { \n ...defaultDialogOptions, \n ...options \n },\n };\n}\n\nexport function injectDialogDefaultOptions(): UpDialogOptions{\n const opts = inject(\n DEFAULT_OPTIONS, \n { \n optional: true \n }\n );\n return opts?? defaultDialogOptions;\n}\n","import { InjectionToken, forwardRef, inject } from '@angular/core';\nimport type { InjectOptions, Provider, Type } from '@angular/core';\n\ntype InjectFn<TTokenValue> = {\n (): TTokenValue;\n (injectOptions: InjectOptions & { optional?: false }): TTokenValue;\n (injectOptions: InjectOptions & { optional: true }): TTokenValue | null;\n};\n\ntype ProvideFn<TTokenValue> = (value: TTokenValue) => Provider;\ntype ProvideExistingFn<TTokenValue> = (valueFactory: () => Type<TTokenValue>) => Provider;\n\nexport type CreateInjectionTokenReturn<TTokenValue> = [\n InjectFn<TTokenValue>,\n ProvideFn<TTokenValue>,\n ProvideExistingFn<TTokenValue>,\n InjectionToken<TTokenValue>\n];\n\nexport function createInjectionToken<TTokenValue>(description: string): CreateInjectionTokenReturn<TTokenValue>{\n \n const token = new InjectionToken<TTokenValue>(description);\n\n const provideFn = (value: TTokenValue) => {\n return { provide: token, useValue: value };\n };\n\n const provideExistingFn = (value: () => TTokenValue) => {\n return { provide: token, useExisting: forwardRef(value) };\n };\n\n const injectFn = (options: InjectOptions = {}) => {\n return inject(token, options);\n };\n\n return [\n injectFn,\n provideFn,\n provideExistingFn,\n token,\n ] as CreateInjectionTokenReturn<TTokenValue>;\n}\n","import type { Signal } from '@angular/core';\nimport { createInjectionToken } from './create-injection-token.util';\n\nexport type ExposesState = {\n state: Signal<'open' | 'closed'>;\n};\n\nexport const [\n injectExposesStateProvider,\n provideExposesStateProvider,\n provideExposesStateProviderExisting,\n EXPOSES_STATE_TOKEN,\n] = createInjectionToken<ExposesState>('@unipin-angular EXPOSES_STATE_TOKEN');\n","import { computed, Signal, WritableSignal } from '@angular/core';\nimport { Observable, take } from 'rxjs';\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { UpDialogOptions } from './types/dialog-options.type';\n\nexport class UpDialogRef<DialogResult = any> {\n\n public readonly closed$: Observable<DialogResult | undefined>;\n\n public readonly isOpen = computed(\n () => this.state() === 'open'\n );\n\n public previousTimeout: ReturnType<typeof setTimeout> | undefined;\n\n constructor(\n public readonly state: Signal<'closed' | 'open'>,\n\n protected readonly open: WritableSignal<boolean>,\n protected readonly cdkDialogRef: DialogRef<DialogResult>,\n protected readonly options?: UpDialogOptions,\n ) {\n this.closed$ = this.cdkDialogRef.closed.pipe(take(1));\n }\n\n public close(result?: DialogResult, delay: number = this.options?.closeDelay ?? 0): void {\n if (!this.isOpen()) {\n return;\n }\n this.open.set(false);\n clearTimeout(this.previousTimeout);\n\n this.previousTimeout = setTimeout(\n () => {\n this.cdkDialogRef.close(result);\n }, \n delay\n );\n }\n}\n","import { computed, effect, EffectRef, ElementRef, inject, Injectable, Injector, RendererFactory2, runInInjectionContext, signal, StaticProvider, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Dialog } from '@angular/cdk/dialog';\nimport { ComponentType, OverlayPositionBuilder, ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { filter, Subject, takeUntil } from 'rxjs';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpDialogOptions } from '../types/dialog-options.type';\nimport { UpDialogRef } from '../dialog-ref';\n\n\nlet dialogSequence = 0;\ntype UpDialogContext<T> = T & { close: (result?: any) => void };\n\ntype DialogOpenOptions<T> = {\n content: ComponentType<unknown> | TemplateRef<unknown>;\n context?: T;\n vcr?: ViewContainerRef;\n options?: Partial<UpDialogOptions>;\n}\n\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class UpDialogService {\n \n public readonly cdkDialog = inject(Dialog);\n public readonly injector = inject(Injector);\n public readonly rendererFactory = inject(RendererFactory2);\n public readonly positionBuilder = inject(OverlayPositionBuilder);\n public readonly scrollStrategyOptions = inject(ScrollStrategyOptions);\n \n public readonly renderer = this.rendererFactory.createRenderer(null, null);\n\n public open<DialogContext>({ content, vcr, context, options }: DialogOpenOptions<DialogContext>): UpDialogRef{\n if (\n options?.id && \n this.cdkDialog.getDialogById(options.id)\n ) {\n throw new Error(`Dialog with ID: ${ options.id } already exists`);\n }\n\n let positionStrategy = options?.positionStrategy;\n if (!positionStrategy) {\n if (\n options?.attachTo &&\n options?.attachPositions &&\n options?.attachPositions?.length > 0\n ) {\n positionStrategy = this.positionBuilder?.flexibleConnectedTo(options.attachTo).withPositions(options.attachPositions?? [])\n } else {\n positionStrategy = this.positionBuilder.global()\n .centerHorizontally()\n .centerVertically();\n }\n }\n\n let effectRef!: EffectRef;\n let dialogRef!: UpDialogRef;\n\n const contextOrData: UpDialogContext<any> = {\n ...context,\n close: (result: any = undefined) => {\n dialogRef.close(result, options?.closeDelay)\n }\n };\n\n const open = signal<boolean>(true);\n const destroyed$ = new Subject<void>();\n \n const state = computed<'open' | 'closed'>(\n () => open()? 'open' : 'closed'\n );\n\n dialogSequence++;\n const dialogId = options?.id?? `up-dialog-${ dialogSequence }`;\n\n const cdkDialogRef = this.cdkDialog.open(\n content as any, \n {\n id: dialogId,\n role: options?.role,\n data: contextOrData,\n hasBackdrop: options?.hasBackdrop,\n \n panelClass: up(options?.panelClass?? ''),\n backdropClass: up(\n 'opacity-0',\n 'bg-black/30',\n 'ease-in-out!',\n 'duration-200!',\n 'transition-opacity!',\n '[&.cdk-overlay-backdrop-showing]:opacity-1'\n ).split(' '),\n\n autoFocus: options?.autoFocus?? 'first-tabbable',\n restoreFocus: options?.restoreFocus instanceof ElementRef? options.restoreFocus.nativeElement : options?.restoreFocus,\n \n disableClose: true,\n viewContainerRef: vcr,\n \n positionStrategy,\n scrollStrategy: (options?.scrollStrategy?? this.scrollStrategyOptions?.block()) as ScrollStrategy,\n\n templateContext: () => ({ $implicit: contextOrData }),\n\n providers: (cdkDialogRef) => {\n dialogRef = new UpDialogRef(\n state,\n open,\n cdkDialogRef,\n options as UpDialogOptions\n );\n\n runInInjectionContext(\n this.injector, \n () => {\n effectRef = effect(\n () => {\n if (overlay) {\n this.renderer.setAttribute(overlay, 'data-state', state());\n }\n\n if (backdrop) {\n this.renderer.setAttribute(backdrop, 'data-state', state());\n }\n }\n );\n }\n );\n\n const providers: StaticProvider[] = [\n {\n provide: UpDialogRef,\n useValue: dialogRef,\n },\n ];\n\n if (options?.providers) {\n if (typeof options.providers === 'function') {\n providers.push(...options.providers());\n }\n\n if (Array.isArray(options.providers)) {\n providers.push(...options.providers);\n }\n }\n return providers;\n },\n }\n );\n\n const overlay = cdkDialogRef.overlayRef.overlayElement;\n const backdrop = cdkDialogRef.overlayRef.backdropElement;\n\n if (!options?.disableClose) {\n cdkDialogRef.keydownEvents.pipe(\n filter((e) => e.key === 'Escape'),\n takeUntil(destroyed$)\n ).subscribe(\n {\n next: () => {\n dialogRef.close(undefined, options?.closeDelay);\n }\n }\n );\n }\n\n if (options?.closeOnOutsidePointerEvents) {\n cdkDialogRef.outsidePointerEvents.pipe(\n takeUntil(destroyed$)\n )\n .subscribe(\n {\n next: () => {\n dialogRef.close(undefined, options?.closeDelay);\n }\n }\n );\n }\n\n if (options?.closeOnBackdropClick) {\n cdkDialogRef.backdropClick.pipe(\n takeUntil(destroyed$)\n ).subscribe(\n {\n next: () => {\n dialogRef.close(undefined, options?.closeDelay);\n }\n }\n );\n }\n\n cdkDialogRef.closed.pipe(\n takeUntil(destroyed$)\n ).subscribe(\n {\n next: () => {\n effectRef?.destroy();\n \n destroyed$.next();\n destroyed$.complete();\n }\n }\n );\n return dialogRef;\n }\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, effect, EffectRef, inject, Injector, input, numberAttribute, output, runInInjectionContext, signal, TemplateRef, untracked, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { OverlayPositionBuilder, ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { take } from 'rxjs';\nimport { UpDialogOptions } from './types/dialog-options.type';\nimport { injectDialogDefaultOptions } from './tokens/dialog.token';\nimport { UpDialogService } from './services/dialog.service';\nimport { UpDialogRef } from './dialog-ref';\n\n\n@Component({\n exportAs: 'upDialog',\n selector: 'up-dialog',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ng-content />\n `,\n})\nexport class UpDialog {\n \n public readonly injector = inject(Injector);\n public readonly dialogService = inject(UpDialogService);\n public readonly viewContainerRef = inject(ViewContainerRef);\n public readonly positionBuilder = inject(OverlayPositionBuilder);\n public readonly scrollStrategyOptions = inject(ScrollStrategyOptions);\n \n public readonly defaultOptions = injectDialogDefaultOptions();\n\n public readonly attachTo = input<UpDialogOptions['attachTo']>(null);\n public readonly role = input<UpDialogOptions['role']>(this.defaultOptions.role);\n public readonly autoFocus = input<UpDialogOptions['autoFocus']>(this.defaultOptions.autoFocus);\n public readonly restoreFocus = input<UpDialogOptions['restoreFocus']>(this.defaultOptions.restoreFocus);\n public readonly scrollStrategy = input<UpDialogOptions['scrollStrategy']>(this.defaultOptions.scrollStrategy);\n public readonly attachPositions = input<UpDialogOptions['attachPositions']>(this.defaultOptions.attachPositions);\n public readonly positionStrategy = input<UpDialogOptions['positionStrategy']>(this.defaultOptions.positionStrategy);\n\n public readonly hasBackdrop = input(\n this.defaultOptions.hasBackdrop, \n {\n transform: booleanAttribute,\n }\n );\n public readonly disableClose = input(\n this.defaultOptions.disableClose, \n {\n transform: booleanAttribute,\n }\n );\n public readonly closeDelay = input(\n this.defaultOptions.closeDelay, \n {\n transform: numberAttribute\n }\n );\n public readonly closeOnOutsidePointerEvents = input(\n this.defaultOptions.closeOnOutsidePointerEvents,\n {\n transform: booleanAttribute \n }\n );\n\n public readonly closed = output<any>();\n public readonly stateChanged = output<'open' | 'closed'>();\n \n public readonly state = signal<boolean>(false);\n public readonly panelClass = signal<UpDialogOptions['panelClass']>(null);\n\n public readonly mutableAttachTo = computed(() => signal(this.attachTo()));\n public readonly stateComputed = computed(() => this.dialogRef?.state()?? 'closed');\n public readonly mutableAttachPositions = computed(() => signal(this.attachPositions()));\n public readonly mutablePositionStrategy = computed(() => signal(this.positionStrategy()));\n public readonly mutableCloseOnOutsidePointerEvents = computed(() => signal(this.closeOnOutsidePointerEvents()));\n\n public dialogRef: UpDialogRef | undefined;\n\n protected readonly attachToState = computed(() => this.mutableAttachTo()());\n protected readonly positionStrategyState = computed(() => this.mutablePositionStrategy()());\n protected readonly closeOnOutsidePointerEventsState = computed(() => this.mutableCloseOnOutsidePointerEvents()());\n protected readonly attachPositionsState = computed(() => this.mutableAttachPositions()());\n\n protected readonly options = computed<Partial<UpDialogOptions>>(\n () => {\n const scrollStrategyInput = this.scrollStrategy();\n \n let scrollStrategy: ScrollStrategy = scrollStrategyInput as ScrollStrategy;\n if (\n scrollStrategyInput === 'close' ||\n scrollStrategyInput === 'reposition'\n ) {\n scrollStrategy = this.scrollStrategyOptions[scrollStrategyInput as 'close' | 'reposition']();\n }\n\n return {\n role: this.role(),\n panelClass: this.panelClass(),\n hasBackdrop: this.hasBackdrop(),\n disableClose: this.disableClose(),\n \n autoFocus: this.autoFocus(),\n restoreFocus: this.restoreFocus(),\n \n closeDelay: this.closeDelay(),\n closeOnBackdropClick: !this.disableClose(),\n closeOnOutsidePointerEvents: this.closeOnOutsidePointerEventsState(),\n \n scrollStrategy,\n positionStrategy: this.positionStrategyState(),\n\n attachTo: this.attachToState(),\n attachPositions: this.attachPositionsState(), \n };\n }\n );\n\n protected context = {};\n protected dialogStateEffectRef?: EffectRef;\n protected contentTemplate: TemplateRef<unknown> | undefined;\n\n constructor() {\n effect(\n () => {\n const state = this.state();\n untracked(() => (state? this.open() : this.close()));\n }\n );\n }\n\n public close(result?: any, delay?: number): void{\n this.dialogRef?.close(result, delay?? this.options().closeDelay);\n }\n\n public registerTemplate(template: TemplateRef<unknown>): void{\n this.contentTemplate = template;\n }\n\n public setContext<T extends object>(context: T): void{\n this.context = { \n ...this.context, \n ...context \n };\n }\n\n public open<DialogContext>(): void {\n if (\n !this.contentTemplate ||\n this.dialogRef\n ) {\n return;\n }\n this.dialogStateEffectRef?.destroy();\n\n this.dialogRef = this.dialogService.open<DialogContext>(\n {\n content: this.contentTemplate,\n vcr: this.viewContainerRef,\n context: this.context as DialogContext,\n options: this.options()\n }\n );\n\n runInInjectionContext(\n this.injector, \n () => {\n this.dialogStateEffectRef = effect(\n () => {\n const state = this.dialogRef!.state();\n untracked(() => this.stateChanged.emit(state));\n }\n );\n }\n );\n\n this.dialogRef!.closed$.pipe(\n take(1)\n ).subscribe({\n next: (result) => {\n this.dialogRef = undefined;\n this.closed.emit(result);\n }\n });\n }\n}\n","import { Directive, inject, input, computed } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpDialogRef } from '../dialog-ref';\n\n\n@Directive({\n selector: 'button[upDialogClose]',\n host: {\n '[class]': '_computedClass()',\n '(click)': 'close()',\n }\n})\nexport class UpDialogCloseDirective {\n \n public readonly dialogRef = inject(UpDialogRef);\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n\tprotected readonly _computedClass = computed(\n () => up(this.inlineClass())\n );\n \n\tpublic close(): void{\n\t\tthis.dialogRef.close(undefined);\n\t}\n}\n","import { computed, Directive, inject, input } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpDialogRef } from '../dialog-ref';\n\n\n@Directive({\n exportAs: 'upDialogContent',\n selector: '[upDialogContent]',\n host: {\n '[class]': '_computedClass()',\n '[attr.data-state]': 'state()',\n },\n})\nexport class UpDialogContentDirective {\n\n public readonly dialogRef = inject(UpDialogRef);\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n public readonly state = computed(\n () => this.dialogRef?.state()?? 'closed'\n );\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n `\t\n grid relative gap-4 bg-white rounded-xl shadow duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out \n data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 \n data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 \n data-[state=closed]:slide-out-to-top-[2%] data-[state=open]:slide-in-from-top-[2%] \n w-full max-w-[calc(100%-2rem)] mx-auto\n md:w-full md:min-w-150\n overflow-hidden outline-none\n `,\n this.inlineClass(),\n );\n }\n );\n}\n","import { computed, Directive, effect, inject, input, signal } from '@angular/core';\nimport { UpDialogRef } from '../dialog-ref';\nimport { UpDialog } from '../dialog';\n\n\nlet idSequence = 0;\n\n\n@Directive({\n exportAs: 'upDialogTrigger',\n selector: 'button[upDialogTrigger], button[upDialogTriggerFor]',\n host: {\n '[id]': 'id()',\n '(click)': 'open()',\n '[attr.data-state]': 'state()',\n },\n})\nexport class UpDialogTriggerDirective {\n\n public readonly dialogRef = inject(UpDialogRef, { optional: true });\n public dialog = inject(UpDialog, { optional: true });\n\n public readonly id = input(`up-dialog-trigger-${ idSequence++ }`);\n public readonly dialogTriggerFor = input<UpDialog | undefined>(undefined, { alias: 'upDialogTriggerFor' });\n \n public readonly mutableDialogTriggerFor = computed(\n () => signal(this.dialogTriggerFor())\n );\n \n public readonly dialogTriggerForState = computed(\n () => this.mutableDialogTriggerFor()()\n );\n \n public readonly state = computed<'open' | 'closed'>(\n () => {\n const dialogFromInput = this.dialogTriggerForState();\n if (dialogFromInput) {\n return dialogFromInput.stateComputed();\n }\n \n if (this.dialog) {\n return this.dialog.stateComputed();\n }\n \n if (this.dialogRef) {\n return this.dialogRef.state();\n }\n return 'closed';\n }\n );\n\n constructor() {\n effect(\n () => {\n const dialog = this.dialogTriggerForState();\n \n if (!dialog) {\n return;\n }\n this.dialog = dialog\n }\n )\n }\n\n public open(): void{\n this.dialog?.open();\n }\n}\n","import { computed, Directive, effect, inject, input, TemplateRef, untracked } from '@angular/core';\nimport { injectDialogContext } from './../tokens/dialog-context.token';\nimport { provideExposesStateProviderExisting } from './../utils/expose-state.util';\nimport { UpDialog } from '../dialog';\nimport { UpDialogRef } from '../dialog-ref';\n\n\n@Directive({\n exportAs: 'upDialogContentRef',\n selector: '[upDialogContentRef]',\n providers: [\n provideExposesStateProviderExisting(() => UpDialogContentRefDirective)\n ]\n})\nexport class UpDialogContentRefDirective<T> {\n\n public readonly template = inject(TemplateRef);\n public readonly dialog = inject(UpDialog, { optional: true });\n public readonly dialogRef = inject(UpDialogRef, { optional: true });\n public readonly dialogContext = injectDialogContext({ optional: true });\n \n public readonly context = input<T | undefined>(undefined);\n\n public readonly state = computed(\n () => this.dialog?.stateComputed()?? this.dialogRef?.state()?? 'closed'\n );\n\n constructor() {\n if (!this.dialog) {\n return;\n }\n\n this.dialog.registerTemplate(this.template);\n effect(\n () => {\n const context = this.context();\n\n if (\n !this.dialog || \n !context\n ) {\n return;\n }\n untracked(() => this.dialog?.setContext(context));\n }\n );\n }\n}\n","import { ChangeDetectionStrategy, Component, effect, forwardRef, input, output, OnDestroy, OutputRefSubscription, ViewEncapsulation } from '@angular/core';\nimport { UpDialog } from '../dialog';\n\n\n@Component({\n exportAs: 'upDialogWrapper',\n selector: 'up-dialog-wrapper',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: UpDialog,\n useExisting: forwardRef(() => UpDialogWrapperComponent)\n }\n ],\n template: `\n <ng-content />\n `,\n})\nexport class UpDialogWrapperComponent extends UpDialog implements OnDestroy {\n \n public readonly isOpen = input(false);\n public readonly dismissed = output<void>();\n\n protected readonly closedSubscription: OutputRefSubscription;\n\n constructor() {\n super();\n \n effect(\n () => {\n this.panelClass.set('relative!');\n \n this.state.set(\n this.isOpen()\n );\n }\n );\n\n this.closedSubscription = this.closed.subscribe(\n () => {\n this.dismissed.emit();\n }\n );\n }\n\n public ngOnDestroy(): void{\n this.closedSubscription.unsubscribe();\n }\n}\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":"unipin-angular-applet-dialog.mjs","sources":["../../../projects/unipin-angular/dialog/constants/default-dialog-options.const.ts","../../../projects/unipin-angular/dialog/tokens/dialog-context.token.ts","../../../projects/unipin-angular/dialog/tokens/dialog.token.ts","../../../projects/unipin-angular/dialog/utils/create-injection-token.util.ts","../../../projects/unipin-angular/dialog/utils/expose-state.util.ts","../../../projects/unipin-angular/dialog/dialog-ref.ts","../../../projects/unipin-angular/dialog/services/dialog.service.ts","../../../projects/unipin-angular/dialog/dialog.ts","../../../projects/unipin-angular/dialog/directives/dialog-close.directive.ts","../../../projects/unipin-angular/dialog/directives/dialog-content.directive.ts","../../../projects/unipin-angular/dialog/directives/dialog-trigger.directive.ts","../../../projects/unipin-angular/dialog/directives/dialog-content-ref.directive.ts","../../../projects/unipin-angular/dialog/components/dialog-wrapper.component.ts","../../../projects/unipin-angular/dialog/unipin-angular-applet-dialog.ts"],"sourcesContent":["import { UpDialogOptions } from '../types/dialog-options.type';\n\n\nexport const defaultDialogOptions: UpDialogOptions = {\n role: 'dialog',\n panelClass: null,\n hasBackdrop: true,\n disableClose: false,\n \n autoFocus: false,\n restoreFocus: false,\n\n closeDelay: 200,\n closeOnBackdropClick: true,\n closeOnOutsidePointerEvents: false,\n\n attachPositions: [],\n scrollStrategy: null,\n};\n","import { inject, InjectOptions } from '@angular/core';\nimport { DIALOG_DATA } from '@angular/cdk/dialog';\n\nexport const injectDialogContext = <DialogContext = any>(options: InjectOptions = {}) => {\n return inject(DIALOG_DATA, options) as DialogContext;\n};\n","import { inject, InjectionToken, ValueProvider } from '@angular/core';\nimport { UpDialogOptions } from '../types/dialog-options.type';\nimport { defaultDialogOptions } from '../constants/default-dialog-options.const';\n\nconst DEFAULT_OPTIONS = new InjectionToken<UpDialogOptions>(\n 'up-dialog-default-options',\n {\n providedIn: 'root',\n factory: () => defaultDialogOptions,\n }\n);\n\nexport function provideDialogDefaultOptions(options: Partial<UpDialogOptions>): ValueProvider{\n return {\n provide: DEFAULT_OPTIONS,\n useValue: { \n ...defaultDialogOptions, \n ...options \n },\n };\n}\n\nexport function injectDialogDefaultOptions(): UpDialogOptions{\n const opts = inject(\n DEFAULT_OPTIONS, \n { \n optional: true \n }\n );\n return opts?? defaultDialogOptions;\n}\n","import { InjectionToken, forwardRef, inject } from '@angular/core';\nimport type { InjectOptions, Provider, Type } from '@angular/core';\n\ntype InjectFn<TTokenValue> = {\n (): TTokenValue;\n (injectOptions: InjectOptions & { optional?: false }): TTokenValue;\n (injectOptions: InjectOptions & { optional: true }): TTokenValue | null;\n};\n\ntype ProvideFn<TTokenValue> = (value: TTokenValue) => Provider;\ntype ProvideExistingFn<TTokenValue> = (valueFactory: () => Type<TTokenValue>) => Provider;\n\nexport type CreateInjectionTokenReturn<TTokenValue> = [\n InjectFn<TTokenValue>,\n ProvideFn<TTokenValue>,\n ProvideExistingFn<TTokenValue>,\n InjectionToken<TTokenValue>\n];\n\nexport function createInjectionToken<TTokenValue>(description: string): CreateInjectionTokenReturn<TTokenValue>{\n \n const token = new InjectionToken<TTokenValue>(description);\n\n const provideFn = (value: TTokenValue) => {\n return { provide: token, useValue: value };\n };\n\n const provideExistingFn = (value: () => TTokenValue) => {\n return { provide: token, useExisting: forwardRef(value) };\n };\n\n const injectFn = (options: InjectOptions = {}) => {\n return inject(token, options);\n };\n\n return [\n injectFn,\n provideFn,\n provideExistingFn,\n token,\n ] as CreateInjectionTokenReturn<TTokenValue>;\n}\n","import type { Signal } from '@angular/core';\nimport { createInjectionToken } from './create-injection-token.util';\n\nexport type ExposesState = {\n state: Signal<'open' | 'closed'>;\n};\n\nexport const [\n injectExposesStateProvider,\n provideExposesStateProvider,\n provideExposesStateProviderExisting,\n EXPOSES_STATE_TOKEN,\n] = createInjectionToken<ExposesState>('@unipin-angular EXPOSES_STATE_TOKEN');\n","import { computed, Signal, WritableSignal } from '@angular/core';\nimport { Observable, take } from 'rxjs';\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { UpDialogOptions } from './types/dialog-options.type';\n\nexport class UpDialogRef<DialogResult = any> {\n\n public readonly closed$: Observable<DialogResult | undefined>;\n\n public readonly isOpen = computed(\n () => this.state() === 'open'\n );\n\n public previousTimeout: ReturnType<typeof setTimeout> | undefined;\n\n constructor(\n public readonly state: Signal<'closed' | 'open'>,\n\n protected readonly open: WritableSignal<boolean>,\n protected readonly cdkDialogRef: DialogRef<DialogResult>,\n protected readonly options?: UpDialogOptions,\n ) {\n this.closed$ = this.cdkDialogRef.closed.pipe(take(1));\n }\n\n public close(result?: DialogResult, delay: number = this.options?.closeDelay ?? 0): void {\n if (!this.isOpen()) {\n return;\n }\n this.open.set(false);\n clearTimeout(this.previousTimeout);\n\n this.previousTimeout = setTimeout(\n () => {\n this.cdkDialogRef.close(result);\n }, \n delay\n );\n }\n}\n","import { computed, effect, EffectRef, ElementRef, inject, Injectable, Injector, RendererFactory2, runInInjectionContext, signal, StaticProvider, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Dialog } from '@angular/cdk/dialog';\nimport { ComponentType, OverlayPositionBuilder, ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { filter, Subject, takeUntil } from 'rxjs';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpDialogOptions } from '../types/dialog-options.type';\nimport { UpDialogRef } from '../dialog-ref';\n\n\nlet dialogSequence = 0;\ntype UpDialogContext<T> = T & { close: (result?: any) => void };\n\ntype DialogOpenOptions<T> = {\n content: ComponentType<unknown> | TemplateRef<unknown>;\n context?: T;\n vcr?: ViewContainerRef;\n options?: Partial<UpDialogOptions>;\n}\n\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class UpDialogService {\n \n public readonly cdkDialog = inject(Dialog);\n public readonly injector = inject(Injector);\n public readonly rendererFactory = inject(RendererFactory2);\n public readonly positionBuilder = inject(OverlayPositionBuilder);\n public readonly scrollStrategyOptions = inject(ScrollStrategyOptions);\n \n public readonly renderer = this.rendererFactory.createRenderer(null, null);\n\n public open<DialogContext>({ content, vcr, context, options }: DialogOpenOptions<DialogContext>): UpDialogRef{\n if (\n options?.id && \n this.cdkDialog.getDialogById(options.id)\n ) {\n throw new Error(`Dialog with ID: ${ options.id } already exists`);\n }\n\n let positionStrategy = options?.positionStrategy;\n if (!positionStrategy) {\n if (\n options?.attachTo &&\n options?.attachPositions &&\n options?.attachPositions?.length > 0\n ) {\n positionStrategy = this.positionBuilder?.flexibleConnectedTo(options.attachTo).withPositions(options.attachPositions?? [])\n } else {\n positionStrategy = this.positionBuilder.global()\n .centerHorizontally()\n .centerVertically();\n }\n }\n\n let effectRef!: EffectRef;\n let dialogRef!: UpDialogRef;\n\n const contextOrData: UpDialogContext<any> = {\n ...context,\n close: (result: any = undefined) => {\n dialogRef.close(result, options?.closeDelay)\n }\n };\n\n const open = signal<boolean>(true);\n const destroyed$ = new Subject<void>();\n \n const state = computed<'open' | 'closed'>(\n () => open()? 'open' : 'closed'\n );\n\n dialogSequence++;\n const dialogId = options?.id?? `up-dialog-${ dialogSequence }`;\n\n const cdkDialogRef = this.cdkDialog.open(\n content as any, \n {\n id: dialogId,\n role: options?.role,\n data: contextOrData,\n hasBackdrop: options?.hasBackdrop,\n \n panelClass: up(options?.panelClass?? ''),\n backdropClass: up(\n 'opacity-0',\n 'bg-black/30',\n 'ease-in-out!',\n 'duration-200!',\n 'transition-opacity!',\n '[&.cdk-overlay-backdrop-showing]:opacity-1'\n ).split(' '),\n\n autoFocus: options?.autoFocus?? 'first-tabbable',\n restoreFocus: options?.restoreFocus instanceof ElementRef? options.restoreFocus.nativeElement : options?.restoreFocus,\n \n disableClose: true,\n viewContainerRef: vcr,\n \n positionStrategy,\n scrollStrategy: (options?.scrollStrategy?? this.scrollStrategyOptions?.block()) as ScrollStrategy,\n\n templateContext: () => ({ $implicit: contextOrData }),\n\n providers: (cdkDialogRef) => {\n dialogRef = new UpDialogRef(\n state,\n open,\n cdkDialogRef,\n options as UpDialogOptions\n );\n\n runInInjectionContext(\n this.injector, \n () => {\n effectRef = effect(\n () => {\n if (overlay) {\n this.renderer.setAttribute(overlay, 'data-state', state());\n }\n\n if (backdrop) {\n this.renderer.setAttribute(backdrop, 'data-state', state());\n }\n }\n );\n }\n );\n\n const providers: StaticProvider[] = [\n {\n provide: UpDialogRef,\n useValue: dialogRef,\n },\n ];\n\n if (options?.providers) {\n if (typeof options.providers === 'function') {\n providers.push(...options.providers());\n }\n\n if (Array.isArray(options.providers)) {\n providers.push(...options.providers);\n }\n }\n return providers;\n },\n }\n );\n\n const overlay = cdkDialogRef.overlayRef.overlayElement;\n const backdrop = cdkDialogRef.overlayRef.backdropElement;\n\n if (!options?.disableClose) {\n cdkDialogRef.keydownEvents.pipe(\n filter((e) => e.key === 'Escape'),\n takeUntil(destroyed$)\n ).subscribe(\n {\n next: () => {\n dialogRef.close(undefined, options?.closeDelay);\n }\n }\n );\n }\n\n if (options?.closeOnOutsidePointerEvents) {\n cdkDialogRef.outsidePointerEvents.pipe(\n takeUntil(destroyed$)\n )\n .subscribe(\n {\n next: () => {\n dialogRef.close(undefined, options?.closeDelay);\n }\n }\n );\n }\n\n if (options?.closeOnBackdropClick) {\n cdkDialogRef.backdropClick.pipe(\n takeUntil(destroyed$)\n ).subscribe(\n {\n next: () => {\n dialogRef.close(undefined, options?.closeDelay);\n }\n }\n );\n }\n\n cdkDialogRef.closed.pipe(\n takeUntil(destroyed$)\n ).subscribe(\n {\n next: () => {\n effectRef?.destroy();\n \n destroyed$.next();\n destroyed$.complete();\n }\n }\n );\n return dialogRef;\n }\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, effect, EffectRef, inject, Injector, input, numberAttribute, output, runInInjectionContext, signal, TemplateRef, untracked, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { OverlayPositionBuilder, ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { take } from 'rxjs';\nimport { UpDialogOptions } from './types/dialog-options.type';\nimport { injectDialogDefaultOptions } from './tokens/dialog.token';\nimport { UpDialogService } from './services/dialog.service';\nimport { UpDialogRef } from './dialog-ref';\n\n\n@Component({\n exportAs: 'upDialog',\n selector: 'up-dialog',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <ng-content />\n `,\n})\nexport class UpDialog {\n \n public readonly injector = inject(Injector);\n public readonly dialogService = inject(UpDialogService);\n public readonly viewContainerRef = inject(ViewContainerRef);\n public readonly positionBuilder = inject(OverlayPositionBuilder);\n public readonly scrollStrategyOptions = inject(ScrollStrategyOptions);\n \n public readonly defaultOptions = injectDialogDefaultOptions();\n\n public readonly attachTo = input<UpDialogOptions['attachTo']>(null);\n public readonly role = input<UpDialogOptions['role']>(this.defaultOptions.role);\n public readonly autoFocus = input<UpDialogOptions['autoFocus']>(this.defaultOptions.autoFocus);\n public readonly restoreFocus = input<UpDialogOptions['restoreFocus']>(this.defaultOptions.restoreFocus);\n public readonly scrollStrategy = input<UpDialogOptions['scrollStrategy']>(this.defaultOptions.scrollStrategy);\n public readonly attachPositions = input<UpDialogOptions['attachPositions']>(this.defaultOptions.attachPositions);\n public readonly positionStrategy = input<UpDialogOptions['positionStrategy']>(this.defaultOptions.positionStrategy);\n\n public readonly hasBackdrop = input(\n this.defaultOptions.hasBackdrop, \n {\n transform: booleanAttribute,\n }\n );\n public readonly disableClose = input(\n this.defaultOptions.disableClose, \n {\n transform: booleanAttribute,\n }\n );\n public readonly closeDelay = input(\n this.defaultOptions.closeDelay, \n {\n transform: numberAttribute\n }\n );\n public readonly closeOnOutsidePointerEvents = input(\n this.defaultOptions.closeOnOutsidePointerEvents,\n {\n transform: booleanAttribute \n }\n );\n\n public readonly closed = output<any>();\n public readonly stateChanged = output<'open' | 'closed'>();\n \n public readonly state = signal<boolean>(false);\n public readonly panelClass = signal<UpDialogOptions['panelClass']>(null);\n\n public readonly mutableAttachTo = computed(() => signal(this.attachTo()));\n public readonly stateComputed = computed(() => this.dialogRef?.state()?? 'closed');\n public readonly mutableAttachPositions = computed(() => signal(this.attachPositions()));\n public readonly mutablePositionStrategy = computed(() => signal(this.positionStrategy()));\n public readonly mutableCloseOnOutsidePointerEvents = computed(() => signal(this.closeOnOutsidePointerEvents()));\n\n public dialogRef: UpDialogRef | undefined;\n\n protected readonly attachToState = computed(() => this.mutableAttachTo()());\n protected readonly positionStrategyState = computed(() => this.mutablePositionStrategy()());\n protected readonly closeOnOutsidePointerEventsState = computed(() => this.mutableCloseOnOutsidePointerEvents()());\n protected readonly attachPositionsState = computed(() => this.mutableAttachPositions()());\n\n protected readonly options = computed<Partial<UpDialogOptions>>(\n () => {\n const scrollStrategyInput = this.scrollStrategy();\n \n let scrollStrategy: ScrollStrategy = scrollStrategyInput as ScrollStrategy;\n if (\n scrollStrategyInput === 'close' ||\n scrollStrategyInput === 'reposition'\n ) {\n scrollStrategy = this.scrollStrategyOptions[scrollStrategyInput as 'close' | 'reposition']();\n }\n\n return {\n role: this.role(),\n panelClass: this.panelClass(),\n hasBackdrop: this.hasBackdrop(),\n disableClose: this.disableClose(),\n \n autoFocus: this.autoFocus(),\n restoreFocus: this.restoreFocus(),\n \n closeDelay: this.closeDelay(),\n closeOnBackdropClick: !this.disableClose(),\n closeOnOutsidePointerEvents: this.closeOnOutsidePointerEventsState(),\n \n scrollStrategy,\n positionStrategy: this.positionStrategyState(),\n\n attachTo: this.attachToState(),\n attachPositions: this.attachPositionsState(), \n };\n }\n );\n\n protected context = {};\n protected dialogStateEffectRef?: EffectRef;\n protected contentTemplate: TemplateRef<unknown> | undefined;\n\n constructor() {\n effect(\n () => {\n const state = this.state();\n untracked(() => (state? this.open() : this.close()));\n }\n );\n }\n\n public close(result?: any, delay?: number): void{\n this.dialogRef?.close(result, delay?? this.options().closeDelay);\n }\n\n public registerTemplate(template: TemplateRef<unknown>): void{\n this.contentTemplate = template;\n }\n\n public setContext<T extends object>(context: T): void{\n this.context = { \n ...this.context, \n ...context \n };\n }\n\n public open<DialogContext>(): void {\n if (\n !this.contentTemplate ||\n this.dialogRef\n ) {\n return;\n }\n this.dialogStateEffectRef?.destroy();\n\n this.dialogRef = this.dialogService.open<DialogContext>(\n {\n content: this.contentTemplate,\n vcr: this.viewContainerRef,\n context: this.context as DialogContext,\n options: this.options()\n }\n );\n\n runInInjectionContext(\n this.injector, \n () => {\n this.dialogStateEffectRef = effect(\n () => {\n const state = this.dialogRef!.state();\n untracked(() => this.stateChanged.emit(state));\n }\n );\n }\n );\n\n this.dialogRef!.closed$.pipe(\n take(1)\n ).subscribe({\n next: (result) => {\n this.dialogRef = undefined;\n this.closed.emit(result);\n }\n });\n }\n}\n","import { Directive, inject, input, computed } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpDialogRef } from '../dialog-ref';\n\n\n@Directive({\n selector: 'button[upDialogClose]',\n host: {\n '[class]': '_computedClass()',\n '(click)': 'close()',\n }\n})\nexport class UpDialogCloseDirective {\n \n public readonly dialogRef = inject(UpDialogRef);\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n\tprotected readonly _computedClass = computed(\n () => up(this.inlineClass())\n );\n \n\tpublic close(): void{\n\t\tthis.dialogRef.close(undefined);\n\t}\n}\n","import { computed, Directive, inject, input } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpDialogRef } from '../dialog-ref';\n\n\n@Directive({\n exportAs: 'upDialogContent',\n selector: '[upDialogContent]',\n host: {\n '[class]': '_computedClass()',\n '[attr.data-state]': 'state()',\n },\n})\nexport class UpDialogContentDirective {\n\n public readonly dialogRef = inject(UpDialogRef);\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n public readonly state = computed(\n () => this.dialogRef?.state()?? 'closed'\n );\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n `\t\n grid relative gap-4 bg-white rounded-xl shadow duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out \n data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 \n data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 \n data-[state=closed]:slide-out-to-top-[2%] data-[state=open]:slide-in-from-top-[2%] \n w-full max-w-[calc(100%-2rem)] mx-auto\n md:w-full md:min-w-150\n overflow-hidden outline-none\n `,\n this.inlineClass(),\n );\n }\n );\n}\n","import { computed, Directive, effect, inject, input, signal } from '@angular/core';\nimport { UpDialogRef } from '../dialog-ref';\nimport { UpDialog } from '../dialog';\n\n\nlet idSequence = 0;\n\n\n@Directive({\n exportAs: 'upDialogTrigger',\n selector: 'button[upDialogTrigger], button[upDialogTriggerFor]',\n host: {\n '[id]': 'id()',\n '(click)': 'open()',\n '[attr.data-state]': 'state()',\n },\n})\nexport class UpDialogTriggerDirective {\n\n public readonly dialogRef = inject(UpDialogRef, { optional: true });\n public dialog = inject(UpDialog, { optional: true });\n\n public readonly id = input(`up-dialog-trigger-${ idSequence++ }`);\n public readonly dialogTriggerFor = input<UpDialog | undefined>(undefined, { alias: 'upDialogTriggerFor' });\n \n public readonly mutableDialogTriggerFor = computed(\n () => signal(this.dialogTriggerFor())\n );\n \n public readonly dialogTriggerForState = computed(\n () => this.mutableDialogTriggerFor()()\n );\n \n public readonly state = computed<'open' | 'closed'>(\n () => {\n const dialogFromInput = this.dialogTriggerForState();\n if (dialogFromInput) {\n return dialogFromInput.stateComputed();\n }\n \n if (this.dialog) {\n return this.dialog.stateComputed();\n }\n \n if (this.dialogRef) {\n return this.dialogRef.state();\n }\n return 'closed';\n }\n );\n\n constructor() {\n effect(\n () => {\n const dialog = this.dialogTriggerForState();\n \n if (!dialog) {\n return;\n }\n this.dialog = dialog\n }\n )\n }\n\n public open(): void{\n this.dialog?.open();\n }\n}\n","import { computed, Directive, effect, inject, input, TemplateRef, untracked } from '@angular/core';\nimport { injectDialogContext } from './../tokens/dialog-context.token';\nimport { provideExposesStateProviderExisting } from './../utils/expose-state.util';\nimport { UpDialog } from '../dialog';\nimport { UpDialogRef } from '../dialog-ref';\n\n\n@Directive({\n exportAs: 'upDialogContentRef',\n selector: '[upDialogContentRef]',\n providers: [\n provideExposesStateProviderExisting(() => UpDialogContentRefDirective)\n ]\n})\nexport class UpDialogContentRefDirective<T> {\n\n public readonly template = inject(TemplateRef);\n public readonly dialog = inject(UpDialog, { optional: true });\n public readonly dialogRef = inject(UpDialogRef, { optional: true });\n public readonly dialogContext = injectDialogContext({ optional: true });\n \n public readonly context = input<T | undefined>(undefined);\n\n public readonly state = computed(\n () => this.dialog?.stateComputed()?? this.dialogRef?.state()?? 'closed'\n );\n\n constructor() {\n if (!this.dialog) {\n return;\n }\n\n this.dialog.registerTemplate(this.template);\n effect(\n () => {\n const context = this.context();\n\n if (\n !this.dialog || \n !context\n ) {\n return;\n }\n untracked(() => this.dialog?.setContext(context));\n }\n );\n }\n}\n","import { ChangeDetectionStrategy, Component, effect, forwardRef, input, output, OnDestroy, OutputRefSubscription, ViewEncapsulation } from '@angular/core';\nimport { UpDialog } from '../dialog';\n\n\n@Component({\n exportAs: 'upDialogWrapper',\n selector: 'up-dialog-wrapper',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: UpDialog,\n useExisting: forwardRef(() => UpDialogWrapperComponent)\n }\n ],\n template: `\n <ng-content />\n `,\n})\nexport class UpDialogWrapperComponent extends UpDialog implements OnDestroy {\n \n public readonly isOpen = input(false);\n public readonly dismissed = output<void>();\n\n protected readonly closedSubscription: OutputRefSubscription;\n\n constructor() {\n super();\n \n effect(\n () => {\n this.panelClass.set('relative!');\n \n this.state.set(\n this.isOpen()\n );\n }\n );\n\n this.closedSubscription = this.closed.subscribe(\n () => {\n this.dismissed.emit();\n }\n );\n }\n\n public ngOnDestroy(): void{\n this.closedSubscription.unsubscribe();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;AAGO,MAAM,oBAAoB,GAAoB;AACnD,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,YAAY,EAAE,KAAK;AAEnB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,YAAY,EAAE,KAAK;AAEnB,IAAA,UAAU,EAAE,GAAG;AACf,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,2BAA2B,EAAE,KAAK;AAElC,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,cAAc,EAAE,IAAI;;;MCdT,mBAAmB,GAAG,CAAsB,OAAA,GAAyB,EAAE,KAAI;AACtF,IAAA,OAAO,MAAM,CAAC,WAAW,EAAE,OAAO,CAAkB;AACtD;;ACDA,MAAM,eAAe,GAAG,IAAI,cAAc,CACxC,2BAA2B,EAC3B;AACE,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM,oBAAoB;AACpC,CAAA,CACF;AAEK,SAAU,2BAA2B,CAAC,OAAiC,EAAA;IAC3E,OAAO;AACL,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,QAAQ,EAAE;AACR,YAAA,GAAG,oBAAoB;AACvB,YAAA,GAAG;AACJ,SAAA;KACF;AACH;SAEgB,0BAA0B,GAAA;AACxC,IAAA,MAAM,IAAI,GAAG,MAAM,CACjB,eAAe,EACf;AACE,QAAA,QAAQ,EAAE;AACX,KAAA,CACF;IACD,OAAO,IAAI,IAAG,oBAAoB;AACpC;;ACXM,SAAU,oBAAoB,CAAc,WAAmB,EAAA;AAEnE,IAAA,MAAM,KAAK,GAAG,IAAI,cAAc,CAAc,WAAW,CAAC;AAE1D,IAAA,MAAM,SAAS,GAAG,CAAC,KAAkB,KAAI;QACvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;AAC5C,IAAA,CAAC;AAED,IAAA,MAAM,iBAAiB,GAAG,CAAC,KAAwB,KAAI;AACrD,QAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE;AAC3D,IAAA,CAAC;AAED,IAAA,MAAM,QAAQ,GAAG,CAAC,OAAA,GAAyB,EAAE,KAAI;AAC/C,QAAA,OAAO,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;AAC/B,IAAA,CAAC;IAED,OAAO;QACL,QAAQ;QACR,SAAS;QACT,iBAAiB;QACjB,KAAK;KACqC;AAC9C;;AClCO,MAAM,CACX,0BAA0B,EAC1B,2BAA2B,EAC3B,mCAAmC,EACnC,mBAAmB,EACpB,GAAG,oBAAoB,CAAe,qCAAqC;;MCP/D,WAAW,CAAA;AAUtB,IAAA,WAAA,CACkB,KAAgC,EAE7B,IAA6B,EAC7B,YAAqC,EACrC,OAAyB,EAAA;QAJ5B,IAAA,CAAA,KAAK,GAAL,KAAK;QAEF,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,OAAO,GAAP,OAAO;AAXZ,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAC/B,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,MAAM,6EAC9B;AAWC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvD;IAEO,KAAK,CAAC,MAAqB,EAAE,KAAA,GAAgB,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,CAAC,EAAA;AAC/E,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YAClB;QACF;AACA,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;AACpB,QAAA,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC;AAElC,QAAA,IAAI,CAAC,eAAe,GAAG,UAAU,CAC/B,MAAK;AACH,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;QACjC,CAAC,EACD,KAAK,CACN;IACH;AACD;;AC9BD,IAAI,cAAc,GAAG,CAAC;MAcT,eAAe,CAAA;AAH5B,IAAA,WAAA,GAAA;AAKkB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;AAC1B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC1C,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAChD,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAErD,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;AA+K3E,IAAA;IA7KQ,IAAI,CAAgB,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAoC,EAAA;QAC7F,IACE,OAAO,EAAE,EAAE;YACX,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EACxC;YACA,MAAM,IAAI,KAAK,CAAC,CAAA,gBAAA,EAAoB,OAAO,CAAC,EAAG,CAAA,eAAA,CAAiB,CAAC;QACnE;AAEA,QAAA,IAAI,gBAAgB,GAAG,OAAO,EAAE,gBAAgB;QAChD,IAAI,CAAC,gBAAgB,EAAE;YACrB,IACE,OAAO,EAAE,QAAQ;AACjB,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,OAAO,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC,EACpC;gBACA,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,IAAG,EAAE,CAAC;YAC5H;iBAAO;AACL,gBAAA,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM;AAC3C,qBAAA,kBAAkB;AAClB,qBAAA,gBAAgB,EAAE;YACvB;QACF;AAEA,QAAA,IAAI,SAAqB;AACzB,QAAA,IAAI,SAAuB;AAE3B,QAAA,MAAM,aAAa,GAAyB;AAC1C,YAAA,GAAG,OAAO;AACV,YAAA,KAAK,EAAE,CAAC,MAAA,GAAc,SAAS,KAAI;gBACjC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC;YAC9C;SACD;AAED,QAAA,MAAM,IAAI,GAAG,MAAM,CAAU,IAAI,2EAAC;AAClC,QAAA,MAAM,UAAU,GAAG,IAAI,OAAO,EAAQ;AAEtC,QAAA,MAAM,KAAK,GAAG,QAAQ,CACpB,MAAM,IAAI,EAAE,GAAE,MAAM,GAAG,QAAQ,4EAChC;AAED,QAAA,cAAc,EAAE;QAChB,MAAM,QAAQ,GAAG,OAAO,EAAE,EAAE,IAAG,CAAA,UAAA,EAAc,cAAe,CAAA,CAAE;QAE9D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CACtC,OAAc,EACd;AACE,YAAA,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,OAAO,EAAE,IAAI;AACnB,YAAA,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,OAAO,EAAE,WAAW;YAEjC,UAAU,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,IAAG,EAAE,CAAC;AACxC,YAAA,aAAa,EAAE,EAAE,CACf,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,4CAA4C,CAC7C,CAAC,KAAK,CAAC,GAAG,CAAC;AAEZ,YAAA,SAAS,EAAE,OAAO,EAAE,SAAS,IAAG,gBAAgB;AAChD,YAAA,YAAY,EAAE,OAAO,EAAE,YAAY,YAAY,UAAU,GAAE,OAAO,CAAC,YAAY,CAAC,aAAa,GAAG,OAAO,EAAE,YAAY;AAErH,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,gBAAgB,EAAE,GAAG;YAErB,gBAAgB;AAChB,YAAA,cAAc,GAAG,OAAO,EAAE,cAAc,IAAG,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,CAAmB;YAEjG,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;AAErD,YAAA,SAAS,EAAE,CAAC,YAAY,KAAI;AAC1B,gBAAA,SAAS,GAAG,IAAI,WAAW,CACzB,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,OAA0B,CAC3B;AAED,gBAAA,qBAAqB,CACnB,IAAI,CAAC,QAAQ,EACb,MAAK;AACH,oBAAA,SAAS,GAAG,MAAM,CAChB,MAAK;wBACH,IAAI,OAAO,EAAE;AACX,4BAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;wBAC5D;wBAEA,IAAI,QAAQ,EAAE;AACZ,4BAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;wBAC7D;AACF,oBAAA,CAAC,CACF;AACH,gBAAA,CAAC,CACF;AAED,gBAAA,MAAM,SAAS,GAAqB;AAClC,oBAAA;AACE,wBAAA,OAAO,EAAE,WAAW;AACpB,wBAAA,QAAQ,EAAE,SAAS;AACpB,qBAAA;iBACF;AAED,gBAAA,IAAI,OAAO,EAAE,SAAS,EAAE;AACtB,oBAAA,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE;wBAC3C,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;oBACxC;oBAEA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;wBACpC,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;oBACtC;gBACF;AACA,gBAAA,OAAO,SAAS;YAClB,CAAC;AACF,SAAA,CACF;AAED,QAAA,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,cAAc;AACtD,QAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,eAAe;AAExD,QAAA,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE;YAC1B,YAAY,CAAC,aAAa,CAAC,IAAI,CAC7B,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,EACjC,SAAS,CAAC,UAAU,CAAC,CACtB,CAAC,SAAS,CACT;gBACE,IAAI,EAAE,MAAK;oBACT,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;gBACjD;AACD,aAAA,CACF;QACH;AAEA,QAAA,IAAI,OAAO,EAAE,2BAA2B,EAAE;YACxC,YAAY,CAAC,oBAAoB,CAAC,IAAI,CACpC,SAAS,CAAC,UAAU,CAAC;AAEtB,iBAAA,SAAS,CACR;gBACE,IAAI,EAAE,MAAK;oBACT,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;gBACjD;AACD,aAAA,CACF;QACH;AAEA,QAAA,IAAI,OAAO,EAAE,oBAAoB,EAAE;AACjC,YAAA,YAAY,CAAC,aAAa,CAAC,IAAI,CAC7B,SAAS,CAAC,UAAU,CAAC,CACtB,CAAC,SAAS,CACT;gBACE,IAAI,EAAE,MAAK;oBACT,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;gBACjD;AACD,aAAA,CACF;QACH;AAEA,QAAA,YAAY,CAAC,MAAM,CAAC,IAAI,CACtB,SAAS,CAAC,UAAU,CAAC,CACtB,CAAC,SAAS,CACT;YACE,IAAI,EAAE,MAAK;gBACT,SAAS,EAAE,OAAO,EAAE;gBAEpB,UAAU,CAAC,IAAI,EAAE;gBACjB,UAAU,CAAC,QAAQ,EAAE;YACvB;AACD,SAAA,CACF;AACD,QAAA,OAAO,SAAS;IAClB;+GAtLW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCJY,QAAQ,CAAA;AAoGnB,IAAA,WAAA,GAAA;AAlGgB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC;AACvC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAChD,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAErD,IAAA,CAAA,cAAc,GAAG,0BAA0B,EAAE;AAE7C,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAA8B,IAAI,+EAAC;QACnD,IAAA,CAAA,IAAI,GAAG,KAAK,CAA0B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;QAC/D,IAAA,CAAA,SAAS,GAAG,KAAK,CAA+B,IAAI,CAAC,cAAc,CAAC,SAAS,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;QAC9E,IAAA,CAAA,YAAY,GAAG,KAAK,CAAkC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;QACvF,IAAA,CAAA,cAAc,GAAG,KAAK,CAAoC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;QAC7F,IAAA,CAAA,eAAe,GAAG,KAAK,CAAqC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;QAChG,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAsC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAEnG,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CACjC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,aAAA,EAAA,8BAAA,EAAA,CAAA,EAE7B,SAAS,EAAE,gBAAgB,GAE9B;AACe,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAClC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,cAAA,EAAA,8BAAA,EAAA,CAAA,EAE9B,SAAS,EAAE,gBAAgB,GAE9B;AACe,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAChC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,YAAA,EAAA,8BAAA,EAAA,CAAA,EAE5B,SAAS,EAAE,eAAe,GAE7B;AACe,QAAA,IAAA,CAAA,2BAA2B,GAAG,KAAK,CACjD,IAAI,CAAC,cAAc,CAAC,2BAA2B,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,6BAAA,EAAA,8BAAA,EAAA,CAAA,EAE7C,SAAS,EAAE,gBAAgB,GAE9B;QAEe,IAAA,CAAA,MAAM,GAAG,MAAM,EAAO;QACtB,IAAA,CAAA,YAAY,GAAG,MAAM,EAAqB;AAE1C,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAU,KAAK,4EAAC;AAC9B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAgC,IAAI,iFAAC;AAExD,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,sFAAC;AACzD,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAG,QAAQ,oFAAC;AAClE,QAAA,IAAA,CAAA,sBAAsB,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,6FAAC;AACvE,QAAA,IAAA,CAAA,uBAAuB,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,8FAAC;AACzE,QAAA,IAAA,CAAA,kCAAkC,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,yGAAC;AAI5F,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,eAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AACxD,QAAA,IAAA,CAAA,qBAAqB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AACxE,QAAA,IAAA,CAAA,gCAAgC,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,kCAAkC,EAAE,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,kCAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAC9F,QAAA,IAAA,CAAA,oBAAoB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,sBAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAEtE,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CACnC,MAAK;AACH,YAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE;YAEjD,IAAI,cAAc,GAAmB,mBAAqC;YAC1E,IACE,mBAAmB,KAAK,OAAO;gBAC/B,mBAAmB,KAAK,YAAY,EACpC;gBACA,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,mBAA6C,CAAC,EAAE;YAC9F;YAEA,OAAO;AACL,gBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjB,gBAAA,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AAC7B,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AAC/B,gBAAA,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;AAEjC,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AAC3B,gBAAA,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;AAEjC,gBAAA,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AAC7B,gBAAA,oBAAoB,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;AAC1C,gBAAA,2BAA2B,EAAE,IAAI,CAAC,gCAAgC,EAAE;gBAEpE,cAAc;AACd,gBAAA,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,EAAE;AAE9C,gBAAA,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE;AAC9B,gBAAA,eAAe,EAAE,IAAI,CAAC,oBAAoB,EAAE;aAC7C;AACH,QAAA,CAAC,8EACF;QAES,IAAA,CAAA,OAAO,GAAG,EAAE;QAKpB,MAAM,CACJ,MAAK;AACH,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;YAC1B,SAAS,CAAC,OAAO,KAAK,GAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACtD,QAAA,CAAC,CACF;IACH;IAEO,KAAK,CAAC,MAAY,EAAE,KAAc,EAAA;AACvC,QAAA,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAG,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC;IAClE;AAEO,IAAA,gBAAgB,CAAC,QAA8B,EAAA;AACpD,QAAA,IAAI,CAAC,eAAe,GAAG,QAAQ;IACjC;AAEO,IAAA,UAAU,CAAmB,OAAU,EAAA;QAC5C,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,IAAI,CAAC,OAAO;AACf,YAAA,GAAG;SACJ;IACH;IAEO,IAAI,GAAA;QACT,IACE,CAAC,IAAI,CAAC,eAAe;YACrB,IAAI,CAAC,SAAS,EACd;YACA;QACF;AACA,QAAA,IAAI,CAAC,oBAAoB,EAAE,OAAO,EAAE;QAEpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CACtC;YACE,OAAO,EAAE,IAAI,CAAC,eAAe;YAC7B,GAAG,EAAE,IAAI,CAAC,gBAAgB;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAwB;AACtC,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO;AACtB,SAAA,CACF;AAED,QAAA,qBAAqB,CACnB,IAAI,CAAC,QAAQ,EACb,MAAK;AACH,YAAA,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAChC,MAAK;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAU,CAAC,KAAK,EAAE;AACrC,gBAAA,SAAS,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChD,YAAA,CAAC,2FACF;AACH,QAAA,CAAC,CACF;AAED,QAAA,IAAI,CAAC,SAAU,CAAC,OAAO,CAAC,IAAI,CAC1B,IAAI,CAAC,CAAC,CAAC,CACR,CAAC,SAAS,CAAC;AACV,YAAA,IAAI,EAAE,CAAC,MAAM,KAAI;AACf,gBAAA,IAAI,CAAC,SAAS,GAAG,SAAS;AAC1B,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAC1B;AACD,SAAA,CAAC;IACJ;+GAlKW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,2BAAA,EAAA,EAAA,iBAAA,EAAA,6BAAA,EAAA,UAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAJT;;AAET,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAEU,QAAQ,EAAA,UAAA,EAAA,CAAA;kBATpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,WAAW;oBACrB,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE;;AAET,EAAA,CAAA;AACF,iBAAA;;;MCJY,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;AASkB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;QAC/B,IAAA,CAAA,WAAW,GAAG,KAAK,CAAa,EAAE,mFAAI,KAAK,EAAE,OAAO,EAAA,CAAG;AAErD,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CACzC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,qFAC7B;AAKF,IAAA;IAHO,KAAK,GAAA;AACX,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;IAChC;+GAXY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC7B,wBAAA,SAAS,EAAE,SAAS;AACrB;AACF,iBAAA;;;MCEY,wBAAwB,CAAA;AARrC,IAAA,WAAA,GAAA;AAUkB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;QAC/B,IAAA,CAAA,WAAW,GAAG,KAAK,CAAa,EAAE,mFAAI,KAAK,EAAE,OAAO,EAAA,CAAG;AAEvD,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAC9B,MAAM,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAG,QAAQ,4EACzC;AAEkB,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAC1C,MAAK;AACH,YAAA,OAAO,EAAE,CACP,CAAA;;;;;;;;AAQC,QAAA,CAAA,EACD,IAAI,CAAC,WAAW,EAAE,CACnB;AACH,QAAA,CAAC,qFACF;AACF,IAAA;+GAzBY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC7B,wBAAA,mBAAmB,EAAE,SAAS;AAC/B,qBAAA;AACF,iBAAA;;;ACRD,IAAI,UAAU,GAAG,CAAC;MAYL,wBAAwB,CAAA;AAkCnC,IAAA,WAAA,GAAA;QAhCgB,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5D,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAEpC,IAAA,CAAA,EAAE,GAAG,KAAK,CAAC,CAAA,kBAAA,EAAsB,UAAU,EAAG,CAAA,CAAE,yEAAC;QACjD,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAuB,SAAS,wFAAI,KAAK,EAAE,oBAAoB,EAAA,CAAG;AAE1F,QAAA,IAAA,CAAA,uBAAuB,GAAG,QAAQ,CAChD,MAAM,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,8FACtC;AAEe,QAAA,IAAA,CAAA,qBAAqB,GAAG,QAAQ,CAC9C,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CACvC;AAEe,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAC9B,MAAK;AACH,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE;YACpD,IAAI,eAAe,EAAE;AACnB,gBAAA,OAAO,eAAe,CAAC,aAAa,EAAE;YACxC;AAEA,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YACpC;AAEA,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YAC/B;AACA,YAAA,OAAO,QAAQ;AACjB,QAAA,CAAC,4EACF;QAGC,MAAM,CACJ,MAAK;AACH,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE;YAE3C,IAAI,CAAC,MAAM,EAAE;gBACX;YACF;AACA,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM;AACtB,QAAA,CAAC,CACF;IACH;IAEO,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;IACrB;+GAjDW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,QAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBATpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,qDAAqD;AAC/D,oBAAA,IAAI,EAAE;AACJ,wBAAA,MAAM,EAAE,MAAM;AACd,wBAAA,SAAS,EAAE,QAAQ;AACnB,wBAAA,mBAAmB,EAAE,SAAS;AAC/B,qBAAA;AACF,iBAAA;;;MCFY,2BAA2B,CAAA;AAatC,IAAA,WAAA,GAAA;AAXgB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;QAC9B,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7C,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnD,IAAA,CAAA,aAAa,GAAG,mBAAmB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAEvD,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAgB,SAAS,8EAAC;QAEzC,IAAA,CAAA,KAAK,GAAG,QAAQ,CAC9B,MAAM,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,IAAG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAG,QAAQ,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CACxE;AAGC,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB;QACF;QAEA,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC3C,MAAM,CACJ,MAAK;AACH,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;YAE9B,IACE,CAAC,IAAI,CAAC,MAAM;gBACZ,CAAC,OAAO,EACR;gBACA;YACF;AACA,YAAA,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;AACnD,QAAA,CAAC,CACF;IACH;+GAhCW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAJ3B;AACT,YAAA,mCAAmC,CAAC,MAAM,2BAA2B;AACtE,SAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEU,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,SAAS,EAAE;AACT,wBAAA,mCAAmC,CAAC,MAAK,2BAA4B;AACtE;AACF,iBAAA;;;ACMK,MAAO,wBAAyB,SAAQ,QAAQ,CAAA;AAOpD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AANO,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,KAAK,6EAAC;QACrB,IAAA,CAAA,SAAS,GAAG,MAAM,EAAQ;QAOxC,MAAM,CACJ,MAAK;AACH,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC;YAEhC,IAAI,CAAC,KAAK,CAAC,GAAG,CACZ,IAAI,CAAC,MAAM,EAAE,CACd;AACH,QAAA,CAAC,CACF;QAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAC7C,MAAK;AACH,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;AACvB,QAAA,CAAC,CACF;IACH;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;IACvC;+GA7BW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,SAAA,EAVxB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB;AACvD;SACF,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EACS;;AAET,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAEU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAfpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,QAAQ;AACjB,4BAAA,WAAW,EAAE,UAAU,CAAC,8BAA8B;AACvD;AACF,qBAAA;AACD,oBAAA,QAAQ,EAAE;;AAET,EAAA,CAAA;AACF,iBAAA;;;AClBD;;AAEG;;;;"}
|