@taiga-ui/kit 5.20.0 → 5.21.0

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.
Files changed (70) hide show
  1. package/components/combo-box/combo-box.directive.d.ts +1 -1
  2. package/components/input-inline/input-inline.component.d.ts +4 -4
  3. package/fesm2022/taiga-ui-kit-components-accordion.mjs +2 -2
  4. package/fesm2022/taiga-ui-kit-components-avatar.mjs +9 -9
  5. package/fesm2022/taiga-ui-kit-components-badge.mjs +2 -2
  6. package/fesm2022/taiga-ui-kit-components-block.mjs +2 -2
  7. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +1 -1
  8. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  9. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +13 -16
  10. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  11. package/fesm2022/taiga-ui-kit-components-chip.mjs +2 -2
  12. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +20 -17
  13. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  14. package/fesm2022/taiga-ui-kit-components-comment.mjs +3 -3
  15. package/fesm2022/taiga-ui-kit-components-compass.mjs +2 -2
  16. package/fesm2022/taiga-ui-kit-components-confirm.mjs +1 -1
  17. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  18. package/fesm2022/taiga-ui-kit-components-copy.mjs +3 -3
  19. package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -1
  20. package/fesm2022/taiga-ui-kit-components-counter.mjs +2 -2
  21. package/fesm2022/taiga-ui-kit-components-counter.mjs.map +1 -1
  22. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  23. package/fesm2022/taiga-ui-kit-components-files.mjs +6 -6
  24. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +1 -1
  26. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-kit-components-input-color.mjs +2 -2
  28. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +3 -3
  29. package/fesm2022/taiga-ui-kit-components-input-date.mjs +4 -4
  30. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +8 -8
  31. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-kit-components-input-month.mjs +4 -4
  33. package/fesm2022/taiga-ui-kit-components-input-number.mjs +3 -3
  34. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +2 -2
  36. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +3 -3
  38. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +6 -6
  39. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-kit-components-input-time.mjs +3 -3
  41. package/fesm2022/taiga-ui-kit-components-like.mjs +2 -2
  42. package/fesm2022/taiga-ui-kit-components-message.mjs +2 -2
  43. package/fesm2022/taiga-ui-kit-components-pagination.mjs +1 -1
  44. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-kit-components-pin.mjs +3 -3
  46. package/fesm2022/taiga-ui-kit-components-preview.mjs +6 -6
  47. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-kit-components-progress.mjs +6 -6
  49. package/fesm2022/taiga-ui-kit-components-push.mjs +1 -1
  50. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +2 -2
  52. package/fesm2022/taiga-ui-kit-components-segmented.mjs +3 -3
  53. package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs +2 -2
  54. package/fesm2022/taiga-ui-kit-components-status.mjs +3 -3
  55. package/fesm2022/taiga-ui-kit-components-switch.mjs +2 -2
  56. package/fesm2022/taiga-ui-kit-components-tabs.mjs +3 -3
  57. package/fesm2022/taiga-ui-kit-components-textarea.mjs +3 -3
  58. package/fesm2022/taiga-ui-kit-components-tiles.mjs +4 -4
  59. package/fesm2022/taiga-ui-kit-components-toast.mjs +2 -2
  60. package/fesm2022/taiga-ui-kit-components-tree.mjs +1 -1
  61. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +3 -3
  63. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +2 -2
  64. package/fesm2022/taiga-ui-kit-directives-connected.mjs +3 -3
  65. package/fesm2022/taiga-ui-kit-directives-fade.mjs +3 -3
  66. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +3 -3
  67. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +2 -2
  68. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +3 -3
  69. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +2 -2
  70. package/package.json +21 -21
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-calendar-range.mjs","sources":["../../../projects/kit/components/calendar-range/calculate-disabled-item-handler.ts","../../../projects/kit/components/calendar-range/day-caps-mapper.ts","../../../projects/kit/components/calendar-range/calendar-range.component.ts","../../../projects/kit/components/calendar-range/calendar-range.template.html","../../../projects/kit/components/calendar-range/day-range-period.ts","../../../projects/kit/components/calendar-range/taiga-ui-kit-components-calendar-range.ts"],"sourcesContent":["import {type TuiDay, type TuiDayLike, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\nexport const calculateDisabledItemHandler: (\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDay | TuiDayRange | null,\n minLength: TuiDayLike | null,\n) => TuiBooleanHandler<TuiDay> = (disabledItemHandler, value, minLength) => (item) => {\n if (!value || value instanceof TuiDayRange || !minLength) {\n return disabledItemHandler(item);\n }\n\n const negativeMinLength = Object.fromEntries(\n Object.entries(minLength).map(([key, value]) => [key, -value]),\n );\n\n const disabledBefore = value.append(negativeMinLength).append({day: 1});\n const disabledAfter = value.append(minLength).append({day: -1});\n\n const inDisabledRange =\n disabledBefore.dayBefore(item) && disabledAfter.dayAfter(item);\n\n return inDisabledRange || disabledItemHandler(item);\n};\n","import {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiDay,\n type TuiDayLike,\n TuiDayRange,\n} from '@taiga-ui/cdk/date-time';\nimport {type TuiMapper} from '@taiga-ui/cdk/types';\n\nexport const TUI_DAY_CAPS_MAPPER: TuiMapper<\n [TuiDay | null, TuiDay | TuiDayRange | null, TuiDayLike | null, boolean],\n TuiDay\n> = (current, value, maxLength, backwards) => {\n if (\n // TODO(v5): replace with `if (!(value instanceof TuiDay) || !maxLength)` (backward compatibility)\n (value instanceof TuiDayRange && value.from !== value.to) ||\n !value ||\n !maxLength\n ) {\n return backwards ? current || TUI_FIRST_DAY : current || TUI_LAST_DAY;\n }\n\n const negativeMaxLength = Object.fromEntries(\n Object.entries(maxLength).map(([key, value]) => [key, -value]),\n );\n\n // TODO(v5): `value instanceof TuiDay` always `true`\n const from = value instanceof TuiDay ? value : value.from;\n\n const dateShift = from\n .append(backwards ? negativeMaxLength : maxLength)\n .append({day: backwards ? 1 : -1});\n\n if (backwards) {\n return dateShift.dayBefore(current || TUI_FIRST_DAY)\n ? current || TUI_FIRST_DAY\n : dateShift;\n }\n\n if (!current) {\n return dateShift;\n }\n\n return dateShift.dayAfter(current) ? current : dateShift;\n};\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n linkedSignal,\n model,\n type OnChanges,\n type OnInit,\n type SimpleChanges,\n untracked,\n} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {TuiDay, type TuiDayLike, TuiDayRange, TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {type TuiBooleanHandler, type TuiMapper} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {tuiIsString, tuiNullableSame} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n AbstractTuiCalendar,\n TuiCalendar,\n tuiCalendarSheetOptionsProvider,\n type TuiMarkerHandler,\n} from '@taiga-ui/core/components/calendar';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TUI_COMMON_ICONS, tuiAsAuxiliary} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {TUI_OTHER_DATE_TEXT} from '@taiga-ui/kit/tokens';\n\nimport {calculateDisabledItemHandler} from './calculate-disabled-item-handler';\nimport {TUI_DAY_CAPS_MAPPER} from './day-caps-mapper';\nimport {type TuiDayRangePeriod} from './day-range-period';\n\n@Component({\n selector: 'tui-calendar-range',\n imports: [TuiCalendar, TuiDataList, TuiIcon, TuiMapperPipe],\n templateUrl: './calendar-range.template.html',\n styleUrl: './calendar-range.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsAuxiliary(TuiCalendarRange),\n tuiProvide(AbstractTuiCalendar<TuiDayRange>, TuiCalendarRange),\n tuiCalendarSheetOptionsProvider({rangeMode: true}),\n ],\n host: {\n '[class._mobile]': 'mobile',\n '(document:keydown.capture)': 'onEsc($event)',\n },\n})\nexport class TuiCalendarRange\n extends AbstractTuiCalendar<TuiDayRange>\n implements OnInit, OnChanges\n{\n /**\n * @deprecated use `item`\n */\n private selectedPeriod: TuiDayRangePeriod | null = null;\n\n protected previousValue: TuiDay | TuiDayRange | null = null;\n protected hoveredItem: TuiDay | null = null;\n protected readonly otherDateText = inject(TUI_OTHER_DATE_TEXT);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly capsMapper = TUI_DAY_CAPS_MAPPER;\n protected readonly mobile = inject(WA_IS_MOBILE);\n protected readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n\n public readonly minLength = input<TuiDayLike | null>(null);\n public readonly maxLength = input<TuiDayLike | null>(null);\n public readonly items = input<readonly TuiDayRangePeriod[]>([]);\n public readonly listSize = input<TuiSizeL | TuiSizeS>(this.options.size());\n public readonly defaultViewedMonth = input(TuiMonth.currentLocal());\n public readonly markerHandler = input<TuiMarkerHandler | null>(null);\n public readonly item = model<TuiDayRangePeriod | null>(null);\n\n protected readonly currentValue = linkedSignal<\n TuiDayRange | null,\n TuiDay | TuiDayRange | null\n >({\n source: this.value,\n computation: (value, current) => {\n if (value !== current?.value) {\n untracked(() => this.initDefaultViewedMonth(value));\n }\n\n return value;\n },\n });\n\n /**\n * @deprecated use `item`\n */\n public get selectedActivePeriod(): TuiDayRangePeriod | null {\n return this.selectedPeriod;\n }\n\n /**\n * @deprecated use `item`\n */\n public set selectedActivePeriod(period: TuiDayRangePeriod | null) {\n this.selectedPeriod = period;\n }\n\n public ngOnChanges({defaultViewedMonth}: SimpleChanges): void {\n if (this.currentValue()) {\n return;\n }\n\n if (defaultViewedMonth) {\n this.month.set(this.defaultViewedMonth());\n } else {\n this.initDefaultViewedMonth();\n }\n }\n\n public ngOnInit(): void {\n this.initDefaultViewedMonth();\n }\n\n protected onEsc(event: KeyboardEvent): void {\n if (event.key !== 'Escape' || !(this.currentValue() instanceof TuiDay)) {\n return;\n }\n\n event.stopPropagation();\n this.currentValue.set(this.previousValue);\n }\n\n protected readonly monthOffset: TuiMapper<[TuiMonth, number], TuiMonth> = (\n value,\n month,\n ) => value.append({month});\n\n protected readonly mapper: TuiMapper<\n [\n readonly TuiDayRangePeriod[],\n TuiDay | null,\n TuiDay | null,\n TuiDayLike | null,\n string | null | undefined,\n ],\n ReadonlyArray<TuiDayRangePeriod | string>\n > = (items, min, max, minLength, otherDateText) => [\n ...items.filter(\n (item) =>\n (minLength === null ||\n item.range.from\n .append(minLength)\n .append({day: -1})\n .daySameOrBefore(item.range.to)) &&\n (min === null || item.range.to.daySameOrAfter(min)) &&\n (max === null || item.range.from.daySameOrBefore(max)),\n ),\n otherDateText || '',\n ];\n\n protected readonly disabledMapper = (\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDay | TuiDayRange | null,\n minLength: TuiDayLike | null,\n ): TuiBooleanHandler<TuiDay> =>\n calculateDisabledItemHandler(disabledItemHandler, value, minLength);\n\n protected isItemActive(item: TuiDayRangePeriod | string): boolean {\n const {activePeriod} = this;\n\n return (\n (tuiIsString(item) && activePeriod === null) ||\n activePeriod === item ||\n activePeriod?.toString() === item.toString()\n );\n }\n\n protected onItemSelect(item: TuiDayRangePeriod | string): void {\n if (!tuiIsString(item)) {\n this.selectedActivePeriod = item;\n this.item.set(item);\n this.value.set(item.range.dayLimit(this.min(), this.max()));\n } else if (this.activePeriod !== null) {\n this.selectedActivePeriod = null;\n this.item.set(null);\n this.value.set(null);\n }\n\n this.initDefaultViewedMonth();\n }\n\n protected onDayClick(day: TuiDay): void {\n const value = this.currentValue();\n\n this.previousValue = value;\n this.selectedActivePeriod = null;\n\n if (value instanceof TuiDay) {\n const range = TuiDayRange.sort(value, day.append({}));\n\n this.currentValue.set(range);\n this.item.set(this.findItemByDayRange(range));\n this.value.set(range);\n } else {\n this.currentValue.set(day);\n }\n }\n\n private get activePeriod(): TuiDayRangePeriod | null {\n const value = this.currentValue();\n\n return (\n this.item() ??\n this.selectedActivePeriod ??\n (this.items().find((item) =>\n tuiNullableSame(\n value instanceof TuiDay ? new TuiDayRange(value, value) : value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min(), this.max())) &&\n a.to.daySame(b.to.dayLimit(this.min(), this.max())),\n ),\n ) ||\n null)\n );\n }\n\n private initDefaultViewedMonth(value = this.currentValue()): void {\n const min = this.min();\n const max = this.max();\n\n if (value instanceof TuiDay) {\n this.month.set(value);\n } else if (value) {\n this.month.set(this.items().length ? value.to : value.from);\n } else if (max && this.month().monthSameOrAfter(max)) {\n this.month.set(this.items().length ? max : max.append({month: -1}));\n } else if (min && this.month().monthSameOrBefore(min)) {\n this.month.set(min);\n }\n }\n\n private findItemByDayRange(dayRange: TuiDayRange): TuiDayRangePeriod | null {\n return this.items().find((item) => dayRange.daySame(item.range)) ?? null;\n }\n}\n","<tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n [class.t-calendar]=\"!mobile\"\n [disabledItemHandler]=\"disabledItemHandler() | tuiMapper: disabledMapper : currentValue() : minLength()\"\n [markerHandler]=\"markerHandler()\"\n [max]=\"max() | tuiMapper: capsMapper : currentValue() : maxLength() : false\"\n [maxViewedMonth]=\"items().length || mobile ? null : (month() | tuiMapper: monthOffset : -1)\"\n [min]=\"min() | tuiMapper: capsMapper : currentValue() : maxLength() : true\"\n [month]=\"month()\"\n [showAdjacent]=\"!!items().length || mobile\"\n [value]=\"currentValue()\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"month.set($event)\"\n/>\n@if (!items().length && !mobile) {\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler() | tuiMapper: disabledMapper : currentValue() : minLength()\"\n [markerHandler]=\"markerHandler()\"\n [max]=\"max() | tuiMapper: capsMapper : currentValue() : maxLength() : false\"\n [min]=\"min() | tuiMapper: capsMapper : currentValue() : maxLength() : true\"\n [minViewedMonth]=\"month() | tuiMapper: monthOffset : 1\"\n [month]=\"month() | tuiMapper: monthOffset : 1\"\n [showAdjacent]=\"false\"\n [value]=\"currentValue()\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"month.set($event.append({month: -1}))\"\n />\n} @else {\n @if (!mobile) {\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n [size]=\"listSize()\"\n [style.flex]=\"1\"\n >\n @for (item of items() | tuiMapper: mapper : min() : max() : minLength() : otherDateText(); track item) {\n <button\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (pointerdown.prevent.zoneless)=\"(0)\"\n >\n {{ item }}\n @if (isItemActive(item)) {\n <tui-icon\n automation-id=\"tui-calendar-range__checkmark\"\n class=\"t-check\"\n [icon]=\"icons.check\"\n />\n }\n </button>\n }\n </tui-data-list>\n }\n}\n","import {inject} from '@angular/core';\nimport {TUI_FIRST_DAY, TuiDay, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {type TuiLanguageKit} from '@taiga-ui/i18n/types';\nimport {TUI_DAY_RANGE_PERIODS} from '@taiga-ui/kit/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport class TuiDayRangePeriod {\n constructor(\n public readonly range: TuiDayRange,\n private readonly name: string,\n /**\n * @deprecated\n * TODO(v6): remove this unused property\n */\n public readonly content?: PolymorpheusContent<TuiContext<TuiDayRange>>,\n ) {}\n\n public toString(): string {\n return this.name;\n }\n}\n\nfunction getDefaultPeriodTitles(): TuiLanguageKit['dayRangePeriods'] {\n try {\n return inject(TUI_DAY_RANGE_PERIODS)();\n } catch {\n return [\n 'For all the time',\n 'Today',\n 'Yesterday',\n 'Current week',\n 'Current month',\n 'Previous month',\n ];\n }\n}\n\nexport function tuiCreateDefaultDayRangePeriods(\n periodTitles: TuiLanguageKit['dayRangePeriods'] = getDefaultPeriodTitles(),\n): readonly TuiDayRangePeriod[] {\n const today = TuiDay.currentLocal();\n const yesterday = new TuiDayRange(today.append({day: -1}), today.append({day: -1}));\n const startOfWeek = today.append({day: -today.dayOfWeek()});\n const endOfWeek = startOfWeek.append({day: 6});\n const startOfMonth = today.append({day: 1 - today.day});\n const endOfMonth = startOfMonth.append({month: 1, day: -1});\n const startOfLastMonth = startOfMonth.append({month: -1});\n\n return [\n new TuiDayRangePeriod(new TuiDayRange(TUI_FIRST_DAY, today), periodTitles[0]),\n new TuiDayRangePeriod(new TuiDayRange(today, today.append({})), periodTitles[1]),\n new TuiDayRangePeriod(yesterday, periodTitles[2]),\n new TuiDayRangePeriod(new TuiDayRange(startOfWeek, endOfWeek), periodTitles[3]),\n new TuiDayRangePeriod(new TuiDayRange(startOfMonth, endOfMonth), periodTitles[4]),\n new TuiDayRangePeriod(\n new TuiDayRange(startOfLastMonth, startOfMonth.append({day: -1})),\n periodTitles[5],\n ),\n ];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-calendar-range.mjs","sources":["../../../projects/kit/components/calendar-range/calculate-disabled-item-handler.ts","../../../projects/kit/components/calendar-range/day-caps-mapper.ts","../../../projects/kit/components/calendar-range/calendar-range.component.ts","../../../projects/kit/components/calendar-range/calendar-range.template.html","../../../projects/kit/components/calendar-range/day-range-period.ts","../../../projects/kit/components/calendar-range/taiga-ui-kit-components-calendar-range.ts"],"sourcesContent":["import {type TuiDay, type TuiDayLike, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\nexport const calculateDisabledItemHandler: (\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDay | TuiDayRange | null,\n minLength: TuiDayLike | null,\n) => TuiBooleanHandler<TuiDay> = (disabledItemHandler, value, minLength) => (item) => {\n if (!value || value instanceof TuiDayRange || !minLength) {\n return disabledItemHandler(item);\n }\n\n const negativeMinLength = Object.fromEntries(\n Object.entries(minLength).map(([key, value]) => [key, -value]),\n );\n\n const disabledBefore = value.append(negativeMinLength).append({day: 1});\n const disabledAfter = value.append(minLength).append({day: -1});\n\n const inDisabledRange =\n disabledBefore.dayBefore(item) && disabledAfter.dayAfter(item);\n\n return inDisabledRange || disabledItemHandler(item);\n};\n","import {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiDay,\n type TuiDayLike,\n TuiDayRange,\n} from '@taiga-ui/cdk/date-time';\nimport {type TuiMapper} from '@taiga-ui/cdk/types';\n\nexport const TUI_DAY_CAPS_MAPPER: TuiMapper<\n [TuiDay | null, TuiDay | TuiDayRange | null, TuiDayLike | null, boolean],\n TuiDay\n> = (current, value, maxLength, backwards) => {\n if (\n // TODO(v5): replace with `if (!(value instanceof TuiDay) || !maxLength)` (backward compatibility)\n (value instanceof TuiDayRange && value.from !== value.to) ||\n !value ||\n !maxLength\n ) {\n return backwards ? current || TUI_FIRST_DAY : current || TUI_LAST_DAY;\n }\n\n const negativeMaxLength = Object.fromEntries(\n Object.entries(maxLength).map(([key, value]) => [key, -value]),\n );\n\n // TODO(v5): `value instanceof TuiDay` always `true`\n const from = value instanceof TuiDay ? value : value.from;\n\n const dateShift = from\n .append(backwards ? negativeMaxLength : maxLength)\n .append({day: backwards ? 1 : -1});\n\n if (backwards) {\n return dateShift.dayBefore(current || TUI_FIRST_DAY)\n ? current || TUI_FIRST_DAY\n : dateShift;\n }\n\n if (!current) {\n return dateShift;\n }\n\n return dateShift.dayAfter(current) ? current : dateShift;\n};\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n linkedSignal,\n model,\n type OnChanges,\n type OnInit,\n type SimpleChanges,\n untracked,\n} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {\n tuiDateClamp,\n TuiDay,\n type TuiDayLike,\n TuiDayRange,\n TuiMonth,\n} from '@taiga-ui/cdk/date-time';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {type TuiBooleanHandler, type TuiMapper} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {tuiIsString, tuiNullableSame} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n AbstractTuiCalendar,\n TuiCalendar,\n tuiCalendarSheetOptionsProvider,\n type TuiMarkerHandler,\n} from '@taiga-ui/core/components/calendar';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TUI_COMMON_ICONS, tuiAsAuxiliary} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {TUI_OTHER_DATE_TEXT} from '@taiga-ui/kit/tokens';\n\nimport {calculateDisabledItemHandler} from './calculate-disabled-item-handler';\nimport {TUI_DAY_CAPS_MAPPER} from './day-caps-mapper';\nimport {type TuiDayRangePeriod} from './day-range-period';\n\n@Component({\n selector: 'tui-calendar-range',\n imports: [TuiCalendar, TuiDataList, TuiIcon, TuiMapperPipe],\n templateUrl: './calendar-range.template.html',\n styleUrl: './calendar-range.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsAuxiliary(TuiCalendarRange),\n tuiProvide(AbstractTuiCalendar<TuiDayRange>, TuiCalendarRange),\n tuiCalendarSheetOptionsProvider({rangeMode: true}),\n ],\n host: {\n '[class._mobile]': 'mobile',\n '(document:keydown.capture)': 'onEsc($event)',\n },\n})\nexport class TuiCalendarRange\n extends AbstractTuiCalendar<TuiDayRange>\n implements OnInit, OnChanges\n{\n /**\n * @deprecated use `item`\n */\n private selectedPeriod: TuiDayRangePeriod | null = null;\n\n protected previousValue: TuiDay | TuiDayRange | null = null;\n protected hoveredItem: TuiDay | null = null;\n protected readonly otherDateText = inject(TUI_OTHER_DATE_TEXT);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly capsMapper = TUI_DAY_CAPS_MAPPER;\n protected readonly mobile = inject(WA_IS_MOBILE);\n protected readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n\n public readonly minLength = input<TuiDayLike | null>(null);\n public readonly maxLength = input<TuiDayLike | null>(null);\n public readonly items = input<readonly TuiDayRangePeriod[]>([]);\n public readonly listSize = input<TuiSizeL | TuiSizeS>(this.options.size());\n public readonly defaultViewedMonth = input(TuiMonth.currentLocal());\n public readonly markerHandler = input<TuiMarkerHandler | null>(null);\n public readonly item = model<TuiDayRangePeriod | null>(null);\n\n protected readonly currentValue = linkedSignal<\n TuiDayRange | null,\n TuiDay | TuiDayRange | null\n >({\n source: () => {\n this.min();\n this.max();\n\n return this.value();\n },\n computation: (value, current) => {\n if (value !== current?.value || !value) {\n untracked(() => this.initDefaultViewedMonth(value));\n }\n\n return value;\n },\n });\n\n /**\n * @deprecated use `item`\n */\n public get selectedActivePeriod(): TuiDayRangePeriod | null {\n return this.selectedPeriod;\n }\n\n /**\n * @deprecated use `item`\n */\n public set selectedActivePeriod(period: TuiDayRangePeriod | null) {\n this.selectedPeriod = period;\n }\n\n public ngOnChanges({defaultViewedMonth}: SimpleChanges): void {\n if (this.currentValue()) {\n return;\n }\n\n if (defaultViewedMonth) {\n this.month.set(this.defaultViewedMonth());\n } else {\n this.initDefaultViewedMonth();\n }\n }\n\n public ngOnInit(): void {\n this.initDefaultViewedMonth();\n }\n\n protected onEsc(event: KeyboardEvent): void {\n if (event.key !== 'Escape' || !(this.currentValue() instanceof TuiDay)) {\n return;\n }\n\n event.stopPropagation();\n this.currentValue.set(this.previousValue);\n }\n\n protected readonly monthOffset: TuiMapper<[TuiMonth, number], TuiMonth> = (\n value,\n month,\n ) => value.append({month});\n\n protected readonly mapper: TuiMapper<\n [\n readonly TuiDayRangePeriod[],\n TuiDay | null,\n TuiDay | null,\n TuiDayLike | null,\n string | null | undefined,\n ],\n ReadonlyArray<TuiDayRangePeriod | string>\n > = (items, min, max, minLength, otherDateText) => [\n ...items.filter(\n (item) =>\n (minLength === null ||\n item.range.from\n .append(minLength)\n .append({day: -1})\n .daySameOrBefore(item.range.to)) &&\n (min === null || item.range.to.daySameOrAfter(min)) &&\n (max === null || item.range.from.daySameOrBefore(max)),\n ),\n otherDateText || '',\n ];\n\n protected readonly disabledMapper = (\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDay | TuiDayRange | null,\n minLength: TuiDayLike | null,\n ): TuiBooleanHandler<TuiDay> =>\n calculateDisabledItemHandler(disabledItemHandler, value, minLength);\n\n protected isItemActive(item: TuiDayRangePeriod | string): boolean {\n const {activePeriod} = this;\n\n return (\n (tuiIsString(item) && activePeriod === null) ||\n activePeriod === item ||\n activePeriod?.toString() === item.toString()\n );\n }\n\n protected onItemSelect(item: TuiDayRangePeriod | string): void {\n if (!tuiIsString(item)) {\n this.selectedActivePeriod = item;\n this.item.set(item);\n this.value.set(item.range.dayLimit(this.min(), this.max()));\n } else if (this.activePeriod !== null) {\n this.selectedActivePeriod = null;\n this.item.set(null);\n this.value.set(null);\n }\n\n this.initDefaultViewedMonth();\n }\n\n protected onDayClick(day: TuiDay): void {\n const value = this.currentValue();\n\n this.previousValue = value;\n this.selectedActivePeriod = null;\n\n if (value instanceof TuiDay) {\n const range = TuiDayRange.sort(value, day.append({}));\n\n this.currentValue.set(range);\n this.item.set(this.findItemByDayRange(range));\n this.value.set(range);\n } else {\n this.currentValue.set(day);\n }\n }\n\n private get activePeriod(): TuiDayRangePeriod | null {\n const value = this.currentValue();\n\n return (\n this.item() ??\n this.selectedActivePeriod ??\n (this.items().find((item) =>\n tuiNullableSame(\n value instanceof TuiDay ? new TuiDayRange(value, value) : value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min(), this.max())) &&\n a.to.daySame(b.to.dayLimit(this.min(), this.max())),\n ),\n ) ||\n null)\n );\n }\n\n private initDefaultViewedMonth(value = this.currentValue()): void {\n const single = this.items().length || this.mobile;\n const min = this.min();\n const max = single ? this.max() : this.max().append({month: -1});\n const month = value instanceof TuiDay ? value : value?.from;\n const current = this.month();\n const visible = !single && month?.append({month: -1}).monthSame(current);\n\n this.month.set(tuiDateClamp(visible ? current : month || current, min, max));\n }\n\n private findItemByDayRange(dayRange: TuiDayRange): TuiDayRangePeriod | null {\n return this.items().find((item) => dayRange.daySame(item.range)) ?? null;\n }\n}\n","<tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n [class.t-calendar]=\"!mobile\"\n [disabledItemHandler]=\"disabledItemHandler() | tuiMapper: disabledMapper : currentValue() : minLength()\"\n [markerHandler]=\"markerHandler()\"\n [max]=\"max() | tuiMapper: capsMapper : currentValue() : maxLength() : false\"\n [maxViewedMonth]=\"items().length || mobile ? null : (month() | tuiMapper: monthOffset : -1)\"\n [min]=\"min() | tuiMapper: capsMapper : currentValue() : maxLength() : true\"\n [month]=\"month()\"\n [showAdjacent]=\"!!items().length || mobile\"\n [value]=\"currentValue()\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"month.set($event)\"\n/>\n@if (!items().length && !mobile) {\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler() | tuiMapper: disabledMapper : currentValue() : minLength()\"\n [markerHandler]=\"markerHandler()\"\n [max]=\"max() | tuiMapper: capsMapper : currentValue() : maxLength() : false\"\n [min]=\"min() | tuiMapper: capsMapper : currentValue() : maxLength() : true\"\n [minViewedMonth]=\"month() | tuiMapper: monthOffset : 1\"\n [month]=\"month() | tuiMapper: monthOffset : 1\"\n [showAdjacent]=\"false\"\n [value]=\"currentValue()\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"month.set($event.append({month: -1}))\"\n />\n} @else {\n @if (!mobile) {\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n [size]=\"listSize()\"\n [style.flex]=\"1\"\n >\n @for (item of items() | tuiMapper: mapper : min() : max() : minLength() : otherDateText(); track item) {\n <button\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (pointerdown.prevent.zoneless)=\"(0)\"\n >\n {{ item }}\n @if (isItemActive(item)) {\n <tui-icon\n automation-id=\"tui-calendar-range__checkmark\"\n class=\"t-check\"\n [icon]=\"icons.check\"\n />\n }\n </button>\n }\n </tui-data-list>\n }\n}\n","import {inject} from '@angular/core';\nimport {TUI_FIRST_DAY, TuiDay, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {type TuiLanguageKit} from '@taiga-ui/i18n/types';\nimport {TUI_DAY_RANGE_PERIODS} from '@taiga-ui/kit/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport class TuiDayRangePeriod {\n constructor(\n public readonly range: TuiDayRange,\n private readonly name: string,\n /**\n * @deprecated\n * TODO(v6): remove this unused property\n */\n public readonly content?: PolymorpheusContent<TuiContext<TuiDayRange>>,\n ) {}\n\n public toString(): string {\n return this.name;\n }\n}\n\nfunction getDefaultPeriodTitles(): TuiLanguageKit['dayRangePeriods'] {\n try {\n return inject(TUI_DAY_RANGE_PERIODS)();\n } catch {\n return [\n 'For all the time',\n 'Today',\n 'Yesterday',\n 'Current week',\n 'Current month',\n 'Previous month',\n ];\n }\n}\n\nexport function tuiCreateDefaultDayRangePeriods(\n periodTitles: TuiLanguageKit['dayRangePeriods'] = getDefaultPeriodTitles(),\n): readonly TuiDayRangePeriod[] {\n const today = TuiDay.currentLocal();\n const yesterday = new TuiDayRange(today.append({day: -1}), today.append({day: -1}));\n const startOfWeek = today.append({day: -today.dayOfWeek()});\n const endOfWeek = startOfWeek.append({day: 6});\n const startOfMonth = today.append({day: 1 - today.day});\n const endOfMonth = startOfMonth.append({month: 1, day: -1});\n const startOfLastMonth = startOfMonth.append({month: -1});\n\n return [\n new TuiDayRangePeriod(new TuiDayRange(TUI_FIRST_DAY, today), periodTitles[0]),\n new TuiDayRangePeriod(new TuiDayRange(today, today.append({})), periodTitles[1]),\n new TuiDayRangePeriod(yesterday, periodTitles[2]),\n new TuiDayRangePeriod(new TuiDayRange(startOfWeek, endOfWeek), periodTitles[3]),\n new TuiDayRangePeriod(new TuiDayRange(startOfMonth, endOfMonth), periodTitles[4]),\n new TuiDayRangePeriod(\n new TuiDayRange(startOfLastMonth, startOfMonth.append({day: -1})),\n periodTitles[5],\n ),\n ];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -21,11 +21,11 @@ const [TUI_CHIP_OPTIONS, tuiChipOptionsProvider] = tuiCreateOptions(TUI_CHIP_DEF
21
21
 
22
22
  class Styles {
23
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-chip-5.20.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiChip]:where(*[data-tui-version=\"5.20.0\"]){--t-gap: .125rem;--t-margin: -.125rem;--t-icon-size: 1rem;--t-padding: .625rem;--t-size: var(--tui-height-s);-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));font:var(--tui-typography-ui-s);border-radius:var(--tui-radius-m);padding:.125rem var(--t-padding);block-size:var(--t-size);min-block-size:calc(var(--tui-lh) + .25rem);inline-size:fit-content;max-inline-size:100%;isolation:isolate}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>img,[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>tui-icon,[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiAvatar],[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>tui-badge,[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiBadge],[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiRadio],[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiSwitch],[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiCheckbox],[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[tuiIcons]:before,[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiChip]:where(*[data-tui-version=\"5.20.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}@supports not (font-size: 1lh){[tuiChip]:where(*[data-tui-version=\"5.20.0\"]){--tui-lh: 1.2em}}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>tui-icon,[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[tuiIcons]:before,[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[tuiIcons]:after{font-size:var(--t-icon-size)!important}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiIconButton]{margin:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiBadge]{margin-inline-end:0}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[data-size=xxs]{--t-gap: 0rem;--t-padding: .25rem;--t-size: 1rem;--t-icon-size: .75rem;font:var(--tui-typography-ui-2xs);border-radius:var(--tui-radius-xs)}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[data-size=xxs]>[tuiIconButton]{margin:-.5rem;transform:scale(.75)}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[data-size=xs]{--t-padding: .375rem;--t-size: var(--tui-height-xs);border-radius:var(--tui-radius-xs)}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[data-size=xs]>[tuiIconButton]{margin:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[data-size=m]{--t-margin: -.375rem;--t-icon-size: 1.5rem;--t-padding: 1rem;--t-size: var(--tui-height-m);font:var(--tui-typography-ui-m)}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[data-size=m]>[tuiIconButton]{margin:-.75rem}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[data-size=m]>[tuiBadge]{margin-inline-start:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>img,[tuiChip]:where(*[data-tui-version=\"5.20.0\"]) [tuiAvatar]{inline-size:1.5rem;margin-inline-start:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiFade]:first-of-type{flex:1 0 30%;max-inline-size:fit-content;padding:.125rem 0}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiFade]:last-of-type{flex:0 1 auto}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>input[tuiChip]{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;margin:0}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>input[tuiChip][type=checkbox],[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>input[tuiChip][type=radio]{z-index:-1}input[tuiChip]:where(*[data-tui-version=\"5.20.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:text}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-chip-5.21.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiChip]:where(*[data-tui-version=\"5.21.0\"]){--t-gap: .125rem;--t-margin: -.125rem;--t-icon-size: 1rem;--t-padding: .625rem;--t-size: var(--tui-height-s);-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));font:var(--tui-typography-ui-s);border-radius:var(--tui-radius-m);padding:.125rem var(--t-padding);block-size:var(--t-size);min-block-size:calc(var(--tui-lh) + .25rem);inline-size:fit-content;max-inline-size:100%;isolation:isolate}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>img,[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>tui-icon,[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiAvatar],[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>tui-badge,[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiBadge],[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiRadio],[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiSwitch],[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiCheckbox],[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[tuiIcons]:before,[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiChip]:where(*[data-tui-version=\"5.21.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}@supports not (font-size: 1lh){[tuiChip]:where(*[data-tui-version=\"5.21.0\"]){--tui-lh: 1.2em}}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>tui-icon,[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[tuiIcons]:before,[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[tuiIcons]:after{font-size:var(--t-icon-size)!important}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiIconButton]{margin:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiBadge]{margin-inline-end:0}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[data-size=xxs]{--t-gap: 0rem;--t-padding: .25rem;--t-size: 1rem;--t-icon-size: .75rem;font:var(--tui-typography-ui-2xs);border-radius:var(--tui-radius-xs)}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[data-size=xxs]>[tuiIconButton]{margin:-.5rem;transform:scale(.75)}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[data-size=xs]{--t-padding: .375rem;--t-size: var(--tui-height-xs);border-radius:var(--tui-radius-xs)}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[data-size=xs]>[tuiIconButton]{margin:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[data-size=m]{--t-margin: -.375rem;--t-icon-size: 1.5rem;--t-padding: 1rem;--t-size: var(--tui-height-m);font:var(--tui-typography-ui-m)}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[data-size=m]>[tuiIconButton]{margin:-.75rem}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[data-size=m]>[tuiBadge]{margin-inline-start:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>img,[tuiChip]:where(*[data-tui-version=\"5.21.0\"]) [tuiAvatar]{inline-size:1.5rem;margin-inline-start:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiFade]:first-of-type{flex:1 0 30%;max-inline-size:fit-content;padding:.125rem 0}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiFade]:last-of-type{flex:0 1 auto}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>input[tuiChip]{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;margin:0}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>input[tuiChip][type=checkbox],[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>input[tuiChip][type=radio]{z-index:-1}input[tuiChip]:where(*[data-tui-version=\"5.21.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:text}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, decorators: [{
27
27
  type: Component,
28
- args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-chip-${TUI_VERSION}`, styles: ["[tuiChip]:where(*[data-tui-version=\"5.20.0\"]){--t-gap: .125rem;--t-margin: -.125rem;--t-icon-size: 1rem;--t-padding: .625rem;--t-size: var(--tui-height-s);-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));font:var(--tui-typography-ui-s);border-radius:var(--tui-radius-m);padding:.125rem var(--t-padding);block-size:var(--t-size);min-block-size:calc(var(--tui-lh) + .25rem);inline-size:fit-content;max-inline-size:100%;isolation:isolate}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>img,[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>tui-icon,[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiAvatar],[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>tui-badge,[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiBadge],[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiRadio],[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiSwitch],[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiCheckbox],[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[tuiIcons]:before,[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiChip]:where(*[data-tui-version=\"5.20.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}@supports not (font-size: 1lh){[tuiChip]:where(*[data-tui-version=\"5.20.0\"]){--tui-lh: 1.2em}}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>tui-icon,[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[tuiIcons]:before,[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[tuiIcons]:after{font-size:var(--t-icon-size)!important}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiIconButton]{margin:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiBadge]{margin-inline-end:0}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[data-size=xxs]{--t-gap: 0rem;--t-padding: .25rem;--t-size: 1rem;--t-icon-size: .75rem;font:var(--tui-typography-ui-2xs);border-radius:var(--tui-radius-xs)}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[data-size=xxs]>[tuiIconButton]{margin:-.5rem;transform:scale(.75)}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[data-size=xs]{--t-padding: .375rem;--t-size: var(--tui-height-xs);border-radius:var(--tui-radius-xs)}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[data-size=xs]>[tuiIconButton]{margin:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[data-size=m]{--t-margin: -.375rem;--t-icon-size: 1.5rem;--t-padding: 1rem;--t-size: var(--tui-height-m);font:var(--tui-typography-ui-m)}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[data-size=m]>[tuiIconButton]{margin:-.75rem}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])[data-size=m]>[tuiBadge]{margin-inline-start:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>img,[tuiChip]:where(*[data-tui-version=\"5.20.0\"]) [tuiAvatar]{inline-size:1.5rem;margin-inline-start:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiFade]:first-of-type{flex:1 0 30%;max-inline-size:fit-content;padding:.125rem 0}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>[tuiFade]:last-of-type{flex:0 1 auto}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>input[tuiChip]{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;margin:0}[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>input[tuiChip][type=checkbox],[tuiChip]:where(*[data-tui-version=\"5.20.0\"])>input[tuiChip][type=radio]{z-index:-1}input[tuiChip]:where(*[data-tui-version=\"5.20.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:text}\n"] }]
28
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-chip-${TUI_VERSION}`, styles: ["[tuiChip]:where(*[data-tui-version=\"5.21.0\"]){--t-gap: .125rem;--t-margin: -.125rem;--t-icon-size: 1rem;--t-padding: .625rem;--t-size: var(--tui-height-s);-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));font:var(--tui-typography-ui-s);border-radius:var(--tui-radius-m);padding:.125rem var(--t-padding);block-size:var(--t-size);min-block-size:calc(var(--tui-lh) + .25rem);inline-size:fit-content;max-inline-size:100%;isolation:isolate}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>img,[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>tui-icon,[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiAvatar],[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>tui-badge,[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiBadge],[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiRadio],[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiSwitch],[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiCheckbox],[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[tuiIcons]:before,[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiChip]:where(*[data-tui-version=\"5.21.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}@supports not (font-size: 1lh){[tuiChip]:where(*[data-tui-version=\"5.21.0\"]){--tui-lh: 1.2em}}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>tui-icon,[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[tuiIcons]:before,[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[tuiIcons]:after{font-size:var(--t-icon-size)!important}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiIconButton]{margin:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiBadge]{margin-inline-end:0}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[data-size=xxs]{--t-gap: 0rem;--t-padding: .25rem;--t-size: 1rem;--t-icon-size: .75rem;font:var(--tui-typography-ui-2xs);border-radius:var(--tui-radius-xs)}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[data-size=xxs]>[tuiIconButton]{margin:-.5rem;transform:scale(.75)}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[data-size=xs]{--t-padding: .375rem;--t-size: var(--tui-height-xs);border-radius:var(--tui-radius-xs)}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[data-size=xs]>[tuiIconButton]{margin:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[data-size=m]{--t-margin: -.375rem;--t-icon-size: 1.5rem;--t-padding: 1rem;--t-size: var(--tui-height-m);font:var(--tui-typography-ui-m)}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[data-size=m]>[tuiIconButton]{margin:-.75rem}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])[data-size=m]>[tuiBadge]{margin-inline-start:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>img,[tuiChip]:where(*[data-tui-version=\"5.21.0\"]) [tuiAvatar]{inline-size:1.5rem;margin-inline-start:-.375rem}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiFade]:first-of-type{flex:1 0 30%;max-inline-size:fit-content;padding:.125rem 0}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>[tuiFade]:last-of-type{flex:0 1 auto}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>input[tuiChip]{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;margin:0}[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>input[tuiChip][type=checkbox],[tuiChip]:where(*[data-tui-version=\"5.21.0\"])>input[tuiChip][type=radio]{z-index:-1}input[tuiChip]:where(*[data-tui-version=\"5.21.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:text}\n"] }]
29
29
  }] });
30
30
  class TuiChip {
31
31
  constructor() {
@@ -16,7 +16,7 @@ class TuiComboBoxDirective extends TuiControl {
16
16
  constructor() {
17
17
  super(...arguments);
18
18
  this.el = tuiInjectElement();
19
- this.host = inject(TuiTextfieldComponent);
19
+ this.textfield = inject(TuiTextfieldComponent);
20
20
  this.input = inject(TuiInputDirective);
21
21
  this.open = inject(TuiDropdownOpen).open;
22
22
  this.dropdownEnabled = tuiDropdownEnabled(this.interactive);
@@ -29,8 +29,8 @@ class TuiComboBoxDirective extends TuiControl {
29
29
  this.nonStrictControlEffect = effect(() => {
30
30
  if (!this.options().length &&
31
31
  !this.strict() &&
32
- this.stringify(this.value()) !== this.input.value()) {
33
- this.onChange(this.input.value() || null);
32
+ this.stringify(this.value()) !== this.textfield.value()) {
33
+ this.onChange(this.textfield.value() || null);
34
34
  }
35
35
  });
36
36
  this.matchingEffect = effect(() => {
@@ -39,27 +39,31 @@ class TuiComboBoxDirective extends TuiControl {
39
39
  if (!options.length || !matcher) {
40
40
  return;
41
41
  }
42
- const textfieldValue = this.input.value();
43
- const selectedOption = options.find((x) => matcher(x, textfieldValue, this.handlers.stringify()));
42
+ const text = this.textfield.value();
43
+ const option = options.find((x) => matcher(x, text, this.handlers.stringify()));
44
44
  const value = untracked(this.value);
45
- const unchanged = this.stringify(value) === textfieldValue;
46
- const fallback = this.strict() || !textfieldValue ? null : textfieldValue;
47
- this.onChange(selectedOption ??
45
+ const unchanged = this.stringify(value) === text;
46
+ const fallback = this.strict() || !text ? null : text;
47
+ if (option == null) {
48
48
  /**
49
- * Don't clear already not-null form control value on new `this.options()` array.
49
+ * Don't clear already not-null form control value on a new `this.options()` array.
50
50
  * Otherwise, `ComboBox` becomes incompatible with virtual scroll
51
51
  * (which displays large lists of elements by only rendering the items that fit on-screen).
52
- * Users can still able to patch form value with `null` on new items if they wish the such behavior.
52
+ * Users are still able to patch form value with `null` on new items if they wish such behavior.
53
53
  */
54
- (unchanged ? value : fallback));
54
+ this.onChange(unchanged ? value : fallback);
55
+ }
56
+ else if (option !== value) {
57
+ this.textfield['accessor']()?.setValue(option);
58
+ }
55
59
  });
56
60
  this.newValueEffect = effect(() => {
57
61
  const stringified = this.stringify(this.value());
58
- this.input.value.update((x) => stringified || x);
62
+ this.textfield.value.update((x) => stringified || x);
59
63
  });
60
64
  this.blurEffect = effect(() => {
61
- const incomplete = untracked(() => this.strict() && this.input.value() && this.value() === null);
62
- if (!this.host.focused() && incomplete) {
65
+ const incomplete = untracked(() => this.strict() && this.textfield.value() && this.value() === null);
66
+ if (!this.textfield.focused() && incomplete) {
63
67
  this.el.value = '';
64
68
  this.el.dispatchEvent(new Event('input', { bubbles: true }));
65
69
  this.toggleDropdown(false);
@@ -80,7 +84,7 @@ class TuiComboBoxDirective extends TuiControl {
80
84
  const changed = untracked(() => value !== this.value());
81
85
  if (changed || reset) {
82
86
  super.writeValue(value);
83
- untracked(() => this.input.value.set(this.stringify(value)));
87
+ untracked(() => this.textfield.value.set(this.stringify(value)));
84
88
  }
85
89
  }
86
90
  toggleDropdown(open = !this.open()) {
@@ -95,8 +99,7 @@ class TuiComboBoxDirective extends TuiControl {
95
99
  event.preventDefault();
96
100
  const options = this.options();
97
101
  if (options.length === 1 && options[0]) {
98
- this.setValue(options[0]);
99
- this.toggleDropdown(false);
102
+ this.textfield.handleOption(options[0]);
100
103
  }
101
104
  }
102
105
  stringify(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-combo-box.mjs","sources":["../../../projects/kit/components/combo-box/combo-box.directive.ts","../../../projects/kit/components/combo-box/combo-box.ts","../../../projects/kit/components/combo-box/taiga-ui-kit-components-combo-box.ts"],"sourcesContent":["import {\n computed,\n Directive,\n effect,\n inject,\n input,\n isSignal,\n untracked,\n} from '@angular/core';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {TUI_STRICT_MATCHER} from '@taiga-ui/cdk/constants';\nimport {type TuiStringMatcher} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n tuiAsOptionContent,\n type TuiDataListAccessor,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiInputDirective, TuiWithInput} from '@taiga-ui/core/components/input';\nimport {\n tuiAsTextfieldAccessor,\n tuiInjectAuxiliary,\n type TuiTextfieldAccessor,\n TuiTextfieldComponent,\n} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_ITEMS_HANDLERS,\n type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {\n TuiDropdownDirective,\n tuiDropdownEnabled,\n TuiDropdownOpen,\n} from '@taiga-ui/core/portals/dropdown';\nimport {TuiSelectOption} from '@taiga-ui/kit/components/select';\n\n@Directive({\n selector: 'input[tuiComboBox]',\n providers: [\n tuiAsOptionContent(TuiSelectOption),\n tuiAsTextfieldAccessor(TuiComboBoxDirective),\n tuiAsControl(TuiComboBoxDirective),\n ],\n hostDirectives: [TuiWithInput],\n host: {\n '[disabled]': 'disabled()',\n '(click)': 'toggleDropdown()',\n '(input)': 'toggleDropdown(true)',\n '(keydown.enter)': 'keydownEnter($event)',\n },\n})\nexport class TuiComboBoxDirective<T>\n extends TuiControl<T | string | null>\n implements TuiTextfieldAccessor<T>\n{\n private readonly el = tuiInjectElement<HTMLInputElement>();\n private readonly host: TuiTextfieldComponent<T> = inject(TuiTextfieldComponent);\n private readonly input: TuiInputDirective<T> = inject(TuiInputDirective);\n private readonly open = inject(TuiDropdownOpen).open;\n private readonly dropdownEnabled = tuiDropdownEnabled(this.interactive);\n private readonly dropdown = inject(TuiDropdownDirective);\n private readonly handlers: TuiItemsHandlers<T | string> = inject(TUI_ITEMS_HANDLERS);\n\n private readonly datalist = tuiInjectAuxiliary<TuiDataListAccessor<T>>(\n (x) => 'options' in x && isSignal(x.options),\n );\n\n private readonly options = computed(\n () =>\n this.datalist()\n ?.options()\n .filter((x) => !this.handlers.disabledItemHandler()(x)) ?? [],\n );\n\n protected readonly nonStrictControlEffect = effect(() => {\n if (\n !this.options().length &&\n !this.strict() &&\n this.stringify(this.value()) !== this.input.value()\n ) {\n this.onChange(this.input.value() || null);\n }\n });\n\n protected readonly matchingEffect = effect(() => {\n const options = this.options();\n const matcher = this.matcher();\n\n if (!options.length || !matcher) {\n return;\n }\n\n const textfieldValue = this.input.value();\n\n const selectedOption = options.find((x) =>\n matcher(x, textfieldValue, this.handlers.stringify()),\n );\n\n const value = untracked(this.value);\n const unchanged = this.stringify(value) === textfieldValue;\n const fallback = this.strict() || !textfieldValue ? null : textfieldValue;\n\n this.onChange(\n selectedOption ??\n /**\n * Don't clear already not-null form control value on new `this.options()` array.\n * Otherwise, `ComboBox` becomes incompatible with virtual scroll\n * (which displays large lists of elements by only rendering the items that fit on-screen).\n * Users can still able to patch form value with `null` on new items if they wish the such behavior.\n */\n (unchanged ? value : fallback),\n );\n });\n\n protected readonly newValueEffect = effect(() => {\n const stringified = this.stringify(this.value());\n\n this.input.value.update((x) => stringified || x);\n });\n\n protected readonly blurEffect = effect(() => {\n const incomplete = untracked(\n () => this.strict() && this.input.value() && this.value() === null,\n );\n\n if (!this.host.focused() && incomplete) {\n this.el.value = '';\n this.el.dispatchEvent(new Event('input', {bubbles: true}));\n this.toggleDropdown(false);\n }\n });\n\n public readonly strict = input(true);\n public readonly matcher = input<TuiStringMatcher<T> | null>(TUI_STRICT_MATCHER);\n\n public setValue(value: T | null): void {\n this.input.setValue(value);\n this.onChange(value);\n\n if (!value) {\n this.toggleDropdown(true);\n }\n }\n\n public override writeValue(value: T | string | null): void {\n const reset = this.control.pristine && this.control.untouched && !value;\n const changed = untracked(() => value !== this.value());\n\n if (changed || reset) {\n super.writeValue(value);\n untracked(() => this.input.value.set(this.stringify(value)));\n }\n }\n\n protected toggleDropdown(open = !this.open()): void {\n if (this.dropdownEnabled() && this.dropdown.content()) {\n this.open.set(open);\n }\n }\n\n protected keydownEnter(event: KeyboardEvent): void {\n if (!this.open()) {\n return;\n }\n\n event.preventDefault();\n\n const options = this.options();\n\n if (options.length === 1 && options[0]) {\n this.setValue(options[0]);\n this.toggleDropdown(false);\n }\n }\n\n private stringify(value?: T | string | null): string {\n return value == null ? '' : this.handlers.stringify()(value);\n }\n}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiComboBoxDirective} from './combo-box.directive';\n\nexport const TuiComboBox = [\n TuiComboBoxDirective,\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n TuiDropdownContent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAkDM,MAAO,oBACT,SAAQ,UAA6B,CAAA;AAhBzC,IAAA,WAAA,GAAA;;QAmBqB,IAAA,CAAA,EAAE,GAAG,gBAAgB,EAAoB;AACzC,QAAA,IAAA,CAAA,IAAI,GAA6B,MAAM,CAAC,qBAAqB,CAAC;AAC9D,QAAA,IAAA,CAAA,KAAK,GAAyB,MAAM,CAAC,iBAAiB,CAAC;AACvD,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI;AACnC,QAAA,IAAA,CAAA,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AACtD,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACvC,QAAA,IAAA,CAAA,QAAQ,GAAiC,MAAM,CAAC,kBAAkB,CAAC;AAEnE,QAAA,IAAA,CAAA,QAAQ,GAAG,kBAAkB,CAC1C,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAC/C;QAEgB,IAAA,CAAA,OAAO,GAAG,QAAQ,CAC/B,MACI,IAAI,CAAC,QAAQ;AACT,cAAE,OAAO;aACR,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CACxE;AAEkB,QAAA,IAAA,CAAA,sBAAsB,GAAG,MAAM,CAAC,MAAK;AACpD,YAAA,IACI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM;gBACtB,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EACrD;AACE,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC;YAC7C;AACJ,QAAA,CAAC,CAAC;AAEiB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,MAAK;AAC5C,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;YAE9B,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE;gBAC7B;YACJ;YAEA,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YAEzC,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAClC,OAAO,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CACxD;YAED,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,cAAc;AAC1D,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,cAAc;YAEzE,IAAI,CAAC,QAAQ,CACT,cAAc;AACV;;;;;AAKG;iBACF,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAC,CACrC;AACL,QAAA,CAAC,CAAC;AAEiB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,MAAK;YAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AAEhD,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC;AACpD,QAAA,CAAC,CAAC;AAEiB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,MAAK;YACxC,MAAM,UAAU,GAAG,SAAS,CACxB,MAAM,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,CACrE;YAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,UAAU,EAAE;AACpC,gBAAA,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE;AAClB,gBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;AAC1D,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAC9B;AACJ,QAAA,CAAC,CAAC;AAEc,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;AACpB,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAA6B,kBAAkB,CAAC;AA6ClF,IAAA;AA3CU,IAAA,QAAQ,CAAC,KAAe,EAAA;AAC3B,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAEpB,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QAC7B;IACJ;AAEgB,IAAA,UAAU,CAAC,KAAwB,EAAA;AAC/C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,KAAK;AACvE,QAAA,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;AAEvD,QAAA,IAAI,OAAO,IAAI,KAAK,EAAE;AAClB,YAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;YACvB,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE;IACJ;AAEU,IAAA,cAAc,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAA;AACxC,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE;AACnD,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QACvB;IACJ;AAEU,IAAA,YAAY,CAAC,KAAoB,EAAA;AACvC,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;YACd;QACJ;QAEA,KAAK,CAAC,cAAc,EAAE;AAEtB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;QAE9B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACzB,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAC9B;IACJ;AAEQ,IAAA,SAAS,CAAC,KAAyB,EAAA;AACvC,QAAA,OAAO,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC;IAChE;+GA9HS,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAblB;YACP,kBAAkB,CAAC,eAAe,CAAC;YACnC,sBAAsB,CAAC,oBAAoB,CAAC;YAC5C,YAAY,CAAC,oBAAoB,CAAC;AACrC,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FASQ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAfhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,SAAS,EAAE;wBACP,kBAAkB,CAAC,eAAe,CAAC;AACnC,wBAAA,sBAAsB,CAAA,oBAAA,CAAsB;AAC5C,wBAAA,YAAY,CAAA,oBAAA,CAAsB;AACrC,qBAAA;oBACD,cAAc,EAAE,CAAC,YAAY,CAAC;AAC9B,oBAAA,IAAI,EAAE;AACF,wBAAA,YAAY,EAAE,YAAY;AAC1B,wBAAA,SAAS,EAAE,kBAAkB;AAC7B,wBAAA,SAAS,EAAE,sBAAsB;AACjC,wBAAA,iBAAiB,EAAE,sBAAsB;AAC5C,qBAAA;AACJ,iBAAA;;;ACxCM,MAAM,WAAW,GAAG;IACvB,oBAAoB;IACpB,QAAQ;IACR,qBAAqB;IACrB,4BAA4B;IAC5B,kBAAkB;;;ACdtB;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-combo-box.mjs","sources":["../../../projects/kit/components/combo-box/combo-box.directive.ts","../../../projects/kit/components/combo-box/combo-box.ts","../../../projects/kit/components/combo-box/taiga-ui-kit-components-combo-box.ts"],"sourcesContent":["import {\n computed,\n Directive,\n effect,\n inject,\n input,\n isSignal,\n untracked,\n} from '@angular/core';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {TUI_STRICT_MATCHER} from '@taiga-ui/cdk/constants';\nimport {type TuiStringMatcher} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n tuiAsOptionContent,\n type TuiDataListAccessor,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiInputDirective, TuiWithInput} from '@taiga-ui/core/components/input';\nimport {\n tuiAsTextfieldAccessor,\n tuiInjectAuxiliary,\n type TuiTextfieldAccessor,\n TuiTextfieldComponent,\n} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_ITEMS_HANDLERS,\n type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {\n TuiDropdownDirective,\n tuiDropdownEnabled,\n TuiDropdownOpen,\n} from '@taiga-ui/core/portals/dropdown';\nimport {TuiSelectOption} from '@taiga-ui/kit/components/select';\n\n@Directive({\n selector: 'input[tuiComboBox]',\n providers: [\n tuiAsOptionContent(TuiSelectOption),\n tuiAsTextfieldAccessor(TuiComboBoxDirective),\n tuiAsControl(TuiComboBoxDirective),\n ],\n hostDirectives: [TuiWithInput],\n host: {\n '[disabled]': 'disabled()',\n '(click)': 'toggleDropdown()',\n '(input)': 'toggleDropdown(true)',\n '(keydown.enter)': 'keydownEnter($event)',\n },\n})\nexport class TuiComboBoxDirective<T>\n extends TuiControl<T | string | null>\n implements TuiTextfieldAccessor<T>\n{\n private readonly el = tuiInjectElement<HTMLInputElement>();\n private readonly textfield: TuiTextfieldComponent<T> = inject(TuiTextfieldComponent);\n private readonly input: TuiInputDirective<T> = inject(TuiInputDirective);\n private readonly open = inject(TuiDropdownOpen).open;\n private readonly dropdownEnabled = tuiDropdownEnabled(this.interactive);\n private readonly dropdown = inject(TuiDropdownDirective);\n private readonly handlers: TuiItemsHandlers<T | string> = inject(TUI_ITEMS_HANDLERS);\n private readonly datalist = tuiInjectAuxiliary<TuiDataListAccessor<T>>(\n (x) => 'options' in x && isSignal(x.options),\n );\n\n private readonly options = computed(\n () =>\n this.datalist()\n ?.options()\n .filter((x) => !this.handlers.disabledItemHandler()(x)) ?? [],\n );\n\n protected readonly nonStrictControlEffect = effect(() => {\n if (\n !this.options().length &&\n !this.strict() &&\n this.stringify(this.value()) !== this.textfield.value()\n ) {\n this.onChange(this.textfield.value() || null);\n }\n });\n\n protected readonly matchingEffect = effect(() => {\n const options = this.options();\n const matcher = this.matcher();\n\n if (!options.length || !matcher) {\n return;\n }\n\n const text = this.textfield.value();\n const option = options.find((x) => matcher(x, text, this.handlers.stringify()));\n const value = untracked(this.value);\n const unchanged = this.stringify(value) === text;\n const fallback = this.strict() || !text ? null : text;\n\n if (option == null) {\n /**\n * Don't clear already not-null form control value on a new `this.options()` array.\n * Otherwise, `ComboBox` becomes incompatible with virtual scroll\n * (which displays large lists of elements by only rendering the items that fit on-screen).\n * Users are still able to patch form value with `null` on new items if they wish such behavior.\n */\n this.onChange(unchanged ? value : fallback);\n } else if (option !== value) {\n this.textfield['accessor']()?.setValue(option);\n }\n });\n\n protected readonly newValueEffect = effect(() => {\n const stringified = this.stringify(this.value());\n\n this.textfield.value.update((x) => stringified || x);\n });\n\n protected readonly blurEffect = effect(() => {\n const incomplete = untracked(\n () => this.strict() && this.textfield.value() && this.value() === null,\n );\n\n if (!this.textfield.focused() && incomplete) {\n this.el.value = '';\n this.el.dispatchEvent(new Event('input', {bubbles: true}));\n this.toggleDropdown(false);\n }\n });\n\n public readonly strict = input(true);\n public readonly matcher = input<TuiStringMatcher<T> | null>(TUI_STRICT_MATCHER);\n\n public setValue(value: T | null): void {\n this.input.setValue(value);\n this.onChange(value);\n\n if (!value) {\n this.toggleDropdown(true);\n }\n }\n\n public override writeValue(value: T | string | null): void {\n const reset = this.control.pristine && this.control.untouched && !value;\n const changed = untracked(() => value !== this.value());\n\n if (changed || reset) {\n super.writeValue(value);\n untracked(() => this.textfield.value.set(this.stringify(value)));\n }\n }\n\n protected toggleDropdown(open = !this.open()): void {\n if (this.dropdownEnabled() && this.dropdown.content()) {\n this.open.set(open);\n }\n }\n\n protected keydownEnter(event: KeyboardEvent): void {\n if (!this.open()) {\n return;\n }\n\n event.preventDefault();\n\n const options = this.options();\n\n if (options.length === 1 && options[0]) {\n this.textfield.handleOption(options[0]);\n }\n }\n\n private stringify(value?: T | string | null): string {\n return value == null ? '' : this.handlers.stringify()(value);\n }\n}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiComboBoxDirective} from './combo-box.directive';\n\nexport const TuiComboBox = [\n TuiComboBoxDirective,\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n TuiDropdownContent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -5,11 +5,11 @@ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
5
5
 
6
6
  class Styles {
7
7
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-comment-5.20.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiComment]:where(*[data-tui-version=\"5.20.0\"]){position:relative;display:inline-flex;font:var(--tui-typography-ui-m);color:#fff;padding:.5rem .75rem;min-inline-size:2.5rem;border-radius:1rem;background:var(--tui-background-accent-2);align-items:center;justify-content:center}[tuiComment]:where(*[data-tui-version=\"5.20.0\"]):before{content:\"\";position:absolute;inset-block-end:100%;inset-inline-start:50%;inline-size:1.5625rem;block-size:.5625rem;background:inherit;transform:translate(calc(-50% * var(--tui-inline)));-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='25' height='9' viewBox='0 0 25 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.23309 6.67813L7.56191 3.83178C9.4546 1.5185 10.4009 0.361853 11.5998 0.10488C12.0834 0.00123882 12.5834 0.00123882 13.0669 0.10488C14.2658 0.361853 15.2121 1.5185 17.1048 3.83178L19.4337 6.67813C20.636 8.14771 22.4346 9 24.3334 9H0.333374C2.23217 9 4.0307 8.14772 5.23309 6.67813Z' fill='black'/%3E%3C/svg%3E%0A\");mask-image:url(\"data:image/svg+xml,%3Csvg width='25' height='9' viewBox='0 0 25 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.23309 6.67813L7.56191 3.83178C9.4546 1.5185 10.4009 0.361853 11.5998 0.10488C12.0834 0.00123882 12.5834 0.00123882 13.0669 0.10488C14.2658 0.361853 15.2121 1.5185 17.1048 3.83178L19.4337 6.67813C20.636 8.14771 22.4346 9 24.3334 9H0.333374C2.23217 9 4.0307 8.14772 5.23309 6.67813Z' fill='black'/%3E%3C/svg%3E%0A\")}[tuiComment]:where(*[data-tui-version=\"5.20.0\"])[data-direction=bottom]:before{inset-block:100% auto;transform:translate(calc(-50% * var(--tui-inline))) rotate(180deg)}[tuiComment]:where(*[data-tui-version=\"5.20.0\"])[data-direction=start]{border-start-start-radius:1rem min(1rem,31%);border-end-start-radius:1rem min(1rem,31%)}[tuiComment]:where(*[data-tui-version=\"5.20.0\"])[data-direction=start]:before{inset-block:50% 100%;inset-inline:auto 100%;transform:translate(calc(.625rem * var(--tui-inline)),-50%) rotate(calc(-90deg * var(--tui-inline)));clip-path:inset(0 0 .125rem 0)}[tuiComment]:where(*[data-tui-version=\"5.20.0\"])[data-direction=end]{border-start-end-radius:1rem min(1rem,31%);border-end-end-radius:1rem min(1rem,31%)}[tuiComment]:where(*[data-tui-version=\"5.20.0\"])[data-direction=end]:before{inset-block:50% 100%;inset-inline:100% auto;transform:translate(calc(-.625rem * var(--tui-inline)),-50%) rotate(calc(90deg * var(--tui-inline)));clip-path:inset(0 0 .125rem 0)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-comment-5.21.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiComment]:where(*[data-tui-version=\"5.21.0\"]){position:relative;display:inline-flex;font:var(--tui-typography-ui-m);color:#fff;padding:.5rem .75rem;min-inline-size:2.5rem;border-radius:1rem;background:var(--tui-background-accent-2);align-items:center;justify-content:center}[tuiComment]:where(*[data-tui-version=\"5.21.0\"]):before{content:\"\";position:absolute;inset-block-end:100%;inset-inline-start:50%;inline-size:1.5625rem;block-size:.5625rem;background:inherit;transform:translate(calc(-50% * var(--tui-inline)));-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='25' height='9' viewBox='0 0 25 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.23309 6.67813L7.56191 3.83178C9.4546 1.5185 10.4009 0.361853 11.5998 0.10488C12.0834 0.00123882 12.5834 0.00123882 13.0669 0.10488C14.2658 0.361853 15.2121 1.5185 17.1048 3.83178L19.4337 6.67813C20.636 8.14771 22.4346 9 24.3334 9H0.333374C2.23217 9 4.0307 8.14772 5.23309 6.67813Z' fill='black'/%3E%3C/svg%3E%0A\");mask-image:url(\"data:image/svg+xml,%3Csvg width='25' height='9' viewBox='0 0 25 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.23309 6.67813L7.56191 3.83178C9.4546 1.5185 10.4009 0.361853 11.5998 0.10488C12.0834 0.00123882 12.5834 0.00123882 13.0669 0.10488C14.2658 0.361853 15.2121 1.5185 17.1048 3.83178L19.4337 6.67813C20.636 8.14771 22.4346 9 24.3334 9H0.333374C2.23217 9 4.0307 8.14772 5.23309 6.67813Z' fill='black'/%3E%3C/svg%3E%0A\")}[tuiComment]:where(*[data-tui-version=\"5.21.0\"])[data-direction=bottom]:before{inset-block:100% auto;transform:translate(calc(-50% * var(--tui-inline))) rotate(180deg)}[tuiComment]:where(*[data-tui-version=\"5.21.0\"])[data-direction=start]{border-start-start-radius:1rem min(1rem,31%);border-end-start-radius:1rem min(1rem,31%)}[tuiComment]:where(*[data-tui-version=\"5.21.0\"])[data-direction=start]:before{inset-block:50% 100%;inset-inline:auto 100%;transform:translate(calc(.625rem * var(--tui-inline)),-50%) rotate(calc(-90deg * var(--tui-inline)));clip-path:inset(0 0 .125rem 0)}[tuiComment]:where(*[data-tui-version=\"5.21.0\"])[data-direction=end]{border-start-end-radius:1rem min(1rem,31%);border-end-end-radius:1rem min(1rem,31%)}[tuiComment]:where(*[data-tui-version=\"5.21.0\"])[data-direction=end]:before{inset-block:50% 100%;inset-inline:100% auto;transform:translate(calc(-.625rem * var(--tui-inline)),-50%) rotate(calc(90deg * var(--tui-inline)));clip-path:inset(0 0 .125rem 0)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9
9
  }
10
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, decorators: [{
11
11
  type: Component,
12
- args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-comment-${TUI_VERSION}`, styles: ["[tuiComment]:where(*[data-tui-version=\"5.20.0\"]){position:relative;display:inline-flex;font:var(--tui-typography-ui-m);color:#fff;padding:.5rem .75rem;min-inline-size:2.5rem;border-radius:1rem;background:var(--tui-background-accent-2);align-items:center;justify-content:center}[tuiComment]:where(*[data-tui-version=\"5.20.0\"]):before{content:\"\";position:absolute;inset-block-end:100%;inset-inline-start:50%;inline-size:1.5625rem;block-size:.5625rem;background:inherit;transform:translate(calc(-50% * var(--tui-inline)));-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='25' height='9' viewBox='0 0 25 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.23309 6.67813L7.56191 3.83178C9.4546 1.5185 10.4009 0.361853 11.5998 0.10488C12.0834 0.00123882 12.5834 0.00123882 13.0669 0.10488C14.2658 0.361853 15.2121 1.5185 17.1048 3.83178L19.4337 6.67813C20.636 8.14771 22.4346 9 24.3334 9H0.333374C2.23217 9 4.0307 8.14772 5.23309 6.67813Z' fill='black'/%3E%3C/svg%3E%0A\");mask-image:url(\"data:image/svg+xml,%3Csvg width='25' height='9' viewBox='0 0 25 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.23309 6.67813L7.56191 3.83178C9.4546 1.5185 10.4009 0.361853 11.5998 0.10488C12.0834 0.00123882 12.5834 0.00123882 13.0669 0.10488C14.2658 0.361853 15.2121 1.5185 17.1048 3.83178L19.4337 6.67813C20.636 8.14771 22.4346 9 24.3334 9H0.333374C2.23217 9 4.0307 8.14772 5.23309 6.67813Z' fill='black'/%3E%3C/svg%3E%0A\")}[tuiComment]:where(*[data-tui-version=\"5.20.0\"])[data-direction=bottom]:before{inset-block:100% auto;transform:translate(calc(-50% * var(--tui-inline))) rotate(180deg)}[tuiComment]:where(*[data-tui-version=\"5.20.0\"])[data-direction=start]{border-start-start-radius:1rem min(1rem,31%);border-end-start-radius:1rem min(1rem,31%)}[tuiComment]:where(*[data-tui-version=\"5.20.0\"])[data-direction=start]:before{inset-block:50% 100%;inset-inline:auto 100%;transform:translate(calc(.625rem * var(--tui-inline)),-50%) rotate(calc(-90deg * var(--tui-inline)));clip-path:inset(0 0 .125rem 0)}[tuiComment]:where(*[data-tui-version=\"5.20.0\"])[data-direction=end]{border-start-end-radius:1rem min(1rem,31%);border-end-end-radius:1rem min(1rem,31%)}[tuiComment]:where(*[data-tui-version=\"5.20.0\"])[data-direction=end]:before{inset-block:50% 100%;inset-inline:100% auto;transform:translate(calc(-.625rem * var(--tui-inline)),-50%) rotate(calc(90deg * var(--tui-inline)));clip-path:inset(0 0 .125rem 0)}\n"] }]
12
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-comment-${TUI_VERSION}`, styles: ["[tuiComment]:where(*[data-tui-version=\"5.21.0\"]){position:relative;display:inline-flex;font:var(--tui-typography-ui-m);color:#fff;padding:.5rem .75rem;min-inline-size:2.5rem;border-radius:1rem;background:var(--tui-background-accent-2);align-items:center;justify-content:center}[tuiComment]:where(*[data-tui-version=\"5.21.0\"]):before{content:\"\";position:absolute;inset-block-end:100%;inset-inline-start:50%;inline-size:1.5625rem;block-size:.5625rem;background:inherit;transform:translate(calc(-50% * var(--tui-inline)));-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='25' height='9' viewBox='0 0 25 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.23309 6.67813L7.56191 3.83178C9.4546 1.5185 10.4009 0.361853 11.5998 0.10488C12.0834 0.00123882 12.5834 0.00123882 13.0669 0.10488C14.2658 0.361853 15.2121 1.5185 17.1048 3.83178L19.4337 6.67813C20.636 8.14771 22.4346 9 24.3334 9H0.333374C2.23217 9 4.0307 8.14772 5.23309 6.67813Z' fill='black'/%3E%3C/svg%3E%0A\");mask-image:url(\"data:image/svg+xml,%3Csvg width='25' height='9' viewBox='0 0 25 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.23309 6.67813L7.56191 3.83178C9.4546 1.5185 10.4009 0.361853 11.5998 0.10488C12.0834 0.00123882 12.5834 0.00123882 13.0669 0.10488C14.2658 0.361853 15.2121 1.5185 17.1048 3.83178L19.4337 6.67813C20.636 8.14771 22.4346 9 24.3334 9H0.333374C2.23217 9 4.0307 8.14772 5.23309 6.67813Z' fill='black'/%3E%3C/svg%3E%0A\")}[tuiComment]:where(*[data-tui-version=\"5.21.0\"])[data-direction=bottom]:before{inset-block:100% auto;transform:translate(calc(-50% * var(--tui-inline))) rotate(180deg)}[tuiComment]:where(*[data-tui-version=\"5.21.0\"])[data-direction=start]{border-start-start-radius:1rem min(1rem,31%);border-end-start-radius:1rem min(1rem,31%)}[tuiComment]:where(*[data-tui-version=\"5.21.0\"])[data-direction=start]:before{inset-block:50% 100%;inset-inline:auto 100%;transform:translate(calc(.625rem * var(--tui-inline)),-50%) rotate(calc(-90deg * var(--tui-inline)));clip-path:inset(0 0 .125rem 0)}[tuiComment]:where(*[data-tui-version=\"5.21.0\"])[data-direction=end]{border-start-end-radius:1rem min(1rem,31%);border-end-end-radius:1rem min(1rem,31%)}[tuiComment]:where(*[data-tui-version=\"5.21.0\"])[data-direction=end]:before{inset-block:50% 100%;inset-inline:100% auto;transform:translate(calc(-.625rem * var(--tui-inline)),-50%) rotate(calc(90deg * var(--tui-inline)));clip-path:inset(0 0 .125rem 0)}\n"] }]
13
13
  }] });
14
14
  class TuiComment {
15
15
  constructor() {
@@ -17,7 +17,7 @@ class TuiComment {
17
17
  this.direction = input('top', { alias: 'tuiComment' });
18
18
  }
19
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiComment, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.25", type: TuiComment, isStandalone: true, selector: "[tuiComment]", inputs: { direction: { classPropertyName: "direction", publicName: "tuiComment", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.20.0", "tuiComment": "" }, properties: { "attr.data-direction": "direction()" } }, ngImport: i0 }); }
20
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.25", type: TuiComment, isStandalone: true, selector: "[tuiComment]", inputs: { direction: { classPropertyName: "direction", publicName: "tuiComment", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.21.0", "tuiComment": "" }, properties: { "attr.data-direction": "direction()" } }, ngImport: i0 }); }
21
21
  }
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiComment, decorators: [{
23
23
  type: Directive,
@@ -7,14 +7,14 @@ class TuiCompass {
7
7
  this.degrees = input(Number.NaN);
8
8
  }
9
9
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiCompass, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.25", type: TuiCompass, isStandalone: true, selector: "tui-compass", inputs: { degrees: { classPropertyName: "degrees", publicName: "degrees", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.20.0" }, properties: { "style.--t-degrees.deg": "degrees()" } }, ngImport: i0, template: '', isInline: true, styles: ["tui-compass:where(*[data-tui-version=\"5.20.0\"]){position:relative;display:inline-block;color:var(--tui-background-accent-1);border-radius:50%;inline-size:1rem;block-size:1rem;border:.1875rem solid var(--tui-background-base);box-shadow:0 0 .1875rem #0000004d;transform-style:preserve-3d}tui-compass:where(*[data-tui-version=\"5.20.0\"]):before{content:\"\";position:absolute;inset-block-start:0;inset-inline-start:.125rem;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 8.99993C4 8 8 8 12 8.99993C9.91509 5.73239 8.5 3 6 0C3.5 3 2 5.5 0 8.99993Z\"/></svg>');mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 8.99993C4 8 8 8 12 8.99993C9.91509 5.73239 8.5 3 6 0C3.5 3 2 5.5 0 8.99993Z\"/></svg>');transform:rotate(var(--t-degrees)) translateY(-.625rem) translateZ(-1rem);inline-size:.75rem;block-size:1rem;background:currentColor}tui-compass:where(*[data-tui-version=\"5.20.0\"]):after{position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";border-radius:inherit;background:currentColor linear-gradient(-45deg,rgba(0,0,0,.2),transparent)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.25", type: TuiCompass, isStandalone: true, selector: "tui-compass", inputs: { degrees: { classPropertyName: "degrees", publicName: "degrees", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.21.0" }, properties: { "style.--t-degrees.deg": "degrees()" } }, ngImport: i0, template: '', isInline: true, styles: ["tui-compass:where(*[data-tui-version=\"5.21.0\"]){position:relative;display:inline-block;color:var(--tui-background-accent-1);border-radius:50%;inline-size:1rem;block-size:1rem;border:.1875rem solid var(--tui-background-base);box-shadow:0 0 .1875rem #0000004d;transform-style:preserve-3d}tui-compass:where(*[data-tui-version=\"5.21.0\"]):before{content:\"\";position:absolute;inset-block-start:0;inset-inline-start:.125rem;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 8.99993C4 8 8 8 12 8.99993C9.91509 5.73239 8.5 3 6 0C3.5 3 2 5.5 0 8.99993Z\"/></svg>');mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 8.99993C4 8 8 8 12 8.99993C9.91509 5.73239 8.5 3 6 0C3.5 3 2 5.5 0 8.99993Z\"/></svg>');transform:rotate(var(--t-degrees)) translateY(-.625rem) translateZ(-1rem);inline-size:.75rem;block-size:1rem;background:currentColor}tui-compass:where(*[data-tui-version=\"5.21.0\"]):after{position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";border-radius:inherit;background:currentColor linear-gradient(-45deg,rgba(0,0,0,.2),transparent)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
11
11
  }
12
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiCompass, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'tui-compass', template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
15
15
  'data-tui-version': TUI_VERSION,
16
16
  '[style.--t-degrees.deg]': 'degrees()',
17
- }, styles: ["tui-compass:where(*[data-tui-version=\"5.20.0\"]){position:relative;display:inline-block;color:var(--tui-background-accent-1);border-radius:50%;inline-size:1rem;block-size:1rem;border:.1875rem solid var(--tui-background-base);box-shadow:0 0 .1875rem #0000004d;transform-style:preserve-3d}tui-compass:where(*[data-tui-version=\"5.20.0\"]):before{content:\"\";position:absolute;inset-block-start:0;inset-inline-start:.125rem;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 8.99993C4 8 8 8 12 8.99993C9.91509 5.73239 8.5 3 6 0C3.5 3 2 5.5 0 8.99993Z\"/></svg>');mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 8.99993C4 8 8 8 12 8.99993C9.91509 5.73239 8.5 3 6 0C3.5 3 2 5.5 0 8.99993Z\"/></svg>');transform:rotate(var(--t-degrees)) translateY(-.625rem) translateZ(-1rem);inline-size:.75rem;block-size:1rem;background:currentColor}tui-compass:where(*[data-tui-version=\"5.20.0\"]):after{position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";border-radius:inherit;background:currentColor linear-gradient(-45deg,rgba(0,0,0,.2),transparent)}\n"] }]
17
+ }, styles: ["tui-compass:where(*[data-tui-version=\"5.21.0\"]){position:relative;display:inline-block;color:var(--tui-background-accent-1);border-radius:50%;inline-size:1rem;block-size:1rem;border:.1875rem solid var(--tui-background-base);box-shadow:0 0 .1875rem #0000004d;transform-style:preserve-3d}tui-compass:where(*[data-tui-version=\"5.21.0\"]):before{content:\"\";position:absolute;inset-block-start:0;inset-inline-start:.125rem;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 8.99993C4 8 8 8 12 8.99993C9.91509 5.73239 8.5 3 6 0C3.5 3 2 5.5 0 8.99993Z\"/></svg>');mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 8.99993C4 8 8 8 12 8.99993C9.91509 5.73239 8.5 3 6 0C3.5 3 2 5.5 0 8.99993Z\"/></svg>');transform:rotate(var(--t-degrees)) translateY(-.625rem) translateZ(-1rem);inline-size:.75rem;block-size:1rem;background:currentColor}tui-compass:where(*[data-tui-version=\"5.21.0\"]):after{position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";border-radius:inherit;background:currentColor linear-gradient(-45deg,rgba(0,0,0,.2),transparent)}\n"] }]
18
18
  }] });
19
19
 
20
20
  /**
@@ -42,7 +42,7 @@ class TuiConfirm {
42
42
  size: 'm',
43
43
  appearance: inject(WA_IS_MOBILE) ? 'secondary' : 'flat',
44
44
  })),
45
- ], ngImport: i0, template: "<div\n *polymorpheusOutlet=\"context.data?.content || data.content as text; context: context\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<footer class=\"t-buttons\">\n <button\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"no\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || data.no || words().no }}\n </button>\n <button\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"yes\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || data.yes || words().yes }}\n </button>\n</footer>\n", styles: [":host-context(tui-root._mobile) .t-button{flex:1 0 auto;overflow:visible}:host-context(tui-dialog) .t-content{margin-block-start:-.75rem}:host-context(tui-dialog) .t-buttons{margin:1.25rem 0 0}:host-context(tui-dialog) .t-buttons:first-child{margin-block-start:2rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45
+ ], ngImport: i0, template: "<div\n *polymorpheusOutlet=\"context.data?.content || data.content as text; context: context\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<footer class=\"t-buttons\">\n <button\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"no\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || data.no || words().no }}\n </button>\n <button\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"yes\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || data.yes || words().yes }}\n </button>\n</footer>\n", styles: [":host-context(tui-root._mobile) .t-button{flex:1 0 auto;overflow:visible}:host-context(tui-dialog) .t-content{margin-block-start:-.75rem}:host-context(tui-dialog) .t-buttons{margin:1.25rem 0 0}:host-context(tui-dialog) .t-buttons:first-child{margin-block-start:2rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],label[tuiButton],a[tuiIconButton],button[tuiIconButton],label[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
46
46
  }
47
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiConfirm, decorators: [{
48
48
  type: Component,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-confirm.mjs","sources":["../../../projects/kit/components/confirm/confirm.options.ts","../../../projects/kit/components/confirm/confirm.component.ts","../../../projects/kit/components/confirm/confirm.template.html","../../../projects/kit/components/confirm/confirm.service.ts","../../../projects/kit/components/confirm/taiga-ui-kit-components-confirm.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n// TODO: Rename to TuiConfirmOptions in v6\nexport interface TuiConfirmData {\n readonly content?: PolymorpheusContent;\n readonly no?: string;\n readonly yes?: string;\n readonly appearance?: string | readonly [yes: string, no: string];\n}\n\nexport const [TUI_CONFIRM_OPTIONS, tuiConfirmOptionsProvider] =\n tuiCreateOptions<TuiConfirmData>({\n content: '',\n no: '',\n yes: '',\n appearance: '',\n });\n","import {ChangeDetectionStrategy, Component, inject, InjectionToken} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {TuiAutoFocus} from '@taiga-ui/cdk/directives/auto-focus';\nimport {\n TUI_BUTTON_OPTIONS,\n TuiButton,\n tuiButtonOptionsProvider,\n} from '@taiga-ui/core/components/button';\nimport {type TuiDialogContext} from '@taiga-ui/core/portals/dialog';\nimport {TUI_CONFIRM_WORDS} from '@taiga-ui/kit/tokens';\nimport {\n injectContext,\n PolymorpheusComponent,\n type PolymorpheusContent,\n PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\n\nimport {TUI_CONFIRM_OPTIONS, type TuiConfirmData} from './confirm.options';\n\n@Component({\n imports: [PolymorpheusOutlet, TuiAutoFocus, TuiButton],\n templateUrl: './confirm.template.html',\n styleUrl: './confirm.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiButtonOptionsProvider(() => ({\n size: 'm',\n appearance: inject(WA_IS_MOBILE) ? 'secondary' : 'flat',\n })),\n ],\n})\nexport class TuiConfirm {\n protected readonly options = inject(TUI_BUTTON_OPTIONS);\n protected readonly words = inject(TUI_CONFIRM_WORDS);\n protected readonly data = inject(TUI_CONFIRM_OPTIONS);\n protected readonly context =\n injectContext<TuiDialogContext<boolean, TuiConfirmData | undefined>>();\n\n protected get appearance(): string | readonly [string, string] {\n return this.context.data?.appearance || this.data.appearance || '';\n }\n\n protected get yes(): string {\n return Array.isArray(this.appearance)\n ? this.appearance[0]\n : String(this.appearance || 'primary');\n }\n\n protected get no(): string {\n return Array.isArray(this.appearance)\n ? this.appearance[1]\n : this.options.appearance;\n }\n}\n\nexport const TUI_CONFIRM = new PolymorpheusComponent(TuiConfirm);\n\nexport const TUI_CONFIRM_DIALOG = new InjectionToken<\n PolymorpheusContent<TuiDialogContext<boolean, unknown>>\n>(ngDevMode ? 'TUI_CONFIRM_DIALOG' : '', {factory: () => TUI_CONFIRM});\n","<div\n *polymorpheusOutlet=\"context.data?.content || data.content as text; context: context\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<footer class=\"t-buttons\">\n <button\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"no\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || data.no || words().no }}\n </button>\n <button\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"yes\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || data.yes || words().yes }}\n </button>\n</footer>\n","import {inject, Injectable} from '@angular/core';\nimport {type TuiDialogOptions, TuiDialogService} from '@taiga-ui/core/portals/dialog';\nimport {defer, type Observable, of} from 'rxjs';\n\nimport {TUI_CONFIRM_DIALOG} from './confirm.component';\nimport {type TuiConfirmData} from './confirm.options';\n\n@Injectable()\nexport class TuiConfirmService {\n private readonly dialogs = inject(TuiDialogService);\n private readonly component = inject(TUI_CONFIRM_DIALOG);\n private dirty = false;\n\n public markAsDirty(): void {\n this.dirty = true;\n }\n\n public markAsPristine(): void {\n this.dirty = false;\n }\n\n public withConfirm<T = TuiConfirmData>(\n options: Partial<TuiDialogOptions<NoInfer<T>>>,\n ): Observable<boolean> {\n return defer(() =>\n this.dirty\n ? this.dialogs.open<boolean>(this.component, {size: 's', ...options})\n : of(true),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-confirm.mjs","sources":["../../../projects/kit/components/confirm/confirm.options.ts","../../../projects/kit/components/confirm/confirm.component.ts","../../../projects/kit/components/confirm/confirm.template.html","../../../projects/kit/components/confirm/confirm.service.ts","../../../projects/kit/components/confirm/taiga-ui-kit-components-confirm.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n// TODO: Rename to TuiConfirmOptions in v6\nexport interface TuiConfirmData {\n readonly content?: PolymorpheusContent;\n readonly no?: string;\n readonly yes?: string;\n readonly appearance?: string | readonly [yes: string, no: string];\n}\n\nexport const [TUI_CONFIRM_OPTIONS, tuiConfirmOptionsProvider] =\n tuiCreateOptions<TuiConfirmData>({\n content: '',\n no: '',\n yes: '',\n appearance: '',\n });\n","import {ChangeDetectionStrategy, Component, inject, InjectionToken} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {TuiAutoFocus} from '@taiga-ui/cdk/directives/auto-focus';\nimport {\n TUI_BUTTON_OPTIONS,\n TuiButton,\n tuiButtonOptionsProvider,\n} from '@taiga-ui/core/components/button';\nimport {type TuiDialogContext} from '@taiga-ui/core/portals/dialog';\nimport {TUI_CONFIRM_WORDS} from '@taiga-ui/kit/tokens';\nimport {\n injectContext,\n PolymorpheusComponent,\n type PolymorpheusContent,\n PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\n\nimport {TUI_CONFIRM_OPTIONS, type TuiConfirmData} from './confirm.options';\n\n@Component({\n imports: [PolymorpheusOutlet, TuiAutoFocus, TuiButton],\n templateUrl: './confirm.template.html',\n styleUrl: './confirm.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiButtonOptionsProvider(() => ({\n size: 'm',\n appearance: inject(WA_IS_MOBILE) ? 'secondary' : 'flat',\n })),\n ],\n})\nexport class TuiConfirm {\n protected readonly options = inject(TUI_BUTTON_OPTIONS);\n protected readonly words = inject(TUI_CONFIRM_WORDS);\n protected readonly data = inject(TUI_CONFIRM_OPTIONS);\n protected readonly context =\n injectContext<TuiDialogContext<boolean, TuiConfirmData | undefined>>();\n\n protected get appearance(): string | readonly [string, string] {\n return this.context.data?.appearance || this.data.appearance || '';\n }\n\n protected get yes(): string {\n return Array.isArray(this.appearance)\n ? this.appearance[0]\n : String(this.appearance || 'primary');\n }\n\n protected get no(): string {\n return Array.isArray(this.appearance)\n ? this.appearance[1]\n : this.options.appearance;\n }\n}\n\nexport const TUI_CONFIRM = new PolymorpheusComponent(TuiConfirm);\n\nexport const TUI_CONFIRM_DIALOG = new InjectionToken<\n PolymorpheusContent<TuiDialogContext<boolean, unknown>>\n>(ngDevMode ? 'TUI_CONFIRM_DIALOG' : '', {factory: () => TUI_CONFIRM});\n","<div\n *polymorpheusOutlet=\"context.data?.content || data.content as text; context: context\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<footer class=\"t-buttons\">\n <button\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"no\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || data.no || words().no }}\n </button>\n <button\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"yes\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || data.yes || words().yes }}\n </button>\n</footer>\n","import {inject, Injectable} from '@angular/core';\nimport {type TuiDialogOptions, TuiDialogService} from '@taiga-ui/core/portals/dialog';\nimport {defer, type Observable, of} from 'rxjs';\n\nimport {TUI_CONFIRM_DIALOG} from './confirm.component';\nimport {type TuiConfirmData} from './confirm.options';\n\n@Injectable()\nexport class TuiConfirmService {\n private readonly dialogs = inject(TuiDialogService);\n private readonly component = inject(TUI_CONFIRM_DIALOG);\n private dirty = false;\n\n public markAsDirty(): void {\n this.dirty = true;\n }\n\n public markAsPristine(): void {\n this.dirty = false;\n }\n\n public withConfirm<T = TuiConfirmData>(\n options: Partial<TuiDialogOptions<NoInfer<T>>>,\n ): Observable<boolean> {\n return defer(() =>\n this.dirty\n ? this.dialogs.open<boolean>(this.component, {size: 's', ...options})\n : of(true),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ class TuiButtonCopy {
55
55
  } @else {
56
56
  <ng-content />
57
57
  }
58
- `, isInline: true, styles: ["tui-hint:has([tuiButtonCopy]):where(*[data-tui-version=\"5.20.0\"]){display:flex;padding:.375rem;max-inline-size:none}[tuiButtonCopy]:where(*[data-tui-version=\"5.20.0\"]):not(:first-of-type){margin-inline-start:calc(.75rem - 1px);border-image:linear-gradient(transparent .375rem,var(--tui-border-normal) .375rem,var(--tui-border-normal) calc(100% - .375rem),transparent calc(100% - .375rem)) 0 0 0 1 / 0 1px / 0 .375rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
58
+ `, isInline: true, styles: ["tui-hint:has([tuiButtonCopy]):where(*[data-tui-version=\"5.21.0\"]){display:flex;padding:.375rem;max-inline-size:none}[tuiButtonCopy]:where(*[data-tui-version=\"5.21.0\"]):not(:first-of-type){margin-inline-start:calc(.75rem - 1px);border-image:linear-gradient(transparent .375rem,var(--tui-border-normal) .375rem,var(--tui-border-normal) calc(100% - .375rem),transparent calc(100% - .375rem)) 0 0 0 1 / 0 1px / 0 .375rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
59
59
  }
60
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiButtonCopy, decorators: [{
61
61
  type: Component,
@@ -69,7 +69,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
69
69
  tuiButton: '',
70
70
  type: 'button',
71
71
  '(document:click.capture)': 'copy($event.target)',
72
- }, styles: ["tui-hint:has([tuiButtonCopy]):where(*[data-tui-version=\"5.20.0\"]){display:flex;padding:.375rem;max-inline-size:none}[tuiButtonCopy]:where(*[data-tui-version=\"5.20.0\"]):not(:first-of-type){margin-inline-start:calc(.75rem - 1px);border-image:linear-gradient(transparent .375rem,var(--tui-border-normal) .375rem,var(--tui-border-normal) calc(100% - .375rem),transparent calc(100% - .375rem)) 0 0 0 1 / 0 1px / 0 .375rem}\n"] }]
72
+ }, styles: ["tui-hint:has([tuiButtonCopy]):where(*[data-tui-version=\"5.21.0\"]){display:flex;padding:.375rem;max-inline-size:none}[tuiButtonCopy]:where(*[data-tui-version=\"5.21.0\"]):not(:first-of-type){margin-inline-start:calc(.75rem - 1px);border-image:linear-gradient(transparent .375rem,var(--tui-border-normal) .375rem,var(--tui-border-normal) calc(100% - .375rem),transparent calc(100% - .375rem)) 0 0 0 1 / 0 1px / 0 .375rem}\n"] }]
73
73
  }] });
74
74
 
75
75
  class TuiCopyComponent {
@@ -87,7 +87,7 @@ class TuiCopyComponent {
87
87
  : this.notification.icon('positive');
88
88
  }
89
89
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiCopyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
90
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.25", type: TuiCopyComponent, isStandalone: true, selector: "tui-copy", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "pointerdown": "copied$.next(false)" }, properties: { "attr.data-size": "size()" } }, ngImport: i0, template: "<span\n #content\n tuiHintAppearance=\"floating\"\n tuiHintDirection=\"top\"\n class=\"t-content\"\n [cdkCopyToClipboard]=\"content.textContent ?? ''\"\n [tuiHint]=\"template\"\n [tuiHintManual]=\"!!hint()\"\n (cdkCopyToClipboardCopied)=\"copied$.next($event)\"\n>\n <ng-content />\n</span>\n<button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [attr.aria-label]=\"texts()[0]\"\n [cdkCopyToClipboard]=\"content.textContent ?? ''\"\n [iconStart]=\"options.icon\"\n (cdkCopyToClipboardCopied)=\"copied$.next($event)\"\n></button>\n<ng-template #template>\n <tui-icon\n class=\"t-icon\"\n [icon]=\"check\"\n />\n {{ texts()[1] }}\n</ng-template>\n", styles: [":host{cursor:pointer}:host[data-size=m]{--t-size: min( calc(1em + 1px) , 1rem)}:host[data-size=l]{--t-size: max(calc(1em / 1.57), min(max(calc(1em / 1.18), 1.25rem), 1.5rem))}@media(hover:hover)and (pointer:fine){:host:hover .t-content{opacity:var(--tui-disabled-opacity);-webkit-mask-position:0;mask-position:0}:host:hover .t-button{opacity:1}}:host:has(.t-button:focus-visible) .t-content{opacity:var(--tui-disabled-opacity);-webkit-mask-position:0;mask-position:0}.t-content{transition-property:opacity,mask;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);-webkit-mask-image:linear-gradient(to var(--tui-inline-start),transparent calc(1.25 * var(--t-size)),black calc(2 * var(--t-size))),linear-gradient(to var(--tui-inline-end),black,black calc(2 * var(--t-size)),transparent calc(2 * var(--t-size)));mask-image:linear-gradient(to var(--tui-inline-start),transparent calc(1.25 * var(--t-size)),black calc(2 * var(--t-size))),linear-gradient(to var(--tui-inline-end),black,black calc(2 * var(--t-size)),transparent calc(2 * var(--t-size)));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:calc(var(--tui-inline) * 2 * var(--t-size)),0;mask-position:calc(var(--tui-inline) * 2 * var(--t-size)),0}.t-button{position:sticky;inset-inline-start:0;opacity:0;border-radius:0;font-size:inherit!important;margin-inline-start:calc(-1 * var(--t-size));--t-size: inherit}.t-button:before{font-size:var(--t-size)}.t-button:focus-visible{opacity:1}.t-icon{font-size:1rem;margin-inline-end:.25rem;vertical-align:sub;color:var(--tui-text-positive)}\n"], dependencies: [{ kind: "ngmodule", type: ClipboardModule }, { kind: "directive", type: i1$1.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i2.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"], outputs: ["tuiHintVisible"] }, { kind: "directive", type: i2.TuiHintManual, selector: "[tuiHint][tuiHintManual]", inputs: ["tuiHintManual"] }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.25", type: TuiCopyComponent, isStandalone: true, selector: "tui-copy", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "pointerdown": "copied$.next(false)" }, properties: { "attr.data-size": "size()" } }, ngImport: i0, template: "<span\n #content\n tuiHintAppearance=\"floating\"\n tuiHintDirection=\"top\"\n class=\"t-content\"\n [cdkCopyToClipboard]=\"content.textContent ?? ''\"\n [tuiHint]=\"template\"\n [tuiHintManual]=\"!!hint()\"\n (cdkCopyToClipboardCopied)=\"copied$.next($event)\"\n>\n <ng-content />\n</span>\n<button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [attr.aria-label]=\"texts()[0]\"\n [cdkCopyToClipboard]=\"content.textContent ?? ''\"\n [iconStart]=\"options.icon\"\n (cdkCopyToClipboardCopied)=\"copied$.next($event)\"\n></button>\n<ng-template #template>\n <tui-icon\n class=\"t-icon\"\n [icon]=\"check\"\n />\n {{ texts()[1] }}\n</ng-template>\n", styles: [":host{cursor:pointer}:host[data-size=m]{--t-size: min( calc(1em + 1px) , 1rem)}:host[data-size=l]{--t-size: max(calc(1em / 1.57), min(max(calc(1em / 1.18), 1.25rem), 1.5rem))}@media(hover:hover)and (pointer:fine){:host:hover .t-content{opacity:var(--tui-disabled-opacity);-webkit-mask-position:0;mask-position:0}:host:hover .t-button{opacity:1}}:host:has(.t-button:focus-visible) .t-content{opacity:var(--tui-disabled-opacity);-webkit-mask-position:0;mask-position:0}.t-content{transition-property:opacity,mask;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);-webkit-mask-image:linear-gradient(to var(--tui-inline-start),transparent calc(1.25 * var(--t-size)),black calc(2 * var(--t-size))),linear-gradient(to var(--tui-inline-end),black,black calc(2 * var(--t-size)),transparent calc(2 * var(--t-size)));mask-image:linear-gradient(to var(--tui-inline-start),transparent calc(1.25 * var(--t-size)),black calc(2 * var(--t-size))),linear-gradient(to var(--tui-inline-end),black,black calc(2 * var(--t-size)),transparent calc(2 * var(--t-size)));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:calc(var(--tui-inline) * 2 * var(--t-size)),0;mask-position:calc(var(--tui-inline) * 2 * var(--t-size)),0}.t-button{position:sticky;inset-inline-start:0;opacity:0;border-radius:0;font-size:inherit!important;margin-inline-start:calc(-1 * var(--t-size));--t-size: inherit}.t-button:before{font-size:var(--t-size)}.t-button:focus-visible{opacity:1}.t-icon{font-size:1rem;margin-inline-end:.25rem;vertical-align:sub;color:var(--tui-text-positive)}\n"], dependencies: [{ kind: "ngmodule", type: ClipboardModule }, { kind: "directive", type: i1$1.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],label[tuiButton],a[tuiIconButton],button[tuiIconButton],label[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i2.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"], outputs: ["tuiHintVisible"] }, { kind: "directive", type: i2.TuiHintManual, selector: "[tuiHint][tuiHintManual]", inputs: ["tuiHintManual"] }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
91
91
  }
92
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiCopyComponent, decorators: [{
93
93
  type: Component,