UNPKG

@taiga-ui/kit

Version:

Taiga UI Angular main components kit

53 lines (44 loc) 1.8 kB
import { TuiTime, HOURS_IN_DAY } from '@taiga-ui/cdk/date-time'; import { inject } from '@angular/core'; import { toSignal } from '@angular/core/rxjs-interop'; import { NgControl } from '@angular/forms'; import { tuiControlValue } from '@taiga-ui/cdk/observables'; import { TuiTextfieldComponent } from '@taiga-ui/core/components/textfield'; import { MaskitoDirective } from '@maskito/angular'; import { tuiDirectiveBinding } from '@taiga-ui/cdk/utils'; import { CHAR_PLUS } from '@taiga-ui/cdk/constants'; import { getCountryCallingCode } from 'libphonenumber-js/core'; function tuiCreateTimePeriods(minHour = 0, maxHour = HOURS_IN_DAY, minutes = [0, 30]) { const timeArray = []; for (let i = minHour; i < maxHour; i++) { minutes.forEach((minute) => { const time = new TuiTime(i, minute); timeArray.push(time); }); } return timeArray; } function tuiInjectValue() { const control = inject(TuiTextfieldComponent, { optional: true })?.control || inject(NgControl, { optional: true }); return toSignal(tuiControlValue(control), { requireSync: true }); } function tuiIsFlat(items) { return !Array.isArray(items[0]); } function tuiMaskito(options) { return tuiDirectiveBinding(MaskitoDirective, 'options', options); } function tuiGetCallingCode(iso, metadata) { return metadata ? CHAR_PLUS + getCountryCallingCode(iso, metadata) : ''; } function tuiToggleDay(days, day) { return ((days?.find((item) => item.daySame(day)) ? days.filter((item) => !item.daySame(day)) : days?.concat(day)) || []); } /** * Generated bundle index. Do not edit. */ export { tuiCreateTimePeriods, tuiGetCallingCode, tuiInjectValue, tuiIsFlat, tuiMaskito, tuiToggleDay }; //# sourceMappingURL=taiga-ui-kit-utils.mjs.map