@cuby-ui/cdk 0.0.41 → 0.0.42
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.
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { CuiLetContext } from './let.context';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class CuiLetDirective<T> {
|
|
4
4
|
cuiLet: T;
|
|
5
|
+
constructor();
|
|
5
6
|
static ngTemplateContextGuard<T>(_dir: CuiLetDirective<T>, _ctx: unknown): _ctx is CuiLetContext<T>;
|
|
6
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<CuiLetDirective<any>, never>;
|
|
7
8
|
static ɵdir: i0.ɵɵDirectiveDeclaration<CuiLetDirective<any>, "[cuiLet]", never, { "cuiLet": "cuiLet"; }, {}, never, never, true, never>;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
1
|
+
import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { CuiLetContext } from './let.context';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export class CuiLetDirective {
|
|
5
|
+
constructor() {
|
|
6
|
+
inject(ViewContainerRef).createEmbeddedView(inject((TemplateRef)), new CuiLetContext(this));
|
|
7
|
+
}
|
|
4
8
|
static ngTemplateContextGuard(_dir, _ctx) {
|
|
5
9
|
return true;
|
|
6
10
|
}
|
|
@@ -13,7 +17,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
13
17
|
standalone: true,
|
|
14
18
|
selector: '[cuiLet]'
|
|
15
19
|
}]
|
|
16
|
-
}], propDecorators: { cuiLet: [{
|
|
20
|
+
}], ctorParameters: function () { return []; }, propDecorators: { cuiLet: [{
|
|
17
21
|
type: Input
|
|
18
22
|
}] } });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL2xldC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU05QyxNQUFNLE9BQU8sZUFBZTtJQUkxQjtRQUNFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGtCQUFrQixDQUN6QyxNQUFNLENBQUMsQ0FBQSxXQUE2QixDQUFBLENBQUMsRUFDckMsSUFBSSxhQUFhLENBQUksSUFBSSxDQUFDLENBQzNCLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLHNCQUFzQixDQUNsQyxJQUF3QixFQUN4QixJQUFhO1FBRWIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs2R0FoQlUsZUFBZTtpR0FBZixlQUFlOzRGQUFmLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxVQUFVO2lCQUNyQjswRUFHUSxNQUFNO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEN1aUxldENvbnRleHQgfSBmcm9tICcuL2xldC5jb250ZXh0JztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW2N1aUxldF0nXG59KVxuZXhwb3J0IGNsYXNzIEN1aUxldERpcmVjdGl2ZTxUPiB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjdWlMZXQhOiBUO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGluamVjdChWaWV3Q29udGFpbmVyUmVmKS5jcmVhdGVFbWJlZGRlZFZpZXcoXG4gICAgICBpbmplY3QoVGVtcGxhdGVSZWY8Q3VpTGV0Q29udGV4dDxUPj4pLFxuICAgICAgbmV3IEN1aUxldENvbnRleHQ8VD4odGhpcyksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZDxUPihcbiAgICBfZGlyOiBDdWlMZXREaXJlY3RpdmU8VD4sXG4gICAgX2N0eDogdW5rbm93bixcbiAgKTogX2N0eCBpcyBDdWlMZXRDb250ZXh0PFQ+IHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufSJdfQ==
|
package/fesm2015/cuby-ui-cdk.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, inject, Injectable, ElementRef, Directive, HostListener, EventEmitter, Output, Input, Pipe } from '@angular/core';
|
|
2
|
+
import { InjectionToken, inject, Injectable, ElementRef, Directive, HostListener, EventEmitter, Output, ViewContainerRef, TemplateRef, Input, Pipe } from '@angular/core';
|
|
3
3
|
import { NgControl, NgModel, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
4
|
import { Subject, Observable, takeUntil } from 'rxjs';
|
|
5
5
|
import { DOCUMENT } from '@angular/common';
|
|
@@ -277,6 +277,9 @@ class CuiLetContext {
|
|
|
277
277
|
}
|
|
278
278
|
|
|
279
279
|
class CuiLetDirective {
|
|
280
|
+
constructor() {
|
|
281
|
+
inject(ViewContainerRef).createEmbeddedView(inject((TemplateRef)), new CuiLetContext(this));
|
|
282
|
+
}
|
|
280
283
|
static ngTemplateContextGuard(_dir, _ctx) {
|
|
281
284
|
return true;
|
|
282
285
|
}
|
|
@@ -289,7 +292,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
289
292
|
standalone: true,
|
|
290
293
|
selector: '[cuiLet]'
|
|
291
294
|
}]
|
|
292
|
-
}], propDecorators: { cuiLet: [{
|
|
295
|
+
}], ctorParameters: function () { return []; }, propDecorators: { cuiLet: [{
|
|
293
296
|
type: Input
|
|
294
297
|
}] } });
|
|
295
298
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cuby-ui-cdk.mjs","sources":["../../../projects/cdk/utils/token/create-token.ts","../../../projects/cdk/utils/token/provide.ts","../../../projects/cdk/tokens/window.ts","../../../projects/cdk/tokens/local-storage.ts","../../../projects/cdk/services/destroy.service.ts","../../../projects/cdk/services/id.service.ts","../../../projects/cdk/services/popover.service.ts","../../../projects/cdk/directives/auto-resizing.directive.ts","../../../projects/cdk/directives/click-outside.directive.ts","../../../projects/cdk/directives/dimensions-observer.directive.ts","../../../projects/cdk/directives/content-editable-value-accessor.directive.ts","../../../projects/cdk/directives/element.directive.ts","../../../projects/cdk/directives/item.directive.ts","../../../projects/cdk/directives/let.context.ts","../../../projects/cdk/directives/let.directive.ts","../../../projects/cdk/pipes/filter.pipe.ts","../../../projects/cdk/cuby-ui-cdk.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport function cuiCreateToken<T>(defaults: T): InjectionToken<T> {\n return cuiCreateTokenFromFactory(() => defaults);\n}\n\nexport function cuiCreateTokenFromFactory<T>(factory: () => T): InjectionToken<T> {\n return new InjectionToken<T>('', { factory });\n}\n","import type { ExistingProvider, ProviderToken } from '@angular/core';\n\nexport function cuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n): ExistingProvider;\nexport function cuiProvide<T>(\n provide: ProviderToken<T | T[]>,\n useExisting: ProviderToken<T>,\n multi: boolean,\n): ExistingProvider;\nexport function cuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n multi = false,\n): ExistingProvider {\n return { provide, useExisting, multi };\n}\n","import { inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_WINDOW = cuiCreateTokenFromFactory<Window>(() => {\n const { defaultView } = inject(DOCUMENT);\n\n if (!defaultView) {\n throw new Error('Window is not available');\n }\n\n return defaultView;\n});","import { inject } from '@angular/core';\n\nimport { CUI_WINDOW } from './window';\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_LOCAL_STORAGE = cuiCreateTokenFromFactory(() => inject(CUI_WINDOW).localStorage);","import type { OnDestroy } from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class CuiDestroyService extends Subject<void> implements OnDestroy {\n public ngOnDestroy(): void {\n this.next();\n this.complete();\n }\n}\n","import { Injectable } from '@angular/core';\n\nconst CUI = 'cui_';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CuiIdService {\n private static autoId = 0;\n\n public generate(): string {\n return `${CUI}${CuiIdService.autoId++}${Date.now()}`;\n }\n}\n","import type { ProviderToken, TemplateRef, Type } from '@angular/core';\nimport { inject, Injectable } from '@angular/core';\nimport type { BehaviorSubject, Observer } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nimport { CuiIdService } from './id.service';\n\n// TODO: Content должен быть типом из директивы *content\nexport interface CuiPopoverContext {\n readonly $implicit: Observer<any>;\n readonly id: string;\n readonly component: Type<unknown>;\n readonly content: Type<unknown> | TemplateRef<unknown> | string;\n}\n\nexport type CuiPopover<T> = T & CuiPopoverContext;\n\n@Injectable()\nexport abstract class CuiPopoverService<T> {\n private readonly cuiIdService = inject(CuiIdService);\n private readonly items$: BehaviorSubject<ReadonlyArray<CuiPopover<T>>>;\n private readonly component: Type<any>;\n\n constructor(\n items: ProviderToken<BehaviorSubject<ReadonlyArray<CuiPopover<T>>>>,\n component: Type<any>,\n private readonly options: T = {} as T\n ) {\n this.items$ = inject(items);\n this.component = component;\n }\n\n public open(\n content: CuiPopoverContext['content'],\n options: Partial<T> = {}\n ): Observable<void> {\n return new Observable(observer => {\n const item: CuiPopover<T> = {\n ...this.options,\n ...options,\n $implicit: observer,\n id: this.cuiIdService.generate(),\n component: this.component,\n content: content\n };\n\n this.items$.next([...this.items$.value, item]);\n\n return () => {\n this.items$.next(this.items$.value.filter(value => value !== item));\n };\n });\n }\n}\n","import {\n AfterViewChecked,\n Directive,\n ElementRef,\n HostListener,\n inject,\n OnInit\n} from '@angular/core';\nimport { NgControl, NgModel } from '@angular/forms';\nimport { takeUntil } from 'rxjs';\n\nimport { CUI_WINDOW } from '../tokens';\nimport { CuiDestroyService } from '../services';\n\n@Directive({\n standalone: true,\n selector: 'textarea[cuiAutoResizing]',\n providers: [CuiDestroyService]\n})\nexport class CuiAutoResizingDirective implements OnInit, AfterViewChecked {\n private readonly window = inject(CUI_WINDOW);\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n private readonly ngControl = inject(NgControl, { self: true, optional: true });\n private readonly ngModel = inject(NgModel, { self: true, optional: true });\n private readonly destroy$ = inject(CuiDestroyService, { self: true });\n\n private readonly elementStyles = this.element.style;\n\n public ngOnInit(): void {\n this.initNgControlValueChangeSubscription();\n this.initNgModelValueChangeSubscription();\n }\n\n // TODO: Бьёт по производительности - найти решение получше\n public ngAfterViewChecked(): void {\n this.resize();\n }\n\n @HostListener('input')\n protected onInput(): void {\n this.resize();\n }\n\n private initNgControlValueChangeSubscription(): void {\n if (!this.ngControl) {\n return;\n }\n\n this.ngControl.valueChanges!\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.resize.bind(this));\n }\n\n private initNgModelValueChangeSubscription(): void {\n if (!this.ngModel) {\n return;\n }\n\n this.ngModel.valueChanges!\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.resize.bind(this));\n }\n\n private resize(): void {\n const computedMaxHeight = this.window.getComputedStyle(this.element).maxHeight;\n\n this.elementStyles.height = 'auto';\n this.elementStyles.height = this.element.scrollHeight + 'px';\n\n if (parseFloat(this.element.style.height) < parseFloat(computedMaxHeight)) {\n this.elementStyles.overflow = 'hidden';\n\n return;\n }\n\n this.elementStyles.overflowY = 'scroll';\n this.elementStyles.height = computedMaxHeight;\n }\n}\n","import { Directive, ElementRef, EventEmitter, HostListener, inject, Output } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '(cuiClickOutside)'\n})\nexport class CuiClickOutsideDirective {\n private readonly element = inject(ElementRef).nativeElement;\n\n @Output()\n public cuiClickOutside = new EventEmitter<HTMLElement>();\n\n @HostListener('document:click', ['$event.target'])\n protected onClickOutside(target: HTMLElement): void {\n if (this.element.contains(target)) {\n return;\n }\n\n this.cuiClickOutside.emit(target);\n }\n}","import type { OnInit, OnDestroy } from '@angular/core';\nimport { Directive, ElementRef, EventEmitter, inject, Output } from '@angular/core';\n\nimport type { CuiDimensions } from '../interfaces';\n\n@Directive({\n standalone: true,\n selector: '[cuiResizeObserver]'\n})\nexport class CuiDimensionsObserverDirective implements OnInit, OnDestroy {\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n\n private readonly observer = new ResizeObserver((entries) => {\n entries.forEach(() => this.cuiResizeObserver.emit({\n width: this.element.offsetWidth,\n height: this.element.offsetHeight\n }));\n });\n\n @Output()\n public cuiResizeObserver = new EventEmitter<CuiDimensions>();\n\n public ngOnInit(): void {\n this.observer.observe(this.element);\n }\n\n ngOnDestroy(): void {\n this.observer.disconnect();\n }\n}","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport type { CuiNullable } from '../types';\nimport type { CuiOnChange, CuiOnTouched } from '../interfaces';\nimport { cuiProvide } from '../utils/token';\n\n@Directive({\n standalone: true,\n selector: '[contenteditable][formControlName], [contenteditable][formControl], [contenteditable][ngModel]',\n providers: [cuiProvide(NG_VALUE_ACCESSOR, CuiContentEditableValueAccessorDirective, true)]\n})\nexport class CuiContentEditableValueAccessorDirective implements ControlValueAccessor {\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n\n protected onChange!: CuiOnChange<string>;\n protected onTouched!: CuiOnTouched;\n\n public writeValue(value: CuiNullable<string>): void {\n this.element.innerText = value ?? '';\n }\n\n public registerOnChange(fn: CuiOnChange<string>): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: CuiOnTouched): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.element.contentEditable = String(!isDisabled);\n }\n\n @HostListener('input')\n protected onInput(): void {\n this.onChange(this.element.innerText);\n }\n\n @HostListener('blur')\n protected onBlur(): void {\n this.onTouched();\n }\n}","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[cuiElement]',\n exportAs: 'elementRef',\n})\nexport class CuiElementDirective<T extends Element = HTMLElement> implements ElementRef<T> {\n public nativeElement = inject(ElementRef<T>).nativeElement;\n\n constructor() {\n return new ElementRef<T>(this.nativeElement);\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[cuiItem]'\n})\nexport class CuiItemDirective {\n}","import type { CuiLetDirective } from './let.directive';\n\nexport class CuiLetContext<T> {\n constructor(private readonly internalDirectiveInstance: CuiLetDirective<T>) {}\n\n public get $implicit(): T {\n return this.internalDirectiveInstance.cuiLet;\n }\n\n public get cuiLet(): T {\n return this.internalDirectiveInstance.cuiLet;\n }\n}","import { Directive, Input } from '@angular/core';\n\nimport type { CuiLetContext } from './let.context';\n\n@Directive({\n standalone: true,\n selector: '[cuiLet]'\n})\nexport class CuiLetDirective<T> {\n @Input()\n public cuiLet!: T;\n\n public static ngTemplateContextGuard<T>(\n _dir: CuiLetDirective<T>,\n _ctx: unknown,\n ): _ctx is CuiLetContext<T> {\n return true;\n }\n}","import type { PipeTransform } from '@angular/core';\nimport { Pipe } from '@angular/core';\n\nimport { CuiMatcher } from '../types';\n\n@Pipe({\n standalone: true,\n name: 'cuiFilter'\n})\nexport class CuiFilterPipe implements PipeTransform {\n transform<T, U extends unknown[]>(items: ReadonlyArray<T>, matcher: CuiMatcher<[T, ...U]>, ...args: U): T[] {\n return items.filter(item => matcher(item, ...args));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cuby-ui-cdk.mjs","sources":["../../../projects/cdk/utils/token/create-token.ts","../../../projects/cdk/utils/token/provide.ts","../../../projects/cdk/tokens/window.ts","../../../projects/cdk/tokens/local-storage.ts","../../../projects/cdk/services/destroy.service.ts","../../../projects/cdk/services/id.service.ts","../../../projects/cdk/services/popover.service.ts","../../../projects/cdk/directives/auto-resizing.directive.ts","../../../projects/cdk/directives/click-outside.directive.ts","../../../projects/cdk/directives/dimensions-observer.directive.ts","../../../projects/cdk/directives/content-editable-value-accessor.directive.ts","../../../projects/cdk/directives/element.directive.ts","../../../projects/cdk/directives/item.directive.ts","../../../projects/cdk/directives/let.context.ts","../../../projects/cdk/directives/let.directive.ts","../../../projects/cdk/pipes/filter.pipe.ts","../../../projects/cdk/cuby-ui-cdk.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport function cuiCreateToken<T>(defaults: T): InjectionToken<T> {\n return cuiCreateTokenFromFactory(() => defaults);\n}\n\nexport function cuiCreateTokenFromFactory<T>(factory: () => T): InjectionToken<T> {\n return new InjectionToken<T>('', { factory });\n}\n","import type { ExistingProvider, ProviderToken } from '@angular/core';\n\nexport function cuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n): ExistingProvider;\nexport function cuiProvide<T>(\n provide: ProviderToken<T | T[]>,\n useExisting: ProviderToken<T>,\n multi: boolean,\n): ExistingProvider;\nexport function cuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n multi = false,\n): ExistingProvider {\n return { provide, useExisting, multi };\n}\n","import { inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_WINDOW = cuiCreateTokenFromFactory<Window>(() => {\n const { defaultView } = inject(DOCUMENT);\n\n if (!defaultView) {\n throw new Error('Window is not available');\n }\n\n return defaultView;\n});","import { inject } from '@angular/core';\n\nimport { CUI_WINDOW } from './window';\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_LOCAL_STORAGE = cuiCreateTokenFromFactory(() => inject(CUI_WINDOW).localStorage);","import type { OnDestroy } from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class CuiDestroyService extends Subject<void> implements OnDestroy {\n public ngOnDestroy(): void {\n this.next();\n this.complete();\n }\n}\n","import { Injectable } from '@angular/core';\n\nconst CUI = 'cui_';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CuiIdService {\n private static autoId = 0;\n\n public generate(): string {\n return `${CUI}${CuiIdService.autoId++}${Date.now()}`;\n }\n}\n","import type { ProviderToken, TemplateRef, Type } from '@angular/core';\nimport { inject, Injectable } from '@angular/core';\nimport type { BehaviorSubject, Observer } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nimport { CuiIdService } from './id.service';\n\n// TODO: Content должен быть типом из директивы *content\nexport interface CuiPopoverContext {\n readonly $implicit: Observer<any>;\n readonly id: string;\n readonly component: Type<unknown>;\n readonly content: Type<unknown> | TemplateRef<unknown> | string;\n}\n\nexport type CuiPopover<T> = T & CuiPopoverContext;\n\n@Injectable()\nexport abstract class CuiPopoverService<T> {\n private readonly cuiIdService = inject(CuiIdService);\n private readonly items$: BehaviorSubject<ReadonlyArray<CuiPopover<T>>>;\n private readonly component: Type<any>;\n\n constructor(\n items: ProviderToken<BehaviorSubject<ReadonlyArray<CuiPopover<T>>>>,\n component: Type<any>,\n private readonly options: T = {} as T\n ) {\n this.items$ = inject(items);\n this.component = component;\n }\n\n public open(\n content: CuiPopoverContext['content'],\n options: Partial<T> = {}\n ): Observable<void> {\n return new Observable(observer => {\n const item: CuiPopover<T> = {\n ...this.options,\n ...options,\n $implicit: observer,\n id: this.cuiIdService.generate(),\n component: this.component,\n content: content\n };\n\n this.items$.next([...this.items$.value, item]);\n\n return () => {\n this.items$.next(this.items$.value.filter(value => value !== item));\n };\n });\n }\n}\n","import {\n AfterViewChecked,\n Directive,\n ElementRef,\n HostListener,\n inject,\n OnInit\n} from '@angular/core';\nimport { NgControl, NgModel } from '@angular/forms';\nimport { takeUntil } from 'rxjs';\n\nimport { CUI_WINDOW } from '../tokens';\nimport { CuiDestroyService } from '../services';\n\n@Directive({\n standalone: true,\n selector: 'textarea[cuiAutoResizing]',\n providers: [CuiDestroyService]\n})\nexport class CuiAutoResizingDirective implements OnInit, AfterViewChecked {\n private readonly window = inject(CUI_WINDOW);\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n private readonly ngControl = inject(NgControl, { self: true, optional: true });\n private readonly ngModel = inject(NgModel, { self: true, optional: true });\n private readonly destroy$ = inject(CuiDestroyService, { self: true });\n\n private readonly elementStyles = this.element.style;\n\n public ngOnInit(): void {\n this.initNgControlValueChangeSubscription();\n this.initNgModelValueChangeSubscription();\n }\n\n // TODO: Бьёт по производительности - найти решение получше\n public ngAfterViewChecked(): void {\n this.resize();\n }\n\n @HostListener('input')\n protected onInput(): void {\n this.resize();\n }\n\n private initNgControlValueChangeSubscription(): void {\n if (!this.ngControl) {\n return;\n }\n\n this.ngControl.valueChanges!\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.resize.bind(this));\n }\n\n private initNgModelValueChangeSubscription(): void {\n if (!this.ngModel) {\n return;\n }\n\n this.ngModel.valueChanges!\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.resize.bind(this));\n }\n\n private resize(): void {\n const computedMaxHeight = this.window.getComputedStyle(this.element).maxHeight;\n\n this.elementStyles.height = 'auto';\n this.elementStyles.height = this.element.scrollHeight + 'px';\n\n if (parseFloat(this.element.style.height) < parseFloat(computedMaxHeight)) {\n this.elementStyles.overflow = 'hidden';\n\n return;\n }\n\n this.elementStyles.overflowY = 'scroll';\n this.elementStyles.height = computedMaxHeight;\n }\n}\n","import { Directive, ElementRef, EventEmitter, HostListener, inject, Output } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '(cuiClickOutside)'\n})\nexport class CuiClickOutsideDirective {\n private readonly element = inject(ElementRef).nativeElement;\n\n @Output()\n public cuiClickOutside = new EventEmitter<HTMLElement>();\n\n @HostListener('document:click', ['$event.target'])\n protected onClickOutside(target: HTMLElement): void {\n if (this.element.contains(target)) {\n return;\n }\n\n this.cuiClickOutside.emit(target);\n }\n}","import type { OnInit, OnDestroy } from '@angular/core';\nimport { Directive, ElementRef, EventEmitter, inject, Output } from '@angular/core';\n\nimport type { CuiDimensions } from '../interfaces';\n\n@Directive({\n standalone: true,\n selector: '[cuiResizeObserver]'\n})\nexport class CuiDimensionsObserverDirective implements OnInit, OnDestroy {\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n\n private readonly observer = new ResizeObserver((entries) => {\n entries.forEach(() => this.cuiResizeObserver.emit({\n width: this.element.offsetWidth,\n height: this.element.offsetHeight\n }));\n });\n\n @Output()\n public cuiResizeObserver = new EventEmitter<CuiDimensions>();\n\n public ngOnInit(): void {\n this.observer.observe(this.element);\n }\n\n ngOnDestroy(): void {\n this.observer.disconnect();\n }\n}","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport type { CuiNullable } from '../types';\nimport type { CuiOnChange, CuiOnTouched } from '../interfaces';\nimport { cuiProvide } from '../utils/token';\n\n@Directive({\n standalone: true,\n selector: '[contenteditable][formControlName], [contenteditable][formControl], [contenteditable][ngModel]',\n providers: [cuiProvide(NG_VALUE_ACCESSOR, CuiContentEditableValueAccessorDirective, true)]\n})\nexport class CuiContentEditableValueAccessorDirective implements ControlValueAccessor {\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n\n protected onChange!: CuiOnChange<string>;\n protected onTouched!: CuiOnTouched;\n\n public writeValue(value: CuiNullable<string>): void {\n this.element.innerText = value ?? '';\n }\n\n public registerOnChange(fn: CuiOnChange<string>): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: CuiOnTouched): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.element.contentEditable = String(!isDisabled);\n }\n\n @HostListener('input')\n protected onInput(): void {\n this.onChange(this.element.innerText);\n }\n\n @HostListener('blur')\n protected onBlur(): void {\n this.onTouched();\n }\n}","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[cuiElement]',\n exportAs: 'elementRef',\n})\nexport class CuiElementDirective<T extends Element = HTMLElement> implements ElementRef<T> {\n public nativeElement = inject(ElementRef<T>).nativeElement;\n\n constructor() {\n return new ElementRef<T>(this.nativeElement);\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[cuiItem]'\n})\nexport class CuiItemDirective {\n}","import type { CuiLetDirective } from './let.directive';\n\nexport class CuiLetContext<T> {\n constructor(private readonly internalDirectiveInstance: CuiLetDirective<T>) {}\n\n public get $implicit(): T {\n return this.internalDirectiveInstance.cuiLet;\n }\n\n public get cuiLet(): T {\n return this.internalDirectiveInstance.cuiLet;\n }\n}","import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\nimport { CuiLetContext } from './let.context';\n\n@Directive({\n standalone: true,\n selector: '[cuiLet]'\n})\nexport class CuiLetDirective<T> {\n @Input()\n public cuiLet!: T;\n\n constructor() {\n inject(ViewContainerRef).createEmbeddedView(\n inject(TemplateRef<CuiLetContext<T>>),\n new CuiLetContext<T>(this),\n );\n }\n\n public static ngTemplateContextGuard<T>(\n _dir: CuiLetDirective<T>,\n _ctx: unknown,\n ): _ctx is CuiLetContext<T> {\n return true;\n }\n}","import type { PipeTransform } from '@angular/core';\nimport { Pipe } from '@angular/core';\n\nimport { CuiMatcher } from '../types';\n\n@Pipe({\n standalone: true,\n name: 'cuiFilter'\n})\nexport class CuiFilterPipe implements PipeTransform {\n transform<T, U extends unknown[]>(items: ReadonlyArray<T>, matcher: CuiMatcher<[T, ...U]>, ...args: U): T[] {\n return items.filter(item => matcher(item, ...args));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/fesm2020/cuby-ui-cdk.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, inject, Injectable, ElementRef, Directive, HostListener, EventEmitter, Output, Input, Pipe } from '@angular/core';
|
|
2
|
+
import { InjectionToken, inject, Injectable, ElementRef, Directive, HostListener, EventEmitter, Output, ViewContainerRef, TemplateRef, Input, Pipe } from '@angular/core';
|
|
3
3
|
import { NgControl, NgModel, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
4
|
import { Subject, Observable, takeUntil } from 'rxjs';
|
|
5
5
|
import { DOCUMENT } from '@angular/common';
|
|
@@ -284,6 +284,9 @@ class CuiLetContext {
|
|
|
284
284
|
}
|
|
285
285
|
|
|
286
286
|
class CuiLetDirective {
|
|
287
|
+
constructor() {
|
|
288
|
+
inject(ViewContainerRef).createEmbeddedView(inject((TemplateRef)), new CuiLetContext(this));
|
|
289
|
+
}
|
|
287
290
|
static ngTemplateContextGuard(_dir, _ctx) {
|
|
288
291
|
return true;
|
|
289
292
|
}
|
|
@@ -296,7 +299,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
296
299
|
standalone: true,
|
|
297
300
|
selector: '[cuiLet]'
|
|
298
301
|
}]
|
|
299
|
-
}], propDecorators: { cuiLet: [{
|
|
302
|
+
}], ctorParameters: function () { return []; }, propDecorators: { cuiLet: [{
|
|
300
303
|
type: Input
|
|
301
304
|
}] } });
|
|
302
305
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cuby-ui-cdk.mjs","sources":["../../../projects/cdk/utils/token/create-token.ts","../../../projects/cdk/utils/token/provide.ts","../../../projects/cdk/tokens/window.ts","../../../projects/cdk/tokens/local-storage.ts","../../../projects/cdk/services/destroy.service.ts","../../../projects/cdk/services/id.service.ts","../../../projects/cdk/services/popover.service.ts","../../../projects/cdk/directives/auto-resizing.directive.ts","../../../projects/cdk/directives/click-outside.directive.ts","../../../projects/cdk/directives/dimensions-observer.directive.ts","../../../projects/cdk/directives/content-editable-value-accessor.directive.ts","../../../projects/cdk/directives/element.directive.ts","../../../projects/cdk/directives/item.directive.ts","../../../projects/cdk/directives/let.context.ts","../../../projects/cdk/directives/let.directive.ts","../../../projects/cdk/pipes/filter.pipe.ts","../../../projects/cdk/cuby-ui-cdk.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport function cuiCreateToken<T>(defaults: T): InjectionToken<T> {\n return cuiCreateTokenFromFactory(() => defaults);\n}\n\nexport function cuiCreateTokenFromFactory<T>(factory: () => T): InjectionToken<T> {\n return new InjectionToken<T>('', { factory });\n}\n","import type { ExistingProvider, ProviderToken } from '@angular/core';\n\nexport function cuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n): ExistingProvider;\nexport function cuiProvide<T>(\n provide: ProviderToken<T | T[]>,\n useExisting: ProviderToken<T>,\n multi: boolean,\n): ExistingProvider;\nexport function cuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n multi = false,\n): ExistingProvider {\n return { provide, useExisting, multi };\n}\n","import { inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_WINDOW = cuiCreateTokenFromFactory<Window>(() => {\n const { defaultView } = inject(DOCUMENT);\n\n if (!defaultView) {\n throw new Error('Window is not available');\n }\n\n return defaultView;\n});","import { inject } from '@angular/core';\n\nimport { CUI_WINDOW } from './window';\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_LOCAL_STORAGE = cuiCreateTokenFromFactory(() => inject(CUI_WINDOW).localStorage);","import type { OnDestroy } from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class CuiDestroyService extends Subject<void> implements OnDestroy {\n public ngOnDestroy(): void {\n this.next();\n this.complete();\n }\n}\n","import { Injectable } from '@angular/core';\n\nconst CUI = 'cui_';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CuiIdService {\n private static autoId = 0;\n\n public generate(): string {\n return `${CUI}${CuiIdService.autoId++}${Date.now()}`;\n }\n}\n","import type { ProviderToken, TemplateRef, Type } from '@angular/core';\nimport { inject, Injectable } from '@angular/core';\nimport type { BehaviorSubject, Observer } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nimport { CuiIdService } from './id.service';\n\n// TODO: Content должен быть типом из директивы *content\nexport interface CuiPopoverContext {\n readonly $implicit: Observer<any>;\n readonly id: string;\n readonly component: Type<unknown>;\n readonly content: Type<unknown> | TemplateRef<unknown> | string;\n}\n\nexport type CuiPopover<T> = T & CuiPopoverContext;\n\n@Injectable()\nexport abstract class CuiPopoverService<T> {\n private readonly cuiIdService = inject(CuiIdService);\n private readonly items$: BehaviorSubject<ReadonlyArray<CuiPopover<T>>>;\n private readonly component: Type<any>;\n\n constructor(\n items: ProviderToken<BehaviorSubject<ReadonlyArray<CuiPopover<T>>>>,\n component: Type<any>,\n private readonly options: T = {} as T\n ) {\n this.items$ = inject(items);\n this.component = component;\n }\n\n public open(\n content: CuiPopoverContext['content'],\n options: Partial<T> = {}\n ): Observable<void> {\n return new Observable(observer => {\n const item: CuiPopover<T> = {\n ...this.options,\n ...options,\n $implicit: observer,\n id: this.cuiIdService.generate(),\n component: this.component,\n content: content\n };\n\n this.items$.next([...this.items$.value, item]);\n\n return () => {\n this.items$.next(this.items$.value.filter(value => value !== item));\n };\n });\n }\n}\n","import {\n AfterViewChecked,\n Directive,\n ElementRef,\n HostListener,\n inject,\n OnInit\n} from '@angular/core';\nimport { NgControl, NgModel } from '@angular/forms';\nimport { takeUntil } from 'rxjs';\n\nimport { CUI_WINDOW } from '../tokens';\nimport { CuiDestroyService } from '../services';\n\n@Directive({\n standalone: true,\n selector: 'textarea[cuiAutoResizing]',\n providers: [CuiDestroyService]\n})\nexport class CuiAutoResizingDirective implements OnInit, AfterViewChecked {\n private readonly window = inject(CUI_WINDOW);\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n private readonly ngControl = inject(NgControl, { self: true, optional: true });\n private readonly ngModel = inject(NgModel, { self: true, optional: true });\n private readonly destroy$ = inject(CuiDestroyService, { self: true });\n\n private readonly elementStyles = this.element.style;\n\n public ngOnInit(): void {\n this.initNgControlValueChangeSubscription();\n this.initNgModelValueChangeSubscription();\n }\n\n // TODO: Бьёт по производительности - найти решение получше\n public ngAfterViewChecked(): void {\n this.resize();\n }\n\n @HostListener('input')\n protected onInput(): void {\n this.resize();\n }\n\n private initNgControlValueChangeSubscription(): void {\n if (!this.ngControl) {\n return;\n }\n\n this.ngControl.valueChanges!\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.resize.bind(this));\n }\n\n private initNgModelValueChangeSubscription(): void {\n if (!this.ngModel) {\n return;\n }\n\n this.ngModel.valueChanges!\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.resize.bind(this));\n }\n\n private resize(): void {\n const computedMaxHeight = this.window.getComputedStyle(this.element).maxHeight;\n\n this.elementStyles.height = 'auto';\n this.elementStyles.height = this.element.scrollHeight + 'px';\n\n if (parseFloat(this.element.style.height) < parseFloat(computedMaxHeight)) {\n this.elementStyles.overflow = 'hidden';\n\n return;\n }\n\n this.elementStyles.overflowY = 'scroll';\n this.elementStyles.height = computedMaxHeight;\n }\n}\n","import { Directive, ElementRef, EventEmitter, HostListener, inject, Output } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '(cuiClickOutside)'\n})\nexport class CuiClickOutsideDirective {\n private readonly element = inject(ElementRef).nativeElement;\n\n @Output()\n public cuiClickOutside = new EventEmitter<HTMLElement>();\n\n @HostListener('document:click', ['$event.target'])\n protected onClickOutside(target: HTMLElement): void {\n if (this.element.contains(target)) {\n return;\n }\n\n this.cuiClickOutside.emit(target);\n }\n}","import type { OnInit, OnDestroy } from '@angular/core';\nimport { Directive, ElementRef, EventEmitter, inject, Output } from '@angular/core';\n\nimport type { CuiDimensions } from '../interfaces';\n\n@Directive({\n standalone: true,\n selector: '[cuiResizeObserver]'\n})\nexport class CuiDimensionsObserverDirective implements OnInit, OnDestroy {\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n\n private readonly observer = new ResizeObserver((entries) => {\n entries.forEach(() => this.cuiResizeObserver.emit({\n width: this.element.offsetWidth,\n height: this.element.offsetHeight\n }));\n });\n\n @Output()\n public cuiResizeObserver = new EventEmitter<CuiDimensions>();\n\n public ngOnInit(): void {\n this.observer.observe(this.element);\n }\n\n ngOnDestroy(): void {\n this.observer.disconnect();\n }\n}","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport type { CuiNullable } from '../types';\nimport type { CuiOnChange, CuiOnTouched } from '../interfaces';\nimport { cuiProvide } from '../utils/token';\n\n@Directive({\n standalone: true,\n selector: '[contenteditable][formControlName], [contenteditable][formControl], [contenteditable][ngModel]',\n providers: [cuiProvide(NG_VALUE_ACCESSOR, CuiContentEditableValueAccessorDirective, true)]\n})\nexport class CuiContentEditableValueAccessorDirective implements ControlValueAccessor {\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n\n protected onChange!: CuiOnChange<string>;\n protected onTouched!: CuiOnTouched;\n\n public writeValue(value: CuiNullable<string>): void {\n this.element.innerText = value ?? '';\n }\n\n public registerOnChange(fn: CuiOnChange<string>): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: CuiOnTouched): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.element.contentEditable = String(!isDisabled);\n }\n\n @HostListener('input')\n protected onInput(): void {\n this.onChange(this.element.innerText);\n }\n\n @HostListener('blur')\n protected onBlur(): void {\n this.onTouched();\n }\n}","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[cuiElement]',\n exportAs: 'elementRef',\n})\nexport class CuiElementDirective<T extends Element = HTMLElement> implements ElementRef<T> {\n public nativeElement = inject(ElementRef<T>).nativeElement;\n\n constructor() {\n return new ElementRef<T>(this.nativeElement);\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[cuiItem]'\n})\nexport class CuiItemDirective {\n}","import type { CuiLetDirective } from './let.directive';\n\nexport class CuiLetContext<T> {\n constructor(private readonly internalDirectiveInstance: CuiLetDirective<T>) {}\n\n public get $implicit(): T {\n return this.internalDirectiveInstance.cuiLet;\n }\n\n public get cuiLet(): T {\n return this.internalDirectiveInstance.cuiLet;\n }\n}","import { Directive, Input } from '@angular/core';\n\nimport type { CuiLetContext } from './let.context';\n\n@Directive({\n standalone: true,\n selector: '[cuiLet]'\n})\nexport class CuiLetDirective<T> {\n @Input()\n public cuiLet!: T;\n\n public static ngTemplateContextGuard<T>(\n _dir: CuiLetDirective<T>,\n _ctx: unknown,\n ): _ctx is CuiLetContext<T> {\n return true;\n }\n}","import type { PipeTransform } from '@angular/core';\nimport { Pipe } from '@angular/core';\n\nimport { CuiMatcher } from '../types';\n\n@Pipe({\n standalone: true,\n name: 'cuiFilter'\n})\nexport class CuiFilterPipe implements PipeTransform {\n transform<T, U extends unknown[]>(items: ReadonlyArray<T>, matcher: CuiMatcher<[T, ...U]>, ...args: U): T[] {\n return items.filter(item => matcher(item, ...args));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cuby-ui-cdk.mjs","sources":["../../../projects/cdk/utils/token/create-token.ts","../../../projects/cdk/utils/token/provide.ts","../../../projects/cdk/tokens/window.ts","../../../projects/cdk/tokens/local-storage.ts","../../../projects/cdk/services/destroy.service.ts","../../../projects/cdk/services/id.service.ts","../../../projects/cdk/services/popover.service.ts","../../../projects/cdk/directives/auto-resizing.directive.ts","../../../projects/cdk/directives/click-outside.directive.ts","../../../projects/cdk/directives/dimensions-observer.directive.ts","../../../projects/cdk/directives/content-editable-value-accessor.directive.ts","../../../projects/cdk/directives/element.directive.ts","../../../projects/cdk/directives/item.directive.ts","../../../projects/cdk/directives/let.context.ts","../../../projects/cdk/directives/let.directive.ts","../../../projects/cdk/pipes/filter.pipe.ts","../../../projects/cdk/cuby-ui-cdk.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport function cuiCreateToken<T>(defaults: T): InjectionToken<T> {\n return cuiCreateTokenFromFactory(() => defaults);\n}\n\nexport function cuiCreateTokenFromFactory<T>(factory: () => T): InjectionToken<T> {\n return new InjectionToken<T>('', { factory });\n}\n","import type { ExistingProvider, ProviderToken } from '@angular/core';\n\nexport function cuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n): ExistingProvider;\nexport function cuiProvide<T>(\n provide: ProviderToken<T | T[]>,\n useExisting: ProviderToken<T>,\n multi: boolean,\n): ExistingProvider;\nexport function cuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n multi = false,\n): ExistingProvider {\n return { provide, useExisting, multi };\n}\n","import { inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_WINDOW = cuiCreateTokenFromFactory<Window>(() => {\n const { defaultView } = inject(DOCUMENT);\n\n if (!defaultView) {\n throw new Error('Window is not available');\n }\n\n return defaultView;\n});","import { inject } from '@angular/core';\n\nimport { CUI_WINDOW } from './window';\nimport { cuiCreateTokenFromFactory } from '../utils/token';\n\nexport const CUI_LOCAL_STORAGE = cuiCreateTokenFromFactory(() => inject(CUI_WINDOW).localStorage);","import type { OnDestroy } from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class CuiDestroyService extends Subject<void> implements OnDestroy {\n public ngOnDestroy(): void {\n this.next();\n this.complete();\n }\n}\n","import { Injectable } from '@angular/core';\n\nconst CUI = 'cui_';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CuiIdService {\n private static autoId = 0;\n\n public generate(): string {\n return `${CUI}${CuiIdService.autoId++}${Date.now()}`;\n }\n}\n","import type { ProviderToken, TemplateRef, Type } from '@angular/core';\nimport { inject, Injectable } from '@angular/core';\nimport type { BehaviorSubject, Observer } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nimport { CuiIdService } from './id.service';\n\n// TODO: Content должен быть типом из директивы *content\nexport interface CuiPopoverContext {\n readonly $implicit: Observer<any>;\n readonly id: string;\n readonly component: Type<unknown>;\n readonly content: Type<unknown> | TemplateRef<unknown> | string;\n}\n\nexport type CuiPopover<T> = T & CuiPopoverContext;\n\n@Injectable()\nexport abstract class CuiPopoverService<T> {\n private readonly cuiIdService = inject(CuiIdService);\n private readonly items$: BehaviorSubject<ReadonlyArray<CuiPopover<T>>>;\n private readonly component: Type<any>;\n\n constructor(\n items: ProviderToken<BehaviorSubject<ReadonlyArray<CuiPopover<T>>>>,\n component: Type<any>,\n private readonly options: T = {} as T\n ) {\n this.items$ = inject(items);\n this.component = component;\n }\n\n public open(\n content: CuiPopoverContext['content'],\n options: Partial<T> = {}\n ): Observable<void> {\n return new Observable(observer => {\n const item: CuiPopover<T> = {\n ...this.options,\n ...options,\n $implicit: observer,\n id: this.cuiIdService.generate(),\n component: this.component,\n content: content\n };\n\n this.items$.next([...this.items$.value, item]);\n\n return () => {\n this.items$.next(this.items$.value.filter(value => value !== item));\n };\n });\n }\n}\n","import {\n AfterViewChecked,\n Directive,\n ElementRef,\n HostListener,\n inject,\n OnInit\n} from '@angular/core';\nimport { NgControl, NgModel } from '@angular/forms';\nimport { takeUntil } from 'rxjs';\n\nimport { CUI_WINDOW } from '../tokens';\nimport { CuiDestroyService } from '../services';\n\n@Directive({\n standalone: true,\n selector: 'textarea[cuiAutoResizing]',\n providers: [CuiDestroyService]\n})\nexport class CuiAutoResizingDirective implements OnInit, AfterViewChecked {\n private readonly window = inject(CUI_WINDOW);\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n private readonly ngControl = inject(NgControl, { self: true, optional: true });\n private readonly ngModel = inject(NgModel, { self: true, optional: true });\n private readonly destroy$ = inject(CuiDestroyService, { self: true });\n\n private readonly elementStyles = this.element.style;\n\n public ngOnInit(): void {\n this.initNgControlValueChangeSubscription();\n this.initNgModelValueChangeSubscription();\n }\n\n // TODO: Бьёт по производительности - найти решение получше\n public ngAfterViewChecked(): void {\n this.resize();\n }\n\n @HostListener('input')\n protected onInput(): void {\n this.resize();\n }\n\n private initNgControlValueChangeSubscription(): void {\n if (!this.ngControl) {\n return;\n }\n\n this.ngControl.valueChanges!\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.resize.bind(this));\n }\n\n private initNgModelValueChangeSubscription(): void {\n if (!this.ngModel) {\n return;\n }\n\n this.ngModel.valueChanges!\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.resize.bind(this));\n }\n\n private resize(): void {\n const computedMaxHeight = this.window.getComputedStyle(this.element).maxHeight;\n\n this.elementStyles.height = 'auto';\n this.elementStyles.height = this.element.scrollHeight + 'px';\n\n if (parseFloat(this.element.style.height) < parseFloat(computedMaxHeight)) {\n this.elementStyles.overflow = 'hidden';\n\n return;\n }\n\n this.elementStyles.overflowY = 'scroll';\n this.elementStyles.height = computedMaxHeight;\n }\n}\n","import { Directive, ElementRef, EventEmitter, HostListener, inject, Output } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '(cuiClickOutside)'\n})\nexport class CuiClickOutsideDirective {\n private readonly element = inject(ElementRef).nativeElement;\n\n @Output()\n public cuiClickOutside = new EventEmitter<HTMLElement>();\n\n @HostListener('document:click', ['$event.target'])\n protected onClickOutside(target: HTMLElement): void {\n if (this.element.contains(target)) {\n return;\n }\n\n this.cuiClickOutside.emit(target);\n }\n}","import type { OnInit, OnDestroy } from '@angular/core';\nimport { Directive, ElementRef, EventEmitter, inject, Output } from '@angular/core';\n\nimport type { CuiDimensions } from '../interfaces';\n\n@Directive({\n standalone: true,\n selector: '[cuiResizeObserver]'\n})\nexport class CuiDimensionsObserverDirective implements OnInit, OnDestroy {\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n\n private readonly observer = new ResizeObserver((entries) => {\n entries.forEach(() => this.cuiResizeObserver.emit({\n width: this.element.offsetWidth,\n height: this.element.offsetHeight\n }));\n });\n\n @Output()\n public cuiResizeObserver = new EventEmitter<CuiDimensions>();\n\n public ngOnInit(): void {\n this.observer.observe(this.element);\n }\n\n ngOnDestroy(): void {\n this.observer.disconnect();\n }\n}","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport type { CuiNullable } from '../types';\nimport type { CuiOnChange, CuiOnTouched } from '../interfaces';\nimport { cuiProvide } from '../utils/token';\n\n@Directive({\n standalone: true,\n selector: '[contenteditable][formControlName], [contenteditable][formControl], [contenteditable][ngModel]',\n providers: [cuiProvide(NG_VALUE_ACCESSOR, CuiContentEditableValueAccessorDirective, true)]\n})\nexport class CuiContentEditableValueAccessorDirective implements ControlValueAccessor {\n private readonly element = inject(ElementRef).nativeElement as HTMLElement;\n\n protected onChange!: CuiOnChange<string>;\n protected onTouched!: CuiOnTouched;\n\n public writeValue(value: CuiNullable<string>): void {\n this.element.innerText = value ?? '';\n }\n\n public registerOnChange(fn: CuiOnChange<string>): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: CuiOnTouched): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.element.contentEditable = String(!isDisabled);\n }\n\n @HostListener('input')\n protected onInput(): void {\n this.onChange(this.element.innerText);\n }\n\n @HostListener('blur')\n protected onBlur(): void {\n this.onTouched();\n }\n}","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[cuiElement]',\n exportAs: 'elementRef',\n})\nexport class CuiElementDirective<T extends Element = HTMLElement> implements ElementRef<T> {\n public nativeElement = inject(ElementRef<T>).nativeElement;\n\n constructor() {\n return new ElementRef<T>(this.nativeElement);\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[cuiItem]'\n})\nexport class CuiItemDirective {\n}","import type { CuiLetDirective } from './let.directive';\n\nexport class CuiLetContext<T> {\n constructor(private readonly internalDirectiveInstance: CuiLetDirective<T>) {}\n\n public get $implicit(): T {\n return this.internalDirectiveInstance.cuiLet;\n }\n\n public get cuiLet(): T {\n return this.internalDirectiveInstance.cuiLet;\n }\n}","import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\nimport { CuiLetContext } from './let.context';\n\n@Directive({\n standalone: true,\n selector: '[cuiLet]'\n})\nexport class CuiLetDirective<T> {\n @Input()\n public cuiLet!: T;\n\n constructor() {\n inject(ViewContainerRef).createEmbeddedView(\n inject(TemplateRef<CuiLetContext<T>>),\n new CuiLetContext<T>(this),\n );\n }\n\n public static ngTemplateContextGuard<T>(\n _dir: CuiLetDirective<T>,\n _ctx: unknown,\n ): _ctx is CuiLetContext<T> {\n return true;\n }\n}","import type { PipeTransform } from '@angular/core';\nimport { Pipe } from '@angular/core';\n\nimport { CuiMatcher } from '../types';\n\n@Pipe({\n standalone: true,\n name: 'cuiFilter'\n})\nexport class CuiFilterPipe implements PipeTransform {\n transform<T, U extends unknown[]>(items: ReadonlyArray<T>, matcher: CuiMatcher<[T, ...U]>, ...args: U): T[] {\n return items.filter(item => matcher(item, ...args));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|