@taiga-ui/kit
Version:
Taiga UI Angular main components kit
20 lines • 3.9 kB
JavaScript
import { computed, inject } from '@angular/core';
import { toSignal } from '@angular/core/rxjs-interop';
import { changeDateSeparator, tuiDirectiveBinding, } from '@taiga-ui/cdk/utils/miscellaneous';
import { TuiTextfieldComponent } from '@taiga-ui/core/components/textfield';
import { TUI_DATE_FORMAT, TUI_DEFAULT_DATE_FORMAT } from '@taiga-ui/core/tokens';
import { TUI_DATE_TEXTS } from '@taiga-ui/kit/tokens';
import { identity } from 'rxjs';
export function tuiWithDateFiller(fn = identity) {
const texts = toSignal(inject(TUI_DATE_TEXTS));
const format = toSignal(inject(TUI_DATE_FORMAT), {
initialValue: TUI_DEFAULT_DATE_FORMAT,
});
return tuiDirectiveBinding(TuiTextfieldComponent, 'fillerSetter', computed(() => {
const { mode, separator } = format();
const fillersMap = texts() ?? '';
const filler = fillersMap && changeDateSeparator(fillersMap[mode], separator);
return fn(filler);
}), {});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWxsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2RhdGUtZmlsbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUN0QixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxlQUFlLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5QixNQUFNLFVBQVUsaUJBQWlCLENBQzdCLEtBQXFDLFFBQVE7SUFFN0MsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQUU7UUFDN0MsWUFBWSxFQUFFLHVCQUF1QjtLQUN4QyxDQUFDLENBQUM7SUFFSCxPQUFPLG1CQUFtQixDQUN0QixxQkFBcUIsRUFDckIsY0FBYyxFQUNkLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDVixNQUFNLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ25DLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxVQUFVLElBQUksbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTlFLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RCLENBQUMsQ0FBQyxFQUNGLEVBQUUsQ0FDTCxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29tcHV0ZWQsIGluamVjdCwgdHlwZSBTaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtcbiAgICBjaGFuZ2VEYXRlU2VwYXJhdG9yLFxuICAgIHR1aURpcmVjdGl2ZUJpbmRpbmcsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aVRleHRmaWVsZENvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUVUlfREFURV9GT1JNQVQsIFRVSV9ERUZBVUxUX0RBVEVfRk9STUFUfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUVUlfREFURV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtpZGVudGl0eX0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlXaXRoRGF0ZUZpbGxlcihcbiAgICBmbjogKGRhdGVGaWxsZXI6IHN0cmluZykgPT4gc3RyaW5nID0gaWRlbnRpdHksXG4pOiBTaWduYWw8c3RyaW5nPiB7XG4gICAgY29uc3QgdGV4dHMgPSB0b1NpZ25hbChpbmplY3QoVFVJX0RBVEVfVEVYVFMpKTtcbiAgICBjb25zdCBmb3JtYXQgPSB0b1NpZ25hbChpbmplY3QoVFVJX0RBVEVfRk9STUFUKSwge1xuICAgICAgICBpbml0aWFsVmFsdWU6IFRVSV9ERUZBVUxUX0RBVEVfRk9STUFULFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHR1aURpcmVjdGl2ZUJpbmRpbmcoXG4gICAgICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbiAgICAgICAgJ2ZpbGxlclNldHRlcicsXG4gICAgICAgIGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHttb2RlLCBzZXBhcmF0b3J9ID0gZm9ybWF0KCk7XG4gICAgICAgICAgICBjb25zdCBmaWxsZXJzTWFwID0gdGV4dHMoKSA/PyAnJztcbiAgICAgICAgICAgIGNvbnN0IGZpbGxlciA9IGZpbGxlcnNNYXAgJiYgY2hhbmdlRGF0ZVNlcGFyYXRvcihmaWxsZXJzTWFwW21vZGVdLCBzZXBhcmF0b3IpO1xuXG4gICAgICAgICAgICByZXR1cm4gZm4oZmlsbGVyKTtcbiAgICAgICAgfSksXG4gICAgICAgIHt9LFxuICAgICk7XG59XG4iXX0=