@taiga-ui/kit 4.47.0 → 4.48.0-canary.8006d33

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 (76) hide show
  1. package/components/combo-box/combo-box.directive.d.ts +3 -2
  2. package/components/index.d.ts +1 -0
  3. package/components/input-chip/input-chip.directive.d.ts +6 -2
  4. package/components/input-date/input-date.component.d.ts +2 -1
  5. package/components/input-date/input-date.directive.d.ts +1 -0
  6. package/components/input-date-multi/input-date-multi.directive.d.ts +3 -3
  7. package/components/input-date-time/input-date-time.component.d.ts +2 -1
  8. package/components/input-month/input-month.component.d.ts +2 -1
  9. package/components/input-number/step/input-number-step.component.d.ts +5 -2
  10. package/components/input-phone/index.d.ts +2 -0
  11. package/components/input-phone/input-phone.directive.d.ts +27 -0
  12. package/components/input-phone/input-phone.options.d.ts +8 -0
  13. package/components/input-phone/utils/complete-phone-insertion-preprocessor.d.ts +9 -0
  14. package/components/input-phone/utils/create-phone-mask-expression.d.ts +7 -0
  15. package/components/input-time/input-time.component.d.ts +2 -1
  16. package/components/range/range.component.d.ts +5 -4
  17. package/directives/copy/copy.component.d.ts +15 -0
  18. package/directives/copy/copy.d.ts +3 -0
  19. package/directives/copy/copy.directive.d.ts +3 -3
  20. package/directives/copy/index.d.ts +2 -0
  21. package/esm2022/components/combo-box/combo-box.directive.mjs +10 -10
  22. package/esm2022/components/index.mjs +2 -1
  23. package/esm2022/components/input-chip/input-chip.directive.mjs +29 -17
  24. package/esm2022/components/input-date/input-date.component.mjs +5 -5
  25. package/esm2022/components/input-date/input-date.directive.mjs +10 -3
  26. package/esm2022/components/input-date-multi/input-date-multi.directive.mjs +7 -13
  27. package/esm2022/components/input-date-time/input-date-time.component.mjs +5 -4
  28. package/esm2022/components/input-month/input-month.component.mjs +5 -5
  29. package/esm2022/components/input-month/input-month.directive.mjs +3 -4
  30. package/esm2022/components/input-number/step/input-number-step.component.mjs +21 -20
  31. package/esm2022/components/input-phone/index.mjs +3 -0
  32. package/esm2022/components/input-phone/input-phone.directive.mjs +137 -0
  33. package/esm2022/components/input-phone/input-phone.options.mjs +9 -0
  34. package/esm2022/components/input-phone/taiga-ui-kit-components-input-phone.mjs +5 -0
  35. package/esm2022/components/input-phone/utils/complete-phone-insertion-preprocessor.mjs +41 -0
  36. package/esm2022/components/input-phone/utils/create-phone-mask-expression.mjs +17 -0
  37. package/esm2022/components/input-time/input-time.component.mjs +6 -6
  38. package/esm2022/components/input-time/input-time.directive.mjs +3 -4
  39. package/esm2022/components/range/range-change.directive.mjs +22 -20
  40. package/esm2022/components/range/range.component.mjs +22 -23
  41. package/esm2022/components/slider/slider.component.mjs +2 -2
  42. package/esm2022/directives/copy/copy.component.mjs +48 -0
  43. package/esm2022/directives/copy/copy.directive.mjs +7 -7
  44. package/esm2022/directives/copy/copy.mjs +4 -0
  45. package/esm2022/directives/copy/copy.options.mjs +2 -4
  46. package/esm2022/directives/copy/index.mjs +4 -1
  47. package/esm2022/directives/fluid-typography/fluid-typography.options.mjs +2 -2
  48. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +9 -9
  49. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +28 -17
  51. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +6 -12
  53. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +3 -3
  55. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-kit-components-input-date.mjs +11 -5
  57. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-kit-components-input-month.mjs +4 -6
  59. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-kit-components-input-number.mjs +20 -19
  61. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-kit-components-input-phone.mjs +206 -0
  63. package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -0
  64. package/fesm2022/taiga-ui-kit-components-input-time.mjs +5 -6
  65. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-kit-components-range.mjs +42 -41
  67. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-kit-components-slider.mjs +2 -2
  69. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-kit-components.mjs +1 -0
  71. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-kit-directives-copy.mjs +57 -18
  73. package/fesm2022/taiga-ui-kit-directives-copy.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +1 -1
  75. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
  76. package/package.json +16 -10
@@ -1,23 +1,58 @@
1
- import { DOCUMENT } from '@angular/common';
1
+ import * as i1 from '@angular/cdk/clipboard';
2
+ import { ClipboardModule } from '@angular/cdk/clipboard';
2
3
  import * as i0 from '@angular/core';
3
- import { inject, computed, Directive, Input } from '@angular/core';
4
+ import { inject, Component, ChangeDetectionStrategy, Input, computed, Directive } from '@angular/core';
4
5
  import { toSignal } from '@angular/core/rxjs-interop';
5
- import { tuiDirectiveBinding, tuiIsString } from '@taiga-ui/cdk/utils/miscellaneous';
6
+ import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
7
+ import { tuiIsString, tuiDirectiveBinding } from '@taiga-ui/cdk/utils/miscellaneous';
8
+ import { TuiButton } from '@taiga-ui/core/components/button';
6
9
  import { TuiIcon } from '@taiga-ui/core/components/icon';
7
- import { TuiTextfieldComponent } from '@taiga-ui/core/components/textfield';
8
- import * as i1 from '@taiga-ui/core/directives/appearance';
9
- import { TUI_APPEARANCE_OPTIONS, TuiWithAppearance } from '@taiga-ui/core/directives/appearance';
10
+ import { TUI_NOTIFICATION_OPTIONS } from '@taiga-ui/core/components/notification';
10
11
  import * as i2 from '@taiga-ui/core/directives/hint';
11
- import { TuiHintDirective } from '@taiga-ui/core/directives/hint';
12
+ import { TuiHint, TuiHintDirective } from '@taiga-ui/core/directives/hint';
12
13
  import { TUI_COPY_TEXTS } from '@taiga-ui/kit/tokens';
13
- import { Subject, switchMap, timer, map, startWith } from 'rxjs';
14
+ import { BehaviorSubject, switchMap, timer, map, startWith, Subject } from 'rxjs';
14
15
  import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
16
+ import { DOCUMENT } from '@angular/common';
17
+ import { TuiTextfieldComponent } from '@taiga-ui/core/components/textfield';
18
+ import * as i1$1 from '@taiga-ui/core/directives/appearance';
19
+ import { TUI_APPEARANCE_OPTIONS, TuiWithAppearance } from '@taiga-ui/core/directives/appearance';
15
20
 
16
- const [TUI_COPY_OPTIONS, tuiCopyOptionsProvider] = tuiCreateOptions({
17
- icon: '@tui.copy',
18
- });
21
+ const [TUI_COPY_OPTIONS, tuiCopyOptionsProvider] = tuiCreateOptions({ icon: '@tui.copy' });
19
22
 
20
- class TuiCopy {
23
+ class TuiCopyComponent {
24
+ constructor() {
25
+ this.notification = inject(TUI_NOTIFICATION_OPTIONS);
26
+ this.options = inject(TUI_COPY_OPTIONS);
27
+ this.copied$ = new BehaviorSubject(false);
28
+ this.texts = toSignal(inject(TUI_COPY_TEXTS));
29
+ this.hint = toSignal(this.copied$.pipe(switchMap((copied) => timer(2000).pipe(map(TUI_FALSE_HANDLER), startWith(copied)))));
30
+ this.size = 'm';
31
+ }
32
+ get icon() {
33
+ return tuiIsString(this.options.icon)
34
+ ? this.options.icon
35
+ : this.options.icon(this.size);
36
+ }
37
+ get check() {
38
+ return tuiIsString(this.notification.icon)
39
+ ? this.notification.icon
40
+ : this.notification.icon('positive');
41
+ }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCopyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiCopyComponent, isStandalone: true, selector: "tui-copy", inputs: { size: "size" }, host: { listeners: { "pointerdown": "copied$.next(false)" }, properties: { "attr.data-size": "size" } }, ngImport: i0, template: "<span\n #content\n tuiHintAppearance=\"dark\"\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]=\"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,-webkit-mask;transition-property:opacity,mask;transition-property:opacity,mask,-webkit-mask;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-mask:linear-gradient(to var(--tui-inline-start),transparent calc(1.25 * var(--t-size)),black calc(2 * var(--t-size))) no-repeat,linear-gradient(to var(--tui-inline-end),black,black calc(2 * var(--t-size)),transparent calc(2 * var(--t-size))) no-repeat;mask:linear-gradient(to var(--tui-inline-start),transparent calc(1.25 * var(--t-size)),black calc(2 * var(--t-size))) no-repeat,linear-gradient(to var(--tui-inline-end),black,black calc(2 * var(--t-size)),transparent calc(2 * var(--t-size))) 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{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:text-top;color:var(--tui-text-positive)}\n"], dependencies: [{ kind: "ngmodule", type: ClipboardModule }, { kind: "directive", type: i1.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: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }, { kind: "directive", type: i2.TuiHintManual, selector: "[tuiHint][tuiHintManual]", inputs: ["tuiHintManual"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCopyComponent, decorators: [{
46
+ type: Component,
47
+ args: [{ standalone: true, selector: 'tui-copy', imports: [ClipboardModule, TuiButton, TuiHint, TuiIcon], changeDetection: ChangeDetectionStrategy.OnPush, host: {
48
+ '[attr.data-size]': 'size',
49
+ '(pointerdown)': 'copied$.next(false)',
50
+ }, template: "<span\n #content\n tuiHintAppearance=\"dark\"\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]=\"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,-webkit-mask;transition-property:opacity,mask;transition-property:opacity,mask,-webkit-mask;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-mask:linear-gradient(to var(--tui-inline-start),transparent calc(1.25 * var(--t-size)),black calc(2 * var(--t-size))) no-repeat,linear-gradient(to var(--tui-inline-end),black,black calc(2 * var(--t-size)),transparent calc(2 * var(--t-size))) no-repeat;mask:linear-gradient(to var(--tui-inline-start),transparent calc(1.25 * var(--t-size)),black calc(2 * var(--t-size))) no-repeat,linear-gradient(to var(--tui-inline-end),black,black calc(2 * var(--t-size)),transparent calc(2 * var(--t-size))) 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{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:text-top;color:var(--tui-text-positive)}\n"] }]
51
+ }], propDecorators: { size: [{
52
+ type: Input
53
+ }] } });
54
+
55
+ class TuiCopyDirective {
21
56
  constructor() {
22
57
  this.options = inject(TUI_COPY_OPTIONS);
23
58
  this.copied$ = new Subject();
@@ -35,15 +70,15 @@ class TuiCopy {
35
70
  this.doc.execCommand('copy');
36
71
  this.copied$.next();
37
72
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCopy, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
39
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiCopy, isStandalone: true, selector: "tui-icon[tuiCopy]", inputs: { tuiCopy: "tuiCopy" }, host: { listeners: { "click": "copy()" }, properties: { "style.pointer-events": "disabled ? \"none\" : null", "style.opacity": "disabled ? \"var(--tui-disabled-opacity)\" : null", "style.border": "textfield.options.size() === \"s\" ? \"0.25rem solid transparent\" : null" }, styleAttribute: "cursor: pointer" }, providers: [
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCopyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
74
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiCopyDirective, isStandalone: true, selector: "tui-icon[tuiCopy]", inputs: { tuiCopy: "tuiCopy" }, host: { listeners: { "click": "copy()" }, properties: { "style.pointer-events": "disabled ? \"none\" : null", "style.opacity": "disabled ? \"var(--tui-disabled-opacity)\" : null", "style.border-width.rem": "textfield.options.size() === \"l\" ? null : 0.25" }, styleAttribute: "cursor: pointer" }, providers: [
40
75
  {
41
76
  provide: TUI_APPEARANCE_OPTIONS,
42
77
  useValue: { appearance: 'icon' },
43
78
  },
44
- ], hostDirectives: [{ directive: i1.TuiWithAppearance }, { directive: i2.TuiHintDirective, inputs: ["tuiHintAppearance", "tuiHintAppearance", "tuiHintContext", "tuiHintContext"] }], ngImport: i0 }); }
79
+ ], hostDirectives: [{ directive: i1$1.TuiWithAppearance }, { directive: i2.TuiHintDirective, inputs: ["tuiHintAppearance", "tuiHintAppearance", "tuiHintContext", "tuiHintContext"] }], ngImport: i0 }); }
45
80
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCopy, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCopyDirective, decorators: [{
47
82
  type: Directive,
48
83
  args: [{
49
84
  standalone: true,
@@ -66,16 +101,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
66
101
  '(click)': 'copy()',
67
102
  '[style.pointer-events]': 'disabled ? "none" : null',
68
103
  '[style.opacity]': 'disabled ? "var(--tui-disabled-opacity)" : null',
69
- '[style.border]': 'textfield.options.size() === "s" ? "0.25rem solid transparent" : null',
104
+ '[style.border-width.rem]': 'textfield.options.size() === "l" ? null : 0.25',
70
105
  },
71
106
  }]
72
107
  }], propDecorators: { tuiCopy: [{
73
108
  type: Input
74
109
  }] } });
75
110
 
111
+ const TuiCopy = [TuiCopyComponent, TuiCopyDirective];
112
+
113
+ // TODO: Move to components in v5
114
+
76
115
  /**
77
116
  * Generated bundle index. Do not edit.
78
117
  */
79
118
 
80
- export { TUI_COPY_OPTIONS, TuiCopy, tuiCopyOptionsProvider };
119
+ export { TUI_COPY_OPTIONS, TuiCopy, TuiCopyComponent, TuiCopyDirective, tuiCopyOptionsProvider };
81
120
  //# sourceMappingURL=taiga-ui-kit-directives-copy.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-copy.mjs","sources":["../../../projects/kit/directives/copy/copy.options.ts","../../../projects/kit/directives/copy/copy.directive.ts","../../../projects/kit/directives/copy/taiga-ui-kit-directives-copy.ts"],"sourcesContent":["import type {TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiCopyOptions {\n readonly icon: TuiStringHandler<TuiSizeL | TuiSizeS> | string;\n}\n\nexport const [TUI_COPY_OPTIONS, tuiCopyOptionsProvider] =\n tuiCreateOptions<TuiCopyOptions>({\n icon: '@tui.copy',\n });\n","import {DOCUMENT} from '@angular/common';\nimport {computed, Directive, inject, Input} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {tuiDirectiveBinding, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_APPEARANCE_OPTIONS,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiHintDirective} from '@taiga-ui/core/directives/hint';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit/tokens';\nimport {map, startWith, Subject, switchMap, timer} from 'rxjs';\n\nimport {TUI_COPY_OPTIONS} from './copy.options';\n\n@Directive({\n standalone: true,\n selector: 'tui-icon[tuiCopy]',\n providers: [\n {\n provide: TUI_APPEARANCE_OPTIONS,\n useValue: {appearance: 'icon'},\n },\n ],\n hostDirectives: [\n TuiWithAppearance,\n {\n directive: TuiHintDirective,\n inputs: ['tuiHintAppearance', 'tuiHintContext'],\n },\n ],\n host: {\n style: 'cursor: pointer',\n '(click)': 'copy()',\n '[style.pointer-events]': 'disabled ? \"none\" : null',\n '[style.opacity]': 'disabled ? \"var(--tui-disabled-opacity)\" : null',\n '[style.border]':\n 'textfield.options.size() === \"s\" ? \"0.25rem solid transparent\" : null',\n },\n})\nexport class TuiCopy {\n private readonly options = inject(TUI_COPY_OPTIONS);\n private readonly copied$ = new Subject<void>();\n private readonly doc = inject(DOCUMENT);\n\n protected readonly textfield = inject(TuiTextfieldComponent);\n protected readonly hint = tuiDirectiveBinding(\n TuiHintDirective,\n 'tuiHint',\n toSignal(\n inject(TUI_COPY_TEXTS).pipe(\n switchMap(([copy, copied]) =>\n this.copied$.pipe(\n switchMap(() =>\n timer(3000).pipe(\n map(() => copy),\n startWith(copied),\n ),\n ),\n startWith(copy),\n ),\n ),\n ),\n {initialValue: ''},\n ),\n );\n\n protected readonly icons = tuiDirectiveBinding(\n TuiIcon,\n 'icon',\n computed((size = this.textfield.options.size()) =>\n tuiIsString(this.options.icon) ? this.options.icon : this.options.icon(size),\n ),\n );\n\n @Input()\n public tuiCopy = '';\n\n protected get disabled(): boolean {\n return !this.textfield.input?.nativeElement.value;\n }\n\n protected copy(): void {\n this.textfield.input?.nativeElement.select();\n this.doc.execCommand('copy');\n this.copied$.next();\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-directives-copy.mjs","sources":["../../../projects/kit/directives/copy/copy.options.ts","../../../projects/kit/directives/copy/copy.component.ts","../../../projects/kit/directives/copy/copy.template.html","../../../projects/kit/directives/copy/copy.directive.ts","../../../projects/kit/directives/copy/copy.ts","../../../projects/kit/directives/copy/index.ts","../../../projects/kit/directives/copy/taiga-ui-kit-directives-copy.ts"],"sourcesContent":["import type {TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiCopyOptions {\n readonly icon: TuiStringHandler<TuiSizeL | TuiSizeS> | string;\n}\n\nexport const [TUI_COPY_OPTIONS, tuiCopyOptionsProvider] =\n tuiCreateOptions<TuiCopyOptions>({icon: '@tui.copy'});\n","import {ClipboardModule} from '@angular/cdk/clipboard';\nimport {ChangeDetectionStrategy, Component, inject, Input} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/components/notification';\nimport {TuiHint} from '@taiga-ui/core/directives/hint';\nimport type {TuiSizeL} from '@taiga-ui/core/types';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit/tokens';\nimport {BehaviorSubject, map, startWith, switchMap, timer} from 'rxjs';\n\nimport {TUI_COPY_OPTIONS} from './copy.options';\n\n@Component({\n standalone: true,\n selector: 'tui-copy',\n imports: [ClipboardModule, TuiButton, TuiHint, TuiIcon],\n templateUrl: './copy.template.html',\n styleUrls: ['./copy.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-size]': 'size',\n '(pointerdown)': 'copied$.next(false)',\n },\n})\nexport class TuiCopyComponent {\n protected readonly notification = inject(TUI_NOTIFICATION_OPTIONS);\n protected readonly options = inject(TUI_COPY_OPTIONS);\n protected readonly copied$ = new BehaviorSubject<boolean>(false);\n protected readonly texts = toSignal(inject(TUI_COPY_TEXTS));\n protected readonly hint = toSignal(\n this.copied$.pipe(\n switchMap((copied) =>\n timer(2000).pipe(map(TUI_FALSE_HANDLER), startWith(copied)),\n ),\n ),\n );\n\n @Input()\n public size: TuiSizeL = 'm';\n\n protected get icon(): string {\n return tuiIsString(this.options.icon)\n ? this.options.icon\n : this.options.icon(this.size);\n }\n\n protected get check(): string {\n return tuiIsString(this.notification.icon)\n ? this.notification.icon\n : this.notification.icon('positive');\n }\n}\n","<span\n #content\n tuiHintAppearance=\"dark\"\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]=\"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","import {DOCUMENT} from '@angular/common';\nimport {computed, Directive, inject, Input} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {tuiDirectiveBinding, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_APPEARANCE_OPTIONS,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiHintDirective} from '@taiga-ui/core/directives/hint';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit/tokens';\nimport {map, startWith, Subject, switchMap, timer} from 'rxjs';\n\nimport {TUI_COPY_OPTIONS} from './copy.options';\n\n@Directive({\n standalone: true,\n selector: 'tui-icon[tuiCopy]',\n providers: [\n {\n provide: TUI_APPEARANCE_OPTIONS,\n useValue: {appearance: 'icon'},\n },\n ],\n hostDirectives: [\n TuiWithAppearance,\n {\n directive: TuiHintDirective,\n inputs: ['tuiHintAppearance', 'tuiHintContext'],\n },\n ],\n host: {\n style: 'cursor: pointer',\n '(click)': 'copy()',\n '[style.pointer-events]': 'disabled ? \"none\" : null',\n '[style.opacity]': 'disabled ? \"var(--tui-disabled-opacity)\" : null',\n '[style.border-width.rem]': 'textfield.options.size() === \"l\" ? null : 0.25',\n },\n})\nexport class TuiCopyDirective {\n private readonly options = inject(TUI_COPY_OPTIONS);\n private readonly copied$ = new Subject<void>();\n private readonly doc = inject(DOCUMENT);\n\n protected readonly textfield = inject(TuiTextfieldComponent);\n protected readonly hint = tuiDirectiveBinding(\n TuiHintDirective,\n 'tuiHint',\n toSignal(\n inject(TUI_COPY_TEXTS).pipe(\n switchMap(([copy, copied]) =>\n this.copied$.pipe(\n switchMap(() =>\n timer(3000).pipe(\n map(() => copy),\n startWith(copied),\n ),\n ),\n startWith(copy),\n ),\n ),\n ),\n {initialValue: ''},\n ),\n );\n\n protected readonly icons = tuiDirectiveBinding(\n TuiIcon,\n 'icon',\n computed((size = this.textfield.options.size()) =>\n tuiIsString(this.options.icon) ? this.options.icon : this.options.icon(size),\n ),\n );\n\n @Input()\n public tuiCopy = '';\n\n protected get disabled(): boolean {\n return !this.textfield.input?.nativeElement.value;\n }\n\n protected copy(): void {\n this.textfield.input?.nativeElement.select();\n this.doc.execCommand('copy');\n this.copied$.next();\n }\n}\n","import {TuiCopyComponent} from './copy.component';\nimport {TuiCopyDirective} from './copy.directive';\n\nexport const TuiCopy = [TuiCopyComponent, TuiCopyDirective] as const;\n","// TODO: Move to components in v5\nexport * from './copy';\nexport * from './copy.component';\nexport * from './copy.directive';\nexport * from './copy.options';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;;;;;AAQa,MAAA,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,GACnD,gBAAgB,CAAiB,EAAC,IAAI,EAAE,WAAW,EAAC;;ACMxD,MAYa,gBAAgB,CAAA;AAZ7B,IAAA,WAAA,GAAA;AAauB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAChD,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACnC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAC9C,IAAK,CAAA,KAAA,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AACzC,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CACb,SAAS,CAAC,CAAC,MAAM,KACb,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAC9D,CACJ,CACJ,CAAC;QAGK,IAAI,CAAA,IAAA,GAAa,GAAG,CAAC;AAa/B,KAAA;AAXG,IAAA,IAAc,IAAI,GAAA;AACd,QAAA,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACjC,cAAE,IAAI,CAAC,OAAO,CAAC,IAAI;cACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACtC;AAED,IAAA,IAAc,KAAK,GAAA;AACf,QAAA,OAAO,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACtC,cAAE,IAAI,CAAC,YAAY,CAAC,IAAI;cACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC5C;+GA1BQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,uMC3B7B,2vBA8BA,EAAA,MAAA,EAAA,CAAA,mmDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDZc,eAAe,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,4BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,SAAS,4ZAAW,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAS7C,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAZ5B,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,YACN,UAAU,EAAA,OAAA,EACX,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAA,eAAA,EAGtC,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,eAAe,EAAE,qBAAqB;AACzC,qBAAA,EAAA,QAAA,EAAA,2vBAAA,EAAA,MAAA,EAAA,CAAA,mmDAAA,CAAA,EAAA,CAAA;8BAgBM,IAAI,EAAA,CAAA;sBADV,KAAK;;;AExBV,MAwBa,gBAAgB,CAAA;AAxB7B,IAAA,WAAA,GAAA;AAyBqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACnC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAQ,CAAC;AAC9B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAErB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAC1C,QAAA,IAAA,CAAA,IAAI,GAAG,mBAAmB,CACzC,gBAAgB,EAChB,SAAS,EACT,QAAQ,CACJ,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CACvB,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,KACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CACb,SAAS,CAAC,MACN,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CACZ,GAAG,CAAC,MAAM,IAAI,CAAC,EACf,SAAS,CAAC,MAAM,CAAC,CACpB,CACJ,EACD,SAAS,CAAC,IAAI,CAAC,CAClB,CACJ,CACJ,EACD,EAAC,YAAY,EAAE,EAAE,EAAC,CACrB,CACJ,CAAC;QAEiB,IAAK,CAAA,KAAA,GAAG,mBAAmB,CAC1C,OAAO,EACP,MAAM,EACN,QAAQ,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAC1C,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/E,CACJ,CAAC;QAGK,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AAWvB,KAAA;AATG,IAAA,IAAc,QAAQ,GAAA;QAClB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;KACrD;IAES,IAAI,GAAA;QACV,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;AAC7C,QAAA,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACvB;+GA9CQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,EArBd,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,QAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,4BAAA,EAAA,eAAA,EAAA,mDAAA,EAAA,wBAAA,EAAA,kDAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,sBAAsB;AAC/B,gBAAA,QAAQ,EAAE,EAAC,UAAU,EAAE,MAAM,EAAC;AACjC,aAAA;AACJ,SAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAgBQ,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAxB5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,sBAAsB;AAC/B,4BAAA,QAAQ,EAAE,EAAC,UAAU,EAAE,MAAM,EAAC;AACjC,yBAAA;AACJ,qBAAA;AACD,oBAAA,cAAc,EAAE;wBACZ,iBAAiB;AACjB,wBAAA;AACI,4BAAA,SAAS,EAAE,gBAAgB;AAC3B,4BAAA,MAAM,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;AAClD,yBAAA;AACJ,qBAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,SAAS,EAAE,QAAQ;AACnB,wBAAA,wBAAwB,EAAE,0BAA0B;AACpD,wBAAA,iBAAiB,EAAE,iDAAiD;AACpE,wBAAA,0BAA0B,EAAE,gDAAgD;AAC/E,qBAAA;AACJ,iBAAA,CAAA;8BAqCU,OAAO,EAAA,CAAA;sBADb,KAAK;;;MCxEG,OAAO,GAAG,CAAC,gBAAgB,EAAE,gBAAgB;;ACH1D;;ACAA;;AAEG;;;;"}
@@ -10,7 +10,7 @@ import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
10
10
 
11
11
  const TUI_FLUID_TYPOGRAPHY_DEFAULT_OPTIONS = {
12
12
  min: 0.625,
13
- max: 1.5,
13
+ max: 1.25,
14
14
  };
15
15
  const TUI_FLUID_TYPOGRAPHY_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_FLUID_TYPOGRAPHY_OPTIONS' : '', {
16
16
  factory: () => TUI_FLUID_TYPOGRAPHY_DEFAULT_OPTIONS,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-fluid-typography.mjs","sources":["../../../projects/kit/directives/fluid-typography/fluid-typography.options.ts","../../../projects/kit/directives/fluid-typography/fluid-typography.directive.ts","../../../projects/kit/directives/fluid-typography/taiga-ui-kit-directives-fluid-typography.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiFluidTypographyOptions {\n readonly min: number;\n readonly max: number;\n}\n\nexport const TUI_FLUID_TYPOGRAPHY_DEFAULT_OPTIONS: TuiFluidTypographyOptions = {\n min: 0.625,\n max: 1.5,\n};\n\nexport const TUI_FLUID_TYPOGRAPHY_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_FLUID_TYPOGRAPHY_OPTIONS' : '',\n {\n factory: () => TUI_FLUID_TYPOGRAPHY_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiFluidTypographyOptionsProvider(\n options: Partial<TuiFluidTypographyOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_FLUID_TYPOGRAPHY_OPTIONS,\n options,\n TUI_FLUID_TYPOGRAPHY_DEFAULT_OPTIONS,\n );\n}\n","import type {OnChanges} from '@angular/core';\nimport {Directive, inject, Input} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {fromEvent, merge, Subject} from 'rxjs';\n\nimport {TUI_FLUID_TYPOGRAPHY_OPTIONS} from './fluid-typography.options';\n\nconst STEP = 1 / 16;\n\n@Directive({\n standalone: true,\n selector: '[tuiFluidTypography]',\n providers: [\n ResizeObserverService,\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {characterData: true, subtree: true},\n },\n ],\n host: {tuiFluidTypography: ''},\n})\nexport class TuiFluidTypography implements OnChanges {\n // TODO: refactor to signal inputs after Angular update\n private readonly changes$ = new Subject<void>();\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_FLUID_TYPOGRAPHY_OPTIONS);\n\n protected readonly sub = merge(\n this.changes$,\n inject(ResizeObserverService, {self: true}),\n inject(MutationObserverService, {self: true}),\n fromEvent(this.el, 'input'),\n )\n .pipe(tuiZonefree(), takeUntilDestroyed())\n .subscribe(() => {\n const min = Number(this.tuiFluidTypography[0] || this.options.min);\n const max = Number(this.tuiFluidTypography[1] || this.options.max);\n\n for (let i = max; i >= min; i -= STEP) {\n this.el.style.fontSize = `${i}rem`;\n\n if (this.el.scrollWidth <= this.el.clientWidth) {\n break;\n }\n }\n });\n\n @Input()\n public tuiFluidTypography: readonly [min: number, max: number] | '' = '';\n\n public ngOnChanges(): void {\n this.changes$.next();\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-directives-fluid-typography.mjs","sources":["../../../projects/kit/directives/fluid-typography/fluid-typography.options.ts","../../../projects/kit/directives/fluid-typography/fluid-typography.directive.ts","../../../projects/kit/directives/fluid-typography/taiga-ui-kit-directives-fluid-typography.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiFluidTypographyOptions {\n readonly min: number;\n readonly max: number;\n}\n\nexport const TUI_FLUID_TYPOGRAPHY_DEFAULT_OPTIONS: TuiFluidTypographyOptions = {\n min: 0.625,\n max: 1.25,\n};\n\nexport const TUI_FLUID_TYPOGRAPHY_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_FLUID_TYPOGRAPHY_OPTIONS' : '',\n {\n factory: () => TUI_FLUID_TYPOGRAPHY_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiFluidTypographyOptionsProvider(\n options: Partial<TuiFluidTypographyOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_FLUID_TYPOGRAPHY_OPTIONS,\n options,\n TUI_FLUID_TYPOGRAPHY_DEFAULT_OPTIONS,\n );\n}\n","import type {OnChanges} from '@angular/core';\nimport {Directive, inject, Input} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {fromEvent, merge, Subject} from 'rxjs';\n\nimport {TUI_FLUID_TYPOGRAPHY_OPTIONS} from './fluid-typography.options';\n\nconst STEP = 1 / 16;\n\n@Directive({\n standalone: true,\n selector: '[tuiFluidTypography]',\n providers: [\n ResizeObserverService,\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {characterData: true, subtree: true},\n },\n ],\n host: {tuiFluidTypography: ''},\n})\nexport class TuiFluidTypography implements OnChanges {\n // TODO: refactor to signal inputs after Angular update\n private readonly changes$ = new Subject<void>();\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_FLUID_TYPOGRAPHY_OPTIONS);\n\n protected readonly sub = merge(\n this.changes$,\n inject(ResizeObserverService, {self: true}),\n inject(MutationObserverService, {self: true}),\n fromEvent(this.el, 'input'),\n )\n .pipe(tuiZonefree(), takeUntilDestroyed())\n .subscribe(() => {\n const min = Number(this.tuiFluidTypography[0] || this.options.min);\n const max = Number(this.tuiFluidTypography[1] || this.options.max);\n\n for (let i = max; i >= min; i -= STEP) {\n this.el.style.fontSize = `${i}rem`;\n\n if (this.el.scrollWidth <= this.el.clientWidth) {\n break;\n }\n }\n });\n\n @Input()\n public tuiFluidTypography: readonly [min: number, max: number] | '' = '';\n\n public ngOnChanges(): void {\n this.changes$.next();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/kit",
3
- "version": "4.47.0",
3
+ "version": "4.48.0-canary.8006d33",
4
4
  "description": "Taiga UI Angular main components kit",
5
5
  "keywords": [
6
6
  "angular",
@@ -263,6 +263,12 @@
263
263
  "esm": "./esm2022/components/input-password/taiga-ui-kit-components-input-password.mjs",
264
264
  "default": "./fesm2022/taiga-ui-kit-components-input-password.mjs"
265
265
  },
266
+ "./components/input-phone": {
267
+ "types": "./components/input-phone/index.d.ts",
268
+ "esm2022": "./esm2022/components/input-phone/taiga-ui-kit-components-input-phone.mjs",
269
+ "esm": "./esm2022/components/input-phone/taiga-ui-kit-components-input-phone.mjs",
270
+ "default": "./fesm2022/taiga-ui-kit-components-input-phone.mjs"
271
+ },
266
272
  "./components/input-phone-international": {
267
273
  "types": "./components/input-phone-international/index.d.ts",
268
274
  "esm2022": "./esm2022/components/input-phone-international/taiga-ui-kit-components-input-phone-international.mjs",
@@ -437,18 +443,18 @@
437
443
  "esm": "./esm2022/components/switch/taiga-ui-kit-components-switch.mjs",
438
444
  "default": "./fesm2022/taiga-ui-kit-components-switch.mjs"
439
445
  },
440
- "./components/tabs": {
441
- "types": "./components/tabs/index.d.ts",
442
- "esm2022": "./esm2022/components/tabs/taiga-ui-kit-components-tabs.mjs",
443
- "esm": "./esm2022/components/tabs/taiga-ui-kit-components-tabs.mjs",
444
- "default": "./fesm2022/taiga-ui-kit-components-tabs.mjs"
445
- },
446
446
  "./components/textarea": {
447
447
  "types": "./components/textarea/index.d.ts",
448
448
  "esm2022": "./esm2022/components/textarea/taiga-ui-kit-components-textarea.mjs",
449
449
  "esm": "./esm2022/components/textarea/taiga-ui-kit-components-textarea.mjs",
450
450
  "default": "./fesm2022/taiga-ui-kit-components-textarea.mjs"
451
451
  },
452
+ "./components/tabs": {
453
+ "types": "./components/tabs/index.d.ts",
454
+ "esm2022": "./esm2022/components/tabs/taiga-ui-kit-components-tabs.mjs",
455
+ "esm": "./esm2022/components/tabs/taiga-ui-kit-components-tabs.mjs",
456
+ "default": "./fesm2022/taiga-ui-kit-components-tabs.mjs"
457
+ },
452
458
  "./components/tiles": {
453
459
  "types": "./components/tiles/index.d.ts",
454
460
  "esm2022": "./esm2022/components/tiles/taiga-ui-kit-components-tiles.mjs",
@@ -643,9 +649,9 @@
643
649
  "@ng-web-apis/intersection-observer": "^4.12.0",
644
650
  "@ng-web-apis/mutation-observer": "^4.12.0",
645
651
  "@ng-web-apis/resize-observer": "^4.12.0",
646
- "@taiga-ui/cdk": "^4.47.0",
647
- "@taiga-ui/core": "^4.47.0",
648
- "@taiga-ui/i18n": "^4.47.0",
652
+ "@taiga-ui/cdk": "^4.48.0",
653
+ "@taiga-ui/core": "^4.48.0",
654
+ "@taiga-ui/i18n": "^4.48.0",
649
655
  "@taiga-ui/polymorpheus": "^4.9.0",
650
656
  "rxjs": ">=7.0.0"
651
657
  },