@taiga-ui/kit 4.18.0 → 4.19.0-canary.a1b748c
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/components/index.d.ts +1 -0
- package/components/input-number/index.d.ts +2 -0
- package/components/input-number/input-number.component.d.ts +34 -0
- package/components/input-number/input-number.options.d.ts +10 -0
- package/components/input-password/input-password.component.d.ts +1 -1
- package/esm2022/components/carousel/carousel.component.mjs +3 -3
- package/esm2022/components/index.mjs +2 -1
- package/esm2022/components/input-number/index.mjs +3 -0
- package/esm2022/components/input-number/input-number.component.mjs +199 -0
- package/esm2022/components/input-number/input-number.options.mjs +10 -0
- package/esm2022/components/input-number/taiga-ui-kit-components-input-number.mjs +5 -0
- package/esm2022/components/input-password/input-password.component.mjs +4 -4
- package/esm2022/components/input-phone-international/input-phone-international.component.mjs +1 -1
- package/esm2022/components/stepper/stepper.component.mjs +5 -3
- package/esm2022/components/tiles/tile-handle.directive.mjs +3 -3
- package/esm2022/directives/skeleton/skeleton.directive.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-carousel.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-number.mjs +214 -0
- package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -0
- package/fesm2022/taiga-ui-kit-components-input-password.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-input-password.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +1 -1
- package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-stepper.mjs +4 -2
- package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-tiles.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components.mjs +1 -0
- package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +2 -2
- package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
- package/package.json +32 -26
|
@@ -30,8 +30,10 @@ class TuiStepperComponent {
|
|
|
30
30
|
this.activeItemIndexChange = new EventEmitter();
|
|
31
31
|
}
|
|
32
32
|
set activeIndex(index) {
|
|
33
|
-
this.
|
|
34
|
-
|
|
33
|
+
if (this.steps.get(index)?.nativeElement) {
|
|
34
|
+
this.activeItemIndex = index;
|
|
35
|
+
this.scrollIntoView(index);
|
|
36
|
+
}
|
|
35
37
|
}
|
|
36
38
|
indexOf(step) {
|
|
37
39
|
const index = tuiGetOriginalArrayFromQueryList(this.steps).findIndex(({ nativeElement }) => nativeElement === step);
|
|
@@ -117,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
117
119
|
type: Input,
|
|
118
120
|
args: ['activeItemIndex']
|
|
119
121
|
}], changes$: [] } });
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvc3RlcHBlci9zdGVwcGVyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUNILGdDQUFnQyxFQUNoQyxPQUFPLEdBQ1YsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7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aW1wb3J0IHtBc3luY1BpcGUsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7UXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtSZXNpemVPYnNlcnZlclNlcnZpY2V9IGZyb20gJ0BuZy13ZWItYXBpcy9yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHtFTVBUWV9RVUVSWX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHt0dWlRdWVyeUxpc3RDaGFuZ2VzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7VHVpU2Nyb2xsU2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnQsIHR1aUlzRWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlNb3ZlRm9jdXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuaW1wb3J0IHtcbiAgICB0dWlHZXRPcmlnaW5hbEFycmF5RnJvbVF1ZXJ5TGlzdCxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUVUlfQU5JTUFUSU9OU19TUEVFRH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlPcmllbnRhdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHt0dWlHZXREdXJhdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgdHlwZSB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlbGF5fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlTdGVwfSBmcm9tICcuL3N0ZXAuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1zdGVwcGVyLCBuYXZbdHVpU3RlcHBlcl0nLFxuICAgIGltcG9ydHM6IFtBc3luY1BpcGUsIE5nSWZdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdGVwcGVyLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0ZXBwZXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1Jlc2l6ZU9ic2VydmVyU2VydmljZV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1vcmllbnRhdGlvbl0nOiAnb3JpZW50YXRpb24nLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dSaWdodCknOiAnb25Ib3Jpem9udGFsKCRldmVudCwgMSknLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dMZWZ0KSc6ICdvbkhvcml6b250YWwoJGV2ZW50LCAtMSknLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dEb3duKSc6ICdvblZlcnRpY2FsKCRldmVudCwgMSknLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dVcCknOiAnb25WZXJ0aWNhbCgkZXZlbnQsIC0xKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU3RlcHBlckNvbXBvbmVudCB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IFR1aVN0ZXApLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGVwczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxTZXJ2aWNlID0gaW5qZWN0KFR1aVNjcm9sbFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3BlZWQgPSBpbmplY3QoVFVJX0FOSU1BVElPTlNfU1BFRUQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIHByb3RlY3RlZCBhY3RpdmVJdGVtSW5kZXggPSAwO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5ICQgPSBpbmplY3QoUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlLCB7c2VsZjogdHJ1ZX0pXG4gICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2Nyb2xsSW50b1ZpZXcodGhpcy5hY3RpdmVJdGVtSW5kZXgpKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG9yaWVudGF0aW9uOiBUdWlPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJztcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBhY3RpdmVJdGVtSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIEBJbnB1dCgnYWN0aXZlSXRlbUluZGV4JylcbiAgICBwdWJsaWMgc2V0IGFjdGl2ZUluZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5zY3JvbGxJbnRvVmlldyhpbmRleCk7XG4gICAgfVxuXG4gICAgcHVibGljIGluZGV4T2Yoc3RlcDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBpbmRleCA9IHR1aUdldE9yaWdpbmFsQXJyYXlGcm9tUXVlcnlMaXN0KHRoaXMuc3RlcHMpLmZpbmRJbmRleChcbiAgICAgICAgICAgICh7bmF0aXZlRWxlbWVudH0pID0+IG5hdGl2ZUVsZW1lbnQgPT09IHN0ZXAsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4IDwgMCA/IE5hTiA6IGluZGV4O1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0FjdGl2ZShpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpbmRleCA9PT0gdGhpcy5hY3RpdmVJdGVtSW5kZXg7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlSXRlbUluZGV4ID09PSBpbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB0aGlzLnNjcm9sbEludG9WaWV3KGluZGV4KTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByb3RlY3RlZCBnZXQgY2hhbmdlcyQoKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgICAgIC8vIERlbGF5IGlzIHJlcXVpcmVkIHRvIHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiBhZnRlciBzdGVwcyBhcmUgcmVuZGVyZWQsXG4gICAgICAgIC8vIHNvIHRoZXkgY2FuIHVwZGF0ZSB0aGVpciBcImFjdGl2ZVwiIHN0YXR1c1xuICAgICAgICByZXR1cm4gdHVpUXVlcnlMaXN0Q2hhbmdlcyh0aGlzLnN0ZXBzKS5waXBlKGRlbGF5KDApKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Ib3Jpem9udGFsKGV2ZW50OiBFdmVudCwgc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm9yaWVudGF0aW9uICE9PSAnaG9yaXpvbnRhbCcgfHwgIWV2ZW50LnRhcmdldCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5tb3ZlRm9jdXMoZXZlbnQudGFyZ2V0LCBzdGVwKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25WZXJ0aWNhbChldmVudDogRXZlbnQsIHN0ZXA6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5vcmllbnRhdGlvbiAhPT0gJ3ZlcnRpY2FsJyB8fCAhZXZlbnQudGFyZ2V0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLm1vdmVGb2N1cyhldmVudC50YXJnZXQsIHN0ZXApO1xuICAgIH1cblxuICAgIHByaXZhdGUgbW92ZUZvY3VzKGN1cnJlbnQ6IEV2ZW50VGFyZ2V0LCBzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0dWlJc0VsZW1lbnQoY3VycmVudCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0ZXBFbGVtZW50cyA9IHRoaXMuc3RlcHMudG9BcnJheSgpLm1hcCgoe25hdGl2ZUVsZW1lbnR9KSA9PiBuYXRpdmVFbGVtZW50KTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBzdGVwRWxlbWVudHMuZmluZEluZGV4KChlbGVtZW50KSA9PiBlbGVtZW50ID09PSBjdXJyZW50KTtcblxuICAgICAgICB0dWlNb3ZlRm9jdXMoaW5kZXgsIHN0ZXBFbGVtZW50cywgc3RlcCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzY3JvbGxJbnRvVmlldyhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0ZXAgPSB0aGlzLnN0ZXBzLmdldChpbmRleCk/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKCFzdGVwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7Y2xpZW50SGVpZ2h0LCBjbGllbnRXaWR0aCwgb2Zmc2V0VG9wLCBvZmZzZXRMZWZ0fSA9IHRoaXMuZWw7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIG9mZnNldEhlaWdodCxcbiAgICAgICAgICAgIG9mZnNldFdpZHRoLFxuICAgICAgICAgICAgb2Zmc2V0VG9wOiBzdGVwT2Zmc2V0VG9wLFxuICAgICAgICAgICAgb2Zmc2V0TGVmdDogc3RlcE9mZnNldExlZnQsXG4gICAgICAgIH0gPSBzdGVwO1xuICAgICAgICBjb25zdCB0b3AgPSBzdGVwT2Zmc2V0VG9wIC0gb2Zmc2V0VG9wIC0gY2xpZW50SGVpZ2h0IC8gMiArIG9mZnNldEhlaWdodCAvIDI7XG4gICAgICAgIGNvbnN0IGxlZnQgPSBzdGVwT2Zmc2V0TGVmdCAtIG9mZnNldExlZnQgLSBjbGllbnRXaWR0aCAvIDIgKyBvZmZzZXRXaWR0aCAvIDI7XG5cbiAgICAgICAgdGhpcy5zY3JvbGxTZXJ2aWNlXG4gICAgICAgICAgICAuc2Nyb2xsJChcbiAgICAgICAgICAgICAgICB0aGlzLmVsLFxuICAgICAgICAgICAgICAgIE1hdGgubWF4KDAsIHRvcCksXG4gICAgICAgICAgICAgICAgTWF0aC5tYXgoMCwgbGVmdCksXG4gICAgICAgICAgICAgICAgdHVpR2V0RHVyYXRpb24odGhpcy5zcGVlZCkgLyAzLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoYW5nZXMkIHwgYXN5bmNcIiAvPlxuPG5nLWNvbnRlbnQgLz5cbiJdfQ==
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvc3RlcHBlci9zdGVwcGVyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUNILGdDQUFnQyxFQUNoQyxPQUFPLEdBQ1YsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7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QU07Z0JBSUksV0FBVztzQkFEckIsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBZ0NWLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZSwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHtRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1Jlc2l6ZU9ic2VydmVyU2VydmljZX0gZnJvbSAnQG5nLXdlYi1hcGlzL3Jlc2l6ZS1vYnNlcnZlcic7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aVF1ZXJ5TGlzdENoYW5nZXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtUdWlTY3JvbGxTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3NlcnZpY2VzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudCwgdHVpSXNFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aU1vdmVGb2N1c30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cyc7XG5pbXBvcnQge1xuICAgIHR1aUdldE9yaWdpbmFsQXJyYXlGcm9tUXVlcnlMaXN0LFxuICAgIHR1aVB1cmUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05TX1NQRUVEfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1R1aU9yaWVudGF0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge3R1aUdldER1cmF0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVsYXl9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aVN0ZXB9IGZyb20gJy4vc3RlcC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLXN0ZXBwZXIsIG5hdlt0dWlTdGVwcGVyXScsXG4gICAgaW1wb3J0czogW0FzeW5jUGlwZSwgTmdJZl0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0ZXBwZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3RlcHBlci5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdvcmllbnRhdGlvbicsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1JpZ2h0KSc6ICdvbkhvcml6b250YWwoJGV2ZW50LCAxKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0xlZnQpJzogJ29uSG9yaXpvbnRhbCgkZXZlbnQsIC0xKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0Rvd24pJzogJ29uVmVydGljYWwoJGV2ZW50LCAxKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1VwKSc6ICdvblZlcnRpY2FsKCRldmVudCwgLTEpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTdGVwcGVyQ29tcG9uZW50IHtcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gVHVpU3RlcCksIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0ZXBzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbFNlcnZpY2UgPSBpbmplY3QoVHVpU2Nyb2xsU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzcGVlZCA9IGluamVjdChUVUlfQU5JTUFUSU9OU19TUEVFRCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgcHJvdGVjdGVkIGFjdGl2ZUl0ZW1JbmRleCA9IDA7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgJCA9IGluamVjdChSZXNpemVPYnNlcnZlclNlcnZpY2UsIHtzZWxmOiB0cnVlfSlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zY3JvbGxJbnRvVmlldyh0aGlzLmFjdGl2ZUl0ZW1JbmRleCkpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgb3JpZW50YXRpb246IFR1aU9yaWVudGF0aW9uID0gJ2hvcml6b250YWwnO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGFjdGl2ZUl0ZW1JbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgQElucHV0KCdhY3RpdmVJdGVtSW5kZXgnKVxuICAgIHB1YmxpYyBzZXQgYWN0aXZlSW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5zdGVwcy5nZXQoaW5kZXgpPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxJbnRvVmlldyhpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaW5kZXhPZihzdGVwOiBIVE1MRWxlbWVudCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdHVpR2V0T3JpZ2luYWxBcnJheUZyb21RdWVyeUxpc3QodGhpcy5zdGVwcykuZmluZEluZGV4KFxuICAgICAgICAgICAgKHtuYXRpdmVFbGVtZW50fSkgPT4gbmF0aXZlRWxlbWVudCA9PT0gc3RlcCxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gaW5kZXggPCAwID8gTmFOIDogaW5kZXg7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQWN0aXZlKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLmFjdGl2ZUl0ZW1JbmRleDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWN0aXZhdGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVJdGVtSW5kZXggPT09IGluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleENoYW5nZS5lbWl0KGluZGV4KTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsSW50b1ZpZXcoaW5kZXgpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJvdGVjdGVkIGdldCBjaGFuZ2VzJCgpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICAgICAgLy8gRGVsYXkgaXMgcmVxdWlyZWQgdG8gdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIGFmdGVyIHN0ZXBzIGFyZSByZW5kZXJlZCxcbiAgICAgICAgLy8gc28gdGhleSBjYW4gdXBkYXRlIHRoZWlyIFwiYWN0aXZlXCIgc3RhdHVzXG4gICAgICAgIHJldHVybiB0dWlRdWVyeUxpc3RDaGFuZ2VzKHRoaXMuc3RlcHMpLnBpcGUoZGVsYXkoMCkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkhvcml6b250YWwoZXZlbnQ6IEV2ZW50LCBzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3JpZW50YXRpb24gIT09ICdob3Jpem9udGFsJyB8fCAhZXZlbnQudGFyZ2V0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLm1vdmVGb2N1cyhldmVudC50YXJnZXQsIHN0ZXApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblZlcnRpY2FsKGV2ZW50OiBFdmVudCwgc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm9yaWVudGF0aW9uICE9PSAndmVydGljYWwnIHx8ICFldmVudC50YXJnZXQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMubW92ZUZvY3VzKGV2ZW50LnRhcmdldCwgc3RlcCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3ZlRm9jdXMoY3VycmVudDogRXZlbnRUYXJnZXQsIHN0ZXA6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoIXR1aUlzRWxlbWVudChjdXJyZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RlcEVsZW1lbnRzID0gdGhpcy5zdGVwcy50b0FycmF5KCkubWFwKCh7bmF0aXZlRWxlbWVudH0pID0+IG5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICBjb25zdCBpbmRleCA9IHN0ZXBFbGVtZW50cy5maW5kSW5kZXgoKGVsZW1lbnQpID0+IGVsZW1lbnQgPT09IGN1cnJlbnQpO1xuXG4gICAgICAgIHR1aU1vdmVGb2N1cyhpbmRleCwgc3RlcEVsZW1lbnRzLCBzdGVwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNjcm9sbEludG9WaWV3KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RlcCA9IHRoaXMuc3RlcHMuZ2V0KGluZGV4KT8ubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBpZiAoIXN0ZXApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtjbGllbnRIZWlnaHQsIGNsaWVudFdpZHRoLCBvZmZzZXRUb3AsIG9mZnNldExlZnR9ID0gdGhpcy5lbDtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgb2Zmc2V0SGVpZ2h0LFxuICAgICAgICAgICAgb2Zmc2V0V2lkdGgsXG4gICAgICAgICAgICBvZmZzZXRUb3A6IHN0ZXBPZmZzZXRUb3AsXG4gICAgICAgICAgICBvZmZzZXRMZWZ0OiBzdGVwT2Zmc2V0TGVmdCxcbiAgICAgICAgfSA9IHN0ZXA7XG4gICAgICAgIGNvbnN0IHRvcCA9IHN0ZXBPZmZzZXRUb3AgLSBvZmZzZXRUb3AgLSBjbGllbnRIZWlnaHQgLyAyICsgb2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3QgbGVmdCA9IHN0ZXBPZmZzZXRMZWZ0IC0gb2Zmc2V0TGVmdCAtIGNsaWVudFdpZHRoIC8gMiArIG9mZnNldFdpZHRoIC8gMjtcblxuICAgICAgICB0aGlzLnNjcm9sbFNlcnZpY2VcbiAgICAgICAgICAgIC5zY3JvbGwkKFxuICAgICAgICAgICAgICAgIHRoaXMuZWwsXG4gICAgICAgICAgICAgICAgTWF0aC5tYXgoMCwgdG9wKSxcbiAgICAgICAgICAgICAgICBNYXRoLm1heCgwLCBsZWZ0KSxcbiAgICAgICAgICAgICAgICB0dWlHZXREdXJhdGlvbih0aGlzLnNwZWVkKSAvIDMsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY2hhbmdlcyQgfCBhc3luY1wiIC8+XG48bmctY29udGVudCAvPlxuIl19
|
|
@@ -34,7 +34,7 @@ class TuiTileHandle {
|
|
|
34
34
|
this.onPointer(x, y);
|
|
35
35
|
}
|
|
36
36
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTileHandle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
37
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiTileHandle, isStandalone: true, selector: "[tuiTileHandle]", host: { listeners: { "pointerdown.silent": "onStart($event)", "document:pointerup.silent": "onPointer()", "document:pointermove.silent": "onMove($event.x, $event.y)" }, properties: { "style.touchAction": "\"none\"", "style.userSelect": "\"none\"" } }, ngImport: i0 }); }
|
|
37
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiTileHandle, isStandalone: true, selector: "[tuiTileHandle]", host: { listeners: { "pointerdown.silent.prevent": "onStart($event)", "document:pointerup.silent": "onPointer()", "document:pointermove.silent": "onMove($event.x, $event.y)" }, properties: { "style.touchAction": "\"none\"", "style.userSelect": "\"none\"" } }, ngImport: i0 }); }
|
|
38
38
|
}
|
|
39
39
|
__decorate([
|
|
40
40
|
shouldCall(isInteracting)
|
|
@@ -51,10 +51,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
51
51
|
host: {
|
|
52
52
|
'[style.touchAction]': '"none"',
|
|
53
53
|
'[style.userSelect]': '"none"',
|
|
54
|
-
'(pointerdown.silent)': 'onStart($event)',
|
|
54
|
+
'(pointerdown.silent.prevent)': 'onStart($event)',
|
|
55
55
|
'(document:pointerup.silent)': 'onPointer()',
|
|
56
56
|
'(document:pointermove.silent)': 'onMove($event.x, $event.y)',
|
|
57
57
|
},
|
|
58
58
|
}]
|
|
59
59
|
}], propDecorators: { onPointer: [], onMove: [] } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1oYW5kbGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGlsZXMvdGlsZS1oYW5kbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRW5ELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFekMsU0FBUyxhQUFhLENBQXNCLENBQUMsR0FBRyxHQUFHO0lBQy9DLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRUQsU0FBUyxVQUFVO0lBQ2YsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDcEMsQ0FBQztBQUVELE1BV2EsYUFBYTtJQVgxQjtRQVlxQixTQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLE1BQUMsR0FBRyxHQUFHLENBQUM7UUFDUixNQUFDLEdBQUcsR0FBRyxDQUFDO0tBMEJuQjtJQXZCYSxTQUFTLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRztRQUNoQyxNQUFNLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFOUQsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFHUyxNQUFNLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVTLE9BQU8sQ0FBQyxLQUFtQjtRQUNqQyxNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxNQUFNLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUMsR0FBRyxLQUFLLENBQUM7UUFFaEMsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzNDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekIsQ0FBQzsrR0E1QlEsYUFBYTttR0FBYixhQUFhOztBQU1aO0lBRFQsVUFBVSxDQUFDLGFBQWEsQ0FBQzs4Q0FPekI7QUFHUztJQURULFVBQVUsQ0FBQyxVQUFVLENBQUM7MkNBR3RCO1NBakJRLGFBQWE7NEZBQWIsYUFBYTtrQkFYekIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsSUFBSSxFQUFFO3dCQUNGLHFCQUFxQixFQUFFLFFBQVE7d0JBQy9CLG9CQUFvQixFQUFFLFFBQVE7d0JBQzlCLDhCQUE4QixFQUFFLGlCQUFpQjt3QkFDakQsNkJBQTZCLEVBQUUsYUFBYTt3QkFDNUMsK0JBQStCLEVBQUUsNEJBQTRCO3FCQUNoRTtpQkFDSjs4QkFPYSxTQUFTLE1BU1QsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlHZXRBY3R1YWxUYXJnZXQsIHR1aUlzRWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtzaG91bGRDYWxsfSBmcm9tICdAdGFpZ2EtdWkvZXZlbnQtcGx1Z2lucyc7XG5cbmltcG9ydCB7VHVpVGlsZX0gZnJvbSAnLi90aWxlLmNvbXBvbmVudCc7XG5cbmZ1bmN0aW9uIGlzSW50ZXJhY3RpbmcodGhpczogVHVpVGlsZUhhbmRsZSwgeCA9IE5hTik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhTnVtYmVyLmlzTmFOKHgpIHx8ICFOdW1iZXIuaXNOYU4odGhpc1sneCddKTtcbn1cblxuZnVuY3Rpb24gaXNEcmFnZ2luZyh0aGlzOiBUdWlUaWxlSGFuZGxlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFOdW1iZXIuaXNOYU4odGhpc1sneCddKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlUaWxlSGFuZGxlXScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLnRvdWNoQWN0aW9uXSc6ICdcIm5vbmVcIicsXG4gICAgICAgICdbc3R5bGUudXNlclNlbGVjdF0nOiAnXCJub25lXCInLFxuICAgICAgICAnKHBvaW50ZXJkb3duLnNpbGVudC5wcmV2ZW50KSc6ICdvblN0YXJ0KCRldmVudCknLFxuICAgICAgICAnKGRvY3VtZW50OnBvaW50ZXJ1cC5zaWxlbnQpJzogJ29uUG9pbnRlcigpJyxcbiAgICAgICAgJyhkb2N1bWVudDpwb2ludGVybW92ZS5zaWxlbnQpJzogJ29uTW92ZSgkZXZlbnQueCwgJGV2ZW50LnkpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUaWxlSGFuZGxlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRpbGUgPSBpbmplY3QoVHVpVGlsZSk7XG4gICAgcHJpdmF0ZSB4ID0gTmFOO1xuICAgIHByaXZhdGUgeSA9IE5hTjtcblxuICAgIEBzaG91bGRDYWxsKGlzSW50ZXJhY3RpbmcpXG4gICAgcHJvdGVjdGVkIG9uUG9pbnRlcih4ID0gTmFOLCB5ID0gTmFOKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtsZWZ0LCB0b3B9ID0gdGhpcy50aWxlLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgdGhpcy54ID0geCAtIGxlZnQ7XG4gICAgICAgIHRoaXMueSA9IHkgLSB0b3A7XG4gICAgICAgIHRoaXMudGlsZS5vbkRyYWcoW05hTiwgTmFOXSk7XG4gICAgfVxuXG4gICAgQHNob3VsZENhbGwoaXNEcmFnZ2luZylcbiAgICBwcm90ZWN0ZWQgb25Nb3ZlKHg6IG51bWJlciwgeTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGlsZS5vbkRyYWcoW3ggLSB0aGlzLngsIHkgLSB0aGlzLnldKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25TdGFydChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IHR1aUdldEFjdHVhbFRhcmdldChldmVudCk7XG4gICAgICAgIGNvbnN0IHt4LCB5LCBwb2ludGVySWR9ID0gZXZlbnQ7XG5cbiAgICAgICAgaWYgKHR1aUlzRWxlbWVudCh0YXJnZXQpKSB7XG4gICAgICAgICAgICB0YXJnZXQucmVsZWFzZVBvaW50ZXJDYXB0dXJlKHBvaW50ZXJJZCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uUG9pbnRlcih4LCB5KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -4,7 +4,7 @@ import { CHAR_NO_BREAK_SPACE } from '@taiga-ui/cdk/constants';
|
|
|
4
4
|
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
|
|
5
5
|
import { tuiPure, tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
6
6
|
import { TUI_ANIMATIONS_SPEED } from '@taiga-ui/core/tokens';
|
|
7
|
-
import {
|
|
7
|
+
import { tuiGetDuration } from '@taiga-ui/core/utils/miscellaneous';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
const FADE = [{ opacity: 0.06 }, { opacity: 1 }];
|
|
10
10
|
class TuiSkeletonStyles {
|
|
@@ -20,7 +20,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
20
20
|
class TuiSkeleton {
|
|
21
21
|
constructor() {
|
|
22
22
|
this.el = tuiInjectElement();
|
|
23
|
-
this.duration = inject(TUI_ANIMATIONS_SPEED) *
|
|
23
|
+
this.duration = tuiGetDuration(inject(TUI_ANIMATIONS_SPEED)) * 2;
|
|
24
24
|
this.nothing = tuiWithStyles(TuiSkeletonStyles);
|
|
25
25
|
this.tuiSkeleton = false;
|
|
26
26
|
}
|
|
@@ -66,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
66
66
|
function getLength() {
|
|
67
67
|
return Math.floor(Math.random() * (15 - 5 + 1)) + 5;
|
|
68
68
|
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2RpcmVjdGl2ZXMvc2tlbGV0b24vc2tlbGV0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7O0FBRWxFLE1BQU0sSUFBSSxHQUFHLENBQUMsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztBQUU3QyxNQVVNLGlCQUFpQjsrR0FBakIsaUJBQWlCO21HQUFqQixpQkFBaUIseUhBUlQsRUFBRTs7NEZBUVYsaUJBQWlCO2tCQVZ0QixTQUFTO2lDQUNNLElBQUksWUFDTixFQUFFLGlCQUVHLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLHFCQUFxQjtxQkFDL0I7O0FBSUwsTUFTYSxXQUFXO0lBVHhCO1FBV3FCLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFMUQsWUFBTyxHQUFHLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBR3ZELGdCQUFXLEdBQThCLEtBQUssQ0FBQztLQXVCekQ7SUFyQlUsV0FBVyxDQUFDLEVBQUMsV0FBVyxFQUFnQjtRQUMzQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWSxJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRTtZQUN6RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekQ7SUFDTCxDQUFDO0lBR1MsY0FBYyxDQUFDLEtBQWdDO1FBQ3JELFFBQVEsT0FBTyxLQUFLLEVBQUU7WUFDbEIsS0FBSyxRQUFRO2dCQUNULE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsQ0FBQztxQkFDN0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO3FCQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkIsS0FBSyxRQUFRO2dCQUNULE9BQU8sS0FBSyxDQUFDO1lBQ2pCO2dCQUNJLE9BQU8sSUFBSSxDQUFDO1NBQ25CO0lBQ0wsQ0FBQzsrR0E5QlEsV0FBVzttR0FBWCxXQUFXOztBQW1CVjtJQURULE9BQU87aURBWVA7U0E5QlEsV0FBVzs0RkFBWCxXQUFXO2tCQVR2QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZUFBZTtvQkFDekIsSUFBSSxFQUFFO3dCQUNGLFdBQVcsRUFBRSxFQUFFO3dCQUNmLG1CQUFtQixFQUFFLGFBQWE7d0JBQ2xDLDBCQUEwQixFQUFFLDZCQUE2QjtxQkFDNUQ7aUJBQ0o7OEJBU1UsV0FBVztzQkFEakIsS0FBSztnQkFZSSxjQUFjO0FBYzVCLFNBQVMsU0FBUztJQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7T25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDSEFSX05PX0JSRUFLX1NQQUNFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpUHVyZSwgdHVpV2l0aFN0eWxlc30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTlNfU1BFRUR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aUdldER1cmF0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9taXNjZWxsYW5lb3VzJztcblxuY29uc3QgRkFERSA9IFt7b3BhY2l0eTogMC4wNn0sIHtvcGFjaXR5OiAxfV07XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIHN0eWxlVXJsczogWycuL3NrZWxldG9uLnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0dWktc2tlbGV0b24tc3R5bGVzJyxcbiAgICB9LFxufSlcbmNsYXNzIFR1aVNrZWxldG9uU3R5bGVzIHt9XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpU2tlbGV0b25dJyxcbiAgICBob3N0OiB7XG4gICAgICAgIHR1aVNrZWxldG9uOiAnJyxcbiAgICAgICAgJ1tjbGFzcy5fc2tlbGV0b25dJzogJ3R1aVNrZWxldG9uJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtdHVpLXNrZWxldG9uXSc6ICdnZXRQbGFjZWhvbGRlcih0dWlTa2VsZXRvbiknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNrZWxldG9uIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBwcml2YXRlIGFuaW1hdGlvbj86IEFuaW1hdGlvbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHVyYXRpb24gPSB0dWlHZXREdXJhdGlvbihpbmplY3QoVFVJX0FOSU1BVElPTlNfU1BFRUQpKSAqIDI7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbm90aGluZyA9IHR1aVdpdGhTdHlsZXMoVHVpU2tlbGV0b25TdHlsZXMpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHVpU2tlbGV0b246IGJvb2xlYW4gfCBudW1iZXIgfCBzdHJpbmcgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyh7dHVpU2tlbGV0b259OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYW5pbWF0aW9uPy5jYW5jZWwoKTtcblxuICAgICAgICBpZiAoIXR1aVNrZWxldG9uPy5jdXJyZW50VmFsdWUgJiYgIXR1aVNrZWxldG9uPy5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpb24gPSB0aGlzLmVsLmFuaW1hdGUoRkFERSwgdGhpcy5kdXJhdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByb3RlY3RlZCBnZXRQbGFjZWhvbGRlcih2YWx1ZTogYm9vbGVhbiB8IG51bWJlciB8IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xuICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh7bGVuZ3RoOiB2YWx1ZX0pXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKCkgPT4gQ0hBUl9OT19CUkVBS19TUEFDRS5yZXBlYXQoZ2V0TGVuZ3RoKCkpKVxuICAgICAgICAgICAgICAgICAgICAuam9pbignICcpO1xuICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiBnZXRMZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDE1IC0gNSArIDEpKSArIDU7XG59XG4iXX0=
|
|
@@ -172,7 +172,7 @@ class TuiCarouselComponent {
|
|
|
172
172
|
this.cdr.markForCheck();
|
|
173
173
|
}
|
|
174
174
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
175
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiCarouselComponent, isStandalone: true, selector: "tui-carousel", inputs: { draggable: "draggable", itemsCount: "itemsCount", indexSetter: ["index", "indexSetter"] }, outputs: { indexChange: "indexChange" }, host: { listeners: { "touchstart": "onTransitioned(false)", "touchend": "onTransitioned(true)", "mousedown": "onTransitioned(false)", "document:mouseup.silent": "onTransitioned(true)" }, properties: { "class._transitioned": "transitioned", "class._draggable": "draggable" } }, providers: [{ provide: TUI_SWIPE_OPTIONS, useValue: { timeout: 200, threshold: 30 } }], queries: [{ propertyName: "items", predicate: TuiItem, read: TemplateRef }], hostDirectives: [{ directive: TuiCarouselDirective, inputs: ["duration", "duration"] }], ngImport: i0, template: "<ng-container *ngIf=\"items.changes | async\" />\n<div\n class=\"t-scroller\"\n (tuiCarouselScroll)=\"onScroll($event)\"\n>\n <div\n waIntersectionObserver\n waIntersectionThreshold=\"0.5\"\n class=\"t-wrapper\"\n >\n <div\n class=\"t-items\"\n [style.transform]=\"transform\"\n (tuiCarouselAutoscroll)=\"onAutoscroll()\"\n (tuiPan)=\"onPan($event[0])\"\n (tuiSwipe)=\"onSwipe($event.direction)\"\n >\n <fieldset\n *ngFor=\"let item of items; let i = index\"\n class=\"t-item\"\n [disabled]=\"isDisabled(i)\"\n [style]=\"getStyle(itemsCount)\"\n (waIntersectionObservee)=\"$event[0] && onIntersection($event[0], i)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\" />\n </fieldset>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden}:host._draggable{-webkit-user-select:none;user-select:none}:host._draggable:hover{cursor:grab}:host._draggable:active{cursor:grabbing}.t-items{display:flex}:host._transitioned .t-items{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}::ng-deep [tuiCarouselButtons] [tuiIconButton]{border-radius:100%}.t-item{display:flex;flex-direction:column;justify-content:center;padding:var(--tui-carousel-padding, 0 1.25rem);flex:1;min-inline-size:100%;max-inline-size:100%;box-sizing:border-box;border:none;margin:0}.t-wrapper{position:sticky;left:0;right:0;min-inline-size:100%;overflow:hidden}.t-scroller{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto;overscroll-behavior-x:none;touch-action:
|
|
175
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiCarouselComponent, isStandalone: true, selector: "tui-carousel", inputs: { draggable: "draggable", itemsCount: "itemsCount", indexSetter: ["index", "indexSetter"] }, outputs: { indexChange: "indexChange" }, host: { listeners: { "touchstart": "onTransitioned(false)", "touchend": "onTransitioned(true)", "mousedown": "onTransitioned(false)", "document:mouseup.silent": "onTransitioned(true)" }, properties: { "class._transitioned": "transitioned", "class._draggable": "draggable" } }, providers: [{ provide: TUI_SWIPE_OPTIONS, useValue: { timeout: 200, threshold: 30 } }], queries: [{ propertyName: "items", predicate: TuiItem, read: TemplateRef }], hostDirectives: [{ directive: TuiCarouselDirective, inputs: ["duration", "duration"] }], ngImport: i0, template: "<ng-container *ngIf=\"items.changes | async\" />\n<div\n class=\"t-scroller\"\n (tuiCarouselScroll)=\"onScroll($event)\"\n>\n <div\n waIntersectionObserver\n waIntersectionThreshold=\"0.5\"\n class=\"t-wrapper\"\n >\n <div\n class=\"t-items\"\n [style.transform]=\"transform\"\n (tuiCarouselAutoscroll)=\"onAutoscroll()\"\n (tuiPan)=\"onPan($event[0])\"\n (tuiSwipe)=\"onSwipe($event.direction)\"\n >\n <fieldset\n *ngFor=\"let item of items; let i = index\"\n class=\"t-item\"\n [disabled]=\"isDisabled(i)\"\n [style]=\"getStyle(itemsCount)\"\n (waIntersectionObservee)=\"$event[0] && onIntersection($event[0], i)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\" />\n </fieldset>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden}:host._draggable{-webkit-user-select:none;user-select:none}:host._draggable:hover{cursor:grab}:host._draggable:active{cursor:grabbing}.t-items{display:flex}:host._transitioned .t-items{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}::ng-deep [tuiCarouselButtons] [tuiIconButton]{border-radius:100%}.t-item{display:flex;flex-direction:column;justify-content:center;padding:var(--tui-carousel-padding, 0 1.25rem);flex:1;min-inline-size:100%;max-inline-size:100%;box-sizing:border-box;border:none;margin:0}.t-wrapper{position:sticky;left:0;right:0;min-inline-size:100%;overflow:hidden}.t-scroller{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto;overscroll-behavior-x:none;touch-action:pan-y}.t-scroller::-webkit-scrollbar,.t-scroller::-webkit-scrollbar-thumb{display:none}.t-scroller:before,.t-scroller:after{content:\"\";display:block;min-inline-size:1rem}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: TuiCarouselAutoscroll, selector: "[tuiCarouselAutoscroll]", outputs: ["tuiCarouselAutoscroll"] }, { kind: "directive", type: TuiCarouselScroll, selector: "[tuiCarouselScroll]", outputs: ["tuiCarouselScroll"] }, { kind: "directive", type: TuiPan, selector: "[tuiPan]", outputs: ["tuiPan"] }, { kind: "directive", type: TuiSwipe, selector: "[tuiSwipe]", outputs: ["tuiSwipe"] }, { kind: "directive", type: i2.WaIntersectionObserverDirective, selector: "[waIntersectionObserver]", inputs: ["waIntersectionRootMargin", "waIntersectionThreshold"], exportAs: ["IntersectionObserver"] }, { kind: "directive", type: i2.WaIntersectionObservee, selector: "[waIntersectionObservee]", outputs: ["waIntersectionObservee"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
176
176
|
}
|
|
177
177
|
__decorate([
|
|
178
178
|
tuiPure
|
|
@@ -201,7 +201,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
201
201
|
'(touchend)': 'onTransitioned(true)',
|
|
202
202
|
'(mousedown)': 'onTransitioned(false)',
|
|
203
203
|
'(document:mouseup.silent)': 'onTransitioned(true)',
|
|
204
|
-
}, template: "<ng-container *ngIf=\"items.changes | async\" />\n<div\n class=\"t-scroller\"\n (tuiCarouselScroll)=\"onScroll($event)\"\n>\n <div\n waIntersectionObserver\n waIntersectionThreshold=\"0.5\"\n class=\"t-wrapper\"\n >\n <div\n class=\"t-items\"\n [style.transform]=\"transform\"\n (tuiCarouselAutoscroll)=\"onAutoscroll()\"\n (tuiPan)=\"onPan($event[0])\"\n (tuiSwipe)=\"onSwipe($event.direction)\"\n >\n <fieldset\n *ngFor=\"let item of items; let i = index\"\n class=\"t-item\"\n [disabled]=\"isDisabled(i)\"\n [style]=\"getStyle(itemsCount)\"\n (waIntersectionObservee)=\"$event[0] && onIntersection($event[0], i)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\" />\n </fieldset>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden}:host._draggable{-webkit-user-select:none;user-select:none}:host._draggable:hover{cursor:grab}:host._draggable:active{cursor:grabbing}.t-items{display:flex}:host._transitioned .t-items{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}::ng-deep [tuiCarouselButtons] [tuiIconButton]{border-radius:100%}.t-item{display:flex;flex-direction:column;justify-content:center;padding:var(--tui-carousel-padding, 0 1.25rem);flex:1;min-inline-size:100%;max-inline-size:100%;box-sizing:border-box;border:none;margin:0}.t-wrapper{position:sticky;left:0;right:0;min-inline-size:100%;overflow:hidden}.t-scroller{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto;overscroll-behavior-x:none;touch-action:
|
|
204
|
+
}, template: "<ng-container *ngIf=\"items.changes | async\" />\n<div\n class=\"t-scroller\"\n (tuiCarouselScroll)=\"onScroll($event)\"\n>\n <div\n waIntersectionObserver\n waIntersectionThreshold=\"0.5\"\n class=\"t-wrapper\"\n >\n <div\n class=\"t-items\"\n [style.transform]=\"transform\"\n (tuiCarouselAutoscroll)=\"onAutoscroll()\"\n (tuiPan)=\"onPan($event[0])\"\n (tuiSwipe)=\"onSwipe($event.direction)\"\n >\n <fieldset\n *ngFor=\"let item of items; let i = index\"\n class=\"t-item\"\n [disabled]=\"isDisabled(i)\"\n [style]=\"getStyle(itemsCount)\"\n (waIntersectionObservee)=\"$event[0] && onIntersection($event[0], i)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\" />\n </fieldset>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden}:host._draggable{-webkit-user-select:none;user-select:none}:host._draggable:hover{cursor:grab}:host._draggable:active{cursor:grabbing}.t-items{display:flex}:host._transitioned .t-items{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}::ng-deep [tuiCarouselButtons] [tuiIconButton]{border-radius:100%}.t-item{display:flex;flex-direction:column;justify-content:center;padding:var(--tui-carousel-padding, 0 1.25rem);flex:1;min-inline-size:100%;max-inline-size:100%;box-sizing:border-box;border:none;margin:0}.t-wrapper{position:sticky;left:0;right:0;min-inline-size:100%;overflow:hidden}.t-scroller{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto;overscroll-behavior-x:none;touch-action:pan-y}.t-scroller::-webkit-scrollbar,.t-scroller::-webkit-scrollbar-thumb{display:none}.t-scroller:before,.t-scroller:after{content:\"\";display:block;min-inline-size:1rem}\n"] }]
|
|
205
205
|
}], propDecorators: { items: [{
|
|
206
206
|
type: ContentChildren,
|
|
207
207
|
args: [TuiItem, { read: TemplateRef }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-carousel.mjs","sources":["../../../projects/kit/components/carousel/carousel.directive.ts","../../../projects/kit/components/carousel/carousel-autoscroll.directive.ts","../../../projects/kit/components/carousel/carousel-scroll.directive.ts","../../../projects/kit/components/carousel/carousel.component.ts","../../../projects/kit/components/carousel/carousel.template.html","../../../projects/kit/components/carousel/carousel-buttons.directive.ts","../../../projects/kit/components/carousel/carousel.ts","../../../projects/kit/components/carousel/taiga-ui-kit-components-carousel.ts"],"sourcesContent":["import {Directive, inject, Input} from '@angular/core';\nimport {WA_PAGE_VISIBILITY} from '@ng-web-apis/common';\nimport {TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiIfMap, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {BehaviorSubject, combineLatest, interval, map, merge, Observable} from 'rxjs';\n\n@Directive({\n standalone: true,\n})\nexport class TuiCarouselDirective extends Observable<unknown> {\n private readonly el = tuiInjectElement();\n private readonly visible$ = inject(WA_PAGE_VISIBILITY);\n private readonly duration$ = new BehaviorSubject(0);\n private readonly running$ = merge(\n tuiTypedFromEvent(this.el, 'mouseenter').pipe(map(TUI_FALSE_HANDLER)),\n tuiTypedFromEvent(this.el, 'touchstart').pipe(map(TUI_FALSE_HANDLER)),\n tuiTypedFromEvent(this.el, 'touchend').pipe(map(TUI_TRUE_HANDLER)),\n tuiTypedFromEvent(this.el, 'mouseleave').pipe(map(TUI_TRUE_HANDLER)),\n this.visible$,\n );\n\n private readonly output$ = combineLatest([this.duration$, this.running$]).pipe(\n tuiIfMap(\n ([duration]) => interval(duration),\n (values) => values.every(Boolean),\n ),\n );\n\n constructor() {\n super((subscriber) => this.output$.subscribe(subscriber));\n }\n\n @Input()\n public set duration(duration: number) {\n this.duration$.next(Number.isNaN(duration) ? this.duration$.value : duration);\n }\n}\n","import {Directive, inject, Output} from '@angular/core';\n\nimport {TuiCarouselDirective} from './carousel.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiCarouselAutoscroll]',\n})\nexport class TuiCarouselAutoscroll {\n @Output()\n public readonly tuiCarouselAutoscroll = inject(TuiCarouselDirective);\n}\n","import {Directive, Output} from '@angular/core';\nimport {tuiTypedFromEvent, tuiZonefreeScheduler} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {filter, map, tap, throttleTime} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiCarouselScroll]',\n})\nexport class TuiCarouselScroll {\n private readonly el = tuiInjectElement();\n\n @Output()\n public readonly tuiCarouselScroll = tuiTypedFromEvent(this.el, 'wheel').pipe(\n filter(({deltaX}) => Math.abs(deltaX) > 20),\n throttleTime(500, tuiZonefreeScheduler()),\n map(({deltaX}) => Math.sign(deltaX)),\n tap(() => {\n // So we always have space to scroll and overflow-behavior saves us from back nav\n this.el.scrollLeft = 10;\n }),\n );\n}\n","import {AsyncPipe, NgForOf, NgIf, NgTemplateOutlet} from '@angular/common';\nimport type {QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n inject,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport {WaIntersectionObserver} from '@ng-web-apis/intersection-observer';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {TuiPan} from '@taiga-ui/cdk/directives/pan';\nimport type {TuiSwipeDirection} from '@taiga-ui/cdk/directives/swipe';\nimport {TUI_SWIPE_OPTIONS, TuiSwipe} from '@taiga-ui/cdk/directives/swipe';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiCarouselDirective} from './carousel.directive';\nimport {TuiCarouselAutoscroll} from './carousel-autoscroll.directive';\nimport {TuiCarouselScroll} from './carousel-scroll.directive';\n\n@Component({\n standalone: true,\n selector: 'tui-carousel',\n imports: [\n AsyncPipe,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n TuiCarouselAutoscroll,\n TuiCarouselScroll,\n TuiPan,\n TuiSwipe,\n WaIntersectionObserver,\n ],\n templateUrl: './carousel.template.html',\n styleUrls: ['./carousel.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{provide: TUI_SWIPE_OPTIONS, useValue: {timeout: 200, threshold: 30}}],\n hostDirectives: [\n {\n directive: TuiCarouselDirective,\n inputs: ['duration'],\n },\n ],\n host: {\n '[class._transitioned]': 'transitioned',\n '[class._draggable]': 'draggable',\n '(touchstart)': 'onTransitioned(false)',\n '(touchend)': 'onTransitioned(true)',\n '(mousedown)': 'onTransitioned(false)',\n '(document:mouseup.silent)': 'onTransitioned(true)',\n },\n})\nexport class TuiCarouselComponent {\n private readonly el = tuiInjectElement();\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly directive = inject(TuiCarouselDirective);\n private translate = 0;\n\n @ContentChildren(TuiItem, {read: TemplateRef})\n protected readonly items: QueryList<TemplateRef<Record<string, unknown>>> =\n EMPTY_QUERY;\n\n protected transitioned = true;\n\n protected index = 0;\n\n @Input()\n public draggable = false;\n\n @Input()\n public itemsCount = 1;\n\n @Output()\n public readonly indexChange = new EventEmitter<number>();\n\n @Input('index')\n public set indexSetter(index: number) {\n this.index = index;\n this.directive.duration = NaN;\n }\n\n public next(): void {\n if (this.items && this.index === this.items.length - this.itemsCount) {\n return;\n }\n\n this.updateIndex(this.index + 1);\n }\n\n public prev(): void {\n this.updateIndex(this.index - 1);\n }\n\n protected get transform(): string {\n const x = this.transitioned ? this.computedTranslate : this.translate;\n\n return `translateX(${100 * x}%)`;\n }\n\n @tuiPure\n protected getStyle(itemsCount: number): Partial<CSSStyleDeclaration> {\n const percent = `${100 / itemsCount}%`;\n\n return {\n flexBasis: percent,\n minWidth: percent,\n maxWidth: percent,\n };\n }\n\n protected onTransitioned(transitioned: boolean): void {\n this.transitioned = transitioned;\n\n if (!transitioned) {\n this.translate = this.computedTranslate;\n }\n }\n\n protected isDisabled(index: number): boolean {\n return index < this.index || index > this.index + this.itemsCount;\n }\n\n protected onIntersection(\n {intersectionRatio}: IntersectionObserverEntry,\n index: number,\n ): void {\n if (intersectionRatio && intersectionRatio >= 0.5 && !this.transitioned) {\n this.updateIndex(this.index < index ? index - this.itemsCount + 1 : index);\n }\n }\n\n protected onScroll(delta: number): void {\n if (!this.isMobile) {\n if (delta > 0) {\n this.next();\n } else {\n this.prev();\n }\n }\n }\n\n protected onPan(x: number): void {\n if (!this.computedDraggable) {\n return;\n }\n\n const min = 1 - this.items.length / this.itemsCount;\n\n this.translate = tuiClamp(x / this.el.clientWidth + this.translate, min, 0);\n }\n\n protected onSwipe(direction: TuiSwipeDirection): void {\n if (direction === 'left') {\n this.next();\n } else if (direction === 'right') {\n this.prev();\n }\n }\n\n protected onAutoscroll(): void {\n this.updateIndex(this.index === this.items.length - 1 ? 0 : this.index + 1);\n }\n\n private get computedTranslate(): number {\n return -this.index / this.itemsCount;\n }\n\n private get computedDraggable(): boolean {\n return this.isMobile || this.draggable;\n }\n\n private updateIndex(index: number): void {\n this.index = tuiClamp(index, 0, this.items.length - 1);\n this.indexChange.emit(this.index);\n this.cdr.markForCheck();\n }\n}\n","<ng-container *ngIf=\"items.changes | async\" />\n<div\n class=\"t-scroller\"\n (tuiCarouselScroll)=\"onScroll($event)\"\n>\n <div\n waIntersectionObserver\n waIntersectionThreshold=\"0.5\"\n class=\"t-wrapper\"\n >\n <div\n class=\"t-items\"\n [style.transform]=\"transform\"\n (tuiCarouselAutoscroll)=\"onAutoscroll()\"\n (tuiPan)=\"onPan($event[0])\"\n (tuiSwipe)=\"onSwipe($event.direction)\"\n >\n <fieldset\n *ngFor=\"let item of items; let i = index\"\n class=\"t-item\"\n [disabled]=\"isDisabled(i)\"\n [style]=\"getStyle(itemsCount)\"\n (waIntersectionObservee)=\"$event[0] && onIntersection($event[0], i)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\" />\n </fieldset>\n </div>\n </div>\n</div>\n","import {Directive} from '@angular/core';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\n\n@Directive({\n standalone: true,\n selector: '[tuiCarouselButtons]',\n providers: [\n tuiButtonOptionsProvider({\n appearance: 'secondary',\n size: 'm',\n }),\n ],\n})\nexport class TuiCarouselButtons {}\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\n\nimport {TuiCarouselComponent} from './carousel.component';\nimport {TuiCarouselDirective} from './carousel.directive';\nimport {TuiCarouselAutoscroll} from './carousel-autoscroll.directive';\nimport {TuiCarouselButtons} from './carousel-buttons.directive';\nimport {TuiCarouselScroll} from './carousel-scroll.directive';\n\nexport const TuiCarousel = [\n TuiItem,\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselAutoscroll,\n TuiCarouselButtons,\n TuiCarouselScroll,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiCarouselDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-carousel.mjs","sources":["../../../projects/kit/components/carousel/carousel.directive.ts","../../../projects/kit/components/carousel/carousel-autoscroll.directive.ts","../../../projects/kit/components/carousel/carousel-scroll.directive.ts","../../../projects/kit/components/carousel/carousel.component.ts","../../../projects/kit/components/carousel/carousel.template.html","../../../projects/kit/components/carousel/carousel-buttons.directive.ts","../../../projects/kit/components/carousel/carousel.ts","../../../projects/kit/components/carousel/taiga-ui-kit-components-carousel.ts"],"sourcesContent":["import {Directive, inject, Input} from '@angular/core';\nimport {WA_PAGE_VISIBILITY} from '@ng-web-apis/common';\nimport {TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiIfMap, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {BehaviorSubject, combineLatest, interval, map, merge, Observable} from 'rxjs';\n\n@Directive({\n standalone: true,\n})\nexport class TuiCarouselDirective extends Observable<unknown> {\n private readonly el = tuiInjectElement();\n private readonly visible$ = inject(WA_PAGE_VISIBILITY);\n private readonly duration$ = new BehaviorSubject(0);\n private readonly running$ = merge(\n tuiTypedFromEvent(this.el, 'mouseenter').pipe(map(TUI_FALSE_HANDLER)),\n tuiTypedFromEvent(this.el, 'touchstart').pipe(map(TUI_FALSE_HANDLER)),\n tuiTypedFromEvent(this.el, 'touchend').pipe(map(TUI_TRUE_HANDLER)),\n tuiTypedFromEvent(this.el, 'mouseleave').pipe(map(TUI_TRUE_HANDLER)),\n this.visible$,\n );\n\n private readonly output$ = combineLatest([this.duration$, this.running$]).pipe(\n tuiIfMap(\n ([duration]) => interval(duration),\n (values) => values.every(Boolean),\n ),\n );\n\n constructor() {\n super((subscriber) => this.output$.subscribe(subscriber));\n }\n\n @Input()\n public set duration(duration: number) {\n this.duration$.next(Number.isNaN(duration) ? this.duration$.value : duration);\n }\n}\n","import {Directive, inject, Output} from '@angular/core';\n\nimport {TuiCarouselDirective} from './carousel.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiCarouselAutoscroll]',\n})\nexport class TuiCarouselAutoscroll {\n @Output()\n public readonly tuiCarouselAutoscroll = inject(TuiCarouselDirective);\n}\n","import {Directive, Output} from '@angular/core';\nimport {tuiTypedFromEvent, tuiZonefreeScheduler} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {filter, map, tap, throttleTime} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiCarouselScroll]',\n})\nexport class TuiCarouselScroll {\n private readonly el = tuiInjectElement();\n\n @Output()\n public readonly tuiCarouselScroll = tuiTypedFromEvent(this.el, 'wheel').pipe(\n filter(({deltaX}) => Math.abs(deltaX) > 20),\n throttleTime(500, tuiZonefreeScheduler()),\n map(({deltaX}) => Math.sign(deltaX)),\n tap(() => {\n // So we always have space to scroll and overflow-behavior saves us from back nav\n this.el.scrollLeft = 10;\n }),\n );\n}\n","import {AsyncPipe, NgForOf, NgIf, NgTemplateOutlet} from '@angular/common';\nimport type {QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n inject,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport {WaIntersectionObserver} from '@ng-web-apis/intersection-observer';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {TuiPan} from '@taiga-ui/cdk/directives/pan';\nimport type {TuiSwipeDirection} from '@taiga-ui/cdk/directives/swipe';\nimport {TUI_SWIPE_OPTIONS, TuiSwipe} from '@taiga-ui/cdk/directives/swipe';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiCarouselDirective} from './carousel.directive';\nimport {TuiCarouselAutoscroll} from './carousel-autoscroll.directive';\nimport {TuiCarouselScroll} from './carousel-scroll.directive';\n\n@Component({\n standalone: true,\n selector: 'tui-carousel',\n imports: [\n AsyncPipe,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n TuiCarouselAutoscroll,\n TuiCarouselScroll,\n TuiPan,\n TuiSwipe,\n WaIntersectionObserver,\n ],\n templateUrl: './carousel.template.html',\n styleUrls: ['./carousel.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{provide: TUI_SWIPE_OPTIONS, useValue: {timeout: 200, threshold: 30}}],\n hostDirectives: [\n {\n directive: TuiCarouselDirective,\n inputs: ['duration'],\n },\n ],\n host: {\n '[class._transitioned]': 'transitioned',\n '[class._draggable]': 'draggable',\n '(touchstart)': 'onTransitioned(false)',\n '(touchend)': 'onTransitioned(true)',\n '(mousedown)': 'onTransitioned(false)',\n '(document:mouseup.silent)': 'onTransitioned(true)',\n },\n})\nexport class TuiCarouselComponent {\n private readonly el = tuiInjectElement();\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly directive = inject(TuiCarouselDirective);\n private translate = 0;\n\n @ContentChildren(TuiItem, {read: TemplateRef})\n protected readonly items: QueryList<TemplateRef<Record<string, unknown>>> =\n EMPTY_QUERY;\n\n protected transitioned = true;\n\n protected index = 0;\n\n @Input()\n public draggable = false;\n\n @Input()\n public itemsCount = 1;\n\n @Output()\n public readonly indexChange = new EventEmitter<number>();\n\n @Input('index')\n public set indexSetter(index: number) {\n this.index = index;\n this.directive.duration = NaN;\n }\n\n public next(): void {\n if (this.items && this.index === this.items.length - this.itemsCount) {\n return;\n }\n\n this.updateIndex(this.index + 1);\n }\n\n public prev(): void {\n this.updateIndex(this.index - 1);\n }\n\n protected get transform(): string {\n const x = this.transitioned ? this.computedTranslate : this.translate;\n\n return `translateX(${100 * x}%)`;\n }\n\n @tuiPure\n protected getStyle(itemsCount: number): Partial<CSSStyleDeclaration> {\n const percent = `${100 / itemsCount}%`;\n\n return {\n flexBasis: percent,\n minWidth: percent,\n maxWidth: percent,\n };\n }\n\n protected onTransitioned(transitioned: boolean): void {\n this.transitioned = transitioned;\n\n if (!transitioned) {\n this.translate = this.computedTranslate;\n }\n }\n\n protected isDisabled(index: number): boolean {\n return index < this.index || index > this.index + this.itemsCount;\n }\n\n protected onIntersection(\n {intersectionRatio}: IntersectionObserverEntry,\n index: number,\n ): void {\n if (intersectionRatio && intersectionRatio >= 0.5 && !this.transitioned) {\n this.updateIndex(this.index < index ? index - this.itemsCount + 1 : index);\n }\n }\n\n protected onScroll(delta: number): void {\n if (!this.isMobile) {\n if (delta > 0) {\n this.next();\n } else {\n this.prev();\n }\n }\n }\n\n protected onPan(x: number): void {\n if (!this.computedDraggable) {\n return;\n }\n\n const min = 1 - this.items.length / this.itemsCount;\n\n this.translate = tuiClamp(x / this.el.clientWidth + this.translate, min, 0);\n }\n\n protected onSwipe(direction: TuiSwipeDirection): void {\n if (direction === 'left') {\n this.next();\n } else if (direction === 'right') {\n this.prev();\n }\n }\n\n protected onAutoscroll(): void {\n this.updateIndex(this.index === this.items.length - 1 ? 0 : this.index + 1);\n }\n\n private get computedTranslate(): number {\n return -this.index / this.itemsCount;\n }\n\n private get computedDraggable(): boolean {\n return this.isMobile || this.draggable;\n }\n\n private updateIndex(index: number): void {\n this.index = tuiClamp(index, 0, this.items.length - 1);\n this.indexChange.emit(this.index);\n this.cdr.markForCheck();\n }\n}\n","<ng-container *ngIf=\"items.changes | async\" />\n<div\n class=\"t-scroller\"\n (tuiCarouselScroll)=\"onScroll($event)\"\n>\n <div\n waIntersectionObserver\n waIntersectionThreshold=\"0.5\"\n class=\"t-wrapper\"\n >\n <div\n class=\"t-items\"\n [style.transform]=\"transform\"\n (tuiCarouselAutoscroll)=\"onAutoscroll()\"\n (tuiPan)=\"onPan($event[0])\"\n (tuiSwipe)=\"onSwipe($event.direction)\"\n >\n <fieldset\n *ngFor=\"let item of items; let i = index\"\n class=\"t-item\"\n [disabled]=\"isDisabled(i)\"\n [style]=\"getStyle(itemsCount)\"\n (waIntersectionObservee)=\"$event[0] && onIntersection($event[0], i)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\" />\n </fieldset>\n </div>\n </div>\n</div>\n","import {Directive} from '@angular/core';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\n\n@Directive({\n standalone: true,\n selector: '[tuiCarouselButtons]',\n providers: [\n tuiButtonOptionsProvider({\n appearance: 'secondary',\n size: 'm',\n }),\n ],\n})\nexport class TuiCarouselButtons {}\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\n\nimport {TuiCarouselComponent} from './carousel.component';\nimport {TuiCarouselDirective} from './carousel.directive';\nimport {TuiCarouselAutoscroll} from './carousel-autoscroll.directive';\nimport {TuiCarouselButtons} from './carousel-buttons.directive';\nimport {TuiCarouselScroll} from './carousel-scroll.directive';\n\nexport const TuiCarousel = [\n TuiItem,\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselAutoscroll,\n TuiCarouselButtons,\n TuiCarouselScroll,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiCarouselDirective"],"mappings":"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"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, signal, computed, Component, ChangeDetectionStrategy, Input } from '@angular/core';
|
|
3
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
4
|
+
import * as i2 from '@maskito/angular';
|
|
5
|
+
import { MaskitoDirective } from '@maskito/angular';
|
|
6
|
+
import { maskitoInitialCalibrationPlugin } from '@maskito/core';
|
|
7
|
+
import { maskitoParseNumber, maskitoNumberOptionsGenerator, maskitoCaretGuard } from '@maskito/kit';
|
|
8
|
+
import { TuiControl, tuiValueTransformerFrom } from '@taiga-ui/cdk/classes';
|
|
9
|
+
import { CHAR_HYPHEN, CHAR_MINUS } from '@taiga-ui/cdk/constants';
|
|
10
|
+
import { TUI_IS_IOS, tuiFallbackValueProvider } from '@taiga-ui/cdk/tokens';
|
|
11
|
+
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
|
|
12
|
+
import { tuiIsSafeToRound } from '@taiga-ui/cdk/utils/math';
|
|
13
|
+
import * as i1 from '@taiga-ui/core/components/textfield';
|
|
14
|
+
import { TuiWithTextfield } from '@taiga-ui/core/components/textfield';
|
|
15
|
+
import { TUI_NUMBER_FORMAT, TUI_DEFAULT_NUMBER_FORMAT } from '@taiga-ui/core/tokens';
|
|
16
|
+
import { tuiFormatNumber } from '@taiga-ui/core/utils/format';
|
|
17
|
+
import { tuiMaskito } from '@taiga-ui/kit/utils';
|
|
18
|
+
import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
|
|
19
|
+
|
|
20
|
+
const TUI_INPUT_NUMBER_DEFAULT_OPTIONS = {
|
|
21
|
+
min: Number.MIN_SAFE_INTEGER,
|
|
22
|
+
max: Number.MAX_SAFE_INTEGER,
|
|
23
|
+
prefix: '',
|
|
24
|
+
postfix: '',
|
|
25
|
+
valueTransformer: null,
|
|
26
|
+
};
|
|
27
|
+
const [TUI_INPUT_NUMBER_OPTIONS, tuiInputNumberOptionsProvider] = tuiCreateOptions(TUI_INPUT_NUMBER_DEFAULT_OPTIONS);
|
|
28
|
+
|
|
29
|
+
const DEFAULT_MAX_LENGTH = 18;
|
|
30
|
+
class TuiInputNumber extends TuiControl {
|
|
31
|
+
constructor() {
|
|
32
|
+
super(...arguments);
|
|
33
|
+
this.element = tuiInjectElement();
|
|
34
|
+
this.isIOS = inject(TUI_IS_IOS);
|
|
35
|
+
this.options = inject(TUI_INPUT_NUMBER_OPTIONS);
|
|
36
|
+
this.numberFormat = toSignal(inject(TUI_NUMBER_FORMAT), {
|
|
37
|
+
initialValue: TUI_DEFAULT_NUMBER_FORMAT,
|
|
38
|
+
});
|
|
39
|
+
this.min = signal(this.options.min);
|
|
40
|
+
this.max = signal(this.options.max);
|
|
41
|
+
this.prefix = signal(this.options.prefix);
|
|
42
|
+
this.postfix = signal(this.options.postfix);
|
|
43
|
+
this.precision = computed(() => Number.isNaN(this.numberFormat().precision) ? 2 : this.numberFormat().precision);
|
|
44
|
+
this.isIntermediateState = computed(() => {
|
|
45
|
+
const value = maskitoParseNumber(this.textfieldValue(), this.numberFormat().decimalSeparator);
|
|
46
|
+
return value < 0 ? value > this.max() : value < this.min();
|
|
47
|
+
});
|
|
48
|
+
this.textfieldValue = signal(this.element.value || '');
|
|
49
|
+
this.inputMode = computed(() => {
|
|
50
|
+
if (this.isIOS && this.min() < 0) {
|
|
51
|
+
// iPhone does not have minus sign if inputMode is equal to 'numeric' / 'decimal'
|
|
52
|
+
return 'text';
|
|
53
|
+
}
|
|
54
|
+
return this.precision() ? 'decimal' : 'numeric';
|
|
55
|
+
});
|
|
56
|
+
this.maxLength = computed(() => {
|
|
57
|
+
const { decimalSeparator, thousandSeparator } = this.numberFormat();
|
|
58
|
+
const decimalPart = !!this.precision() && this.textfieldValue().includes(decimalSeparator);
|
|
59
|
+
const precision = decimalPart ? Math.min(this.precision() + 1, 20) : 0;
|
|
60
|
+
const takeThousand = thousandSeparator.repeat(5).length;
|
|
61
|
+
return DEFAULT_MAX_LENGTH + precision + takeThousand;
|
|
62
|
+
});
|
|
63
|
+
this.mask = tuiMaskito(computed(({ decimalMode, ...numberFormat } = this.numberFormat()) => this.computeMask({
|
|
64
|
+
...numberFormat,
|
|
65
|
+
precision: this.precision(),
|
|
66
|
+
min: this.min(),
|
|
67
|
+
max: this.max(),
|
|
68
|
+
prefix: this.prefix(),
|
|
69
|
+
postfix: this.postfix(),
|
|
70
|
+
decimalZeroPadding: decimalMode === 'always',
|
|
71
|
+
})));
|
|
72
|
+
}
|
|
73
|
+
set minSetter(x) {
|
|
74
|
+
this.updateMinMaxLimits(x, this.max());
|
|
75
|
+
}
|
|
76
|
+
set maxSetter(x) {
|
|
77
|
+
this.updateMinMaxLimits(this.min(), x);
|
|
78
|
+
}
|
|
79
|
+
// TODO(v5): replace with signal input
|
|
80
|
+
set prefixSetter(x) {
|
|
81
|
+
this.prefix.set(x);
|
|
82
|
+
}
|
|
83
|
+
// TODO(v5): replace with signal input
|
|
84
|
+
set postfixSetter(x) {
|
|
85
|
+
this.postfix.set(x);
|
|
86
|
+
}
|
|
87
|
+
writeValue(value) {
|
|
88
|
+
super.writeValue(value);
|
|
89
|
+
this.textfieldValue.set(this.formatNumber(value));
|
|
90
|
+
}
|
|
91
|
+
onInput() {
|
|
92
|
+
const value = this.element.value;
|
|
93
|
+
const parsedValue = maskitoParseNumber(value, this.numberFormat().decimalSeparator);
|
|
94
|
+
this.textfieldValue.set(value);
|
|
95
|
+
if (Number.isNaN(parsedValue)) {
|
|
96
|
+
this.onChange(null);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (this.isIntermediateState() ||
|
|
100
|
+
parsedValue < this.min() ||
|
|
101
|
+
parsedValue > this.max()) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
this.onChange(parsedValue);
|
|
105
|
+
}
|
|
106
|
+
onBlur() {
|
|
107
|
+
this.onTouched();
|
|
108
|
+
if (!this.isIntermediateState()) {
|
|
109
|
+
this.textfieldValue.set(this.formatNumber(this.value()));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
onFocus() {
|
|
113
|
+
const value = maskitoParseNumber(this.textfieldValue(), this.numberFormat().decimalSeparator);
|
|
114
|
+
if (Number.isNaN(value) && !this.readOnly()) {
|
|
115
|
+
this.textfieldValue.set(this.prefix() + this.postfix());
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
formatNumber(value) {
|
|
119
|
+
if (value === null) {
|
|
120
|
+
return '';
|
|
121
|
+
}
|
|
122
|
+
return (this.prefix() +
|
|
123
|
+
tuiFormatNumber(value, {
|
|
124
|
+
...this.numberFormat(),
|
|
125
|
+
/**
|
|
126
|
+
* Number can satisfy interval [Number.MIN_SAFE_INTEGER; Number.MAX_SAFE_INTEGER]
|
|
127
|
+
* but its rounding can violate it.
|
|
128
|
+
* Before BigInt support there is no perfect solution – only trade off.
|
|
129
|
+
* No rounding is better than lose precision and incorrect mutation of already valid value.
|
|
130
|
+
*/
|
|
131
|
+
precision: tuiIsSafeToRound(value, this.precision())
|
|
132
|
+
? this.precision()
|
|
133
|
+
: Infinity,
|
|
134
|
+
}).replace(CHAR_HYPHEN, CHAR_MINUS) +
|
|
135
|
+
this.postfix());
|
|
136
|
+
}
|
|
137
|
+
updateMinMaxLimits(nullableMin, nullableMax) {
|
|
138
|
+
const min = this.transformer?.fromControlValue(nullableMin) ??
|
|
139
|
+
nullableMin ??
|
|
140
|
+
this.options.min;
|
|
141
|
+
const max = this.transformer?.fromControlValue(nullableMax) ??
|
|
142
|
+
nullableMax ??
|
|
143
|
+
this.options.max;
|
|
144
|
+
this.min.set(Math.min(min, max));
|
|
145
|
+
this.max.set(Math.max(min, max));
|
|
146
|
+
}
|
|
147
|
+
computeMask(params) {
|
|
148
|
+
const { prefix = '', postfix = '' } = params;
|
|
149
|
+
const { plugins, ...options } = maskitoNumberOptionsGenerator(params);
|
|
150
|
+
const initialCalibrationPlugin = maskitoInitialCalibrationPlugin(maskitoNumberOptionsGenerator({
|
|
151
|
+
...params,
|
|
152
|
+
min: Number.MIN_SAFE_INTEGER,
|
|
153
|
+
max: Number.MAX_SAFE_INTEGER,
|
|
154
|
+
}));
|
|
155
|
+
return {
|
|
156
|
+
...options,
|
|
157
|
+
plugins: [
|
|
158
|
+
...plugins,
|
|
159
|
+
initialCalibrationPlugin,
|
|
160
|
+
maskitoCaretGuard((value) => [
|
|
161
|
+
prefix.length,
|
|
162
|
+
value.length - postfix.length,
|
|
163
|
+
]),
|
|
164
|
+
],
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputNumber, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
168
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputNumber, isStandalone: true, selector: "input[tuiInputNumber]", inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"], prefixSetter: ["prefix", "prefixSetter"], postfixSetter: ["postfix", "postfixSetter"] }, host: { listeners: { "input": "onInput()", "blur": "onBlur()", "focus": "onFocus()" }, properties: { "value": "textfieldValue()", "disabled": "disabled()", "attr.inputMode": "inputMode()", "attr.maxLength": "maxLength()" } }, providers: [
|
|
169
|
+
tuiFallbackValueProvider(null),
|
|
170
|
+
tuiValueTransformerFrom(TUI_INPUT_NUMBER_OPTIONS),
|
|
171
|
+
], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }, { directive: i2.MaskitoDirective }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
172
|
+
}
|
|
173
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputNumber, decorators: [{
|
|
174
|
+
type: Component,
|
|
175
|
+
args: [{
|
|
176
|
+
standalone: true,
|
|
177
|
+
selector: 'input[tuiInputNumber]',
|
|
178
|
+
template: '',
|
|
179
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
180
|
+
providers: [
|
|
181
|
+
tuiFallbackValueProvider(null),
|
|
182
|
+
tuiValueTransformerFrom(TUI_INPUT_NUMBER_OPTIONS),
|
|
183
|
+
],
|
|
184
|
+
hostDirectives: [TuiWithTextfield, MaskitoDirective],
|
|
185
|
+
host: {
|
|
186
|
+
'[value]': 'textfieldValue()',
|
|
187
|
+
'[disabled]': 'disabled()',
|
|
188
|
+
'[attr.inputMode]': 'inputMode()',
|
|
189
|
+
'[attr.maxLength]': 'maxLength()',
|
|
190
|
+
'(input)': 'onInput()',
|
|
191
|
+
'(blur)': 'onBlur()',
|
|
192
|
+
'(focus)': 'onFocus()',
|
|
193
|
+
},
|
|
194
|
+
}]
|
|
195
|
+
}], propDecorators: { minSetter: [{
|
|
196
|
+
type: Input,
|
|
197
|
+
args: ['min']
|
|
198
|
+
}], maxSetter: [{
|
|
199
|
+
type: Input,
|
|
200
|
+
args: ['max']
|
|
201
|
+
}], prefixSetter: [{
|
|
202
|
+
type: Input,
|
|
203
|
+
args: ['prefix']
|
|
204
|
+
}], postfixSetter: [{
|
|
205
|
+
type: Input,
|
|
206
|
+
args: ['postfix']
|
|
207
|
+
}] } });
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Generated bundle index. Do not edit.
|
|
211
|
+
*/
|
|
212
|
+
|
|
213
|
+
export { TUI_INPUT_NUMBER_DEFAULT_OPTIONS, TUI_INPUT_NUMBER_OPTIONS, TuiInputNumber, tuiInputNumberOptionsProvider };
|
|
214
|
+
//# sourceMappingURL=taiga-ui-kit-components-input-number.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-input-number.mjs","sources":["../../../projects/kit/components/input-number/input-number.options.ts","../../../projects/kit/components/input-number/input-number.component.ts","../../../projects/kit/components/input-number/taiga-ui-kit-components-input-number.ts"],"sourcesContent":["import type {TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiInputNumberOptions {\n readonly max: number;\n readonly min: number;\n readonly prefix: string;\n readonly postfix: string;\n readonly valueTransformer: TuiValueTransformer<number | null> | null;\n}\n\nexport const TUI_INPUT_NUMBER_DEFAULT_OPTIONS: TuiInputNumberOptions = {\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n prefix: '',\n postfix: '',\n valueTransformer: null,\n};\n\nexport const [TUI_INPUT_NUMBER_OPTIONS, tuiInputNumberOptionsProvider] = tuiCreateOptions(\n TUI_INPUT_NUMBER_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n Input,\n signal,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {MaskitoDirective} from '@maskito/angular';\nimport type {MaskitoOptions} from '@maskito/core';\nimport {maskitoInitialCalibrationPlugin} from '@maskito/core';\nimport {\n maskitoCaretGuard,\n maskitoNumberOptionsGenerator,\n maskitoParseNumber,\n} from '@maskito/kit';\nimport {TuiControl, tuiValueTransformerFrom} from '@taiga-ui/cdk/classes';\nimport {CHAR_HYPHEN, CHAR_MINUS} from '@taiga-ui/cdk/constants';\nimport {TUI_IS_IOS, tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsSafeToRound} from '@taiga-ui/cdk/utils/math';\nimport {TuiWithTextfield} from '@taiga-ui/core/components/textfield';\nimport {TUI_DEFAULT_NUMBER_FORMAT, TUI_NUMBER_FORMAT} from '@taiga-ui/core/tokens';\nimport {tuiFormatNumber} from '@taiga-ui/core/utils/format';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\nimport {TUI_INPUT_NUMBER_OPTIONS} from './input-number.options';\n\nconst DEFAULT_MAX_LENGTH = 18;\n\n@Component({\n standalone: true,\n selector: 'input[tuiInputNumber]',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiFallbackValueProvider(null),\n tuiValueTransformerFrom(TUI_INPUT_NUMBER_OPTIONS),\n ],\n hostDirectives: [TuiWithTextfield, MaskitoDirective],\n host: {\n '[value]': 'textfieldValue()',\n '[disabled]': 'disabled()',\n '[attr.inputMode]': 'inputMode()',\n '[attr.maxLength]': 'maxLength()',\n '(input)': 'onInput()',\n '(blur)': 'onBlur()',\n '(focus)': 'onFocus()',\n },\n})\nexport class TuiInputNumber extends TuiControl<number | null> {\n private readonly element = tuiInjectElement<HTMLInputElement>();\n private readonly isIOS = inject(TUI_IS_IOS);\n private readonly options = inject(TUI_INPUT_NUMBER_OPTIONS);\n private readonly numberFormat = toSignal(inject(TUI_NUMBER_FORMAT), {\n initialValue: TUI_DEFAULT_NUMBER_FORMAT,\n });\n\n private readonly min = signal(this.options.min);\n private readonly max = signal(this.options.max);\n private readonly prefix = signal(this.options.prefix);\n private readonly postfix = signal(this.options.postfix);\n\n private readonly precision = computed(() =>\n Number.isNaN(this.numberFormat().precision) ? 2 : this.numberFormat().precision,\n );\n\n private readonly isIntermediateState = computed(() => {\n const value = maskitoParseNumber(\n this.textfieldValue(),\n this.numberFormat().decimalSeparator,\n );\n\n return value < 0 ? value > this.max() : value < this.min();\n });\n\n protected textfieldValue = signal(this.element.value || '');\n\n protected readonly inputMode = computed(() => {\n if (this.isIOS && this.min() < 0) {\n // iPhone does not have minus sign if inputMode is equal to 'numeric' / 'decimal'\n return 'text';\n }\n\n return this.precision() ? 'decimal' : 'numeric';\n });\n\n protected readonly maxLength = computed(() => {\n const {decimalSeparator, thousandSeparator} = this.numberFormat();\n const decimalPart =\n !!this.precision() && this.textfieldValue().includes(decimalSeparator);\n const precision = decimalPart ? Math.min(this.precision() + 1, 20) : 0;\n const takeThousand = thousandSeparator.repeat(5).length;\n\n return DEFAULT_MAX_LENGTH + precision + takeThousand;\n });\n\n protected readonly mask = tuiMaskito(\n computed(({decimalMode, ...numberFormat} = this.numberFormat()) =>\n this.computeMask({\n ...numberFormat,\n precision: this.precision(),\n min: this.min(),\n max: this.max(),\n prefix: this.prefix(),\n postfix: this.postfix(),\n decimalZeroPadding: decimalMode === 'always',\n }),\n ),\n );\n\n @Input('min')\n public set minSetter(x: number | null) {\n this.updateMinMaxLimits(x, this.max());\n }\n\n @Input('max')\n public set maxSetter(x: number | null) {\n this.updateMinMaxLimits(this.min(), x);\n }\n\n // TODO(v5): replace with signal input\n @Input('prefix')\n public set prefixSetter(x: string) {\n this.prefix.set(x);\n }\n\n // TODO(v5): replace with signal input\n @Input('postfix')\n public set postfixSetter(x: string) {\n this.postfix.set(x);\n }\n\n public override writeValue(value: number | null): void {\n super.writeValue(value);\n this.textfieldValue.set(this.formatNumber(value));\n }\n\n protected onInput(): void {\n const value = this.element.value;\n const parsedValue = maskitoParseNumber(\n value,\n this.numberFormat().decimalSeparator,\n );\n\n this.textfieldValue.set(value);\n\n if (Number.isNaN(parsedValue)) {\n this.onChange(null);\n\n return;\n }\n\n if (\n this.isIntermediateState() ||\n parsedValue < this.min() ||\n parsedValue > this.max()\n ) {\n return;\n }\n\n this.onChange(parsedValue);\n }\n\n protected onBlur(): void {\n this.onTouched();\n\n if (!this.isIntermediateState()) {\n this.textfieldValue.set(this.formatNumber(this.value()));\n }\n }\n\n protected onFocus(): void {\n const value = maskitoParseNumber(\n this.textfieldValue(),\n this.numberFormat().decimalSeparator,\n );\n\n if (Number.isNaN(value) && !this.readOnly()) {\n this.textfieldValue.set(this.prefix() + this.postfix());\n }\n }\n\n private formatNumber(value: number | null): string {\n if (value === null) {\n return '';\n }\n\n return (\n this.prefix() +\n tuiFormatNumber(value, {\n ...this.numberFormat(),\n /**\n * Number can satisfy interval [Number.MIN_SAFE_INTEGER; Number.MAX_SAFE_INTEGER]\n * but its rounding can violate it.\n * Before BigInt support there is no perfect solution – only trade off.\n * No rounding is better than lose precision and incorrect mutation of already valid value.\n */\n precision: tuiIsSafeToRound(value, this.precision())\n ? this.precision()\n : Infinity,\n }).replace(CHAR_HYPHEN, CHAR_MINUS) +\n this.postfix()\n );\n }\n\n private updateMinMaxLimits(\n nullableMin: number | null,\n nullableMax: number | null,\n ): void {\n const min =\n this.transformer?.fromControlValue(nullableMin) ??\n nullableMin ??\n this.options.min;\n const max =\n this.transformer?.fromControlValue(nullableMax) ??\n nullableMax ??\n this.options.max;\n\n this.min.set(Math.min(min, max));\n this.max.set(Math.max(min, max));\n }\n\n private computeMask(\n params: NonNullable<Parameters<typeof maskitoNumberOptionsGenerator>[0]>,\n ): MaskitoOptions {\n const {prefix = '', postfix = ''} = params;\n const {plugins, ...options} = maskitoNumberOptionsGenerator(params);\n const initialCalibrationPlugin = maskitoInitialCalibrationPlugin(\n maskitoNumberOptionsGenerator({\n ...params,\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n }),\n );\n\n return {\n ...options,\n plugins: [\n ...plugins,\n initialCalibrationPlugin,\n maskitoCaretGuard((value) => [\n prefix.length,\n value.length - postfix.length,\n ]),\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
|
|
|
6
6
|
import { tuiCreateToken, tuiProvideOptions, tuiIsString } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
7
7
|
import { TuiIcon } from '@taiga-ui/core/components/icon';
|
|
8
8
|
import * as i1 from '@taiga-ui/core/components/textfield';
|
|
9
|
-
import { TUI_TEXTFIELD_OPTIONS, TuiTextfieldContent,
|
|
9
|
+
import { TUI_TEXTFIELD_OPTIONS, TuiTextfieldContent, TuiWithTextfield } from '@taiga-ui/core/components/textfield';
|
|
10
10
|
import { TuiTooltip } from '@taiga-ui/kit/directives';
|
|
11
11
|
import { TUI_PASSWORD_TEXTS } from '@taiga-ui/kit/tokens';
|
|
12
12
|
|
|
@@ -49,7 +49,7 @@ class TuiInputPassword {
|
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputPassword, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputPassword, isStandalone: true, selector: "input[tuiInputPassword]", host: { properties: { "type": "hidden() ? \"password\" : \"text\"" } }, providers: [tuiFallbackValueProvider('')], hostDirectives: [{ directive: i1.
|
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputPassword, isStandalone: true, selector: "input[tuiInputPassword]", host: { properties: { "type": "hidden() ? \"password\" : \"text\"" } }, providers: [tuiFallbackValueProvider('')], hostDirectives: [{ directive: i1.TuiWithTextfield }], ngImport: i0, template: `
|
|
53
53
|
<tui-icon
|
|
54
54
|
*tuiTextfieldContent
|
|
55
55
|
[icon]="icon()"
|
|
@@ -78,7 +78,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
78
78
|
`,
|
|
79
79
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
80
80
|
providers: [tuiFallbackValueProvider('')],
|
|
81
|
-
hostDirectives: [
|
|
81
|
+
hostDirectives: [TuiWithTextfield],
|
|
82
82
|
host: {
|
|
83
83
|
'[type]': 'hidden() ? "password" : "text"',
|
|
84
84
|
},
|