@taiga-ui/core 5.19.0 → 5.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/calendar/calendar.component.d.ts +1 -1
- package/components/input/input.directive.d.ts +14 -3
- package/components/scrollbar/scroll-controls.component.d.ts +3 -2
- package/components/scrollbar/scroll-ref.directive.d.ts +1 -0
- package/components/scrollbar/scrollbar.component.d.ts +1 -1
- package/components/scrollbar/scrollbar.directive.d.ts +2 -3
- package/components/scrollbar/scrollbar.service.d.ts +4 -1
- package/fesm2022/taiga-ui-core-components-button.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-calendar.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-carousel.mjs +3 -1
- package/fesm2022/taiga-ui-core-components-carousel.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-cell.mjs +3 -3
- package/fesm2022/taiga-ui-core-components-checkbox.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-data-list.mjs +4 -4
- package/fesm2022/taiga-ui-core-components-error.mjs +5 -7
- package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-icon.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-input.mjs +19 -8
- package/fesm2022/taiga-ui-core-components-input.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-label.mjs +3 -3
- package/fesm2022/taiga-ui-core-components-link.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-notification.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-radio.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-root.mjs +3 -3
- package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-scrollbar.mjs +86 -53
- package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-textfield.mjs +4 -4
- package/fesm2022/taiga-ui-core-components-title.mjs +3 -3
- package/fesm2022/taiga-ui-core-directives-appearance.mjs +3 -3
- package/fesm2022/taiga-ui-core-directives-group.mjs +3 -3
- package/fesm2022/taiga-ui-core-directives-icons.mjs +3 -3
- package/fesm2022/taiga-ui-core-portals-alert.mjs +3 -3
- package/fesm2022/taiga-ui-core-portals-dialog.mjs +2 -2
- package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-portals-dropdown.mjs +25 -12
- package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-portals-modal.mjs +3 -3
- package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-tokens.mjs +4 -2
- package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
- package/package.json +4 -4
- package/portals/dropdown/dropdown-context.directive.d.ts +1 -0
- package/portals/dropdown/dropdown-hover.directive.d.ts +1 -0
- package/tokens/index.d.ts +1 -0
- package/tokens/timeline-support.d.ts +2 -0
|
@@ -7,11 +7,11 @@ import { TUI_DATA_LIST_HOST } from '@taiga-ui/core/components/data-list';
|
|
|
7
7
|
|
|
8
8
|
class Styles {
|
|
9
9
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-label-5.
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-label-5.20.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]){display:flex;gap:.25rem;flex-direction:column;font:var(--tui-typography-body-s);color:var(--tui-text-primary)}[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]):not([data-orientation=vertical]){flex-direction:row;inline-size:fit-content;font:var(--tui-typography-body-m)}[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]) input[type=checkbox],[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]) input[type=radio]{font:inherit;inset-block-start:calc(var(--tui-lh) / 2);transform:translateY(-50%);margin-inline-end:.5rem}[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]) input[type=checkbox][data-size=s],[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]) input[type=radio][data-size=s]{line-height:1.3;margin-inline-end:.25rem}[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]) small{font:var(--tui-typography-body-s)}[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]) [tuiTitle]:where(:not([tuiCell] *)){margin-block-start:.125rem}[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]) [tuiSubtitle]{color:var(--tui-text-secondary)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
11
11
|
}
|
|
12
12
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
|
-
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-label-${TUI_VERSION}`, styles: ["[tuiLabel]:where(*[data-tui-version=\"5.
|
|
14
|
+
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-label-${TUI_VERSION}`, styles: ["[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]){display:flex;gap:.25rem;flex-direction:column;font:var(--tui-typography-body-s);color:var(--tui-text-primary)}[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]):not([data-orientation=vertical]){flex-direction:row;inline-size:fit-content;font:var(--tui-typography-body-m)}[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]) input[type=checkbox],[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]) input[type=radio]{font:inherit;inset-block-start:calc(var(--tui-lh) / 2);transform:translateY(-50%);margin-inline-end:.5rem}[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]) input[type=checkbox][data-size=s],[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]) input[type=radio][data-size=s]{line-height:1.3;margin-inline-end:.25rem}[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]) small{font:var(--tui-typography-body-s)}[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]) [tuiTitle]:where(:not([tuiCell] *)){margin-block-start:.125rem}[tuiLabel]:where(*[data-tui-version=\"5.20.0\"]) [tuiSubtitle]{color:var(--tui-text-secondary)}\n"] }]
|
|
15
15
|
}] });
|
|
16
16
|
// TODO: Replace TUI_DATA_LIST_HOST with proper token once we refactor textfields
|
|
17
17
|
class TuiLabel {
|
|
@@ -22,7 +22,7 @@ class TuiLabel {
|
|
|
22
22
|
this.parent = inject(forwardRef(() => TUI_DATA_LIST_HOST), { optional: true });
|
|
23
23
|
}
|
|
24
24
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
25
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.25", type: TuiLabel, isStandalone: true, selector: "label[tuiLabel]", host: { attributes: { "data-tui-version": "5.
|
|
25
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.25", type: TuiLabel, isStandalone: true, selector: "label[tuiLabel]", host: { attributes: { "data-tui-version": "5.20.0" }, properties: { "attr.data-orientation": "textfield() ? \"vertical\" : \"horizontal\"", "attr.for": "el.htmlFor || parent?.id" } }, queries: [{ propertyName: "textfield", first: true, predicate: i0.forwardRef(() => TUI_DATA_LIST_HOST), descendants: true, isSignal: true }], ngImport: i0 }); }
|
|
26
26
|
}
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiLabel, decorators: [{
|
|
28
28
|
type: Directive,
|
|
@@ -13,11 +13,11 @@ const [TUI_LINK_OPTIONS, tuiLinkOptionsProvider] = tuiCreateOptions({
|
|
|
13
13
|
});
|
|
14
14
|
class Styles {
|
|
15
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-link-5.
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-link-5.20.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiLink]:where(*[data-tui-version=\"5.20.0\"]){transition-property:color,text-decoration,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);padding:0;background:transparent;border:none;cursor:pointer;font:inherit;color:inherit;border-radius:.125rem;outline-width:1px;outline-offset:-1px;text-underline-offset:.2em;text-decoration:none dashed currentColor 1px;text-decoration-color:color-mix(in lch,currentColor,transparent)}[tuiLink]:where(*[data-tui-version=\"5.20.0\"]):before{margin-inline-end:.25rem}[tuiLink]:where(*[data-tui-version=\"5.20.0\"]):after{margin-inline-start:.25rem}[tuiLink]:where(*[data-tui-version=\"5.20.0\"])[tuiIcons]:where(:not([data-icon-start=font])):before,[tuiLink]:where(*[data-tui-version=\"5.20.0\"])[tuiIcons]:where(:not([data-icon-end=font])):after{content:\"\\2060\";padding:calc(var(--tui-icon-size, 1rem) / 2);vertical-align:super;font-size:0;line-height:0;box-sizing:border-box;-webkit-mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;transition:none}[tuiLink]:where(*[data-tui-version=\"5.20.0\"])[data-icon-start=font]:before,[tuiLink]:where(*[data-tui-version=\"5.20.0\"])[data-icon-end=font]:after{display:inline;font-size:var(--tui-icon-size, 1rem);vertical-align:sub}[tuiLink]:where(*[data-tui-version=\"5.20.0\"])[tuiChevron]:after{display:inline-block;vertical-align:initial}@media(hover:hover)and (pointer:fine){[tuiLink]:where(*[data-tui-version=\"5.20.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):hover:not([data-state]){text-decoration-color:currentColor}}[tuiLink]:where(*[data-tui-version=\"5.20.0\"])[data-state=hover]{text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.20.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):active:not([data-state]){text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.20.0\"])[data-state=active]{text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.20.0\"])[data-appearance=\"\"]{text-decoration-line:underline;text-decoration-style:solid}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
17
17
|
}
|
|
18
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
|
-
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-link-${TUI_VERSION}`, styles: ["[tuiLink]:where(*[data-tui-version=\"5.
|
|
20
|
+
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-link-${TUI_VERSION}`, styles: ["[tuiLink]:where(*[data-tui-version=\"5.20.0\"]){transition-property:color,text-decoration,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);padding:0;background:transparent;border:none;cursor:pointer;font:inherit;color:inherit;border-radius:.125rem;outline-width:1px;outline-offset:-1px;text-underline-offset:.2em;text-decoration:none dashed currentColor 1px;text-decoration-color:color-mix(in lch,currentColor,transparent)}[tuiLink]:where(*[data-tui-version=\"5.20.0\"]):before{margin-inline-end:.25rem}[tuiLink]:where(*[data-tui-version=\"5.20.0\"]):after{margin-inline-start:.25rem}[tuiLink]:where(*[data-tui-version=\"5.20.0\"])[tuiIcons]:where(:not([data-icon-start=font])):before,[tuiLink]:where(*[data-tui-version=\"5.20.0\"])[tuiIcons]:where(:not([data-icon-end=font])):after{content:\"\\2060\";padding:calc(var(--tui-icon-size, 1rem) / 2);vertical-align:super;font-size:0;line-height:0;box-sizing:border-box;-webkit-mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;mask-size:calc(100% + 10 * var(--tui-stroke-width)) 100%;transition:none}[tuiLink]:where(*[data-tui-version=\"5.20.0\"])[data-icon-start=font]:before,[tuiLink]:where(*[data-tui-version=\"5.20.0\"])[data-icon-end=font]:after{display:inline;font-size:var(--tui-icon-size, 1rem);vertical-align:sub}[tuiLink]:where(*[data-tui-version=\"5.20.0\"])[tuiChevron]:after{display:inline-block;vertical-align:initial}@media(hover:hover)and (pointer:fine){[tuiLink]:where(*[data-tui-version=\"5.20.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):hover:not([data-state]){text-decoration-color:currentColor}}[tuiLink]:where(*[data-tui-version=\"5.20.0\"])[data-state=hover]{text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.20.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):active:not([data-state]){text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.20.0\"])[data-state=active]{text-decoration-color:currentColor}[tuiLink]:where(*[data-tui-version=\"5.20.0\"])[data-appearance=\"\"]{text-decoration-line:underline;text-decoration-style:solid}\n"] }]
|
|
21
21
|
}] });
|
|
22
22
|
class TuiLink {
|
|
23
23
|
constructor() {
|
|
@@ -46,11 +46,11 @@ const TUI_NOTIFICATION_CONCURRENCY = new InjectionToken(ngDevMode ? 'TUI_NOTIFIC
|
|
|
46
46
|
|
|
47
47
|
class Styles {
|
|
48
48
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-notification-5.
|
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-notification-5.20.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiNotification]:where(*[data-tui-version=\"5.20.0\"]){-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;position:relative;display:flow-root;max-block-size:100%;color:var(--tui-text-primary);padding:var(--t-offset) var(--tui-padding-l);font:var(--tui-typography-body-m);border-radius:var(--tui-radius-l);box-sizing:border-box;text-align:start;text-decoration:none;border-inline-start:var(--t-start) solid transparent;border-inline-end:var(--t-end) solid transparent;--t-offset: calc((var(--t-height) - var(--tui-lh)) / 2);--t-height: var(--tui-height-l);--t-start: 0;--t-end: 0}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-icon-start]{--t-start: 2rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-icon-end]{--t-end: 1.5rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"]):before{position:absolute;inset-inline-start:-1rem;inset-block-start:calc((var(--t-offset) + var(--tui-lh)) * (1 - .15 * var(--t-zoom)));transform:translateY(-100%)}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"]):after{position:absolute;top:50%;transform:translateY(-50%);inset-inline-end:-.5rem;font-size:1rem;margin:0;margin-inline-end:-.25rem;margin-inline-start:auto;color:var(--tui-text-tertiary)!important}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s]{padding:var(--t-offset) .5rem;font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m);--t-height: var(--tui-height-s)}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s][data-icon-start]{--t-start: 1.5rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s]:before{inset-inline-start:calc(-1rem * (1 - .2 * var(--t-zoom)));inset-block-start:calc((var(--t-offset) + var(--tui-lh)) * (1 - .1 * var(--t-zoom)));font-size:1rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s]:after{inset-inline-end:-.875rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s] tui-icon{font-size:1rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s] [tuiTitle]{font:var(--tui-typography-body-s);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s] [tuiSubtitle]{font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s] [tuiSubtitle]+*{gap:1rem;margin:.375rem 0 .25rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s]>[tuiIconButton]{inset-block-start:0;inset-inline-end:0}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m]{padding:var(--t-offset) var(--tui-padding-m);font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m);--t-height: var(--tui-height-m)}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m][data-icon-start]{--t-start: 1.625rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m]:before{inset-inline-start:-.875rem;font-size:1.25rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m]:after{inset-inline-end:-.75rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m] tui-icon{font-size:1.25rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m] [tuiTitle]{font:var(--tui-typography-ui-m);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m] [tuiSubtitle]{font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m] [tuiSubtitle]+*{gap:1rem;margin:.625rem 0 .25rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m]>[tuiIconButton]{inset-block-start:.375rem;inset-inline-end:.5rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"]) [tuiTitle]{gap:.125rem;font:var(--tui-typography-ui-l);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"]) [tuiSubtitle]{font:var(--tui-typography-body-m)}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"]) [tuiSubtitle]+*{display:flex;align-items:center;gap:1.25rem;margin-block-start:.625rem;font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])>[tuiIconButton]{position:absolute;inset-block-start:.75rem;inset-inline-end:.75rem;box-shadow:none!important;background:transparent!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
50
50
|
}
|
|
51
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, decorators: [{
|
|
52
52
|
type: Component,
|
|
53
|
-
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-notification-${TUI_VERSION}`, styles: ["[tuiNotification]:where(*[data-tui-version=\"5.
|
|
53
|
+
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-notification-${TUI_VERSION}`, styles: ["[tuiNotification]:where(*[data-tui-version=\"5.20.0\"]){-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;position:relative;display:flow-root;max-block-size:100%;color:var(--tui-text-primary);padding:var(--t-offset) var(--tui-padding-l);font:var(--tui-typography-body-m);border-radius:var(--tui-radius-l);box-sizing:border-box;text-align:start;text-decoration:none;border-inline-start:var(--t-start) solid transparent;border-inline-end:var(--t-end) solid transparent;--t-offset: calc((var(--t-height) - var(--tui-lh)) / 2);--t-height: var(--tui-height-l);--t-start: 0;--t-end: 0}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"]):is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-icon-start]{--t-start: 2rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-icon-end]{--t-end: 1.5rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"]):before{position:absolute;inset-inline-start:-1rem;inset-block-start:calc((var(--t-offset) + var(--tui-lh)) * (1 - .15 * var(--t-zoom)));transform:translateY(-100%)}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"]):after{position:absolute;top:50%;transform:translateY(-50%);inset-inline-end:-.5rem;font-size:1rem;margin:0;margin-inline-end:-.25rem;margin-inline-start:auto;color:var(--tui-text-tertiary)!important}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s]{padding:var(--t-offset) .5rem;font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m);--t-height: var(--tui-height-s)}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s][data-icon-start]{--t-start: 1.5rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s]:before{inset-inline-start:calc(-1rem * (1 - .2 * var(--t-zoom)));inset-block-start:calc((var(--t-offset) + var(--tui-lh)) * (1 - .1 * var(--t-zoom)));font-size:1rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s]:after{inset-inline-end:-.875rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s] tui-icon{font-size:1rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s] [tuiTitle]{font:var(--tui-typography-body-s);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s] [tuiSubtitle]{font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s] [tuiSubtitle]+*{gap:1rem;margin:.375rem 0 .25rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=s]>[tuiIconButton]{inset-block-start:0;inset-inline-end:0}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m]{padding:var(--t-offset) var(--tui-padding-m);font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m);--t-height: var(--tui-height-m)}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m][data-icon-start]{--t-start: 1.625rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m]:before{inset-inline-start:-.875rem;font-size:1.25rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m]:after{inset-inline-end:-.75rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m] tui-icon{font-size:1.25rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m] [tuiTitle]{font:var(--tui-typography-ui-m);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m] [tuiSubtitle]{font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m] [tuiSubtitle]+*{gap:1rem;margin:.625rem 0 .25rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])[data-size=m]>[tuiIconButton]{inset-block-start:.375rem;inset-inline-end:.5rem}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"]) [tuiTitle]{gap:.125rem;font:var(--tui-typography-ui-l);font-weight:700}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"]) [tuiSubtitle]{font:var(--tui-typography-body-m)}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"]) [tuiSubtitle]+*{display:flex;align-items:center;gap:1.25rem;margin-block-start:.625rem;font:var(--tui-typography-body-s)}[tuiNotification]:where(*[data-tui-version=\"5.20.0\"])>[tuiIconButton]{position:absolute;inset-block-start:.75rem;inset-inline-end:.75rem;box-shadow:none!important;background:transparent!important}\n"] }]
|
|
54
54
|
}] });
|
|
55
55
|
class TuiNotificationDirective {
|
|
56
56
|
constructor() {
|
|
@@ -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.25", ngImport: i0, type: TuiRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.25", 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.
|
|
45
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.25", 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.20.0\"]){--t-size: 1.5rem;transition-property:background,box-shadow;transition-duration:calc(var(--tui-duration) / 2);transition-timing-function:var(--tui-curve-productive-standard);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.20.0\"]):disabled._readonly._readonly{opacity:1}[tuiRadio]:where(*[data-tui-version=\"5.20.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.20.0\"]):checked:before{transform:scale(.5)}[tuiRadio]:where(*[data-tui-version=\"5.20.0\"])[data-size=s]{--t-size: 1rem}[tuiRadio]:where(*[data-tui-version=\"5.20.0\"]):invalid:not([data-mode]),[tuiRadio]:where(*[data-tui-version=\"5.20.0\"])[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.25", ngImport: i0, type: TuiRadioComponent, decorators: [{
|
|
48
48
|
type: Component,
|
|
@@ -56,7 +56,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", 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.
|
|
59
|
+
}, styles: ["[tuiRadio]:where(*[data-tui-version=\"5.20.0\"]){--t-size: 1.5rem;transition-property:background,box-shadow;transition-duration:calc(var(--tui-duration) / 2);transition-timing-function:var(--tui-curve-productive-standard);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.20.0\"]):disabled._readonly._readonly{opacity:1}[tuiRadio]:where(*[data-tui-version=\"5.20.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.20.0\"]):checked:before{transform:scale(.5)}[tuiRadio]:where(*[data-tui-version=\"5.20.0\"])[data-size=s]{--t-size: 1rem}[tuiRadio]:where(*[data-tui-version=\"5.20.0\"]):invalid:not([data-mode]),[tuiRadio]:where(*[data-tui-version=\"5.20.0\"])[data-mode~=invalid]{color:#fff}\n"] }]
|
|
60
60
|
}] });
|
|
61
61
|
|
|
62
62
|
class TuiRadioDirective {
|
|
@@ -36,7 +36,7 @@ class TuiRoot {
|
|
|
36
36
|
: !this.child;
|
|
37
37
|
}
|
|
38
38
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiRoot, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "5.
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "5.20.0" }, listeners: { "document:fullscreenchange": "top.set(parent)", "touchstart.passive.zoneless": "0" }, properties: { "class._mobile": "breakpoint() === \"mobile\"", "class.tui-liquid-glass": "liquidGlass", "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: `
|
|
40
40
|
<div class="t-root-content"><ng-content /></div>
|
|
41
41
|
@if (top()) {
|
|
42
42
|
@if (scrollbars) {
|
|
@@ -44,7 +44,7 @@ class TuiRoot {
|
|
|
44
44
|
}
|
|
45
45
|
<tui-popups><ng-content select="tuiOverContent" /></tui-popups>
|
|
46
46
|
}
|
|
47
|
-
`, 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}}@keyframes tuiBlur{0%{filter:blur(var(--tui-blur, .25rem))}}.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 }); }
|
|
47
|
+
`, 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}}@keyframes tuiBlur{0%{filter:blur(var(--tui-blur, .25rem))}}.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;animation-timeline:scroll(x root),scroll(y root)}tui-root>.t-root-scrollbar .t-bar.t-bar_vertical .t-thumb{animation-timeline:scroll(y root)}tui-root>.t-root-scrollbar .t-bar.t-bar_horizontal .t-thumb{animation-timeline:scroll(x root)}.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 }); }
|
|
48
48
|
}
|
|
49
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiRoot, decorators: [{
|
|
50
50
|
type: Component,
|
|
@@ -65,7 +65,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
65
65
|
'(document:fullscreenchange)': 'top.set(parent)',
|
|
66
66
|
// Required for the :active state to work in Safari. https://stackoverflow.com/a/33681490
|
|
67
67
|
'(touchstart.passive.zoneless)': '0',
|
|
68
|
-
}, 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}}@keyframes tuiBlur{0%{filter:blur(var(--tui-blur, .25rem))}}.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"] }]
|
|
68
|
+
}, 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}}@keyframes tuiBlur{0%{filter:blur(var(--tui-blur, .25rem))}}.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;animation-timeline:scroll(x root),scroll(y root)}tui-root>.t-root-scrollbar .t-bar.t-bar_vertical .t-thumb{animation-timeline:scroll(y root)}tui-root>.t-root-scrollbar .t-bar.t-bar_horizontal .t-thumb{animation-timeline:scroll(x root)}.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"] }]
|
|
69
69
|
}] });
|
|
70
70
|
|
|
71
71
|
/**
|
|
@@ -1 +1 @@
|
|
|
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 {\n TUI_LIQUID_GLASS,\n TUI_OPTIONS,\n tuiGetDuration,\n} 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 '[class.tui-liquid-glass]': 'liquidGlass',\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 protected readonly liquidGlass = inject(TUI_LIQUID_GLASS);\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":";;;;;;;;;;;;;;;;;MA0Da,OAAO,CAAA;AA5BpB,IAAA,WAAA,GAAA;AA6BqB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;QACtB,IAAA,CAAA,EAAE,GAAG,gBAAgB,EAAE;AACvB,QAAA,IAAA,CAAA,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;AAEzD,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAC1C,IAAA,CAAA,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACvD,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AACzB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC;AACnC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAEtC,QAAA,IAAA,CAAA,UAAU,GACzB,CAAC,MAAM,CAAC,YAAY,CAAC;YACrB,CAAC,IAAI,CAAC,KAAK;AACX,YAAA,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,KAAK,QAAQ;AAC/C,YAAA,MAAM,CAAC,WAAW,CAAC,CAAC,UAAU,KAAK,QAAQ;AAOlD,IAAA;AALG,IAAA,IAAc,MAAM,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC;cACV,IAAI,CAAC,GAAG,CAAC,iBAAiB,KAAK,IAAI,CAAC;AACtC,cAAE,CAAC,IAAI,CAAC,KAAK;IACrB;+GArBS,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,6BAAA,EAAA,GAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,6BAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,6BAAA,EAAA,uCAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAzBN;;;;;;;;KAQT,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,ukBAAA,EAAA,
|
|
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 {\n TUI_LIQUID_GLASS,\n TUI_OPTIONS,\n tuiGetDuration,\n} 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 '[class.tui-liquid-glass]': 'liquidGlass',\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 protected readonly liquidGlass = inject(TUI_LIQUID_GLASS);\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":";;;;;;;;;;;;;;;;;MA0Da,OAAO,CAAA;AA5BpB,IAAA,WAAA,GAAA;AA6BqB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;QACtB,IAAA,CAAA,EAAE,GAAG,gBAAgB,EAAE;AACvB,QAAA,IAAA,CAAA,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;AAEzD,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAC1C,IAAA,CAAA,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACvD,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AACzB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC;AACnC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAEtC,QAAA,IAAA,CAAA,UAAU,GACzB,CAAC,MAAM,CAAC,YAAY,CAAC;YACrB,CAAC,IAAI,CAAC,KAAK;AACX,YAAA,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,KAAK,QAAQ;AAC/C,YAAA,MAAM,CAAC,WAAW,CAAC,CAAC,UAAU,KAAK,QAAQ;AAOlD,IAAA;AALG,IAAA,IAAc,MAAM,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC;cACV,IAAI,CAAC,GAAG,CAAC,iBAAiB,KAAK,IAAI,CAAC;AACtC,cAAE,CAAC,IAAI,CAAC,KAAK;IACrB;+GArBS,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,6BAAA,EAAA,GAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,6BAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,6BAAA,EAAA,uCAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAzBN;;;;;;;;KAQT,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,ukBAAA,EAAA,g9BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EATS,SAAS,uDAAE,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FA0B7B,OAAO,EAAA,UAAA,EAAA,CAAA;kBA5BnB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,WACX,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAA,QAAA,EAC7B;;;;;;;;AAQT,IAAA,CAAA,EAAA,aAAA,EAEc,iBAAiB,CAAC,IAAI,EAAA,eAAA,EAEpB,uBAAuB,CAAC,OAAO,EAAA,cAAA,EAChC,CAAC,WAAW,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAA,IAAA,EACvD;AACF,wBAAA,kBAAkB,EAAE,WAAW;AAC/B,wBAAA,iBAAiB,EAAE,2BAA2B;AAC9C,wBAAA,0BAA0B,EAAE,aAAa;AACzC,wBAAA,2BAA2B,EAAE,UAAU;AACvC,wBAAA,+BAA+B,EAAE,mCAAmC;AACpE,wBAAA,6BAA6B,EAAE,iBAAiB;;AAEhD,wBAAA,+BAA+B,EAAE,GAAG;AACvC,qBAAA,EAAA,MAAA,EAAA,CAAA,ukBAAA,EAAA,g9BAAA,CAAA,EAAA;;;ACxDL;;AAEG;;;;"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { CdkScrollable } from '@angular/cdk/scrolling';
|
|
2
2
|
import { DOCUMENT, AsyncPipe } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { InjectionToken, ElementRef, inject,
|
|
4
|
+
import { InjectionToken, ElementRef, inject, ChangeDetectionStrategy, ViewEncapsulation, Component, Directive, Injectable, input, DestroyRef, effect } from '@angular/core';
|
|
5
5
|
import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
|
|
6
6
|
import { tuiInjectElement, tuiGetElementOffset } from '@taiga-ui/cdk/utils/dom';
|
|
7
|
+
import { TUI_TIMELINE_SUPPORT } from '@taiga-ui/core/tokens';
|
|
8
|
+
import { Observable, throttleTime, map, startWith, distinctUntilChanged, merge, filter, switchMap, takeUntil, of, timer } from 'rxjs';
|
|
7
9
|
import { WA_ANIMATION_FRAME } from '@ng-web-apis/common';
|
|
8
10
|
import { tuiZonefreeScheduler, tuiZoneOptimized, tuiTypedFromEvent, tuiZonefree, tuiScrollFrom } from '@taiga-ui/cdk/observables';
|
|
9
|
-
import {
|
|
11
|
+
import { TUI_VERSION } from '@taiga-ui/cdk/constants';
|
|
10
12
|
import { tuiProvide, tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
|
|
13
|
+
import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
11
14
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
12
15
|
import { WA_IS_IOS } from '@ng-web-apis/platform';
|
|
13
16
|
|
|
@@ -15,15 +18,27 @@ const SCROLL_REF_SELECTOR = '[tuiScrollRef]';
|
|
|
15
18
|
const TUI_SCROLL_REF = new InjectionToken(ngDevMode ? 'TUI_SCROLL_REF' : '', {
|
|
16
19
|
factory: () => new ElementRef(inject(DOCUMENT).documentElement),
|
|
17
20
|
});
|
|
21
|
+
class Styles {
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-scroll-ref-5.20.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiScrollRef]:where(*[data-tui-version=\"5.20.0\"]){timeline-scope:--t-scrollbar-y,--t-scrollbar-x;scroll-timeline:--t-scrollbar-x x,--t-scrollbar-y y}[tuiScrollRef]:where(*[data-tui-version=\"5.20.0\"]):not(._native){scrollbar-width:none;-ms-overflow-style:none}[tuiScrollRef]:where(*[data-tui-version=\"5.20.0\"]):not(._native)::-webkit-scrollbar,[tuiScrollRef]:where(*[data-tui-version=\"5.20.0\"]):not(._native)::-webkit-scrollbar-thumb{display:none}[tuiScrollRef]:where(*[data-tui-version=\"5.20.0\"]):where(cdk-virtual-scroll-viewport){display:flex;scroll-timeline:--t-scrollbar-x x,--t-scrollbar-y y}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, decorators: [{
|
|
26
|
+
type: Component,
|
|
27
|
+
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-scroll-ref-${TUI_VERSION}`, styles: ["[tuiScrollRef]:where(*[data-tui-version=\"5.20.0\"]){timeline-scope:--t-scrollbar-y,--t-scrollbar-x;scroll-timeline:--t-scrollbar-x x,--t-scrollbar-y y}[tuiScrollRef]:where(*[data-tui-version=\"5.20.0\"]):not(._native){scrollbar-width:none;-ms-overflow-style:none}[tuiScrollRef]:where(*[data-tui-version=\"5.20.0\"]):not(._native)::-webkit-scrollbar,[tuiScrollRef]:where(*[data-tui-version=\"5.20.0\"]):not(._native)::-webkit-scrollbar-thumb{display:none}[tuiScrollRef]:where(*[data-tui-version=\"5.20.0\"]):where(cdk-virtual-scroll-viewport){display:flex;scroll-timeline:--t-scrollbar-x x,--t-scrollbar-y y}\n"] }]
|
|
28
|
+
}] });
|
|
18
29
|
class TuiScrollRef {
|
|
30
|
+
constructor() {
|
|
31
|
+
this.nothing = tuiWithStyles(Styles);
|
|
32
|
+
}
|
|
19
33
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiScrollRef, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
20
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: TuiScrollRef, isStandalone: true, selector: "[tuiScrollRef]", providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)], ngImport: i0 }); }
|
|
34
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: TuiScrollRef, isStandalone: true, selector: "[tuiScrollRef]", host: { attributes: { "data-tui-version": "5.20.0", "tuiScrollRef": "" } }, providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)], ngImport: i0 }); }
|
|
21
35
|
}
|
|
22
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiScrollRef, decorators: [{
|
|
23
37
|
type: Directive,
|
|
24
38
|
args: [{
|
|
25
39
|
selector: '[tuiScrollRef]',
|
|
26
40
|
providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)],
|
|
41
|
+
host: { 'data-tui-version': TUI_VERSION, tuiScrollRef: '' },
|
|
27
42
|
}]
|
|
28
43
|
}] });
|
|
29
44
|
|
|
@@ -61,17 +76,21 @@ class TuiScrollbarService extends Observable {
|
|
|
61
76
|
})));
|
|
62
77
|
}
|
|
63
78
|
getScrolled({ clientY, clientX }, offsetY, offsetX) {
|
|
79
|
+
const rect = this.el.parentElement.getBoundingClientRect();
|
|
80
|
+
const { top, left, right, width, height } = rect;
|
|
64
81
|
const { offsetHeight, offsetWidth } = this.el;
|
|
65
|
-
const { top, left, right, width, height } = this.el.parentElement.getBoundingClientRect();
|
|
66
82
|
const rtl = this.el.matches('[dir="rtl"] :scope');
|
|
67
83
|
const inline = rtl ? right : left;
|
|
68
84
|
const multiplier = rtl ? -1 : 1;
|
|
69
85
|
const maxTop = this.element.scrollHeight - height;
|
|
70
86
|
const maxLeft = this.element.scrollWidth - width;
|
|
71
|
-
const
|
|
72
|
-
const
|
|
87
|
+
const y = (clientY - top - offsetHeight * offsetY) / (height - offsetHeight);
|
|
88
|
+
const x = (clientX - inline - offsetWidth * offsetX * multiplier) /
|
|
73
89
|
(width - offsetWidth);
|
|
74
|
-
return [
|
|
90
|
+
return [
|
|
91
|
+
width > height ? undefined : maxTop * y,
|
|
92
|
+
width > height ? maxLeft * x : undefined,
|
|
93
|
+
];
|
|
75
94
|
}
|
|
76
95
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiScrollbarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
77
96
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiScrollbarService }); }
|
|
@@ -91,27 +110,17 @@ class TuiScrollbarPosition extends Observable {
|
|
|
91
110
|
constructor() {
|
|
92
111
|
super((subscriber) => this.stream$.subscribe(subscriber));
|
|
93
112
|
this.scrollRef = inject(TUI_SCROLL_REF);
|
|
94
|
-
this.stream$ = merge(inject(WA_ANIMATION_FRAME).pipe(throttleTime(100, tuiZonefreeScheduler())), tuiScrollFrom(this.el)).pipe(tuiZonefree(), map(() => {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
return this.tuiScrollbar() === 'vertical'
|
|
106
|
-
? {
|
|
107
|
-
top: thumb,
|
|
108
|
-
height: view,
|
|
109
|
-
}
|
|
110
|
-
: {
|
|
111
|
-
insetInlineStart: thumb,
|
|
112
|
-
width: view,
|
|
113
|
-
};
|
|
114
|
-
}));
|
|
113
|
+
this.stream$ = merge(inject(WA_ANIMATION_FRAME).pipe(throttleTime(100, tuiZonefreeScheduler())), tuiScrollFrom(this.el)).pipe(tuiZonefree(), map(() => ({
|
|
114
|
+
scrollTop: this.el.scrollTop,
|
|
115
|
+
scrollHeight: this.el.scrollHeight,
|
|
116
|
+
clientHeight: this.el.clientHeight,
|
|
117
|
+
scrollLeft: this.el.scrollLeft,
|
|
118
|
+
scrollWidth: this.el.scrollWidth,
|
|
119
|
+
clientWidth: this.el.clientWidth,
|
|
120
|
+
})), map((dimensions) => ({
|
|
121
|
+
insetBlockStart: `${this.getThumb(dimensions) * 100}%`,
|
|
122
|
+
blockSize: `${this.getView(dimensions) * 100}%`,
|
|
123
|
+
})));
|
|
115
124
|
this.tuiScrollbar = input('vertical');
|
|
116
125
|
}
|
|
117
126
|
get el() {
|
|
@@ -158,22 +167,16 @@ class TuiScrollbarDirective {
|
|
|
158
167
|
this.scrollSub = inject(TuiScrollbarService)
|
|
159
168
|
.pipe(takeUntilDestroyed())
|
|
160
169
|
.subscribe(([top, left]) => {
|
|
161
|
-
this.scrollRef.nativeElement.
|
|
162
|
-
if (this.tuiScrollbar() === 'horizontal') {
|
|
163
|
-
this.scrollRef.nativeElement.scrollLeft = left;
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
this.scrollRef.nativeElement.scrollTop = top;
|
|
167
|
-
}
|
|
168
|
-
this.scrollRef.nativeElement.style.scrollBehavior = '';
|
|
170
|
+
this.scrollRef.nativeElement.scrollTo({ top, left, behavior: 'instant' });
|
|
169
171
|
});
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
172
|
+
if (!inject(TUI_TIMELINE_SUPPORT)) {
|
|
173
|
+
inject(TuiScrollbarPosition)
|
|
174
|
+
.pipe(takeUntilDestroyed())
|
|
175
|
+
.subscribe((position) => Object.assign(this.style, position));
|
|
176
|
+
}
|
|
174
177
|
}
|
|
175
178
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiScrollbarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
176
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
179
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: TuiScrollbarDirective, isStandalone: true, selector: "[tuiScrollbar]", providers: [TuiScrollbarService], hostDirectives: [{ directive: TuiScrollbarPosition, inputs: ["tuiScrollbar", "tuiScrollbar"] }], ngImport: i0 }); }
|
|
177
180
|
}
|
|
178
181
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiScrollbarDirective, decorators: [{
|
|
179
182
|
type: Directive,
|
|
@@ -182,7 +185,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
182
185
|
providers: [TuiScrollbarService],
|
|
183
186
|
hostDirectives: [{ directive: TuiScrollbarPosition, inputs: ['tuiScrollbar'] }],
|
|
184
187
|
}]
|
|
185
|
-
}] });
|
|
188
|
+
}], ctorParameters: () => [] });
|
|
186
189
|
|
|
187
190
|
const TUI_DEFAULT_SCROLLBAR_OPTIONS = { mode: 'always' };
|
|
188
191
|
const [TUI_SCROLLBAR_OPTIONS, tuiScrollbarOptionsProvider] = tuiCreateOptions(TUI_DEFAULT_SCROLLBAR_OPTIONS);
|
|
@@ -192,19 +195,20 @@ class TuiScrollControls {
|
|
|
192
195
|
this.scrollable = inject(CdkScrollable, { optional: true, host: true });
|
|
193
196
|
this.el = tuiInjectElement();
|
|
194
197
|
this.nativeScrollbar = inject(TUI_SCROLLBAR_OPTIONS).mode === 'native';
|
|
195
|
-
this.
|
|
198
|
+
this.timeline = inject(TUI_TIMELINE_SUPPORT);
|
|
199
|
+
this.refresh$ = this.timeline
|
|
200
|
+
? of([true, true])
|
|
201
|
+
: inject(TuiScrollControlsService);
|
|
196
202
|
}
|
|
197
203
|
ngOnInit() {
|
|
198
|
-
this.scrollable
|
|
199
|
-
?.getElementRef()
|
|
200
|
-
.nativeElement.insertBefore(this.el, this.scrollable.getElementRef().nativeElement.firstChild);
|
|
204
|
+
this.scrollable?.getElementRef().nativeElement.prepend?.(this.el);
|
|
201
205
|
}
|
|
202
206
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiScrollControls, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
203
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: TuiScrollControls, isStandalone: true, selector: "tui-scroll-controls", providers: [TuiScrollControlsService], ngImport: i0, template: "@if (nativeScrollbar) {\n} @else {\n @if (refresh$ | async; as bars) {\n @if (bars[0]) {\n <div\n tuiAnimated\n class=\"t-bar t-bar_vertical\"\n
|
|
207
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: TuiScrollControls, isStandalone: true, selector: "tui-scroll-controls", host: { properties: { "class._timeline": "timeline" } }, providers: [TuiScrollControlsService], ngImport: i0, template: "@if (nativeScrollbar) {\n} @else {\n @if (refresh$ | async; as bars) {\n @if (bars[0]) {\n <div\n tuiAnimated\n class=\"t-bar t-bar_vertical\"\n (mousedown.capture.prevent)=\"(0)\"\n >\n <div\n tuiScrollbar=\"vertical\"\n class=\"t-thumb\"\n ></div>\n </div>\n }\n @if (bars[1]) {\n <div\n tuiAnimated\n class=\"t-bar t-bar_horizontal\"\n (mousedown.capture.prevent)=\"(0)\"\n >\n <div\n tuiScrollbar=\"horizontal\"\n class=\"t-thumb\"\n ></div>\n </div>\n }\n }\n}\n", styles: ["@property --t-scroll-start{syntax: \"<number>\"; inherits: true; initial-value: 0;}@property --t-scroll-end{syntax: \"<number>\"; inherits: true; initial-value: 0;}@keyframes tuiScrollbarStart{0%{--t-scroll-start: 1}to{--t-scroll-start: 0}}@keyframes tuiScrollbarEnd{0%{--t-scroll-end: 0}to{--t-scroll-end: 1}}@keyframes tuiScrollbar{0%,to{--t-opacity: 1}}@keyframes tuiScrollbarX{0%,to{--t-events-x: auto}}@keyframes tuiScrollbarY{0%,to{--t-events-y: auto}}:host{position:sticky;z-index:1;display:block;inset-block-start:0;inset-inline-start:0;min-inline-size:calc(100% - 1px);min-block-size:calc(100% - 1px);max-inline-size:calc(100% - 1px);max-block-size:calc(100% - 1px);margin-inline-end:calc(-100% + 1px);pointer-events:none;overflow:hidden;color:var(--tui-text-primary);container-type:size;animation-name:tuiScrollbarX,tuiScrollbarY;animation-timeline:--t-scrollbar-x,--t-scrollbar-y;--t-events-y: none;--t-events-x: none}:host:not(._timeline){--t-events-y: auto;--t-events-x: auto}:host:not(._timeline) .t-thumb{--t-opacity: 1}::ng-deep [tuiScrollable]{scrollbar-width:none;-ms-overflow-style:none}::ng-deep [tuiScrollable]::-webkit-scrollbar,::ng-deep [tuiScrollable]::-webkit-scrollbar-thumb{display:none}.t-bar{position:absolute;inset-inline-end:0;inset-block:.25rem;inline-size:.875rem;pointer-events:var(--t-events-y)}.t-bar.tui-enter,.t-bar.tui-leave{animation-name:tuiFade}.t-bar_horizontal{writing-mode:vertical-lr;direction:ltr;pointer-events:var(--t-events-x)}:host-context([dir=\"rtl\"]) .t-bar_horizontal{writing-mode:vertical-rl}.t-bar_horizontal .t-thumb{animation-timeline:--t-scrollbar-x;animation-range:0 calc(100% + 100cqi),calc(0% - 100cqi) 100%}.t-thumb{transition-property:all;transition-duration:calc(var(--tui-duration) / 2);transition-timing-function:var(--tui-curve-productive-standard);position:absolute;border-radius:6.25rem;border:.25rem solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none;background:currentColor;background-clip:content-box;box-sizing:border-box;transition-property:width,height,opacity;inline-size:.75rem;min-block-size:1.25rem;inset-block-start:min(calc(100% - var(--t-scroll-start) * 100%),calc(100% - 1.25rem));inset-block-end:calc(100% - var(--t-scroll-end) * 100%);inset-inline-end:0;opacity:calc(.2 * var(--t-opacity));animation-name:tuiScrollbarStart,tuiScrollbarEnd,tuiScrollbar;animation-timing-function:linear;animation-timeline:--t-scrollbar-y;animation-range:0 calc(100% + 100cqb),calc(0% - 100cqb) 100%;animation-fill-mode:both;--t-opacity: 0}.t-thumb:hover{opacity:calc(.24 * var(--t-opacity))}.t-thumb:active{opacity:calc(.48 * var(--t-opacity))}.t-bar:hover .t-thumb,.t-bar .t-thumb:active{inline-size:.875rem}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: TuiAnimated, selector: "[tuiAnimated]" }, { kind: "directive", type: TuiScrollbarDirective, selector: "[tuiScrollbar]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
204
208
|
}
|
|
205
209
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiScrollControls, decorators: [{
|
|
206
210
|
type: Component,
|
|
207
|
-
args: [{ selector: 'tui-scroll-controls', imports: [AsyncPipe, TuiAnimated, TuiScrollbarDirective], changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiScrollControlsService], template: "@if (nativeScrollbar) {\n} @else {\n @if (refresh$ | async; as bars) {\n @if (bars[0]) {\n <div\n tuiAnimated\n class=\"t-bar t-bar_vertical\"\n
|
|
211
|
+
args: [{ selector: 'tui-scroll-controls', imports: [AsyncPipe, TuiAnimated, TuiScrollbarDirective], changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiScrollControlsService], host: { '[class._timeline]': 'timeline' }, template: "@if (nativeScrollbar) {\n} @else {\n @if (refresh$ | async; as bars) {\n @if (bars[0]) {\n <div\n tuiAnimated\n class=\"t-bar t-bar_vertical\"\n (mousedown.capture.prevent)=\"(0)\"\n >\n <div\n tuiScrollbar=\"vertical\"\n class=\"t-thumb\"\n ></div>\n </div>\n }\n @if (bars[1]) {\n <div\n tuiAnimated\n class=\"t-bar t-bar_horizontal\"\n (mousedown.capture.prevent)=\"(0)\"\n >\n <div\n tuiScrollbar=\"horizontal\"\n class=\"t-thumb\"\n ></div>\n </div>\n }\n }\n}\n", styles: ["@property --t-scroll-start{syntax: \"<number>\"; inherits: true; initial-value: 0;}@property --t-scroll-end{syntax: \"<number>\"; inherits: true; initial-value: 0;}@keyframes tuiScrollbarStart{0%{--t-scroll-start: 1}to{--t-scroll-start: 0}}@keyframes tuiScrollbarEnd{0%{--t-scroll-end: 0}to{--t-scroll-end: 1}}@keyframes tuiScrollbar{0%,to{--t-opacity: 1}}@keyframes tuiScrollbarX{0%,to{--t-events-x: auto}}@keyframes tuiScrollbarY{0%,to{--t-events-y: auto}}:host{position:sticky;z-index:1;display:block;inset-block-start:0;inset-inline-start:0;min-inline-size:calc(100% - 1px);min-block-size:calc(100% - 1px);max-inline-size:calc(100% - 1px);max-block-size:calc(100% - 1px);margin-inline-end:calc(-100% + 1px);pointer-events:none;overflow:hidden;color:var(--tui-text-primary);container-type:size;animation-name:tuiScrollbarX,tuiScrollbarY;animation-timeline:--t-scrollbar-x,--t-scrollbar-y;--t-events-y: none;--t-events-x: none}:host:not(._timeline){--t-events-y: auto;--t-events-x: auto}:host:not(._timeline) .t-thumb{--t-opacity: 1}::ng-deep [tuiScrollable]{scrollbar-width:none;-ms-overflow-style:none}::ng-deep [tuiScrollable]::-webkit-scrollbar,::ng-deep [tuiScrollable]::-webkit-scrollbar-thumb{display:none}.t-bar{position:absolute;inset-inline-end:0;inset-block:.25rem;inline-size:.875rem;pointer-events:var(--t-events-y)}.t-bar.tui-enter,.t-bar.tui-leave{animation-name:tuiFade}.t-bar_horizontal{writing-mode:vertical-lr;direction:ltr;pointer-events:var(--t-events-x)}:host-context([dir=\"rtl\"]) .t-bar_horizontal{writing-mode:vertical-rl}.t-bar_horizontal .t-thumb{animation-timeline:--t-scrollbar-x;animation-range:0 calc(100% + 100cqi),calc(0% - 100cqi) 100%}.t-thumb{transition-property:all;transition-duration:calc(var(--tui-duration) / 2);transition-timing-function:var(--tui-curve-productive-standard);position:absolute;border-radius:6.25rem;border:.25rem solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none;background:currentColor;background-clip:content-box;box-sizing:border-box;transition-property:width,height,opacity;inline-size:.75rem;min-block-size:1.25rem;inset-block-start:min(calc(100% - var(--t-scroll-start) * 100%),calc(100% - 1.25rem));inset-block-end:calc(100% - var(--t-scroll-end) * 100%);inset-inline-end:0;opacity:calc(.2 * var(--t-opacity));animation-name:tuiScrollbarStart,tuiScrollbarEnd,tuiScrollbar;animation-timing-function:linear;animation-timeline:--t-scrollbar-y;animation-range:0 calc(100% + 100cqb),calc(0% - 100cqb) 100%;animation-fill-mode:both;--t-opacity: 0}.t-thumb:hover{opacity:calc(.24 * var(--t-opacity))}.t-thumb:active{opacity:calc(.48 * var(--t-opacity))}.t-bar:hover .t-thumb,.t-bar .t-thumb:active{inline-size:.875rem}\n"] }]
|
|
208
212
|
}] });
|
|
209
213
|
|
|
210
214
|
/**
|
|
@@ -216,6 +220,35 @@ const TUI_SCROLL_INTO_VIEW = 'tui-scroll-into-view';
|
|
|
216
220
|
* it should control a nested element.
|
|
217
221
|
*/
|
|
218
222
|
const TUI_SCROLLABLE = 'tui-scrollable';
|
|
223
|
+
/**
|
|
224
|
+
* @deprecated
|
|
225
|
+
* Cannot put it into viewProviders because of https://github.com/angular/angular/issues/65724
|
|
226
|
+
* Cannot put it into providers because it shouldn't leak to content
|
|
227
|
+
* TODO: Remove in v6 together with {@link TuiScrollable}
|
|
228
|
+
*/
|
|
229
|
+
class TuiDelegatedGuard {
|
|
230
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiDelegatedGuard, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
231
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: TuiDelegatedGuard, isStandalone: true, selector: "[tuiDelegateGuard]", providers: [
|
|
232
|
+
{
|
|
233
|
+
provide: TUI_TIMELINE_SUPPORT,
|
|
234
|
+
useFactory: () => inject(TUI_TIMELINE_SUPPORT, { skipSelf: true }) &&
|
|
235
|
+
!inject(TuiScrollbar).delegated,
|
|
236
|
+
},
|
|
237
|
+
], ngImport: i0 }); }
|
|
238
|
+
}
|
|
239
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiDelegatedGuard, decorators: [{
|
|
240
|
+
type: Directive,
|
|
241
|
+
args: [{
|
|
242
|
+
selector: '[tuiDelegateGuard]',
|
|
243
|
+
providers: [
|
|
244
|
+
{
|
|
245
|
+
provide: TUI_TIMELINE_SUPPORT,
|
|
246
|
+
useFactory: () => inject(TUI_TIMELINE_SUPPORT, { skipSelf: true }) &&
|
|
247
|
+
!inject(TuiScrollbar).delegated,
|
|
248
|
+
},
|
|
249
|
+
],
|
|
250
|
+
}]
|
|
251
|
+
}] });
|
|
219
252
|
class TuiScrollbar {
|
|
220
253
|
constructor() {
|
|
221
254
|
this.el = tuiInjectElement();
|
|
@@ -243,25 +276,25 @@ class TuiScrollbar {
|
|
|
243
276
|
this.scrollRef.scrollTo?.(scrollLeft, scrollTop);
|
|
244
277
|
}
|
|
245
278
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiScrollbar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
246
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: TuiScrollbar, isStandalone: true, selector: "tui-scrollbar", host: { listeners: { "tui-scrollable.stop": "scrollRef = $event.detail", "tui-scroll-into-view.stop": "scrollIntoView($event.detail)" }, properties: { "class._native
|
|
279
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: TuiScrollbar, isStandalone: true, selector: "tui-scrollbar", host: { listeners: { "tui-scrollable.stop": "scrollRef = $event.detail", "tui-scroll-into-view.stop": "scrollIntoView($event.detail)" }, properties: { "class._native": "options.mode === \"native\" || (isIOS && options.mode !== \"hidden\")" } }, providers: [
|
|
247
280
|
{
|
|
248
281
|
provide: TUI_SCROLL_REF,
|
|
249
282
|
useFactory: () => inject(TuiScrollbar).browserScrollRef,
|
|
250
283
|
},
|
|
251
|
-
], hostDirectives: [{ directive: TuiScrollRef }], ngImport: i0, template: "@if (!isIOS && options.mode !== 'native' && options.mode !== 'hidden') {\n <tui-scroll-controls\n class=\"t-bars\"\n [class.t-hover-mode]=\"options.mode === 'hover'\"\n />\n}\n<div\n class=\"t-content\"\n [class.t-content_delegated]=\"delegated\"\n>\n <ng-content />\n</div>\n", styles: [":host{position:relative;display:flex;max-block-size:100%;isolation:isolate;overflow:auto}:host
|
|
284
|
+
], hostDirectives: [{ directive: TuiScrollRef }], ngImport: i0, template: "@if (!isIOS && options.mode !== 'native' && options.mode !== 'hidden') {\n <tui-scroll-controls\n tuiDelegateGuard\n class=\"t-bars\"\n [class.t-hover-mode]=\"options.mode === 'hover'\"\n />\n}\n<div\n class=\"t-content\"\n [class.t-content_delegated]=\"delegated\"\n>\n <ng-content />\n</div>\n", styles: [":host{position:relative;display:flex;max-block-size:100%;isolation:isolate;overflow:auto}:host .t-hover-mode:not(:active){transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);opacity:0}:host:hover>.t-hover-mode{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);opacity:1}.t-content{isolation:isolate;flex:1;flex-basis:auto;inline-size:100%;min-inline-size:fit-content;block-size:max-content;view-timeline:--t-scrollbar-x x,--t-scrollbar-y y}.t-content_delegated{block-size:100%}.t-bars{color:var(--tui-text-primary)}\n"], dependencies: [{ kind: "directive", type: TuiDelegatedGuard, selector: "[tuiDelegateGuard]" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
252
285
|
}
|
|
253
286
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiScrollbar, decorators: [{
|
|
254
287
|
type: Component,
|
|
255
|
-
args: [{ selector: 'tui-scrollbar', imports: [TuiScrollControls], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
288
|
+
args: [{ selector: 'tui-scrollbar', imports: [TuiDelegatedGuard, TuiScrollControls], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
256
289
|
{
|
|
257
290
|
provide: TUI_SCROLL_REF,
|
|
258
291
|
useFactory: () => inject(TuiScrollbar).browserScrollRef,
|
|
259
292
|
},
|
|
260
293
|
], hostDirectives: [TuiScrollRef], host: {
|
|
261
|
-
'[class._native
|
|
294
|
+
'[class._native]': 'options.mode === "native" || (isIOS && options.mode !== "hidden")',
|
|
262
295
|
[`(${TUI_SCROLLABLE}.stop)`]: 'scrollRef = $event.detail',
|
|
263
296
|
[`(${TUI_SCROLL_INTO_VIEW}.stop)`]: 'scrollIntoView($event.detail)',
|
|
264
|
-
}, template: "@if (!isIOS && options.mode !== 'native' && options.mode !== 'hidden') {\n <tui-scroll-controls\n class=\"t-bars\"\n [class.t-hover-mode]=\"options.mode === 'hover'\"\n />\n}\n<div\n class=\"t-content\"\n [class.t-content_delegated]=\"delegated\"\n>\n <ng-content />\n</div>\n", styles: [":host{position:relative;display:flex;max-block-size:100%;isolation:isolate;overflow:auto}:host
|
|
297
|
+
}, template: "@if (!isIOS && options.mode !== 'native' && options.mode !== 'hidden') {\n <tui-scroll-controls\n tuiDelegateGuard\n class=\"t-bars\"\n [class.t-hover-mode]=\"options.mode === 'hover'\"\n />\n}\n<div\n class=\"t-content\"\n [class.t-content_delegated]=\"delegated\"\n>\n <ng-content />\n</div>\n", styles: [":host{position:relative;display:flex;max-block-size:100%;isolation:isolate;overflow:auto}:host .t-hover-mode:not(:active){transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);opacity:0}:host:hover>.t-hover-mode{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:var(--tui-curve-productive-standard);opacity:1}.t-content{isolation:isolate;flex:1;flex-basis:auto;inline-size:100%;min-inline-size:fit-content;block-size:max-content;view-timeline:--t-scrollbar-x x,--t-scrollbar-y y}.t-content_delegated{block-size:100%}.t-bars{color:var(--tui-text-primary)}\n"] }]
|
|
265
298
|
}] });
|
|
266
299
|
|
|
267
300
|
/**
|