@cuby-ui/cdk 0.0.13 → 0.0.14
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/directives/element.directive.d.ts +8 -0
- package/directives/index.d.ts +1 -0
- package/esm2020/directives/element.directive.mjs +19 -0
- package/esm2020/directives/index.mjs +2 -1
- package/fesm2015/cuby-ui-cdk.mjs +18 -1
- package/fesm2015/cuby-ui-cdk.mjs.map +1 -1
- package/fesm2020/cuby-ui-cdk.mjs +18 -1
- package/fesm2020/cuby-ui-cdk.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class CuiElementDirective<T extends Element = HTMLElement> implements ElementRef<T> {
|
|
4
|
+
nativeElement: any;
|
|
5
|
+
constructor();
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CuiElementDirective<any>, never>;
|
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CuiElementDirective<any>, "[cuiElement]", ["elementRef"], {}, {}, never, never, true, never>;
|
|
8
|
+
}
|
package/directives/index.d.ts
CHANGED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Directive, ElementRef, inject } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class CuiElementDirective {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.nativeElement = inject((ElementRef)).nativeElement;
|
|
6
|
+
return new ElementRef(this.nativeElement);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
CuiElementDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
10
|
+
CuiElementDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiElementDirective, isStandalone: true, selector: "[cuiElement]", exportAs: ["elementRef"], ngImport: i0 });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiElementDirective, decorators: [{
|
|
12
|
+
type: Directive,
|
|
13
|
+
args: [{
|
|
14
|
+
standalone: true,
|
|
15
|
+
selector: '[cuiElement]',
|
|
16
|
+
exportAs: 'elementRef',
|
|
17
|
+
}]
|
|
18
|
+
}], ctorParameters: function () { return []; } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9lbGVtZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzlELE1BQU0sT0FBTyxtQkFBbUI7SUFHOUI7UUFGTyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQWEsQ0FBQSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBR3pELE9BQU8sSUFBSSxVQUFVLENBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7O2lIQUxVLG1CQUFtQjtxR0FBbkIsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBTC9CLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsWUFBWTtpQkFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbY3VpRWxlbWVudF0nLFxuICBleHBvcnRBczogJ2VsZW1lbnRSZWYnLFxufSlcbmV4cG9ydCBjbGFzcyBDdWlFbGVtZW50RGlyZWN0aXZlPFQgZXh0ZW5kcyBFbGVtZW50ID0gSFRNTEVsZW1lbnQ+IGltcGxlbWVudHMgRWxlbWVudFJlZjxUPiB7XG4gIHB1YmxpYyBuYXRpdmVFbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWY8VD4pLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgcmV0dXJuIG5ldyBFbGVtZW50UmVmPFQ+KHRoaXMubmF0aXZlRWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './auto-resizing.directive';
|
|
2
|
-
|
|
2
|
+
export * from './element.directive';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dG8tcmVzaXppbmcuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxlbWVudC5kaXJlY3RpdmUnO1xuIl19
|
package/fesm2015/cuby-ui-cdk.mjs
CHANGED
|
@@ -74,6 +74,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
74
74
|
args: ['input']
|
|
75
75
|
}] } });
|
|
76
76
|
|
|
77
|
+
class CuiElementDirective {
|
|
78
|
+
constructor() {
|
|
79
|
+
this.nativeElement = inject((ElementRef)).nativeElement;
|
|
80
|
+
return new ElementRef(this.nativeElement);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
CuiElementDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
84
|
+
CuiElementDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiElementDirective, isStandalone: true, selector: "[cuiElement]", exportAs: ["elementRef"], ngImport: i0 });
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiElementDirective, decorators: [{
|
|
86
|
+
type: Directive,
|
|
87
|
+
args: [{
|
|
88
|
+
standalone: true,
|
|
89
|
+
selector: '[cuiElement]',
|
|
90
|
+
exportAs: 'elementRef',
|
|
91
|
+
}]
|
|
92
|
+
}], ctorParameters: function () { return []; } });
|
|
93
|
+
|
|
77
94
|
function cuiProvide(provide, useExisting, multi = false) {
|
|
78
95
|
return { provide, useExisting, multi };
|
|
79
96
|
}
|
|
@@ -82,5 +99,5 @@ function cuiProvide(provide, useExisting, multi = false) {
|
|
|
82
99
|
* Generated bundle index. Do not edit.
|
|
83
100
|
*/
|
|
84
101
|
|
|
85
|
-
export { CuiAutoResizingDirective, CuiDestroyService, cuiProvide };
|
|
102
|
+
export { CuiAutoResizingDirective, CuiDestroyService, CuiElementDirective, cuiProvide };
|
|
86
103
|
//# sourceMappingURL=cuby-ui-cdk.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cuby-ui-cdk.mjs","sources":["../../../projects/cdk/services/destroy.service.ts","../../../projects/cdk/directives/auto-resizing.directive.ts","../../../projects/cdk/utils/provide.ts","../../../projects/cdk/cuby-ui-cdk.ts"],"sourcesContent":["import { Injectable, OnDestroy } 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 {\n AfterViewChecked,\n AfterViewInit,\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 { CuiDestroyService } from '../services';\n\n@Directive({\n standalone: true,\n selector: 'textarea[cuiAutoResizing]',\n providers: [CuiDestroyService]\n})\nexport class CuiAutoResizingDirective implements OnInit, AfterViewInit, AfterViewChecked {\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 public ngOnInit(): void {\n this.initNgControlValueChangeSubscription();\n this.initNgModelValueChangeSubscription();\n }\n\n public ngAfterViewInit(): void {\n this.initHiddenOverflow();\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 initHiddenOverflow(): void {\n this.element.style.overflow = 'hidden';\n }\n\n private resize(): void {\n this.element.style.height = 'auto';\n this.element.style.height = this.element.scrollHeight + 'px';\n }\n}\n","import { 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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIM,MAAO,iBAAkB,SAAQ,OAAa,CAAA;IAC3C,WAAW,GAAA;QAChB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;;+GAJU,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAjB,iBAAiB,EAAA,CAAA,CAAA;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;;MCgBE,wBAAwB,CAAA;AALrC,IAAA,WAAA,GAAA;QAMmB,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,aAA4B,CAAC;AAC1D,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1D,QAAA,IAAQ,CAAA,QAAA,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;KAiDvE;IA/CQ,QAAQ,GAAA;QACb,IAAI,CAAC,oCAAoC,EAAE,CAAC;QAC5C,IAAI,CAAC,kCAAkC,EAAE,CAAC;KAC3C;IAEM,eAAe,GAAA;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;;IAGM,kBAAkB,GAAA;QACvB,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAGS,OAAO,GAAA;QACf,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAEO,oCAAoC,GAAA;AAC1C,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,OAAO;AACR,SAAA;QAED,IAAI,CAAC,SAAS,CAAC,YAAa;AACzB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACtC;IAEO,kCAAkC,GAAA;AACxC,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO;AACR,SAAA;QAED,IAAI,CAAC,OAAO,CAAC,YAAa;AACvB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACtC;IAEO,kBAAkB,GAAA;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;KACxC;IAEO,MAAM,GAAA;QACZ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;AACnC,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;KAC9D;;sHApDU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0GAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAFxB,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAEnB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,2BAA2B;oBACrC,SAAS,EAAE,CAAC,iBAAiB,CAAC;iBAC/B,CAAA;8BAsBW,OAAO,EAAA,CAAA;sBADhB,YAAY;uBAAC,OAAO,CAAA;;;
|
|
1
|
+
{"version":3,"file":"cuby-ui-cdk.mjs","sources":["../../../projects/cdk/services/destroy.service.ts","../../../projects/cdk/directives/auto-resizing.directive.ts","../../../projects/cdk/directives/element.directive.ts","../../../projects/cdk/utils/provide.ts","../../../projects/cdk/cuby-ui-cdk.ts"],"sourcesContent":["import { Injectable, OnDestroy } 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 {\n AfterViewChecked,\n AfterViewInit,\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 { CuiDestroyService } from '../services';\n\n@Directive({\n standalone: true,\n selector: 'textarea[cuiAutoResizing]',\n providers: [CuiDestroyService]\n})\nexport class CuiAutoResizingDirective implements OnInit, AfterViewInit, AfterViewChecked {\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 public ngOnInit(): void {\n this.initNgControlValueChangeSubscription();\n this.initNgModelValueChangeSubscription();\n }\n\n public ngAfterViewInit(): void {\n this.initHiddenOverflow();\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 initHiddenOverflow(): void {\n this.element.style.overflow = 'hidden';\n }\n\n private resize(): void {\n this.element.style.height = 'auto';\n this.element.style.height = this.element.scrollHeight + 'px';\n }\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 { 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","/**\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
|
@@ -74,6 +74,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
74
74
|
args: ['input']
|
|
75
75
|
}] } });
|
|
76
76
|
|
|
77
|
+
class CuiElementDirective {
|
|
78
|
+
constructor() {
|
|
79
|
+
this.nativeElement = inject((ElementRef)).nativeElement;
|
|
80
|
+
return new ElementRef(this.nativeElement);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
CuiElementDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
84
|
+
CuiElementDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiElementDirective, isStandalone: true, selector: "[cuiElement]", exportAs: ["elementRef"], ngImport: i0 });
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiElementDirective, decorators: [{
|
|
86
|
+
type: Directive,
|
|
87
|
+
args: [{
|
|
88
|
+
standalone: true,
|
|
89
|
+
selector: '[cuiElement]',
|
|
90
|
+
exportAs: 'elementRef',
|
|
91
|
+
}]
|
|
92
|
+
}], ctorParameters: function () { return []; } });
|
|
93
|
+
|
|
77
94
|
function cuiProvide(provide, useExisting, multi = false) {
|
|
78
95
|
return { provide, useExisting, multi };
|
|
79
96
|
}
|
|
@@ -82,5 +99,5 @@ function cuiProvide(provide, useExisting, multi = false) {
|
|
|
82
99
|
* Generated bundle index. Do not edit.
|
|
83
100
|
*/
|
|
84
101
|
|
|
85
|
-
export { CuiAutoResizingDirective, CuiDestroyService, cuiProvide };
|
|
102
|
+
export { CuiAutoResizingDirective, CuiDestroyService, CuiElementDirective, cuiProvide };
|
|
86
103
|
//# sourceMappingURL=cuby-ui-cdk.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cuby-ui-cdk.mjs","sources":["../../../projects/cdk/services/destroy.service.ts","../../../projects/cdk/directives/auto-resizing.directive.ts","../../../projects/cdk/utils/provide.ts","../../../projects/cdk/cuby-ui-cdk.ts"],"sourcesContent":["import { Injectable, OnDestroy } 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 {\n AfterViewChecked,\n AfterViewInit,\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 { CuiDestroyService } from '../services';\n\n@Directive({\n standalone: true,\n selector: 'textarea[cuiAutoResizing]',\n providers: [CuiDestroyService]\n})\nexport class CuiAutoResizingDirective implements OnInit, AfterViewInit, AfterViewChecked {\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 public ngOnInit(): void {\n this.initNgControlValueChangeSubscription();\n this.initNgModelValueChangeSubscription();\n }\n\n public ngAfterViewInit(): void {\n this.initHiddenOverflow();\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 initHiddenOverflow(): void {\n this.element.style.overflow = 'hidden';\n }\n\n private resize(): void {\n this.element.style.height = 'auto';\n this.element.style.height = this.element.scrollHeight + 'px';\n }\n}\n","import { 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","/**\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/services/destroy.service.ts","../../../projects/cdk/directives/auto-resizing.directive.ts","../../../projects/cdk/directives/element.directive.ts","../../../projects/cdk/utils/provide.ts","../../../projects/cdk/cuby-ui-cdk.ts"],"sourcesContent":["import { Injectable, OnDestroy } 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 {\n AfterViewChecked,\n AfterViewInit,\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 { CuiDestroyService } from '../services';\n\n@Directive({\n standalone: true,\n selector: 'textarea[cuiAutoResizing]',\n providers: [CuiDestroyService]\n})\nexport class CuiAutoResizingDirective implements OnInit, AfterViewInit, AfterViewChecked {\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 public ngOnInit(): void {\n this.initNgControlValueChangeSubscription();\n this.initNgModelValueChangeSubscription();\n }\n\n public ngAfterViewInit(): void {\n this.initHiddenOverflow();\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 initHiddenOverflow(): void {\n this.element.style.overflow = 'hidden';\n }\n\n private resize(): void {\n this.element.style.height = 'auto';\n this.element.style.height = this.element.scrollHeight + 'px';\n }\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 { 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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|