@taiga-ui/legacy 4.52.0-canary.3915ce7 → 4.52.0-canary.39c57da

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 (122) hide show
  1. package/classes/abstract-textfield-host.d.ts +1 -1
  2. package/components/dialog/dialog.component.d.ts +19 -0
  3. package/components/dialog/dialog.directive.d.ts +8 -0
  4. package/components/dialog/dialog.factory.d.ts +16 -0
  5. package/components/dialog/dialog.interfaces.d.ts +30 -0
  6. package/components/dialog/dialog.service.d.ts +10 -0
  7. package/components/dialog/dialog.tokens.d.ts +8 -0
  8. package/components/dialog/index.d.ts +6 -0
  9. package/components/index.d.ts +3 -2
  10. package/components/input/input.module.d.ts +4 -4
  11. package/components/input-date-range/input-date-range.component.d.ts +1 -2
  12. package/components/input-date-range/input-date-range.module.d.ts +8 -9
  13. package/components/input-date-time/input-date-time.component.d.ts +5 -5
  14. package/components/input-date-time/input-date-time.module.d.ts +6 -6
  15. package/components/input-month-range/input-month-range.module.d.ts +3 -3
  16. package/components/input-number/input-number.component.d.ts +1 -2
  17. package/components/input-number/input-number.module.d.ts +5 -5
  18. package/components/input-range/input-range.component.d.ts +1 -1
  19. package/components/input-range/input-range.module.d.ts +4 -4
  20. package/components/input-tag/input-tag.module.d.ts +8 -8
  21. package/components/mobile-dialog/index.d.ts +3 -0
  22. package/components/mobile-dialog/mobile-dialog.component.d.ts +10 -0
  23. package/components/mobile-dialog/mobile-dialog.options.d.ts +12 -0
  24. package/components/mobile-dialog/mobile-dialog.service.d.ts +14 -0
  25. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +1 -1
  26. package/components/multi-select/multi-select.module.d.ts +11 -12
  27. package/components/pdf-viewer/index.d.ts +4 -0
  28. package/components/pdf-viewer/pdf-viewer.component.d.ts +12 -0
  29. package/components/pdf-viewer/pdf-viewer.directive.d.ts +8 -0
  30. package/components/pdf-viewer/pdf-viewer.options.d.ts +13 -0
  31. package/components/pdf-viewer/pdf-viewer.service.d.ts +17 -0
  32. package/components/primitive-textfield/primitive-textfield.module.d.ts +5 -5
  33. package/components/select/select.module.d.ts +8 -8
  34. package/components/select-option/select-option.module.d.ts +3 -3
  35. package/components/tag/tag.module.d.ts +4 -4
  36. package/components/textarea/textarea.module.d.ts +7 -7
  37. package/fesm2022/taiga-ui-legacy-classes.mjs +1 -3
  38. package/fesm2022/taiga-ui-legacy-classes.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-legacy-components-dialog.mjs +141 -0
  41. package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -0
  42. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +33 -43
  43. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +30 -36
  45. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +10 -10
  47. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +23 -30
  49. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +12 -12
  51. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +23 -23
  54. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-legacy-components-input.mjs +7 -6
  56. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs +67 -0
  58. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs.map +1 -0
  59. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +29 -33
  61. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +93 -0
  63. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -0
  64. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +16 -16
  65. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +6 -6
  67. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-legacy-components-select.mjs +25 -25
  69. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-legacy-components-tag.mjs +10 -10
  71. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +23 -23
  73. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-legacy-components.mjs +3 -2
  75. package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +0 -1
  77. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +1 -3
  79. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-legacy-utils.mjs +1 -7
  81. package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-legacy.mjs +0 -2
  83. package/fesm2022/taiga-ui-legacy.mjs.map +1 -1
  84. package/index.d.ts +0 -2
  85. package/package.json +16 -29
  86. package/utils/icons-path-factory.d.ts +1 -1
  87. package/utils/index.d.ts +0 -1
  88. package/components/combo-box/combo-box-strict.directive.d.ts +0 -12
  89. package/components/combo-box/combo-box.component.d.ts +0 -52
  90. package/components/combo-box/combo-box.directive.d.ts +0 -13
  91. package/components/combo-box/combo-box.module.d.ts +0 -20
  92. package/components/combo-box/index.d.ts +0 -4
  93. package/components/svg/content-processor.d.ts +0 -19
  94. package/components/svg/deprecated-icons.d.ts +0 -5
  95. package/components/svg/index.d.ts +0 -5
  96. package/components/svg/svg-options.d.ts +0 -50
  97. package/components/svg/svg.component.d.ts +0 -50
  98. package/components/svg/svg.service.d.ts +0 -21
  99. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +0 -299
  100. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +0 -1
  101. package/fesm2022/taiga-ui-legacy-components-svg.mjs +0 -387
  102. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +0 -1
  103. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +0 -59
  104. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +0 -1
  105. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -50
  106. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +0 -1
  107. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +0 -80
  108. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +0 -1
  109. package/fesm2022/taiga-ui-legacy-pipes.mjs +0 -8
  110. package/fesm2022/taiga-ui-legacy-pipes.mjs.map +0 -1
  111. package/fesm2022/taiga-ui-legacy-services.mjs +0 -42
  112. package/fesm2022/taiga-ui-legacy-services.mjs.map +0 -1
  113. package/pipes/format-phone/format-phone.pipe.d.ts +0 -37
  114. package/pipes/format-phone/index.d.ts +0 -1
  115. package/pipes/index.d.ts +0 -3
  116. package/pipes/iso-to-country-code/index.d.ts +0 -1
  117. package/pipes/iso-to-country-code/iso-to-country-code.pipe.d.ts +0 -30
  118. package/pipes/to-country-code/index.d.ts +0 -1
  119. package/pipes/to-country-code/to-country-code.pipe.d.ts +0 -38
  120. package/services/index.d.ts +0 -1
  121. package/services/static-request.service.d.ts +0 -11
  122. package/utils/is-apple.d.ts +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-textarea.mjs","sources":["../../../projects/legacy/components/textarea/textarea.component.ts","../../../projects/legacy/components/textarea/textarea.template.html","../../../projects/legacy/components/textarea/textarea.directive.ts","../../../projects/legacy/components/textarea/textarea.module.ts","../../../projects/legacy/components/textarea/taiga-ui-legacy-components-textarea.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {AbstractTuiControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {\n TUI_ICON_START_PADDINGS,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {tuiGetBorder} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport const DEFAULT_ROWS = 20;\nexport const LINE_HEIGHT_M = 20;\nexport const LINE_HEIGHT_L = 24;\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/textarea Textarea} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-textarea',\n templateUrl: './textarea.template.html',\n styleUrls: ['./textarea.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiTextareaComponent),\n tuiAsControl(TuiTextareaComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'size',\n '[class._ios]': 'isIOS',\n '[class._expandable]': 'expandable',\n '[class._has-counter]': 'hasCounter',\n '[class._label-outside]': 'labelOutside',\n '[class._has-tooltip]': 'hasTooltip',\n '[class._has-value]': 'hasValue',\n '[style.--t-border-end.rem]': 'borderEnd',\n '[style.--t-border-start.rem]': 'borderStart',\n '(focusin)': 'onFocused(true)',\n '(focusout)': 'onFocused(false)',\n },\n})\nexport class TuiTextareaComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLTextAreaElement>;\n\n @ContentChild(TuiTextfieldComponent, {read: ElementRef})\n private readonly textfield?: ElementRef<HTMLTextAreaElement>;\n\n private readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n\n protected readonly isIOS = inject(TUI_IS_IOS);\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true});\n\n @Input()\n public rows = DEFAULT_ROWS;\n\n @Input()\n public maxLength: number | null = null;\n\n @Input()\n public expandable = false;\n\n public get nativeFocusableElement(): HTMLTextAreaElement | null {\n if (this.computedDisabled) {\n return null;\n }\n\n return (\n this.textfield?.nativeElement || this.focusableElement?.nativeElement || null\n );\n }\n\n public get focused(): boolean {\n return tuiIsFocused(this.nativeFocusableElement);\n }\n\n public get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n public onValueChange(value: string): void {\n this.value = value;\n }\n\n protected get labelOutside(): boolean {\n return this.options.appearance() === 'table' || this.controller.labelOutside;\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n protected get borderStart(): number {\n return this.iconLeftContent ? TUI_ICON_START_PADDINGS[this.size] : 0;\n }\n\n protected get borderEnd(): number {\n return tuiGetBorder(\n !!this.iconContent,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n this.size,\n );\n }\n\n protected get hasTooltip(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.controller.options.hintOnDisabled || !this.computedDisabled)\n );\n }\n\n protected get hasValue(): boolean {\n return this.value !== '';\n }\n\n protected get hasCounter(): boolean {\n return !!this.maxLength && this.interactive;\n }\n\n protected get appearance(): string {\n return this.options.appearance() === 'table'\n ? 'table'\n : this.controller.appearance;\n }\n\n protected get hasCleaner(): boolean {\n return this.controller.cleaner && this.hasValue && this.interactive;\n }\n\n protected get hasPlaceholder(): boolean {\n return this.placeholderRaisable || (!this.hasValue && !this.hasExampleText);\n }\n\n protected get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n protected get iconLeftContent(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeS>\n > {\n return this.controller.iconStart;\n }\n\n protected get iconContent(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.icon;\n }\n\n protected get iconCleaner(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.options.iconCleaner;\n }\n\n protected get hasExampleText(): boolean {\n return (\n !!this.textfield?.nativeElement.placeholder &&\n this.focused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n protected get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n protected get fittedContent(): string {\n return this.value.slice(0, this.maxLength || Infinity);\n }\n\n protected get extraContent(): string {\n return this.value.slice(this.maxLength || Infinity);\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected onMouseDown(event: MouseEvent): void {\n if (event.target === this.nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus();\n }\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private get lineHeight(): number {\n return this.controller.size === 'm' ? LINE_HEIGHT_M : LINE_HEIGHT_L;\n }\n\n private get placeholderRaisable(): boolean {\n return this.size !== 's' && !this.controller.labelOutside;\n }\n}\n","@if (hintOptions?.change$ | async) {}\n<div\n automation-id=\"tui-text-area__wrapper\"\n tuiWrapper\n class=\"t-outline\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n>\n @if (hasCounter) {\n <div\n automation-id=\"tui-text-area__counter\"\n class=\"t-counter\"\n >\n {{ value.length }}/{{ maxLength }}\n </div>\n }\n\n <label\n class=\"t-content\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-wrapper\">\n @if (hasPlaceholder) {\n <div\n automation-id=\"tui-text-area__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content />\n </div>\n }\n <tui-scrollbar\n automation-id=\"tui-text-area__scrollbar\"\n class=\"t-box\"\n [style.maxHeight.px]=\"computeMaxHeight\"\n >\n <div class=\"t-input-wrapper\">\n <div class=\"t-relative\">\n <div\n aria-hidden=\"true\"\n class=\"t-pseudo-content\"\n >\n <span [textContent]=\"fittedContent || nativeFocusableElement?.placeholder\"></span>\n <span\n class=\"t-pseudo-content__extra\"\n [textContent]=\"extraContent\"\n ></span>\n <span class=\"t-caret\"></span>\n </div>\n <textarea\n #focusableElement\n automation-id=\"tui-text-area__native\"\n class=\"t-input\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n [(ngModel)]=\"value\"\n ></textarea>\n <ng-content select=\"textarea\" />\n </div>\n </div>\n </tui-scrollbar>\n </div>\n <div class=\"t-icons\">\n @if (iconLeftContent) {\n <div class=\"t-icon t-icon_left t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n @if (hasCustomContent) {\n <tui-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n [icon]=\"src\"\n />\n }\n @if (hasCleaner) {\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onValueChange('')\"\n />\n }\n @if (hasTooltip) {\n <tui-tooltip\n automation-id=\"tui-text-area__tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n }\n @if (iconContent) {\n <div class=\"t-icon t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n </div>\n </label>\n</div>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiTextareaComponent} from './textarea.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/textarea Textarea} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-textarea',\n providers: [tuiAsTextfieldHost(TuiTextareaDirective)],\n})\nexport class TuiTextareaDirective extends AbstractTuiTextfieldHost<TuiTextareaComponent> {\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiTooltipModule} from '@taiga-ui/legacy/components/tooltip';\nimport {TuiWrapperModule} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiTextareaComponent} from './textarea.component';\nimport {TuiTextareaDirective} from './textarea.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/textarea Textarea} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiScrollbar,\n TuiTooltipModule,\n TuiWrapperModule,\n TuiPrimitiveTextfieldModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiIcon,\n TuiAppearance,\n ],\n declarations: [TuiTextareaComponent, TuiTextareaDirective],\n exports: [\n TuiTextareaComponent,\n TuiTextareaDirective,\n TuiTextfieldComponent,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n ],\n})\nexport class TuiTextareaModule {}\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-legacy-components-textarea.mjs","sources":["../../../projects/legacy/components/textarea/textarea.component.ts","../../../projects/legacy/components/textarea/textarea.template.html","../../../projects/legacy/components/textarea/textarea.directive.ts","../../../projects/legacy/components/textarea/textarea.module.ts","../../../projects/legacy/components/textarea/taiga-ui-legacy-components-textarea.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {AbstractTuiControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {\n TUI_ICON_START_PADDINGS,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {tuiGetBorder} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport const DEFAULT_ROWS = 20;\nexport const LINE_HEIGHT_M = 20;\nexport const LINE_HEIGHT_L = 24;\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/textarea Textarea} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-textarea',\n templateUrl: './textarea.template.html',\n styleUrl: './textarea.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiTextareaComponent),\n tuiAsControl(TuiTextareaComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'size',\n '[class._ios]': 'isIOS',\n '[class._expandable]': 'expandable',\n '[class._has-counter]': 'hasCounter',\n '[class._label-outside]': 'labelOutside',\n '[class._has-tooltip]': 'hasTooltip',\n '[class._has-value]': 'hasValue',\n '[style.--t-border-end.rem]': 'borderEnd',\n '[style.--t-border-start.rem]': 'borderStart',\n '(focusin)': 'onFocused(true)',\n '(focusout)': 'onFocused(false)',\n },\n})\nexport class TuiTextareaComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLTextAreaElement>;\n\n @ContentChild(TuiTextfieldComponent, {read: ElementRef})\n private readonly textfield?: ElementRef<HTMLTextAreaElement>;\n\n private readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n\n protected readonly isIOS = inject(TUI_IS_IOS);\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true});\n\n @Input()\n public rows = DEFAULT_ROWS;\n\n @Input()\n public maxLength: number | null = null;\n\n @Input()\n public expandable = false;\n\n public get nativeFocusableElement(): HTMLTextAreaElement | null {\n if (this.computedDisabled) {\n return null;\n }\n\n return (\n this.textfield?.nativeElement || this.focusableElement?.nativeElement || null\n );\n }\n\n public get focused(): boolean {\n return tuiIsFocused(this.nativeFocusableElement);\n }\n\n public get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n public onValueChange(value: string): void {\n this.value = value;\n }\n\n protected get labelOutside(): boolean {\n return this.options.appearance() === 'table' || this.controller.labelOutside;\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n protected get borderStart(): number {\n return this.iconLeftContent ? TUI_ICON_START_PADDINGS[this.size] : 0;\n }\n\n protected get borderEnd(): number {\n return tuiGetBorder(\n !!this.iconContent,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n this.size,\n );\n }\n\n protected get hasTooltip(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.controller.options.hintOnDisabled || !this.computedDisabled)\n );\n }\n\n protected get hasValue(): boolean {\n return this.value !== '';\n }\n\n protected get hasCounter(): boolean {\n return !!this.maxLength && this.interactive;\n }\n\n protected get appearance(): string {\n return this.options.appearance() === 'table'\n ? 'table'\n : this.controller.appearance;\n }\n\n protected get hasCleaner(): boolean {\n return this.controller.cleaner && this.hasValue && this.interactive;\n }\n\n protected get hasPlaceholder(): boolean {\n return this.placeholderRaisable || (!this.hasValue && !this.hasExampleText);\n }\n\n protected get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n protected get iconLeftContent(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeS>\n > {\n return this.controller.iconStart;\n }\n\n protected get iconContent(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.icon;\n }\n\n protected get iconCleaner(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.options.iconCleaner;\n }\n\n protected get hasExampleText(): boolean {\n return (\n !!this.textfield?.nativeElement.placeholder &&\n this.focused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n protected get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n protected get fittedContent(): string {\n return this.value.slice(0, this.maxLength || Infinity);\n }\n\n protected get extraContent(): string {\n return this.value.slice(this.maxLength || Infinity);\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected onMouseDown(event: MouseEvent): void {\n if (event.target === this.nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus();\n }\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private get lineHeight(): number {\n return this.controller.size === 'm' ? LINE_HEIGHT_M : LINE_HEIGHT_L;\n }\n\n private get placeholderRaisable(): boolean {\n return this.size !== 's' && !this.controller.labelOutside;\n }\n}\n","@if (hintOptions?.change$ | async) {}\n<div\n automation-id=\"tui-text-area__wrapper\"\n tuiWrapper\n class=\"t-outline\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n>\n @if (hasCounter) {\n <div\n automation-id=\"tui-text-area__counter\"\n class=\"t-counter\"\n >\n {{ value.length }}/{{ maxLength }}\n </div>\n }\n\n <label\n class=\"t-content\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-wrapper\">\n @if (hasPlaceholder) {\n <div\n automation-id=\"tui-text-area__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content />\n </div>\n }\n <tui-scrollbar\n automation-id=\"tui-text-area__scrollbar\"\n class=\"t-box\"\n [style.maxHeight.px]=\"computeMaxHeight\"\n >\n <div class=\"t-input-wrapper\">\n <div class=\"t-relative\">\n <div\n aria-hidden=\"true\"\n class=\"t-pseudo-content\"\n >\n <span [textContent]=\"fittedContent || nativeFocusableElement?.placeholder\"></span>\n <span\n class=\"t-pseudo-content__extra\"\n [textContent]=\"extraContent\"\n ></span>\n <span class=\"t-caret\"></span>\n </div>\n <textarea\n #focusableElement\n automation-id=\"tui-text-area__native\"\n class=\"t-input\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n [(ngModel)]=\"value\"\n ></textarea>\n <ng-content select=\"textarea\" />\n </div>\n </div>\n </tui-scrollbar>\n </div>\n <div class=\"t-icons\">\n @if (iconLeftContent) {\n <div class=\"t-icon t-icon_left t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n @if (hasCustomContent) {\n <tui-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n [icon]=\"src\"\n />\n }\n @if (hasCleaner) {\n <tui-icon\n *polymorpheusOutlet=\"iconCleaner as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n class=\"t-cleaner\"\n [icon]=\"src.toString()\"\n (click.stop)=\"onValueChange('')\"\n />\n }\n @if (hasTooltip) {\n <tui-tooltip\n automation-id=\"tui-text-area__tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"id\"\n />\n }\n @if (iconContent) {\n <div class=\"t-icon t-textfield-icon\">\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n }\n </div>\n </label>\n</div>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiTextareaComponent} from './textarea.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/textarea Textarea} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-textarea',\n providers: [tuiAsTextfieldHost(TuiTextareaDirective)],\n})\nexport class TuiTextareaDirective extends AbstractTuiTextfieldHost<TuiTextareaComponent> {\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiTooltipModule} from '@taiga-ui/legacy/components/tooltip';\nimport {TuiWrapperModule} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiTextareaComponent} from './textarea.component';\nimport {TuiTextareaDirective} from './textarea.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/textarea Textarea} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiAppearance,\n TuiIcon,\n TuiPrimitiveTextfieldModule,\n TuiScrollbar,\n TuiTooltipModule,\n TuiWrapperModule,\n ],\n declarations: [TuiTextareaComponent, TuiTextareaDirective],\n exports: [\n TuiTextareaComponent,\n TuiTextareaDirective,\n TuiTextfieldComponent,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n ],\n})\nexport class TuiTextareaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export * from '@taiga-ui/legacy/components/arrow';
2
- export * from '@taiga-ui/legacy/components/combo-box';
2
+ export * from '@taiga-ui/legacy/components/dialog';
3
3
  export * from '@taiga-ui/legacy/components/input';
4
4
  export * from '@taiga-ui/legacy/components/input-date-range';
5
5
  export * from '@taiga-ui/legacy/components/input-date-time';
@@ -8,12 +8,13 @@ export * from '@taiga-ui/legacy/components/input-number';
8
8
  export * from '@taiga-ui/legacy/components/input-range';
9
9
  export * from '@taiga-ui/legacy/components/input-slider';
10
10
  export * from '@taiga-ui/legacy/components/input-tag';
11
+ export * from '@taiga-ui/legacy/components/mobile-dialog';
11
12
  export * from '@taiga-ui/legacy/components/multi-select';
12
13
  export * from '@taiga-ui/legacy/components/multi-select-option';
14
+ export * from '@taiga-ui/legacy/components/pdf-viewer';
13
15
  export * from '@taiga-ui/legacy/components/primitive-textfield';
14
16
  export * from '@taiga-ui/legacy/components/select';
15
17
  export * from '@taiga-ui/legacy/components/select-option';
16
- export * from '@taiga-ui/legacy/components/svg';
17
18
  export * from '@taiga-ui/legacy/components/tag';
18
19
  export * from '@taiga-ui/legacy/components/textarea';
19
20
  export * from '@taiga-ui/legacy/components/tooltip';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-components.mjs","sources":["../../../projects/legacy/components/taiga-ui-legacy-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;;AAEG"}
1
+ {"version":3,"file":"taiga-ui-legacy-components.mjs","sources":["../../../projects/legacy/components/taiga-ui-legacy-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AAEG"}
@@ -37,7 +37,6 @@ class TuiLegacyDropdownOpenMonitorDirective {
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiLegacyDropdownOpenMonitorDirective, decorators: [{
38
38
  type: Directive,
39
39
  args: [{
40
- standalone: true,
41
40
  selector: '[tuiDropdownOpenMonitor]',
42
41
  }]
43
42
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs","sources":["../../../projects/legacy/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.ts","../../../projects/legacy/directives/legacy-dropdown-open-monitor/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.ts"],"sourcesContent":["import {type AfterViewInit, DestroyRef, Directive, inject} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGetClosestFocusable} from '@taiga-ui/cdk/utils/focus';\nimport {TuiDropdownOpen, TuiDropdownOpenLegacy} from '@taiga-ui/core/directives/dropdown';\nimport {distinctUntilChanged} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiDropdownOpenMonitor]',\n})\nexport class TuiLegacyDropdownOpenMonitorDirective implements AfterViewInit {\n private readonly destroyRef = inject(DestroyRef);\n private readonly el = tuiInjectElement();\n private readonly host = inject(TuiDropdownOpen, {self: true});\n private readonly external = inject(TuiDropdownOpenLegacy, {\n optional: true,\n });\n\n public ngAfterViewInit(): void {\n this.external?.tuiDropdownOpenChange\n .pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))\n .subscribe((open) => {\n if (open) {\n tuiGetClosestFocusable({\n initial: this.el,\n root: this.el,\n })?.focus();\n }\n\n this.host.toggle(open);\n });\n\n this.host.driver\n .pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))\n .subscribe((open) => this.external?.emitOpenChange(open));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAWa,qCAAqC,CAAA;AAJlD,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC/B,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE;QACvB,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC,eAAe,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;AAC5C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,qBAAqB,EAAE;AACtD,YAAA,QAAQ,EAAE,IAAI;AACjB,SAAA,CAAC;AAoBL;IAlBU,eAAe,GAAA;QAClB,IAAI,CAAC,QAAQ,EAAE;aACV,IAAI,CAAC,oBAAoB,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AAChE,aAAA,SAAS,CAAC,CAAC,IAAI,KAAI;YAChB,IAAI,IAAI,EAAE;AACN,gBAAA,sBAAsB,CAAC;oBACnB,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,IAAI,EAAE,IAAI,CAAC,EAAE;iBAChB,CAAC,EAAE,KAAK,EAAE;;AAGf,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC1B,SAAC,CAAC;QAEN,IAAI,CAAC,IAAI,CAAC;aACL,IAAI,CAAC,oBAAoB,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AAChE,aAAA,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;;+GAxBxD,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAArC,qCAAqC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAArC,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAJjD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,0BAA0B;AACvC,iBAAA;;;ACVD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs","sources":["../../../projects/legacy/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.ts","../../../projects/legacy/directives/legacy-dropdown-open-monitor/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.ts"],"sourcesContent":["import {type AfterViewInit, DestroyRef, Directive, inject} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGetClosestFocusable} from '@taiga-ui/cdk/utils/focus';\nimport {TuiDropdownOpen, TuiDropdownOpenLegacy} from '@taiga-ui/core/directives/dropdown';\nimport {distinctUntilChanged} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdownOpenMonitor]',\n})\nexport class TuiLegacyDropdownOpenMonitorDirective implements AfterViewInit {\n private readonly destroyRef = inject(DestroyRef);\n private readonly el = tuiInjectElement();\n private readonly host = inject(TuiDropdownOpen, {self: true});\n private readonly external = inject(TuiDropdownOpenLegacy, {\n optional: true,\n });\n\n public ngAfterViewInit(): void {\n this.external?.tuiDropdownOpenChange\n .pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))\n .subscribe((open) => {\n if (open) {\n tuiGetClosestFocusable({\n initial: this.el,\n root: this.el,\n })?.focus();\n }\n\n this.host.toggle(open);\n });\n\n this.host.driver\n .pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))\n .subscribe((open) => this.external?.emitOpenChange(open));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAUa,qCAAqC,CAAA;AAHlD,IAAA,WAAA,GAAA;AAIqB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC/B,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE;QACvB,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC,eAAe,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;AAC5C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,qBAAqB,EAAE;AACtD,YAAA,QAAQ,EAAE,IAAI;AACjB,SAAA,CAAC;AAoBL;IAlBU,eAAe,GAAA;QAClB,IAAI,CAAC,QAAQ,EAAE;aACV,IAAI,CAAC,oBAAoB,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AAChE,aAAA,SAAS,CAAC,CAAC,IAAI,KAAI;YAChB,IAAI,IAAI,EAAE;AACN,gBAAA,sBAAsB,CAAC;oBACnB,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,IAAI,EAAE,IAAI,CAAC,EAAE;iBAChB,CAAC,EAAE,KAAK,EAAE;;AAGf,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC1B,SAAC,CAAC;QAEN,IAAI,CAAC,IAAI,CAAC;aACL,IAAI,CAAC,oBAAoB,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AAChE,aAAA,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;;+GAxBxD,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAArC,qCAAqC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAArC,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAHjD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;AACvC,iBAAA;;;ACTD;;AAEG;;;;"}
@@ -2,7 +2,6 @@ import { TuiValidationError } from '@taiga-ui/cdk/classes';
2
2
  import { tuiIsHTMLElement, tuiIsInput } from '@taiga-ui/cdk/utils/dom';
3
3
  import * as i0 from '@angular/core';
4
4
  import { inject, INJECTOR, Input, Directive } from '@angular/core';
5
- import { toSignal } from '@angular/core/rxjs-interop';
6
5
  import { NG_VALIDATORS } from '@angular/forms';
7
6
  import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
8
7
  import { TUI_DEFAULT_ERROR_MESSAGE } from '@taiga-ui/core/tokens';
@@ -23,7 +22,7 @@ function tuiCreateUnfinishedValidator(nativeInputGetter, message) {
23
22
 
24
23
  class TuiUnfinishedValidator {
25
24
  constructor() {
26
- this.default = toSignal(inject(TUI_DEFAULT_ERROR_MESSAGE));
25
+ this.default = inject(TUI_DEFAULT_ERROR_MESSAGE);
27
26
  this.injector = inject(INJECTOR);
28
27
  this.tuiUnfinishedValidator = '';
29
28
  this.validate = tuiCreateUnfinishedValidator(() => this.injector.get(TUI_FOCUSABLE_ITEM_ACCESSOR), () => this.tuiUnfinishedValidator || this.default());
@@ -34,7 +33,6 @@ class TuiUnfinishedValidator {
34
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiUnfinishedValidator, decorators: [{
35
34
  type: Directive,
36
35
  args: [{
37
- standalone: true,
38
36
  selector: '[tuiUnfinishedValidator]',
39
37
  providers: [tuiProvide(NG_VALIDATORS, TuiUnfinishedValidator, true)],
40
38
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-directives-unfinished-validator.mjs","sources":["../../../projects/legacy/directives/unfinished-validator/unfinished.validator.ts","../../../projects/legacy/directives/unfinished-validator/unfinished-validator.directive.ts","../../../projects/legacy/directives/unfinished-validator/taiga-ui-legacy-directives-unfinished-validator.ts"],"sourcesContent":["import {type AbstractControl, type ValidatorFn} from '@angular/forms';\nimport {TuiValidationError} from '@taiga-ui/cdk/classes';\nimport {tuiIsHTMLElement, tuiIsInput} from '@taiga-ui/cdk/utils/dom';\nimport {type TuiFocusableElementAccessor} from '@taiga-ui/legacy/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport function tuiCreateUnfinishedValidator(\n nativeInputGetter: () => TuiFocusableElementAccessor,\n message: PolymorpheusContent,\n): ValidatorFn {\n return ({\n value,\n }: AbstractControl): {unfinished: TuiValidationError | string} | null => {\n const nativeInput = nativeInputGetter();\n\n return value === null &&\n nativeInput &&\n tuiIsHTMLElement(nativeInput.nativeFocusableElement) &&\n tuiIsInput(nativeInput.nativeFocusableElement) &&\n nativeInput.nativeFocusableElement.value !== ''\n ? {unfinished: new TuiValidationError(message)}\n : null;\n };\n}\n","import {Directive, inject, INJECTOR, Input} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {NG_VALIDATORS, type Validator} from '@angular/forms';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_DEFAULT_ERROR_MESSAGE} from '@taiga-ui/core/tokens';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/legacy/tokens';\n\nimport {tuiCreateUnfinishedValidator} from './unfinished.validator';\n\n@Directive({\n standalone: true,\n selector: '[tuiUnfinishedValidator]',\n providers: [tuiProvide(NG_VALIDATORS, TuiUnfinishedValidator, true)],\n})\nexport class TuiUnfinishedValidator implements Validator {\n private readonly default = toSignal(inject(TUI_DEFAULT_ERROR_MESSAGE));\n private readonly injector = inject(INJECTOR);\n\n @Input()\n public tuiUnfinishedValidator = '';\n\n public readonly validate = tuiCreateUnfinishedValidator(\n () => this.injector.get(TUI_FOCUSABLE_ITEM_ACCESSOR),\n () => this.tuiUnfinishedValidator || this.default(),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAMgB,SAAA,4BAA4B,CACxC,iBAAoD,EACpD,OAA4B,EAAA;AAE5B,IAAA,OAAO,CAAC,EACJ,KAAK,GACS,KAAsD;AACpE,QAAA,MAAM,WAAW,GAAG,iBAAiB,EAAE;QAEvC,OAAO,KAAK,KAAK,IAAI;YACjB,WAAW;AACX,YAAA,gBAAgB,CAAC,WAAW,CAAC,sBAAsB,CAAC;AACpD,YAAA,UAAU,CAAC,WAAW,CAAC,sBAAsB,CAAC;AAC9C,YAAA,WAAW,CAAC,sBAAsB,CAAC,KAAK,KAAK;cAC3C,EAAC,UAAU,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC;cAC5C,IAAI;AACd,KAAC;AACL;;MCTa,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;QAMqB,IAAO,CAAA,OAAA,GAAG,QAAQ,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;AACrD,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAGrC,IAAsB,CAAA,sBAAA,GAAG,EAAE;QAElB,IAAQ,CAAA,QAAA,GAAG,4BAA4B,CACnD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,2BAA2B,CAAC,EACpD,MAAM,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,OAAO,EAAE,CACtD;AACJ;+GAXY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,EAAA,SAAA,EAFpB,CAAC,UAAU,CAAC,aAAa,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAE3D,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,0BAA0B;oBACpC,SAAS,EAAE,CAAC,UAAU,CAAC,aAAa,EAA0B,sBAAA,EAAA,IAAI,CAAC,CAAC;AACvE,iBAAA;8BAMU,sBAAsB,EAAA,CAAA;sBAD5B;;;AClBL;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-legacy-directives-unfinished-validator.mjs","sources":["../../../projects/legacy/directives/unfinished-validator/unfinished.validator.ts","../../../projects/legacy/directives/unfinished-validator/unfinished-validator.directive.ts","../../../projects/legacy/directives/unfinished-validator/taiga-ui-legacy-directives-unfinished-validator.ts"],"sourcesContent":["import {type AbstractControl, type ValidatorFn} from '@angular/forms';\nimport {TuiValidationError} from '@taiga-ui/cdk/classes';\nimport {tuiIsHTMLElement, tuiIsInput} from '@taiga-ui/cdk/utils/dom';\nimport {type TuiFocusableElementAccessor} from '@taiga-ui/legacy/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport function tuiCreateUnfinishedValidator(\n nativeInputGetter: () => TuiFocusableElementAccessor,\n message: PolymorpheusContent,\n): ValidatorFn {\n return ({\n value,\n }: AbstractControl): {unfinished: TuiValidationError | string} | null => {\n const nativeInput = nativeInputGetter();\n\n return value === null &&\n nativeInput &&\n tuiIsHTMLElement(nativeInput.nativeFocusableElement) &&\n tuiIsInput(nativeInput.nativeFocusableElement) &&\n nativeInput.nativeFocusableElement.value !== ''\n ? {unfinished: new TuiValidationError(message)}\n : null;\n };\n}\n","import {Directive, inject, INJECTOR, Input} from '@angular/core';\nimport {NG_VALIDATORS, type Validator} from '@angular/forms';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_DEFAULT_ERROR_MESSAGE} from '@taiga-ui/core/tokens';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/legacy/tokens';\n\nimport {tuiCreateUnfinishedValidator} from './unfinished.validator';\n\n@Directive({\n selector: '[tuiUnfinishedValidator]',\n providers: [tuiProvide(NG_VALIDATORS, TuiUnfinishedValidator, true)],\n})\nexport class TuiUnfinishedValidator implements Validator {\n private readonly default = inject(TUI_DEFAULT_ERROR_MESSAGE);\n private readonly injector = inject(INJECTOR);\n\n @Input()\n public tuiUnfinishedValidator = '';\n\n public readonly validate = tuiCreateUnfinishedValidator(\n () => this.injector.get(TUI_FOCUSABLE_ITEM_ACCESSOR),\n () => this.tuiUnfinishedValidator || this.default(),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAMgB,SAAA,4BAA4B,CACxC,iBAAoD,EACpD,OAA4B,EAAA;AAE5B,IAAA,OAAO,CAAC,EACJ,KAAK,GACS,KAAsD;AACpE,QAAA,MAAM,WAAW,GAAG,iBAAiB,EAAE;QAEvC,OAAO,KAAK,KAAK,IAAI;YACjB,WAAW;AACX,YAAA,gBAAgB,CAAC,WAAW,CAAC,sBAAsB,CAAC;AACpD,YAAA,UAAU,CAAC,WAAW,CAAC,sBAAsB,CAAC;AAC9C,YAAA,WAAW,CAAC,sBAAsB,CAAC,KAAK,KAAK;cAC3C,EAAC,UAAU,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC;cAC5C,IAAI;AACd,KAAC;AACL;;MCXa,sBAAsB,CAAA;AAJnC,IAAA,WAAA,GAAA;AAKqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,yBAAyB,CAAC;AAC3C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAGrC,IAAsB,CAAA,sBAAA,GAAG,EAAE;QAElB,IAAQ,CAAA,QAAA,GAAG,4BAA4B,CACnD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,2BAA2B,CAAC,EACpD,MAAM,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,OAAO,EAAE,CACtD;AACJ;+GAXY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,EAAA,SAAA,EAFpB,CAAC,UAAU,CAAC,aAAa,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAE3D,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;oBACpC,SAAS,EAAE,CAAC,UAAU,CAAC,aAAa,EAA0B,sBAAA,EAAA,IAAI,CAAC,CAAC;AACvE,iBAAA;8BAMU,sBAAsB,EAAA,CAAA;sBAD5B;;;AChBL;;AAEG;;;;"}
@@ -1,5 +1,4 @@
1
1
  import { CHAR_PLUS, TUI_VERSION } from '@taiga-ui/cdk/constants';
2
- import { isApple } from '@ng-web-apis/platform';
3
2
  import { tuiDropdownOptionsProvider } from '@taiga-ui/core/directives/dropdown';
4
3
 
5
4
  /**
@@ -165,11 +164,6 @@ function tuiIconsPathFactory(staticPath) {
165
164
  };
166
165
  }
167
166
 
168
- /**
169
- * @deprecated: drop in v5.0
170
- */
171
- const tuiIsApple = isApple;
172
-
173
167
  /**
174
168
  * @deprecated: drop in v5.0
175
169
  */
@@ -264,5 +258,5 @@ const FIXED_DROPDOWN_CONTROLLER_PROVIDER = tuiDropdownOptionsProvider({
264
258
  * Generated bundle index. Do not edit.
265
259
  */
266
260
 
267
- export { DEFAULT_ICONS_PATH, FIXED_DROPDOWN_CONTROLLER_PROVIDER, TUI_CACHE_BUSTING_PAYLOAD, TUI_DATE_MODE_MASKITO_ADAPTER, tuiCapitalizeFirstLetter, tuiFormatPhone, tuiGetBorder, tuiGetMaxAllowedPhoneLength, tuiGetSafeAreaSize, tuiIconsPathFactory, tuiIsApple, tuiIsPresumedHTMLString, tuiIsoToCountryCode, tuiNotKzRegion, tuiProcessIcon };
261
+ export { DEFAULT_ICONS_PATH, FIXED_DROPDOWN_CONTROLLER_PROVIDER, TUI_CACHE_BUSTING_PAYLOAD, TUI_DATE_MODE_MASKITO_ADAPTER, tuiCapitalizeFirstLetter, tuiFormatPhone, tuiGetBorder, tuiGetMaxAllowedPhoneLength, tuiGetSafeAreaSize, tuiIconsPathFactory, tuiIsPresumedHTMLString, tuiIsoToCountryCode, tuiNotKzRegion, tuiProcessIcon };
268
262
  //# sourceMappingURL=taiga-ui-legacy-utils.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-utils.mjs","sources":["../../../projects/legacy/utils/capitalize-first-letter.ts","../../../projects/legacy/utils/date-mode-maskito-adapter.ts","../../../projects/legacy/utils/format-phone.ts","../../../projects/legacy/utils/get-border.ts","../../../projects/legacy/utils/get-max-allowed-phone-length.ts","../../../projects/legacy/utils/get-safe-area-size.ts","../../../projects/legacy/utils/icons-path-factory.ts","../../../projects/legacy/utils/is-apple.ts","../../../projects/legacy/utils/is-presumed-html-string.ts","../../../projects/legacy/utils/iso-to-country-code.ts","../../../projects/legacy/utils/not-kz-region.ts","../../../projects/legacy/utils/process-icon.ts","../../../projects/legacy/utils/specific-dropdown-controllers.ts","../../../projects/legacy/utils/taiga-ui-legacy-utils.ts"],"sourcesContent":["/**\n * @deprecated: drop in v5.0\n */\nexport function tuiCapitalizeFirstLetter(value: string): string {\n return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;\n}\n","import {type MaskitoDateMode} from '@maskito/kit';\nimport {type TuiDateMode} from '@taiga-ui/cdk/date-time';\n\n/**\n * @deprecated: drop in v5.0\n */\nexport const TUI_DATE_MODE_MASKITO_ADAPTER: Record<TuiDateMode, MaskitoDateMode> = {\n DMY: 'dd/mm/yyyy',\n MDY: 'mm/dd/yyyy',\n YMD: 'yyyy/mm/dd',\n};\n","import {CHAR_PLUS} from '@taiga-ui/cdk/constants';\n\n/**\n * @deprecated: drop in v5.0\n * Use {@link https://maskito.dev/core-concepts/transformer maskitoTransform} instead!\n * @example\n * import {maskitoTransform} from '@maskito/core';\n *\n * const mask = {\n * mask: ['+', '1', ' ', /\\d/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/],\n * };\n * maskitoTransform('12125552368', mask); // +1 (212) 555-2368\n * ___\n * @example\n * import {maskitoTransform} from '@maskito/core';\n * import {maskitoPhoneOptionsGenerator} from '@maskito/phone';\n * import metadata from 'libphonenumber-js/min/metadata';\n *\n * const options = maskitoPhoneOptionsGenerator({countryIsoCode: 'US', metadata});\n *\n * maskitoTransform('12125552368', mask); // +1 (212) 555-2368\n * ___\n * @deprecated Use {@link https://maskito.dev/core-concepts/transformer maskitoTransform} instead<br/>\n * Formats a string with the phone format +7XXXXXXXXXXXX or XXXXXXXXXXXX,\n * adding parentheses and hyphens.\n *\n * @param value the input string\n * @param countryCode a country code\n * @param phoneMask a phone number mask\n * @return the formatted phone string of the form +7 XXX XXX-XX-XX\n */\nexport function tuiFormatPhone(\n value: string,\n countryCode: string,\n phoneMask: string,\n): string {\n if (!value) {\n return '';\n }\n\n let result = countryCode;\n\n countryCode = countryCode.replaceAll(/[()]/g, '');\n\n if (!value.startsWith(countryCode)) {\n value = countryCode + value.replace(CHAR_PLUS, '');\n }\n\n const splitPhoneMask = phoneMask.split('');\n const splitValue = value.slice(countryCode.length).split('');\n\n result += ' ';\n\n if (splitValue.length === 0) {\n return result;\n }\n\n for (const mask of splitPhoneMask) {\n if (splitValue.length === 0) {\n break;\n }\n\n if (mask === '#') {\n result += splitValue[0] || '';\n splitValue.splice(0, 1);\n } else {\n result += mask;\n }\n }\n\n return result;\n}\n","import {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nconst ITEM_SIZE = 1.5;\nconst CONTENT_SIZE = 2.5;\n\n/**\n * @deprecated: drop in v5.0\n */\n\nexport function tuiGetBorder(\n hasIcon: boolean,\n hasCleaner = false,\n hasTooltip = false,\n hasContent = false,\n size: TuiSizeL | TuiSizeS = 'm',\n): number {\n const offset = size === 's' ? 0 : 0.25;\n let border = 0;\n\n if (hasIcon) {\n border += ITEM_SIZE + offset;\n }\n\n if (hasCleaner) {\n border += ITEM_SIZE + offset;\n }\n\n if (hasTooltip) {\n border += ITEM_SIZE + offset;\n }\n\n if (hasContent) {\n border += CONTENT_SIZE + offset;\n }\n\n return border;\n}\n","import {type TuiCountryIsoCode} from '@taiga-ui/i18n/types';\n\n/**\n * @deprecated: drop in v5.0\n * use `validatePhoneNumberLength` from `libphonenumber-js` instead\n * ```\n * npm i libphonenumber-js\n * ```\n *\n * ```ts\n * import {validatePhoneNumberLength} from 'libphonenumber-js';\n * import metadata from 'libphonenumber-js/max/metadata';\n *\n * const validationError = validatePhoneNumberLength(\n * '+7 777 777-7777',\n * 'KZ'\n * ) // undefined | 'INVALID_COUNTRY' | 'NOT_A_NUMBER' | 'TOO_SHORT' | 'TOO_LONG' | 'INVALID_LENGTH';\n *\n * validatePhoneNumberLength('+7777777', 'KZ'); // 'TOO_SHORT'\n * validatePhoneNumberLength('+7 777 777-7777', 'KZ'); // undefined\n * validatePhoneNumberLength('+77777777777', 'KZ'); // undefined\n * validatePhoneNumberLength('+777777777777777777', 'KZ'); // 'TOO_LONG'\n * ```\n */\nexport function tuiGetMaxAllowedPhoneLength(\n countries: Record<TuiCountryIsoCode, string>,\n isoCode: TuiCountryIsoCode,\n): number {\n return countries[isoCode].replaceAll(/[()\\- ]/g, '').length;\n}\n","/**\n * @deprecated: drop in v5.0\n * Calculates size of safe area on mobile devices (status bars)\n *\n * ATTENTION: Only use in browser environment\n */\nexport function tuiGetSafeAreaSize(): number {\n if (!CSS.supports('padding-top: env(safe-area-inset-top)')) {\n return 0;\n }\n\n const div = document.createElement('div');\n\n div.style.paddingTop = 'env(safe-area-inset-top)';\n document.body.appendChild(div);\n\n const safeAreaSize = parseInt(window.getComputedStyle(div).paddingTop, 10) || 0;\n\n document.body.removeChild(div);\n\n return safeAreaSize;\n}\n","import {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {type TuiStringHandler} from '@taiga-ui/cdk/types';\n\n/**\n * @deprecated: drop in v5.0\n */\nexport const TUI_CACHE_BUSTING_PAYLOAD = `?v=${TUI_VERSION}` as const;\n\n/**\n * @deprecated: drop in v5.0\n */\nexport const DEFAULT_ICONS_PATH: TuiStringHandler<string> = (name) =>\n name.includes('.svg#') ? name : `#${name}`;\n\n/**\n * @deprecated: drop in v5.0\n */\nexport function tuiIconsPathFactory(staticPath: string): TuiStringHandler<string> {\n const base = staticPath.endsWith('/') ? staticPath : `${staticPath}/`;\n\n return (name) => {\n if (name.startsWith('tuiIcon')) {\n return `${base}${name}.svg${TUI_CACHE_BUSTING_PAYLOAD}#${name}`;\n }\n\n return DEFAULT_ICONS_PATH(name);\n };\n}\n","import {isApple} from '@ng-web-apis/platform';\n\n/**\n * @deprecated: drop in v5.0\n */\nexport const tuiIsApple = isApple;\n","/**\n * @deprecated: drop in v5.0\n */\nexport function tuiIsPresumedHTMLString(candidate: string): boolean {\n const trimmed = candidate.trim();\n\n return trimmed.startsWith('<') && trimmed.endsWith('>');\n}\n","import {type TuiCountryIsoCode} from '@taiga-ui/i18n/types';\n\nconst MASK_AFTER_CODE_REGEXP = /\\(#+\\)|[#\\- ]/g;\n\n/**\n * @deprecated: drop in v5.0\n * Use `getCountryCallingCode` from `libphonenumber-js/core` instead\n * ```ts\n * import {getCountryCallingCode} from 'libphonenumber-js/core';\n * import metadata from 'libphonenumber-js/max/metadata';\n *\n * getCountryCallingCode('US', metadata) // 1\n * getCountryCallingCode('GB', metadata) // 44\n * ```\n */\nexport function tuiIsoToCountryCode(\n countriesMasks: Record<TuiCountryIsoCode, string>,\n isoCode: TuiCountryIsoCode,\n): string {\n return countriesMasks[isoCode].replaceAll(MASK_AFTER_CODE_REGEXP, '');\n}\n","/**\n * @deprecated: drop in v5.0\n * use `maskitoGetCountryFromNumber` from `@maskito/phone` instead\n * ```\n * npm i @maskito/phone\n * ```\n *\n * ```ts\n * import {maskitoGetCountryFromNumber} from '@maskito/phone';\n * import metadata from 'libphonenumber-js/max/metadata';\n *\n * const countryIsoCode = maskitoGetCountryFromNumber(\n * '+7 777 777-7777',\n * metadata\n * );\n *\n * countryIsoCode !== 'KZ'\n * ```\n */\nexport function tuiNotKzRegion(value: string): boolean {\n const region = Number(value.slice(1, 4));\n\n return region < 600 || region > 799;\n}\n","const WIDTH_SEARCH = 'width=\"';\nconst HEIGHT_SEARCH = 'height=\"';\nconst START = '<svg';\n\n/**\n * @deprecated: drop in v5.0\n */\nexport function tuiProcessIcon(source: string, name: string): string {\n if (source.includes(`id=\"${name}\"`)) {\n return source;\n }\n\n const src = source.slice(Math.max(0, source.indexOf(START)));\n const attributes = src.slice(0, Math.max(0, src.indexOf('>')));\n\n if (!attributes?.includes(WIDTH_SEARCH) || !attributes.includes(HEIGHT_SEARCH)) {\n return `${src.replace(\n START,\n `<svg xmlns=\"http://www.w3.org/2000/svg\"><g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg`,\n )}</g></svg>`;\n }\n\n const indexOfWidth = attributes.indexOf(WIDTH_SEARCH);\n const indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);\n const widthOffset = indexOfWidth + WIDTH_SEARCH.length;\n const heightOffset = indexOfHeight + HEIGHT_SEARCH.length;\n const widthString = attributes.slice(\n widthOffset,\n attributes.indexOf('\"', widthOffset),\n );\n const heightString = attributes.slice(\n heightOffset,\n attributes.indexOf('\"', heightOffset),\n );\n\n if (\n !heightString ||\n !widthString ||\n widthString.includes('%') ||\n heightString.includes('%') ||\n widthString.includes('em') ||\n heightString.includes('em')\n ) {\n return src.replace(START, `<svg id=\"${name}\"`);\n }\n\n const width = parseInt(widthString, 10);\n const height = parseInt(heightString, 10);\n\n return `<g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg x=\"50%\" y=\"50%\" width=\"${\n width / 16\n }em\" height=\"${\n height / 16\n }em\" overflow=\"visible\" viewBox=\"0 0 ${width} ${height}\"><svg x=\"${-width / 2}\" y=\"${\n -height / 2\n }\">${src}</svg></svg></g>`;\n}\n","import {tuiDropdownOptionsProvider} from '@taiga-ui/core/directives/dropdown';\n\n/**\n * @deprecated: drop in v5.0\n */\nexport const FIXED_DROPDOWN_CONTROLLER_PROVIDER = tuiDropdownOptionsProvider({\n limitWidth: 'fixed',\n align: 'right',\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-legacy-utils.mjs","sources":["../../../projects/legacy/utils/capitalize-first-letter.ts","../../../projects/legacy/utils/date-mode-maskito-adapter.ts","../../../projects/legacy/utils/format-phone.ts","../../../projects/legacy/utils/get-border.ts","../../../projects/legacy/utils/get-max-allowed-phone-length.ts","../../../projects/legacy/utils/get-safe-area-size.ts","../../../projects/legacy/utils/icons-path-factory.ts","../../../projects/legacy/utils/is-presumed-html-string.ts","../../../projects/legacy/utils/iso-to-country-code.ts","../../../projects/legacy/utils/not-kz-region.ts","../../../projects/legacy/utils/process-icon.ts","../../../projects/legacy/utils/specific-dropdown-controllers.ts","../../../projects/legacy/utils/taiga-ui-legacy-utils.ts"],"sourcesContent":["/**\n * @deprecated: drop in v5.0\n */\nexport function tuiCapitalizeFirstLetter(value: string): string {\n return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;\n}\n","import {type MaskitoDateMode} from '@maskito/kit';\nimport {type TuiDateMode} from '@taiga-ui/cdk/date-time';\n\n/**\n * @deprecated: drop in v5.0\n */\nexport const TUI_DATE_MODE_MASKITO_ADAPTER: Record<TuiDateMode, MaskitoDateMode> = {\n DMY: 'dd/mm/yyyy',\n MDY: 'mm/dd/yyyy',\n YMD: 'yyyy/mm/dd',\n};\n","import {CHAR_PLUS} from '@taiga-ui/cdk/constants';\n\n/**\n * @deprecated: drop in v5.0\n * Use {@link https://maskito.dev/core-concepts/transformer maskitoTransform} instead!\n * @example\n * import {maskitoTransform} from '@maskito/core';\n *\n * const mask = {\n * mask: ['+', '1', ' ', /\\d/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/],\n * };\n * maskitoTransform('12125552368', mask); // +1 (212) 555-2368\n * ___\n * @example\n * import {maskitoTransform} from '@maskito/core';\n * import {maskitoPhoneOptionsGenerator} from '@maskito/phone';\n * import metadata from 'libphonenumber-js/min/metadata';\n *\n * const options = maskitoPhoneOptionsGenerator({countryIsoCode: 'US', metadata});\n *\n * maskitoTransform('12125552368', mask); // +1 (212) 555-2368\n * ___\n * @deprecated Use {@link https://maskito.dev/core-concepts/transformer maskitoTransform} instead<br/>\n * Formats a string with the phone format +7XXXXXXXXXXXX or XXXXXXXXXXXX,\n * adding parentheses and hyphens.\n *\n * @param value the input string\n * @param countryCode a country code\n * @param phoneMask a phone number mask\n * @return the formatted phone string of the form +7 XXX XXX-XX-XX\n */\nexport function tuiFormatPhone(\n value: string,\n countryCode: string,\n phoneMask: string,\n): string {\n if (!value) {\n return '';\n }\n\n let result = countryCode;\n\n countryCode = countryCode.replaceAll(/[()]/g, '');\n\n if (!value.startsWith(countryCode)) {\n value = countryCode + value.replace(CHAR_PLUS, '');\n }\n\n const splitPhoneMask = phoneMask.split('');\n const splitValue = value.slice(countryCode.length).split('');\n\n result += ' ';\n\n if (splitValue.length === 0) {\n return result;\n }\n\n for (const mask of splitPhoneMask) {\n if (splitValue.length === 0) {\n break;\n }\n\n if (mask === '#') {\n result += splitValue[0] || '';\n splitValue.splice(0, 1);\n } else {\n result += mask;\n }\n }\n\n return result;\n}\n","import {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nconst ITEM_SIZE = 1.5;\nconst CONTENT_SIZE = 2.5;\n\n/**\n * @deprecated: drop in v5.0\n */\n\nexport function tuiGetBorder(\n hasIcon: boolean,\n hasCleaner = false,\n hasTooltip = false,\n hasContent = false,\n size: TuiSizeL | TuiSizeS = 'm',\n): number {\n const offset = size === 's' ? 0 : 0.25;\n let border = 0;\n\n if (hasIcon) {\n border += ITEM_SIZE + offset;\n }\n\n if (hasCleaner) {\n border += ITEM_SIZE + offset;\n }\n\n if (hasTooltip) {\n border += ITEM_SIZE + offset;\n }\n\n if (hasContent) {\n border += CONTENT_SIZE + offset;\n }\n\n return border;\n}\n","import {type TuiCountryIsoCode} from '@taiga-ui/i18n/types';\n\n/**\n * @deprecated: drop in v5.0\n * use `validatePhoneNumberLength` from `libphonenumber-js` instead\n * ```\n * npm i libphonenumber-js\n * ```\n *\n * ```ts\n * import {validatePhoneNumberLength} from 'libphonenumber-js';\n * import metadata from 'libphonenumber-js/max/metadata';\n *\n * const validationError = validatePhoneNumberLength(\n * '+7 777 777-7777',\n * 'KZ'\n * ) // undefined | 'INVALID_COUNTRY' | 'NOT_A_NUMBER' | 'TOO_SHORT' | 'TOO_LONG' | 'INVALID_LENGTH';\n *\n * validatePhoneNumberLength('+7777777', 'KZ'); // 'TOO_SHORT'\n * validatePhoneNumberLength('+7 777 777-7777', 'KZ'); // undefined\n * validatePhoneNumberLength('+77777777777', 'KZ'); // undefined\n * validatePhoneNumberLength('+777777777777777777', 'KZ'); // 'TOO_LONG'\n * ```\n */\nexport function tuiGetMaxAllowedPhoneLength(\n countries: Record<TuiCountryIsoCode, string>,\n isoCode: TuiCountryIsoCode,\n): number {\n return countries[isoCode].replaceAll(/[()\\- ]/g, '').length;\n}\n","/**\n * @deprecated: drop in v5.0\n * Calculates size of safe area on mobile devices (status bars)\n *\n * ATTENTION: Only use in browser environment\n */\nexport function tuiGetSafeAreaSize(): number {\n if (!CSS.supports('padding-top: env(safe-area-inset-top)')) {\n return 0;\n }\n\n const div = document.createElement('div');\n\n div.style.paddingTop = 'env(safe-area-inset-top)';\n document.body.appendChild(div);\n\n const safeAreaSize = parseInt(window.getComputedStyle(div).paddingTop, 10) || 0;\n\n document.body.removeChild(div);\n\n return safeAreaSize;\n}\n","import {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {type TuiStringHandler} from '@taiga-ui/cdk/types';\n\n/**\n * @deprecated: drop in v5.0\n */\nexport const TUI_CACHE_BUSTING_PAYLOAD = `?v=${TUI_VERSION}` as const;\n\n/**\n * @deprecated: drop in v5.0\n */\nexport const DEFAULT_ICONS_PATH: TuiStringHandler<string> = (name) =>\n name.includes('.svg#') ? name : `#${name}`;\n\n/**\n * @deprecated: drop in v5.0\n */\nexport function tuiIconsPathFactory(staticPath: string): TuiStringHandler<string> {\n const base = staticPath.endsWith('/') ? staticPath : `${staticPath}/`;\n\n return (name) => {\n if (name.startsWith('tuiIcon')) {\n return `${base}${name}.svg${TUI_CACHE_BUSTING_PAYLOAD}#${name}`;\n }\n\n return DEFAULT_ICONS_PATH(name);\n };\n}\n","/**\n * @deprecated: drop in v5.0\n */\nexport function tuiIsPresumedHTMLString(candidate: string): boolean {\n const trimmed = candidate.trim();\n\n return trimmed.startsWith('<') && trimmed.endsWith('>');\n}\n","import {type TuiCountryIsoCode} from '@taiga-ui/i18n/types';\n\nconst MASK_AFTER_CODE_REGEXP = /\\(#+\\)|[#\\- ]/g;\n\n/**\n * @deprecated: drop in v5.0\n * Use `getCountryCallingCode` from `libphonenumber-js/core` instead\n * ```ts\n * import {getCountryCallingCode} from 'libphonenumber-js/core';\n * import metadata from 'libphonenumber-js/max/metadata';\n *\n * getCountryCallingCode('US', metadata) // 1\n * getCountryCallingCode('GB', metadata) // 44\n * ```\n */\nexport function tuiIsoToCountryCode(\n countriesMasks: Record<TuiCountryIsoCode, string>,\n isoCode: TuiCountryIsoCode,\n): string {\n return countriesMasks[isoCode].replaceAll(MASK_AFTER_CODE_REGEXP, '');\n}\n","/**\n * @deprecated: drop in v5.0\n * use `maskitoGetCountryFromNumber` from `@maskito/phone` instead\n * ```\n * npm i @maskito/phone\n * ```\n *\n * ```ts\n * import {maskitoGetCountryFromNumber} from '@maskito/phone';\n * import metadata from 'libphonenumber-js/max/metadata';\n *\n * const countryIsoCode = maskitoGetCountryFromNumber(\n * '+7 777 777-7777',\n * metadata\n * );\n *\n * countryIsoCode !== 'KZ'\n * ```\n */\nexport function tuiNotKzRegion(value: string): boolean {\n const region = Number(value.slice(1, 4));\n\n return region < 600 || region > 799;\n}\n","const WIDTH_SEARCH = 'width=\"';\nconst HEIGHT_SEARCH = 'height=\"';\nconst START = '<svg';\n\n/**\n * @deprecated: drop in v5.0\n */\nexport function tuiProcessIcon(source: string, name: string): string {\n if (source.includes(`id=\"${name}\"`)) {\n return source;\n }\n\n const src = source.slice(Math.max(0, source.indexOf(START)));\n const attributes = src.slice(0, Math.max(0, src.indexOf('>')));\n\n if (!attributes?.includes(WIDTH_SEARCH) || !attributes.includes(HEIGHT_SEARCH)) {\n return `${src.replace(\n START,\n `<svg xmlns=\"http://www.w3.org/2000/svg\"><g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg`,\n )}</g></svg>`;\n }\n\n const indexOfWidth = attributes.indexOf(WIDTH_SEARCH);\n const indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);\n const widthOffset = indexOfWidth + WIDTH_SEARCH.length;\n const heightOffset = indexOfHeight + HEIGHT_SEARCH.length;\n const widthString = attributes.slice(\n widthOffset,\n attributes.indexOf('\"', widthOffset),\n );\n const heightString = attributes.slice(\n heightOffset,\n attributes.indexOf('\"', heightOffset),\n );\n\n if (\n !heightString ||\n !widthString ||\n widthString.includes('%') ||\n heightString.includes('%') ||\n widthString.includes('em') ||\n heightString.includes('em')\n ) {\n return src.replace(START, `<svg id=\"${name}\"`);\n }\n\n const width = parseInt(widthString, 10);\n const height = parseInt(heightString, 10);\n\n return `<g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg x=\"50%\" y=\"50%\" width=\"${\n width / 16\n }em\" height=\"${\n height / 16\n }em\" overflow=\"visible\" viewBox=\"0 0 ${width} ${height}\"><svg x=\"${-width / 2}\" y=\"${\n -height / 2\n }\">${src}</svg></svg></g>`;\n}\n","import {tuiDropdownOptionsProvider} from '@taiga-ui/core/directives/dropdown';\n\n/**\n * @deprecated: drop in v5.0\n */\nexport const FIXED_DROPDOWN_CONTROLLER_PROVIDER = tuiDropdownOptionsProvider({\n limitWidth: 'fixed',\n align: 'right',\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  export * from '@taiga-ui/legacy/classes';
2
2
  export * from '@taiga-ui/legacy/components';
3
3
  export * from '@taiga-ui/legacy/directives';
4
- export * from '@taiga-ui/legacy/pipes';
5
- export * from '@taiga-ui/legacy/services';
6
4
  export * from '@taiga-ui/legacy/tokens';
7
5
  export * from '@taiga-ui/legacy/utils';
8
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy.mjs","sources":["../../../projects/legacy/taiga-ui-legacy.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAAA;;AAEG"}
1
+ {"version":3,"file":"taiga-ui-legacy.mjs","sources":["../../../projects/legacy/taiga-ui-legacy.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAAA;;AAEG"}
package/index.d.ts CHANGED
@@ -1,7 +1,5 @@
1
1
  export * from '@taiga-ui/legacy/classes';
2
2
  export * from '@taiga-ui/legacy/components';
3
3
  export * from '@taiga-ui/legacy/directives';
4
- export * from '@taiga-ui/legacy/pipes';
5
- export * from '@taiga-ui/legacy/services';
6
4
  export * from '@taiga-ui/legacy/tokens';
7
5
  export * from '@taiga-ui/legacy/utils';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/legacy",
3
- "version": "4.52.0-canary.3915ce7",
3
+ "version": "4.52.0-canary.39c57da",
4
4
  "description": "Legacy Taiga UI entities from the previous major release to simplify migration",
5
5
  "keywords": [
6
6
  "legacy",
@@ -8,7 +8,10 @@
8
8
  "outdated"
9
9
  ],
10
10
  "homepage": "https://github.com/taiga-family/taiga-ui",
11
- "repository": "https://github.com/taiga-family/taiga-ui",
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/taiga-family/taiga-ui"
14
+ },
12
15
  "license": "Apache-2.0",
13
16
  "exports": {
14
17
  "./styles/*": "./styles/*",
@@ -31,14 +34,6 @@
31
34
  "types": "./directives/index.d.ts",
32
35
  "default": "./fesm2022/taiga-ui-legacy-directives.mjs"
33
36
  },
34
- "./pipes": {
35
- "types": "./pipes/index.d.ts",
36
- "default": "./fesm2022/taiga-ui-legacy-pipes.mjs"
37
- },
38
- "./services": {
39
- "types": "./services/index.d.ts",
40
- "default": "./fesm2022/taiga-ui-legacy-services.mjs"
41
- },
42
37
  "./tokens": {
43
38
  "types": "./tokens/index.d.ts",
44
39
  "default": "./fesm2022/taiga-ui-legacy-tokens.mjs"
@@ -51,9 +46,9 @@
51
46
  "types": "./components/arrow/index.d.ts",
52
47
  "default": "./fesm2022/taiga-ui-legacy-components-arrow.mjs"
53
48
  },
54
- "./components/combo-box": {
55
- "types": "./components/combo-box/index.d.ts",
56
- "default": "./fesm2022/taiga-ui-legacy-components-combo-box.mjs"
49
+ "./components/dialog": {
50
+ "types": "./components/dialog/index.d.ts",
51
+ "default": "./fesm2022/taiga-ui-legacy-components-dialog.mjs"
57
52
  },
58
53
  "./components/input": {
59
54
  "types": "./components/input/index.d.ts",
@@ -87,6 +82,10 @@
87
82
  "types": "./components/input-tag/index.d.ts",
88
83
  "default": "./fesm2022/taiga-ui-legacy-components-input-tag.mjs"
89
84
  },
85
+ "./components/mobile-dialog": {
86
+ "types": "./components/mobile-dialog/index.d.ts",
87
+ "default": "./fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs"
88
+ },
90
89
  "./components/multi-select": {
91
90
  "types": "./components/multi-select/index.d.ts",
92
91
  "default": "./fesm2022/taiga-ui-legacy-components-multi-select.mjs"
@@ -95,6 +94,10 @@
95
94
  "types": "./components/multi-select-option/index.d.ts",
96
95
  "default": "./fesm2022/taiga-ui-legacy-components-multi-select-option.mjs"
97
96
  },
97
+ "./components/pdf-viewer": {
98
+ "types": "./components/pdf-viewer/index.d.ts",
99
+ "default": "./fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs"
100
+ },
98
101
  "./components/primitive-textfield": {
99
102
  "types": "./components/primitive-textfield/index.d.ts",
100
103
  "default": "./fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs"
@@ -107,10 +110,6 @@
107
110
  "types": "./components/select-option/index.d.ts",
108
111
  "default": "./fesm2022/taiga-ui-legacy-components-select-option.mjs"
109
112
  },
110
- "./components/svg": {
111
- "types": "./components/svg/index.d.ts",
112
- "default": "./fesm2022/taiga-ui-legacy-components-svg.mjs"
113
- },
114
113
  "./components/tag": {
115
114
  "types": "./components/tag/index.d.ts",
116
115
  "default": "./fesm2022/taiga-ui-legacy-components-tag.mjs"
@@ -142,18 +141,6 @@
142
141
  "./directives/wrapper": {
143
142
  "types": "./directives/wrapper/index.d.ts",
144
143
  "default": "./fesm2022/taiga-ui-legacy-directives-wrapper.mjs"
145
- },
146
- "./pipes/format-phone": {
147
- "types": "./pipes/format-phone/index.d.ts",
148
- "default": "./fesm2022/taiga-ui-legacy-pipes-format-phone.mjs"
149
- },
150
- "./pipes/iso-to-country-code": {
151
- "types": "./pipes/iso-to-country-code/index.d.ts",
152
- "default": "./fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs"
153
- },
154
- "./pipes/to-country-code": {
155
- "types": "./pipes/to-country-code/index.d.ts",
156
- "default": "./fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs"
157
144
  }
158
145
  },
159
146
  "peerDependencies": {
@@ -2,7 +2,7 @@ import { type TuiStringHandler } from '@taiga-ui/cdk/types';
2
2
  /**
3
3
  * @deprecated: drop in v5.0
4
4
  */
5
- export declare const TUI_CACHE_BUSTING_PAYLOAD: "?v=4.52.0-canary.3915ce7";
5
+ export declare const TUI_CACHE_BUSTING_PAYLOAD: "?v=4.52.0-canary.39c57da";
6
6
  /**
7
7
  * @deprecated: drop in v5.0
8
8
  */
package/utils/index.d.ts CHANGED
@@ -5,7 +5,6 @@ export * from './get-border';
5
5
  export * from './get-max-allowed-phone-length';
6
6
  export * from './get-safe-area-size';
7
7
  export * from './icons-path-factory';
8
- export * from './is-apple';
9
8
  export * from './is-presumed-html-string';
10
9
  export * from './iso-to-country-code';
11
10
  export * from './not-kz-region';
@@ -1,12 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- /**
3
- * TODO(v5): delete it
4
- * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead
5
- */
6
- export declare class TuiComboBoxStrictDirective<T> {
7
- private readonly comboBox;
8
- strict: boolean;
9
- protected onInput(): void;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiComboBoxStrictDirective<any>, never>;
11
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiComboBoxStrictDirective<any>, "tui-combo-box[strict]", never, { "strict": { "alias": "strict"; "required": false; }; }, {}, never, never, false, never>;
12
- }
@@ -1,52 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- import { type TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
3
- import { type TuiContext, type TuiStringMatcher } from '@taiga-ui/cdk/types';
4
- import { type TuiDataListHost } from '@taiga-ui/core/components/data-list';
5
- import { type TuiSizeL, type TuiSizeM, type TuiSizeS, type TuiValueContentContext } from '@taiga-ui/core/types';
6
- import { type TuiItemsHandlers } from '@taiga-ui/kit/tokens';
7
- import { AbstractTuiNullableControl } from '@taiga-ui/legacy/classes';
8
- import { type TuiFocusableElementAccessor } from '@taiga-ui/legacy/tokens';
9
- import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@taiga-ui/core/directives/dropdown";
12
- /**
13
- * TODO(v5): delete it
14
- * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead
15
- */
16
- export declare class TuiComboBoxComponent<T> extends AbstractTuiNullableControl<T> implements TuiFocusableElementAccessor, TuiDataListHost<T> {
17
- private readonly accessor?;
18
- private readonly dropdown?;
19
- private readonly textfield?;
20
- private readonly arrowMode;
21
- private readonly itemsHandlers;
22
- private readonly textfieldSize;
23
- protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;
24
- stringify: TuiItemsHandlers<T>['stringify'];
25
- strictMatcher: TuiStringMatcher<T> | null;
26
- identityMatcher: TuiItemsHandlers<T>['identityMatcher'];
27
- valueContent: PolymorpheusContent<TuiValueContentContext<T>>;
28
- strict: boolean;
29
- search: string | null;
30
- readonly searchChange: EventEmitter<string | null>;
31
- open: boolean;
32
- get size(): TuiSizeL | TuiSizeS;
33
- get nativeFocusableElement(): HTMLInputElement | null;
34
- get focused(): boolean;
35
- get nativeValue(): string;
36
- checkOption(option: T): void;
37
- handleOption(item: T): void;
38
- onValueChange(value: string): void;
39
- toggle(): void;
40
- protected get arrow(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>>;
41
- protected get showValueTemplate(): boolean;
42
- protected get computedContent(): PolymorpheusContent<TuiValueContentContext<T>>;
43
- protected onActiveZone(active: boolean): void;
44
- protected onFieldKeyDownEnter(event: Event): void;
45
- private isStrictMatch;
46
- private close;
47
- private updateSearch;
48
- private setNativeValue;
49
- private focusInput;
50
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiComboBoxComponent<any>, never>;
51
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiComboBoxComponent<any>, "tui-combo-box", never, { "stringify": { "alias": "stringify"; "required": false; }; "strictMatcher": { "alias": "strictMatcher"; "required": false; }; "identityMatcher": { "alias": "identityMatcher"; "required": false; }; "valueContent": { "alias": "valueContent"; "required": false; }; "strict": { "alias": "strict"; "required": false; }; "search": { "alias": "search"; "required": false; }; }, { "searchChange": "searchChange"; }, ["accessor", "datalist"], ["*", "input"], false, [{ directive: typeof i1.TuiDropdownFixed; inputs: {}; outputs: {}; }]>;
52
- }
@@ -1,13 +0,0 @@
1
- import { AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
2
- import { type TuiComboBoxComponent } from './combo-box.component';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * TODO(v5): delete it
6
- * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead
7
- */
8
- export declare class TuiComboBoxDirective extends AbstractTuiTextfieldHost<TuiComboBoxComponent<unknown>> {
9
- get value(): string;
10
- onValueChange(value: string): void;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiComboBoxDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiComboBoxDirective, "tui-combo-box", never, {}, {}, never, never, false, never>;
13
- }
@@ -1,20 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./combo-box.component";
3
- import * as i2 from "./combo-box-strict.directive";
4
- import * as i3 from "./combo-box.directive";
5
- import * as i4 from "@angular/common";
6
- import * as i5 from "@taiga-ui/polymorpheus";
7
- import * as i6 from "@taiga-ui/legacy/components/primitive-textfield";
8
- import * as i7 from "@taiga-ui/legacy/components/select-option";
9
- import * as i8 from "@taiga-ui/legacy/components/arrow";
10
- import * as i9 from "@taiga-ui/legacy/directives";
11
- import * as i10 from "@taiga-ui/core/directives/dropdown";
12
- /**
13
- * TODO(v5): delete it
14
- * @deprecated use new version of {@link https://taiga-ui.dev/components/combo-box TuiComboBox} (from @taiga-ui/kit) instead
15
- */
16
- export declare class TuiComboBoxModule {
17
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiComboBoxModule, never>;
18
- static ɵmod: i0.ɵɵNgModuleDeclaration<TuiComboBoxModule, [typeof i1.TuiComboBoxComponent, typeof i2.TuiComboBoxStrictDirective, typeof i3.TuiComboBoxDirective], [typeof i4.CommonModule, typeof i5.PolymorpheusOutlet, typeof i5.PolymorpheusTemplate, typeof i6.TuiPrimitiveTextfieldModule, typeof i7.TuiSelectOptionModule, typeof i8.TuiArrowComponent, typeof i9.TuiWrapperModule, typeof i9.TuiTextfieldControllerModule, typeof i9.TuiLegacyDropdownOpenMonitorDirective, typeof i10.TuiDropdownOptionsDirective, typeof i10.TuiDropdownDriverDirective, typeof i10.TuiDropdownDirective, typeof i10.TuiDropdownComponent, typeof i10.TuiDropdownOpen, typeof i10.TuiDropdownOpenLegacy, typeof i10.TuiDropdownPortal, typeof i10.TuiDropdownManual, typeof i10.TuiDropdownHover, typeof i10.TuiDropdownContext, typeof i10.TuiDropdownPosition, typeof i10.TuiDropdownPositionSided, typeof i10.TuiDropdownSelection], [typeof i1.TuiComboBoxComponent, typeof i2.TuiComboBoxStrictDirective, typeof i3.TuiComboBoxDirective, typeof i6.TuiTextfieldComponent, typeof i10.TuiDropdownOptionsDirective, typeof i10.TuiDropdownDriverDirective, typeof i10.TuiDropdownDirective, typeof i10.TuiDropdownComponent, typeof i10.TuiDropdownOpen, typeof i10.TuiDropdownOpenLegacy, typeof i10.TuiDropdownPortal, typeof i10.TuiDropdownManual, typeof i10.TuiDropdownHover, typeof i10.TuiDropdownContext, typeof i10.TuiDropdownPosition, typeof i10.TuiDropdownPositionSided, typeof i10.TuiDropdownSelection]>;
19
- static ɵinj: i0.ɵɵInjectorDeclaration<TuiComboBoxModule>;
20
- }
@@ -1,4 +0,0 @@
1
- export * from './combo-box.component';
2
- export * from './combo-box.directive';
3
- export * from './combo-box.module';
4
- export * from './combo-box-strict.directive';
@@ -1,19 +0,0 @@
1
- import { type TuiSafeHtml } from '@taiga-ui/cdk/types';
2
- /**
3
- * @deprecated: drop in v5.0 use {@link TuiIcon}
4
- * https://taiga-ui.dev/components/icon
5
- *
6
- * @description:
7
- * Any ‘linearGradient’ attributes which are defined on the referenced
8
- * element which are not defined on this element are inherited by this element.
9
- * If this element has no defined gradient stops, and the referenced element does
10
- * (possibly due to its own ‘xlink:href’ attribute), then this element inherits
11
- * the gradient stop from the referenced element. Inheritance can be indirect
12
- * to an arbitrary level; thus, if the referenced element inherits attribute
13
- * or gradient stops due to its own ‘xlink:href’ attribute, then the current
14
- * element can inherit those attributes or gradient stops.
15
- *
16
- * Documentation: https://www.w3.org/TR/SVG11/pservers.html
17
- *
18
- */
19
- export declare function tuiSvgLinearGradientProcessor(svg: TuiSafeHtml, salt?: number | string): TuiSafeHtml;