@taiga-ui/core 5.9.0 → 5.10.0-canary.ed6b235

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 (47) hide show
  1. package/components/cell/cell-stretch.directive.d.ts +6 -0
  2. package/components/cell/index.d.ts +1 -0
  3. package/components/error/error.directive.d.ts +5 -0
  4. package/fesm2022/taiga-ui-core-components-button.mjs +2 -2
  5. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  6. package/fesm2022/taiga-ui-core-components-cell.mjs +20 -4
  7. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
  8. package/fesm2022/taiga-ui-core-components-checkbox.mjs +2 -2
  9. package/fesm2022/taiga-ui-core-components-checkbox.mjs.map +1 -1
  10. package/fesm2022/taiga-ui-core-components-data-list.mjs +4 -4
  11. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  12. package/fesm2022/taiga-ui-core-components-error.mjs +21 -5
  13. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  14. package/fesm2022/taiga-ui-core-components-icon.mjs +2 -2
  15. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  16. package/fesm2022/taiga-ui-core-components-label.mjs +3 -3
  17. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  18. package/fesm2022/taiga-ui-core-components-link.mjs +2 -2
  19. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  20. package/fesm2022/taiga-ui-core-components-notification.mjs +2 -2
  21. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  22. package/fesm2022/taiga-ui-core-components-radio.mjs +2 -2
  23. package/fesm2022/taiga-ui-core-components-radio.mjs.map +1 -1
  24. package/fesm2022/taiga-ui-core-components-root.mjs +19 -3
  25. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-core-components-textfield.mjs +7 -12
  27. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-core-components-title.mjs +3 -3
  29. package/fesm2022/taiga-ui-core-components-title.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-core-directives-appearance.mjs +3 -3
  31. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-core-directives-group.mjs +3 -3
  33. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-core-directives-icons.mjs +3 -3
  35. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  36. package/fesm2022/taiga-ui-core-portals-alert.mjs +3 -3
  37. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-core-portals-dialog.mjs +2 -2
  39. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-core-portals-hint.mjs +15 -14
  41. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-core-portals-modal.mjs +3 -3
  43. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +2 -2
  45. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  46. package/package.json +4 -4
  47. package/portals/hint/hint-options.directive.d.ts +1 -3
@@ -42,7 +42,7 @@ class TuiRadioComponent {
42
42
  this.appearance.set(this.options.appearance(this.el));
43
43
  }
44
44
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.21", type: TuiRadioComponent, isStandalone: true, selector: "input[type=\"radio\"][tuiRadio]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()", "class._readonly": "!control", "disabled": "!control || control.disabled" } }, hostDirectives: [{ directive: i1.TuiAppearance, inputs: ["tuiAppearanceState", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceFocus", "tuiAppearanceMode", "tuiAppearanceMode"] }, { directive: i2.TuiNativeValidator }], ngImport: i0, template: '', isInline: true, styles: ["[tuiRadio]:where(*[data-tui-version=\"5.9.0\"]){--t-size: 1.5rem;transition-property:background,box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;inline-size:var(--t-size);block-size:var(--t-size);cursor:pointer;margin:0;flex-shrink:0;border-radius:100%;color:var(--tui-text-primary-on-accent-1)}[tuiRadio]:where(*[data-tui-version=\"5.9.0\"]):disabled._readonly._readonly{opacity:1}[tuiRadio]:where(*[data-tui-version=\"5.9.0\"]):before{position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";margin:auto;border-radius:100%;background:currentColor;transform:scale(0);transition-property:transform}[tuiRadio]:where(*[data-tui-version=\"5.9.0\"]):checked:before{transform:scale(.5)}[tuiRadio]:where(*[data-tui-version=\"5.9.0\"])[data-size=s]{--t-size: 1rem}[tuiRadio]:where(*[data-tui-version=\"5.9.0\"]):invalid:not([data-mode]),[tuiRadio]:where(*[data-tui-version=\"5.9.0\"])[data-mode~=invalid]{color:#fff}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.21", type: TuiRadioComponent, isStandalone: true, selector: "input[type=\"radio\"][tuiRadio]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()", "class._readonly": "!control", "disabled": "!control || control.disabled" } }, hostDirectives: [{ directive: i1.TuiAppearance, inputs: ["tuiAppearanceState", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceFocus", "tuiAppearanceMode", "tuiAppearanceMode"] }, { directive: i2.TuiNativeValidator }], ngImport: i0, template: '', isInline: true, styles: ["[tuiRadio]:where(*[data-tui-version=\"5.10.0-canary.ed6b235\"]){--t-size: 1.5rem;transition-property:background,box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;inline-size:var(--t-size);block-size:var(--t-size);cursor:pointer;margin:0;flex-shrink:0;border-radius:100%;color:var(--tui-text-primary-on-accent-1)}[tuiRadio]:where(*[data-tui-version=\"5.10.0-canary.ed6b235\"]):disabled._readonly._readonly{opacity:1}[tuiRadio]:where(*[data-tui-version=\"5.10.0-canary.ed6b235\"]):before{position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";margin:auto;border-radius:100%;background:currentColor;transform:scale(0);transition-property:transform}[tuiRadio]:where(*[data-tui-version=\"5.10.0-canary.ed6b235\"]):checked:before{transform:scale(.5)}[tuiRadio]:where(*[data-tui-version=\"5.10.0-canary.ed6b235\"])[data-size=s]{--t-size: 1rem}[tuiRadio]:where(*[data-tui-version=\"5.10.0-canary.ed6b235\"]):invalid:not([data-mode]),[tuiRadio]:where(*[data-tui-version=\"5.10.0-canary.ed6b235\"])[data-mode~=invalid]{color:#fff}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
46
46
  }
47
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiRadioComponent, decorators: [{
48
48
  type: Component,
@@ -56,7 +56,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
56
56
  '[attr.data-size]': 'size()',
57
57
  '[class._readonly]': '!control',
58
58
  '[disabled]': '!control || control.disabled',
59
- }, styles: ["[tuiRadio]:where(*[data-tui-version=\"5.9.0\"]){--t-size: 1.5rem;transition-property:background,box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;inline-size:var(--t-size);block-size:var(--t-size);cursor:pointer;margin:0;flex-shrink:0;border-radius:100%;color:var(--tui-text-primary-on-accent-1)}[tuiRadio]:where(*[data-tui-version=\"5.9.0\"]):disabled._readonly._readonly{opacity:1}[tuiRadio]:where(*[data-tui-version=\"5.9.0\"]):before{position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";margin:auto;border-radius:100%;background:currentColor;transform:scale(0);transition-property:transform}[tuiRadio]:where(*[data-tui-version=\"5.9.0\"]):checked:before{transform:scale(.5)}[tuiRadio]:where(*[data-tui-version=\"5.9.0\"])[data-size=s]{--t-size: 1rem}[tuiRadio]:where(*[data-tui-version=\"5.9.0\"]):invalid:not([data-mode]),[tuiRadio]:where(*[data-tui-version=\"5.9.0\"])[data-mode~=invalid]{color:#fff}\n"] }]
59
+ }, styles: ["[tuiRadio]:where(*[data-tui-version=\"5.10.0-canary.ed6b235\"]){--t-size: 1.5rem;transition-property:background,box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;inline-size:var(--t-size);block-size:var(--t-size);cursor:pointer;margin:0;flex-shrink:0;border-radius:100%;color:var(--tui-text-primary-on-accent-1)}[tuiRadio]:where(*[data-tui-version=\"5.10.0-canary.ed6b235\"]):disabled._readonly._readonly{opacity:1}[tuiRadio]:where(*[data-tui-version=\"5.10.0-canary.ed6b235\"]):before{position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";margin:auto;border-radius:100%;background:currentColor;transform:scale(0);transition-property:transform}[tuiRadio]:where(*[data-tui-version=\"5.10.0-canary.ed6b235\"]):checked:before{transform:scale(.5)}[tuiRadio]:where(*[data-tui-version=\"5.10.0-canary.ed6b235\"])[data-size=s]{--t-size: 1rem}[tuiRadio]:where(*[data-tui-version=\"5.10.0-canary.ed6b235\"]):invalid:not([data-mode]),[tuiRadio]:where(*[data-tui-version=\"5.10.0-canary.ed6b235\"])[data-mode~=invalid]{color:#fff}\n"] }]
60
60
  }] });
61
61
 
62
62
  class TuiRadioDirective {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-radio.mjs","sources":["../../../projects/core/components/radio/radio.options.ts","../../../projects/core/components/radio/radio.component.ts","../../../projects/core/components/radio/radio.directive.ts","../../../projects/core/components/radio/radio.ts","../../../projects/core/components/radio/taiga-ui-core-components-radio.ts"],"sourcesContent":["import {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiRadioOptions {\n readonly appearance: TuiStringHandler<HTMLInputElement>;\n readonly size: TuiSizeS;\n}\n\nexport const [TUI_RADIO_OPTIONS, tuiRadioOptionsProvider] =\n tuiCreateOptions<TuiRadioOptions>({\n size: 'm',\n appearance: ({checked}) => (checked ? 'primary' : 'outline-grayscale'),\n });\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n type DoCheck,\n inject,\n input,\n type OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiControlValue} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiAppearance, tuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {distinctUntilChanged} from 'rxjs';\n\nimport {TUI_RADIO_OPTIONS, type TuiRadioOptions} from './radio.options';\n\n@Component({\n selector: 'input[type=\"radio\"][tuiRadio]',\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/radio.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: TuiAppearance,\n inputs: ['tuiAppearanceState', 'tuiAppearanceFocus', 'tuiAppearanceMode'],\n },\n TuiNativeValidator,\n ],\n host: {\n '[attr.data-size]': 'size()',\n '[class._readonly]': '!control',\n '[disabled]': '!control || control.disabled',\n },\n})\nexport class TuiRadioComponent<T extends TuiRadioOptions> implements DoCheck, OnInit {\n private readonly destroyRef = inject(DestroyRef);\n\n protected readonly el = tuiInjectElement<HTMLInputElement>();\n protected readonly options = inject<T>(TUI_RADIO_OPTIONS);\n protected readonly appearance = tuiAppearance(this.options.appearance(this.el));\n protected readonly control = inject(NgControl, {self: true, optional: true});\n\n public readonly size = input(this.options.size);\n\n public ngOnInit(): void {\n tuiControlValue(this.control)\n .pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n // https://github.com/angular/angular/issues/14988\n const fix =\n this.control instanceof NgModel && value == null\n ? this.control.model\n : value;\n\n this.el.indeterminate = fix == null && this.el.matches('[tuiCheckbox]');\n this.ngDoCheck();\n });\n }\n\n public ngDoCheck(): void {\n this.appearance.set(this.options.appearance(this.el));\n }\n}\n","import {Directive, inject, input} from '@angular/core';\nimport {RadioControlValueAccessor} from '@angular/forms';\nimport {TUI_DEFAULT_IDENTITY_MATCHER} from '@taiga-ui/cdk/constants';\nimport {type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n@Directive({selector: 'input[type=\"radio\"][tuiRadio][identityMatcher]'})\nexport class TuiRadioDirective<T> {\n public readonly identityMatcher = input<TuiIdentityMatcher<T>>(\n TUI_DEFAULT_IDENTITY_MATCHER,\n );\n\n constructor() {\n const accessor = inject(RadioControlValueAccessor);\n const writeValue = accessor.writeValue.bind(accessor);\n\n accessor.writeValue = (value: T) => {\n if (this.identityMatcher()(value, accessor.value)) {\n writeValue(accessor.value);\n } else {\n writeValue(value);\n }\n };\n }\n}\n","import {TuiRadioComponent} from './radio.component';\nimport {TuiRadioDirective} from './radio.directive';\n\nexport const TuiRadio = [TuiRadioComponent, TuiRadioDirective] as const;\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-core-components-radio.mjs","sources":["../../../projects/core/components/radio/radio.options.ts","../../../projects/core/components/radio/radio.component.ts","../../../projects/core/components/radio/radio.directive.ts","../../../projects/core/components/radio/radio.ts","../../../projects/core/components/radio/taiga-ui-core-components-radio.ts"],"sourcesContent":["import {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiRadioOptions {\n readonly appearance: TuiStringHandler<HTMLInputElement>;\n readonly size: TuiSizeS;\n}\n\nexport const [TUI_RADIO_OPTIONS, tuiRadioOptionsProvider] =\n tuiCreateOptions<TuiRadioOptions>({\n size: 'm',\n appearance: ({checked}) => (checked ? 'primary' : 'outline-grayscale'),\n });\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n type DoCheck,\n inject,\n input,\n type OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiControlValue} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiAppearance, tuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {distinctUntilChanged} from 'rxjs';\n\nimport {TUI_RADIO_OPTIONS, type TuiRadioOptions} from './radio.options';\n\n@Component({\n selector: 'input[type=\"radio\"][tuiRadio]',\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/radio.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: TuiAppearance,\n inputs: ['tuiAppearanceState', 'tuiAppearanceFocus', 'tuiAppearanceMode'],\n },\n TuiNativeValidator,\n ],\n host: {\n '[attr.data-size]': 'size()',\n '[class._readonly]': '!control',\n '[disabled]': '!control || control.disabled',\n },\n})\nexport class TuiRadioComponent<T extends TuiRadioOptions> implements DoCheck, OnInit {\n private readonly destroyRef = inject(DestroyRef);\n\n protected readonly el = tuiInjectElement<HTMLInputElement>();\n protected readonly options = inject<T>(TUI_RADIO_OPTIONS);\n protected readonly appearance = tuiAppearance(this.options.appearance(this.el));\n protected readonly control = inject(NgControl, {self: true, optional: true});\n\n public readonly size = input(this.options.size);\n\n public ngOnInit(): void {\n tuiControlValue(this.control)\n .pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n // https://github.com/angular/angular/issues/14988\n const fix =\n this.control instanceof NgModel && value == null\n ? this.control.model\n : value;\n\n this.el.indeterminate = fix == null && this.el.matches('[tuiCheckbox]');\n this.ngDoCheck();\n });\n }\n\n public ngDoCheck(): void {\n this.appearance.set(this.options.appearance(this.el));\n }\n}\n","import {Directive, inject, input} from '@angular/core';\nimport {RadioControlValueAccessor} from '@angular/forms';\nimport {TUI_DEFAULT_IDENTITY_MATCHER} from '@taiga-ui/cdk/constants';\nimport {type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n@Directive({selector: 'input[type=\"radio\"][tuiRadio][identityMatcher]'})\nexport class TuiRadioDirective<T> {\n public readonly identityMatcher = input<TuiIdentityMatcher<T>>(\n TUI_DEFAULT_IDENTITY_MATCHER,\n );\n\n constructor() {\n const accessor = inject(RadioControlValueAccessor);\n const writeValue = accessor.writeValue.bind(accessor);\n\n accessor.writeValue = (value: T) => {\n if (this.identityMatcher()(value, accessor.value)) {\n writeValue(accessor.value);\n } else {\n writeValue(value);\n }\n };\n }\n}\n","import {TuiRadioComponent} from './radio.component';\nimport {TuiRadioDirective} from './radio.directive';\n\nexport const TuiRadio = [TuiRadioComponent, TuiRadioDirective] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -35,11 +35,27 @@ class TuiRoot {
35
35
  : !this.child;
36
36
  }
37
37
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiRoot, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.21", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "5.9.0" }, listeners: { "document:fullscreenchange": "top.set(parent)", "touchstart.passive.zoneless": "0" }, properties: { "class._mobile": "breakpoint() === \"mobile\"", "style.--tui-duration.ms": "duration", "style.--tui-scroll-behavior": "reducedMotion ? \"auto\" : \"smooth\"" } }, hostDirectives: [{ directive: i1.TuiPlatform }, { directive: i2.TuiVisualViewport }, { directive: i3.TuiFontSize }], ngImport: i0, template: "<div class=\"t-root-content\">\n <ng-content />\n</div>\n@if (top()) {\n @if (scrollbars) {\n <tui-scroll-controls class=\"t-root-scrollbar\" />\n }\n <tui-popups>\n <ng-content select=\"tuiOverContent\" />\n </tui-popups>\n}\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiFade{0%{opacity:0}}@keyframes tuiSlide{0%{transform:var(--tui-from, translateY(100%))}}@keyframes tuiScale{0%{transform:scale(var(--tui-scale, 0))}}@keyframes tuiCollapse{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}.tui-enter,.tui-leave{animation-duration:var(--tui-duration);animation-timing-function:ease-in-out;pointer-events:none}.tui-leave{animation-direction:reverse}\n", ".tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.tui-zero-scrollbar::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-typography-body-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;inset:0;z-index:0}.t-root-content{position:relative;inset-block-start:var(--t-root-top);block-size:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "component", type: TuiPopups, selector: "tui-popups" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.21", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "5.10.0-canary.ed6b235" }, listeners: { "document:fullscreenchange": "top.set(parent)", "touchstart.passive.zoneless": "0" }, properties: { "class._mobile": "breakpoint() === \"mobile\"", "style.--tui-duration.ms": "duration", "style.--tui-scroll-behavior": "reducedMotion ? \"auto\" : \"smooth\"" } }, hostDirectives: [{ directive: i1.TuiPlatform }, { directive: i2.TuiVisualViewport }, { directive: i3.TuiFontSize }], ngImport: i0, template: `
39
+ <div class="t-root-content"><ng-content /></div>
40
+ @if (top()) {
41
+ @if (scrollbars) {
42
+ <tui-scroll-controls class="t-root-scrollbar" />
43
+ }
44
+ <tui-popups><ng-content select="tuiOverContent" /></tui-popups>
45
+ }
46
+ `, isInline: true, styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiFade{0%{opacity:0}}@keyframes tuiSlide{0%{transform:var(--tui-from, translateY(100%))}}@keyframes tuiScale{0%{transform:scale(var(--tui-scale, 0))}}@keyframes tuiCollapse{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}.tui-enter,.tui-leave{animation-duration:var(--tui-duration);animation-timing-function:var(--tui-curve-productive-entrance);pointer-events:none}.tui-leave{animation-direction:reverse;animation-timing-function:var(--tui-curve-productive-exit)}\n", ".tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.tui-zero-scrollbar::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-typography-body-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}tui-root:has(>tui-popups tui-modal)>.t-root-content{interactivity:inert}tui-root>.t-root-scrollbar{position:fixed;inset:0;z-index:0}.t-root-content{position:relative;inset-block-start:var(--t-root-top);block-size:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "component", type: TuiPopups, selector: "tui-popups" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
39
47
  }
40
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiRoot, decorators: [{
41
49
  type: Component,
42
- args: [{ selector: 'tui-root', imports: [TuiPopups, TuiScrollControls], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, hostDirectives: [TuiPlatform, TuiVisualViewport, TuiFontSize], host: {
50
+ args: [{ selector: 'tui-root', imports: [TuiPopups, TuiScrollControls], template: `
51
+ <div class="t-root-content"><ng-content /></div>
52
+ @if (top()) {
53
+ @if (scrollbars) {
54
+ <tui-scroll-controls class="t-root-scrollbar" />
55
+ }
56
+ <tui-popups><ng-content select="tuiOverContent" /></tui-popups>
57
+ }
58
+ `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, hostDirectives: [TuiPlatform, TuiVisualViewport, TuiFontSize], host: {
43
59
  'data-tui-version': TUI_VERSION,
44
60
  '[class._mobile]': 'breakpoint() === "mobile"',
45
61
  '[style.--tui-duration.ms]': 'duration',
@@ -47,7 +63,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
47
63
  '(document:fullscreenchange)': 'top.set(parent)',
48
64
  // Required for the :active state to work in Safari. https://stackoverflow.com/a/33681490
49
65
  '(touchstart.passive.zoneless)': '0',
50
- }, template: "<div class=\"t-root-content\">\n <ng-content />\n</div>\n@if (top()) {\n @if (scrollbars) {\n <tui-scroll-controls class=\"t-root-scrollbar\" />\n }\n <tui-popups>\n <ng-content select=\"tuiOverContent\" />\n </tui-popups>\n}\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiFade{0%{opacity:0}}@keyframes tuiSlide{0%{transform:var(--tui-from, translateY(100%))}}@keyframes tuiScale{0%{transform:scale(var(--tui-scale, 0))}}@keyframes tuiCollapse{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}.tui-enter,.tui-leave{animation-duration:var(--tui-duration);animation-timing-function:ease-in-out;pointer-events:none}.tui-leave{animation-direction:reverse}\n", ".tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.tui-zero-scrollbar::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-typography-body-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;inset:0;z-index:0}.t-root-content{position:relative;inset-block-start:var(--t-root-top);block-size:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"] }]
66
+ }, styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiFade{0%{opacity:0}}@keyframes tuiSlide{0%{transform:var(--tui-from, translateY(100%))}}@keyframes tuiScale{0%{transform:scale(var(--tui-scale, 0))}}@keyframes tuiCollapse{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}.tui-enter,.tui-leave{animation-duration:var(--tui-duration);animation-timing-function:var(--tui-curve-productive-entrance);pointer-events:none}.tui-leave{animation-direction:reverse;animation-timing-function:var(--tui-curve-productive-exit)}\n", ".tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.tui-zero-scrollbar::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-typography-body-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}tui-root:has(>tui-popups tui-modal)>.t-root-content{interactivity:inert}tui-root>.t-root-scrollbar{position:fixed;inset:0;z-index:0}.t-root-content{position:relative;inset-block-start:var(--t-root-top);block-size:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"] }]
51
67
  }] });
52
68
 
53
69
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-root.mjs","sources":["../../../projects/core/components/root/root.component.ts","../../../projects/core/components/root/root.template.html","../../../projects/core/components/root/taiga-ui-core-components-root.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TuiFontSize} from '@taiga-ui/cdk/directives/font-size';\nimport {TuiPlatform} from '@taiga-ui/cdk/directives/platform';\nimport {TuiVisualViewport} from '@taiga-ui/cdk/directives/visual-viewport';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n TUI_SCROLLBAR_OPTIONS,\n TuiScrollControls,\n} from '@taiga-ui/core/components/scrollbar';\nimport {TuiPopups} from '@taiga-ui/core/portals/popup';\nimport {\n TUI_ANIMATIONS_SPEED,\n TUI_BREAKPOINT,\n TUI_REDUCED_MOTION,\n} from '@taiga-ui/core/tokens';\nimport {TUI_OPTIONS, tuiGetDuration} from '@taiga-ui/core/utils/miscellaneous';\n\n@Component({\n selector: 'tui-root',\n imports: [TuiPopups, TuiScrollControls],\n templateUrl: './root.template.html',\n styleUrls: ['./animations.less', './root.style.less'],\n encapsulation: ViewEncapsulation.None,\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n hostDirectives: [TuiPlatform, TuiVisualViewport, TuiFontSize],\n host: {\n 'data-tui-version': TUI_VERSION,\n '[class._mobile]': 'breakpoint() === \"mobile\"',\n '[style.--tui-duration.ms]': 'duration',\n '[style.--tui-scroll-behavior]': 'reducedMotion ? \"auto\" : \"smooth\"',\n '(document:fullscreenchange)': 'top.set(parent)',\n // Required for the :active state to work in Safari. https://stackoverflow.com/a/33681490\n '(touchstart.passive.zoneless)': '0',\n },\n})\nexport class TuiRoot {\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n private readonly child = !!inject(TuiRoot, {optional: true, skipSelf: true});\n\n protected readonly reducedMotion = inject(TUI_REDUCED_MOTION);\n protected readonly duration = tuiGetDuration(inject(TUI_ANIMATIONS_SPEED));\n protected readonly top = signal(this.parent);\n protected readonly breakpoint = inject(TUI_BREAKPOINT);\n\n protected readonly scrollbars =\n !inject(WA_IS_MOBILE) &&\n !this.child &&\n inject(TUI_SCROLLBAR_OPTIONS).mode !== 'native' &&\n inject(TUI_OPTIONS).scrollbars !== 'native';\n\n protected get parent(): boolean {\n return this.doc.fullscreenElement\n ? this.doc.fullscreenElement === this.el\n : !this.child;\n }\n}\n","<div class=\"t-root-content\">\n <ng-content />\n</div>\n@if (top()) {\n @if (scrollbars) {\n <tui-scroll-controls class=\"t-root-scrollbar\" />\n }\n <tui-popups>\n <ng-content select=\"tuiOverContent\" />\n </tui-popups>\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-core-components-root.mjs","sources":["../../../projects/core/components/root/root.component.ts","../../../projects/core/components/root/taiga-ui-core-components-root.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TuiFontSize} from '@taiga-ui/cdk/directives/font-size';\nimport {TuiPlatform} from '@taiga-ui/cdk/directives/platform';\nimport {TuiVisualViewport} from '@taiga-ui/cdk/directives/visual-viewport';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n TUI_SCROLLBAR_OPTIONS,\n TuiScrollControls,\n} from '@taiga-ui/core/components/scrollbar';\nimport {TuiPopups} from '@taiga-ui/core/portals/popup';\nimport {\n TUI_ANIMATIONS_SPEED,\n TUI_BREAKPOINT,\n TUI_REDUCED_MOTION,\n} from '@taiga-ui/core/tokens';\nimport {TUI_OPTIONS, tuiGetDuration} from '@taiga-ui/core/utils/miscellaneous';\n\n@Component({\n selector: 'tui-root',\n imports: [TuiPopups, TuiScrollControls],\n template: `\n <div class=\"t-root-content\"><ng-content /></div>\n @if (top()) {\n @if (scrollbars) {\n <tui-scroll-controls class=\"t-root-scrollbar\" />\n }\n <tui-popups><ng-content select=\"tuiOverContent\" /></tui-popups>\n }\n `,\n styleUrls: ['./animations.less', './root.style.less'],\n encapsulation: ViewEncapsulation.None,\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n hostDirectives: [TuiPlatform, TuiVisualViewport, TuiFontSize],\n host: {\n 'data-tui-version': TUI_VERSION,\n '[class._mobile]': 'breakpoint() === \"mobile\"',\n '[style.--tui-duration.ms]': 'duration',\n '[style.--tui-scroll-behavior]': 'reducedMotion ? \"auto\" : \"smooth\"',\n '(document:fullscreenchange)': 'top.set(parent)',\n // Required for the :active state to work in Safari. https://stackoverflow.com/a/33681490\n '(touchstart.passive.zoneless)': '0',\n },\n})\nexport class TuiRoot {\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n private readonly child = !!inject(TuiRoot, {optional: true, skipSelf: true});\n\n protected readonly reducedMotion = inject(TUI_REDUCED_MOTION);\n protected readonly duration = tuiGetDuration(inject(TUI_ANIMATIONS_SPEED));\n protected readonly top = signal(this.parent);\n protected readonly breakpoint = inject(TUI_BREAKPOINT);\n\n protected readonly scrollbars =\n !inject(WA_IS_MOBILE) &&\n !this.child &&\n inject(TUI_SCROLLBAR_OPTIONS).mode !== 'native' &&\n inject(TUI_OPTIONS).scrollbars !== 'native';\n\n protected get parent(): boolean {\n return this.doc.fullscreenElement\n ? this.doc.fullscreenElement === this.el\n : !this.child;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}