@taiga-ui/kit
Version:
Taiga UI Angular main components kit
25 lines • 4.29 kB
JavaScript
import { InjectionToken, Optional, Self } from '@angular/core';
import { NgControl } from '@angular/forms';
import { tuiControlValue } from '@taiga-ui/cdk/observables';
import { map, of } from 'rxjs';
/**
* Stream that emits calendar data change
* @deprecated this should be rewritten in v5
*/
export const TUI_CALENDAR_DATE_STREAM = new InjectionToken(ngDevMode ? 'TUI_CALENDAR_DATE_STREAM' : '');
export function tuiDateStreamWithTransformer(transformer) {
return {
provide: TUI_CALENDAR_DATE_STREAM,
deps: [
[new Optional(), new Self(), NgControl],
[new Optional(), transformer],
],
useFactory: tuiControlValueFactory,
};
}
function tuiControlValueFactory(control, transformer) {
return control
? tuiControlValue(control).pipe(map((value) => transformer ? transformer?.fromControlValue(value) : value))
: of(null);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF0ZS1zdHJlYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvdG9rZW5zL2NhbGVuZGFyLWRhdGUtc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHekMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRTFELE9BQU8sRUFBQyxHQUFHLEVBQUUsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTdCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUV4RCxTQUFTLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUUvQyxNQUFNLFVBQVUsNEJBQTRCLENBQ3hDLFdBQXFEO0lBRXJELE9BQU87UUFDSCxPQUFPLEVBQUUsd0JBQXdCO1FBQ2pDLElBQUksRUFBRTtZQUNGLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLFNBQVMsQ0FBQztZQUN2QyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsV0FBVyxDQUFDO1NBQ2hDO1FBQ0QsVUFBVSxFQUFFLHNCQUFzQjtLQUNyQyxDQUFDO0FBQ04sQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBRzNCLE9BQXlCLEVBQ3pCLFdBQTJDO0lBRTNDLE9BQU8sT0FBTztRQUNWLENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN6QixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNWLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBRSxLQUFXLENBQ3BFLENBQ0o7UUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwsIFNlbGZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB0eXBlIHtUdWlWYWx1ZVRyYW5zZm9ybWVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHR5cGUge1R1aURheSwgVHVpRGF5UmFuZ2UsIFR1aVRpbWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7dHVpQ29udHJvbFZhbHVlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBvZn0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogU3RyZWFtIHRoYXQgZW1pdHMgY2FsZW5kYXIgZGF0YSBjaGFuZ2VcbiAqIEBkZXByZWNhdGVkIHRoaXMgc2hvdWxkIGJlIHJld3JpdHRlbiBpbiB2NVxuICovXG5leHBvcnQgY29uc3QgVFVJX0NBTEVOREFSX0RBVEVfU1RSRUFNID0gbmV3IEluamVjdGlvblRva2VuPFxuICAgIE9ic2VydmFibGU8VHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCBudWxsPlxuPihuZ0Rldk1vZGUgPyAnVFVJX0NBTEVOREFSX0RBVEVfU1RSRUFNJyA6ICcnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aURhdGVTdHJlYW1XaXRoVHJhbnNmb3JtZXIoXG4gICAgdHJhbnNmb3JtZXI6IEluamVjdGlvblRva2VuPFR1aVZhbHVlVHJhbnNmb3JtZXI8YW55Pj4sXG4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX0NBTEVOREFSX0RBVEVfU1RSRUFNLFxuICAgICAgICBkZXBzOiBbXG4gICAgICAgICAgICBbbmV3IE9wdGlvbmFsKCksIG5ldyBTZWxmKCksIE5nQ29udHJvbF0sXG4gICAgICAgICAgICBbbmV3IE9wdGlvbmFsKCksIHRyYW5zZm9ybWVyXSxcbiAgICAgICAgXSxcbiAgICAgICAgdXNlRmFjdG9yeTogdHVpQ29udHJvbFZhbHVlRmFjdG9yeSxcbiAgICB9O1xufVxuXG5mdW5jdGlvbiB0dWlDb250cm9sVmFsdWVGYWN0b3J5PFxuICAgIFQgZXh0ZW5kcyBUdWlEYXkgfCBUdWlEYXlSYW5nZSB8IFtUdWlEYXksIFR1aVRpbWUgfCBudWxsXSxcbj4oXG4gICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICB0cmFuc2Zvcm1lcj86IFR1aVZhbHVlVHJhbnNmb3JtZXI8VD4gfCBudWxsLFxuKTogT2JzZXJ2YWJsZTxUIHwgbnVsbD4gfCBudWxsIHtcbiAgICByZXR1cm4gY29udHJvbFxuICAgICAgICA/IHR1aUNvbnRyb2xWYWx1ZShjb250cm9sKS5waXBlKFxuICAgICAgICAgICAgICBtYXAoKHZhbHVlKSA9PlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtZXIgPyB0cmFuc2Zvcm1lcj8uZnJvbUNvbnRyb2xWYWx1ZSh2YWx1ZSkgOiAodmFsdWUgYXMgVCksXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgKVxuICAgICAgICA6IG9mKG51bGwpO1xufVxuIl19