@taiga-ui/kit
Version:
Taiga UI Angular main components kit
20 lines • 3.94 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWxsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2RhdGUtZmlsbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUN0QixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxlQUFlLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5QixNQUFNLFVBQVUsaUJBQWlCLENBQzdCLEtBQXFDLFFBQVE7SUFFN0MsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQUU7UUFDN0MsWUFBWSxFQUFFLHVCQUF1QjtLQUN4QyxDQUFDLENBQUM7SUFFSCxPQUFPLG1CQUFtQixDQUN0QixxQkFBcUIsRUFDckIsY0FBYyxFQUNkLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDVixNQUFNLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ25DLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxVQUFVLElBQUksbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTlFLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RCLENBQUMsQ0FBQyxFQUNGLEVBQUUsQ0FDTCxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtTaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtjb21wdXRlZCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gICAgY2hhbmdlRGF0ZVNlcGFyYXRvcixcbiAgICB0dWlEaXJlY3RpdmVCaW5kaW5nLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlUZXh0ZmllbGRDb21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7VFVJX0RBVEVfRk9STUFULCBUVUlfREVGQVVMVF9EQVRFX0ZPUk1BVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VFVJX0RBVEVfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7aWRlbnRpdHl9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpV2l0aERhdGVGaWxsZXIoXG4gICAgZm46IChkYXRlRmlsbGVyOiBzdHJpbmcpID0+IHN0cmluZyA9IGlkZW50aXR5LFxuKTogU2lnbmFsPHN0cmluZz4ge1xuICAgIGNvbnN0IHRleHRzID0gdG9TaWduYWwoaW5qZWN0KFRVSV9EQVRFX1RFWFRTKSk7XG4gICAgY29uc3QgZm9ybWF0ID0gdG9TaWduYWwoaW5qZWN0KFRVSV9EQVRFX0ZPUk1BVCksIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlOiBUVUlfREVGQVVMVF9EQVRFX0ZPUk1BVCxcbiAgICB9KTtcblxuICAgIHJldHVybiB0dWlEaXJlY3RpdmVCaW5kaW5nKFxuICAgICAgICBUdWlUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgICAgICdmaWxsZXJTZXR0ZXInLFxuICAgICAgICBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7bW9kZSwgc2VwYXJhdG9yfSA9IGZvcm1hdCgpO1xuICAgICAgICAgICAgY29uc3QgZmlsbGVyc01hcCA9IHRleHRzKCkgPz8gJyc7XG4gICAgICAgICAgICBjb25zdCBmaWxsZXIgPSBmaWxsZXJzTWFwICYmIGNoYW5nZURhdGVTZXBhcmF0b3IoZmlsbGVyc01hcFttb2RlXSwgc2VwYXJhdG9yKTtcblxuICAgICAgICAgICAgcmV0dXJuIGZuKGZpbGxlcik7XG4gICAgICAgIH0pLFxuICAgICAgICB7fSxcbiAgICApO1xufVxuIl19