@taiga-ui/addon-mobile 5.25.0 → 5.26.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/bottom-sheet/bottom-sheet.component.d.ts +1 -0
- package/components/sheet-dialog/index.d.ts +1 -0
- package/components/sheet-dialog/sheet-dialog-close.directive.d.ts +13 -0
- package/components/sheet-dialog/sheet-dialog.component.d.ts +6 -7
- package/fesm2022/taiga-ui-addon-mobile-components-bottom-sheet.mjs +7 -3
- package/fesm2022/taiga-ui-addon-mobile-components-bottom-sheet.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components-keypad.mjs +2 -2
- package/fesm2022/taiga-ui-addon-mobile-components-search-bar.mjs +2 -2
- package/fesm2022/taiga-ui-addon-mobile-components-search-bar.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components-sheet-dialog.mjs +46 -28
- package/fesm2022/taiga-ui-addon-mobile-components-sheet-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components-swipe-actions.mjs +3 -3
- package/fesm2022/taiga-ui-addon-mobile-directives-dropdown-mobile.mjs +3 -3
- package/fesm2022/taiga-ui-addon-mobile-directives-ripple.mjs +2 -2
- package/package.json +9 -9
- package/styles/ios/tab-bar.less +1 -4
|
@@ -6,6 +6,7 @@ export declare class TuiBottomSheet {
|
|
|
6
6
|
private readonly options;
|
|
7
7
|
readonly stops: import("@angular/core").InputSignal<readonly string[]>;
|
|
8
8
|
readonly bar: import("@angular/core").InputSignal<boolean>;
|
|
9
|
+
protected onResize(): void;
|
|
9
10
|
protected onScroll(): void;
|
|
10
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiBottomSheet, never>;
|
|
11
12
|
static ɵcmp: i0.ɵɵComponentDeclaration<TuiBottomSheet, "tui-bottom-sheet", never, { "stops": { "alias": "stops"; "required": false; "isSignal": true; }; "bar": { "alias": "bar"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class TuiSheetDialogClose {
|
|
3
|
+
private readonly el;
|
|
4
|
+
private readonly doc;
|
|
5
|
+
private readonly sheet;
|
|
6
|
+
private readonly scroll$;
|
|
7
|
+
private readonly untouched$;
|
|
8
|
+
private readonly swipe$;
|
|
9
|
+
private readonly release$;
|
|
10
|
+
readonly tuiSheetDialogClose: import("@angular/core").OutputRef<Event | number[] | null>;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiSheetDialogClose, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSheetDialogClose, "[tuiSheetDialogClose]", never, {}, { "tuiSheetDialogClose": "tuiSheetDialogClose"; }, never, never, true, never>;
|
|
13
|
+
}
|
|
@@ -4,19 +4,18 @@ import { type TuiSheetDialogOptions } from './sheet-dialog.options';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@taiga-ui/cdk/directives/animated";
|
|
6
6
|
import * as i2 from "@taiga-ui/core/components/scrollbar";
|
|
7
|
-
|
|
7
|
+
import * as i3 from "./sheet-dialog-close.directive";
|
|
8
|
+
export declare class TuiSheetDialogComponent {
|
|
8
9
|
private readonly stops;
|
|
9
10
|
private readonly el;
|
|
10
|
-
|
|
11
|
-
protected readonly context: TuiPortalContext<TuiSheetDialogOptions<I>, any>;
|
|
11
|
+
protected readonly context: TuiPortalContext<TuiSheetDialogOptions<undefined>>;
|
|
12
12
|
protected readonly close$: Subject<void>;
|
|
13
13
|
protected interacted: boolean;
|
|
14
14
|
protected readonly $: import("rxjs").Subscription;
|
|
15
15
|
constructor();
|
|
16
|
+
get initial(): number;
|
|
16
17
|
protected onResize(): void;
|
|
17
|
-
protected onPointerChange(delta: number): void;
|
|
18
|
-
private get initial();
|
|
19
18
|
private close;
|
|
20
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiSheetDialogComponent
|
|
21
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TuiSheetDialogComponent
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiSheetDialogComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TuiSheetDialogComponent, "tui-sheet-dialog", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiAnimated; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiScrollRef; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiSheetDialogClose; inputs: {}; outputs: { "tuiSheetDialogClose": "tuiSheetDialogClose"; }; }]>;
|
|
22
21
|
}
|
|
@@ -19,6 +19,10 @@ class TuiBottomSheet {
|
|
|
19
19
|
this.stops = input(this.options.stops);
|
|
20
20
|
this.bar = input(this.options.bar);
|
|
21
21
|
}
|
|
22
|
+
onResize() {
|
|
23
|
+
this.el.style.removeProperty('--t-height');
|
|
24
|
+
this.onScroll();
|
|
25
|
+
}
|
|
22
26
|
onScroll() {
|
|
23
27
|
const { clientHeight, scrollTop, scrollHeight } = this.el;
|
|
24
28
|
const top = this.elements()[0]?.nativeElement.clientHeight || 0;
|
|
@@ -36,7 +40,7 @@ class TuiBottomSheet {
|
|
|
36
40
|
});
|
|
37
41
|
}
|
|
38
42
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiBottomSheet, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: TuiBottomSheet, isStandalone: true, selector: "tui-bottom-sheet", inputs: { stops: { classPropertyName: "stops", publicName: "stops", isSignal: true, isRequired: false, transformFunction: null }, bar: { classPropertyName: "bar", publicName: "bar", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "resize": "
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: TuiBottomSheet, isStandalone: true, selector: "tui-bottom-sheet", inputs: { stops: { classPropertyName: "stops", publicName: "stops", isSignal: true, isRequired: false, transformFunction: null }, bar: { classPropertyName: "bar", publicName: "bar", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "resize": "onResize()", "scroll.zoneless": "onScroll()" }, properties: { "class._bar": "bar()", "style.--t-initial": "stops()[0]", "style.scroll-snap-type": "stops().length > 1 ? \"y mandatory\" : null" } }, providers: [tuiHeaderOptionsProvider({ size: 'h5' })], viewQueries: [{ propertyName: "elements", predicate: ["stops"], descendants: true, isSignal: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, isSignal: true }], ngImport: i0, template: "@for (stop of stops(); track $index) {\n <div\n #stops\n class=\"t-stop\"\n [style.inset-block-start]=\"stop\"\n ></div>\n}\n<div\n #content\n class=\"t-content\"\n (resize)=\"onResize()\"\n>\n <ng-content />\n</div>\n<div class=\"t-bottom\"></div>\n", styles: [":host{scrollbar-width:none;position:absolute;display:block;inset-block-start:100%;inset-inline-start:0;inset-inline-end:0;block-size:calc(100% - 1rem);max-inline-size:40rem;margin:calc(-1 * var(--t-initial)) auto 0;background:var(--tui-background-elevation-1);border-top-left-radius:var(--tui-radius-l);border-top-right-radius:var(--tui-radius-l);overflow:auto;box-shadow:0 1rem var(--tui-background-elevation-1),var(--tui-shadow-medium)}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host:before{content:\"\";position:sticky;z-index:1;display:block;inset-block-start:.625rem;inset-inline-start:50%;inline-size:2rem;block-size:.25rem;margin-block-end:-.25rem;transform:translate(calc(-50% * var(--tui-inline)));background:var(--tui-background-elevation-1);box-shadow:0 0 0 20rem var(--tui-background-elevation-1),inset 0 0 0 1rem var(--tui-border-normal);border-radius:1rem;clip-path:polygon(-100vw -1rem,100vw -1rem,100vw calc(100% + .625rem),-100vw calc(100% + .625rem))}:host:not(._bar):before{display:none}:host:not(._bar) .t-content{padding-block-start:1rem}:host:after{content:\"\";position:absolute;inset-block-start:calc(100% - var(--t-initial));inline-size:1rem;block-size:calc(var(--t-height) - 100% + var(--t-initial));scroll-snap-align:start;scroll-snap-stop:always}.t-content{position:sticky;inset-block-start:0;padding:2.25rem 1rem 1.5rem}.t-bottom{block-size:calc(100% - var(--t-initial))}.t-stop{position:absolute;block-size:var(--t-initial);inline-size:1rem;pointer-events:none;transform:translateY(-100%);scroll-snap-align:start;scroll-snap-stop:always}.t-stop:last-child{scroll-snap-align:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40
44
|
}
|
|
41
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiBottomSheet, decorators: [{
|
|
42
46
|
type: Component,
|
|
@@ -44,9 +48,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
44
48
|
'[class._bar]': 'bar()',
|
|
45
49
|
'[style.--t-initial]': 'stops()[0]',
|
|
46
50
|
'[style.scroll-snap-type]': 'stops().length > 1 ? "y mandatory" : null',
|
|
47
|
-
'(resize)': '
|
|
51
|
+
'(resize)': 'onResize()',
|
|
48
52
|
'(scroll.zoneless)': 'onScroll()',
|
|
49
|
-
}, template: "@for (stop of stops(); track $index) {\n <div\n #stops\n class=\"t-stop\"\n [style.inset-block-start]=\"stop\"\n ></div>\n}\n<div\n #content\n class=\"t-content\"\n (resize)=\"
|
|
53
|
+
}, template: "@for (stop of stops(); track $index) {\n <div\n #stops\n class=\"t-stop\"\n [style.inset-block-start]=\"stop\"\n ></div>\n}\n<div\n #content\n class=\"t-content\"\n (resize)=\"onResize()\"\n>\n <ng-content />\n</div>\n<div class=\"t-bottom\"></div>\n", styles: [":host{scrollbar-width:none;position:absolute;display:block;inset-block-start:100%;inset-inline-start:0;inset-inline-end:0;block-size:calc(100% - 1rem);max-inline-size:40rem;margin:calc(-1 * var(--t-initial)) auto 0;background:var(--tui-background-elevation-1);border-top-left-radius:var(--tui-radius-l);border-top-right-radius:var(--tui-radius-l);overflow:auto;box-shadow:0 1rem var(--tui-background-elevation-1),var(--tui-shadow-medium)}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host:before{content:\"\";position:sticky;z-index:1;display:block;inset-block-start:.625rem;inset-inline-start:50%;inline-size:2rem;block-size:.25rem;margin-block-end:-.25rem;transform:translate(calc(-50% * var(--tui-inline)));background:var(--tui-background-elevation-1);box-shadow:0 0 0 20rem var(--tui-background-elevation-1),inset 0 0 0 1rem var(--tui-border-normal);border-radius:1rem;clip-path:polygon(-100vw -1rem,100vw -1rem,100vw calc(100% + .625rem),-100vw calc(100% + .625rem))}:host:not(._bar):before{display:none}:host:not(._bar) .t-content{padding-block-start:1rem}:host:after{content:\"\";position:absolute;inset-block-start:calc(100% - var(--t-initial));inline-size:1rem;block-size:calc(var(--t-height) - 100% + var(--t-initial));scroll-snap-align:start;scroll-snap-stop:always}.t-content{position:sticky;inset-block-start:0;padding:2.25rem 1rem 1.5rem}.t-bottom{block-size:calc(100% - var(--t-initial))}.t-stop{position:absolute;block-size:var(--t-initial);inline-size:1rem;pointer-events:none;transform:translateY(-100%);scroll-snap-align:start;scroll-snap-stop:always}.t-stop:last-child{scroll-snap-align:none}\n"] }]
|
|
50
54
|
}] });
|
|
51
55
|
|
|
52
56
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-components-bottom-sheet.mjs","sources":["../../../projects/addon-mobile/components/bottom-sheet/bottom-sheet.options.ts","../../../projects/addon-mobile/components/bottom-sheet/bottom-sheet.component.ts","../../../projects/addon-mobile/components/bottom-sheet/bottom-sheet.template.html","../../../projects/addon-mobile/components/bottom-sheet/taiga-ui-addon-mobile-components-bottom-sheet.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiBottomSheetOptions {\n readonly bar: boolean;\n readonly stops: readonly string[];\n}\n\nexport const TUI_BOTTOM_SHEET_DEFAULT_OPTIONS: TuiBottomSheetOptions = {\n bar: true,\n stops: ['1.5rem'],\n};\n\nexport const [TUI_BOTTOM_SHEET_OPTIONS, tuiBottomSheetOptionsProvider] = tuiCreateOptions(\n TUI_BOTTOM_SHEET_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n type ElementRef,\n inject,\n input,\n viewChild,\n viewChildren,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiHeaderOptionsProvider} from '@taiga-ui/layout/components/header';\n\nimport {TUI_BOTTOM_SHEET_OPTIONS} from './bottom-sheet.options';\n\n@Component({\n selector: 'tui-bottom-sheet',\n templateUrl: './bottom-sheet.template.html',\n styleUrl: './bottom-sheet.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiHeaderOptionsProvider({size: 'h5'})],\n host: {\n '[class._bar]': 'bar()',\n '[style.--t-initial]': 'stops()[0]',\n '[style.scroll-snap-type]': 'stops().length > 1 ? \"y mandatory\" : null',\n '(resize)': '
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-components-bottom-sheet.mjs","sources":["../../../projects/addon-mobile/components/bottom-sheet/bottom-sheet.options.ts","../../../projects/addon-mobile/components/bottom-sheet/bottom-sheet.component.ts","../../../projects/addon-mobile/components/bottom-sheet/bottom-sheet.template.html","../../../projects/addon-mobile/components/bottom-sheet/taiga-ui-addon-mobile-components-bottom-sheet.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiBottomSheetOptions {\n readonly bar: boolean;\n readonly stops: readonly string[];\n}\n\nexport const TUI_BOTTOM_SHEET_DEFAULT_OPTIONS: TuiBottomSheetOptions = {\n bar: true,\n stops: ['1.5rem'],\n};\n\nexport const [TUI_BOTTOM_SHEET_OPTIONS, tuiBottomSheetOptionsProvider] = tuiCreateOptions(\n TUI_BOTTOM_SHEET_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n type ElementRef,\n inject,\n input,\n viewChild,\n viewChildren,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiHeaderOptionsProvider} from '@taiga-ui/layout/components/header';\n\nimport {TUI_BOTTOM_SHEET_OPTIONS} from './bottom-sheet.options';\n\n@Component({\n selector: 'tui-bottom-sheet',\n templateUrl: './bottom-sheet.template.html',\n styleUrl: './bottom-sheet.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiHeaderOptionsProvider({size: 'h5'})],\n host: {\n '[class._bar]': 'bar()',\n '[style.--t-initial]': 'stops()[0]',\n '[style.scroll-snap-type]': 'stops().length > 1 ? \"y mandatory\" : null',\n '(resize)': 'onResize()',\n '(scroll.zoneless)': 'onScroll()',\n },\n})\nexport class TuiBottomSheet {\n private readonly elements = viewChildren<ElementRef<HTMLElement>>('stops');\n private readonly content = viewChild<ElementRef<HTMLElement>>('content');\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_BOTTOM_SHEET_OPTIONS);\n\n public readonly stops = input(this.options.stops);\n public readonly bar = input(this.options.bar);\n\n protected onResize(): void {\n this.el.style.removeProperty('--t-height');\n this.onScroll();\n }\n\n protected onScroll(): void {\n const {clientHeight, scrollTop, scrollHeight} = this.el;\n const top = this.elements()[0]?.nativeElement.clientHeight || 0;\n const max = this.content()?.nativeElement.clientHeight || Infinity;\n const height = Math.min(clientHeight, max);\n const scrolled = Math.min(scrollTop, height - top);\n const transform = `translate3d(0, ${-1 * scrolled}px, 0)`;\n const css = this.el.getAnimations().some((a) => 'animationName' in a);\n\n this.el.style.setProperty('--t-height', `${scrollHeight}px`);\n this.el.style.setProperty('overflow', 'scroll');\n this.el.animate([{transform}], {\n duration: 20,\n easing: 'ease-in',\n fill: css ? 'none' : 'forwards',\n });\n }\n}\n","@for (stop of stops(); track $index) {\n <div\n #stops\n class=\"t-stop\"\n [style.inset-block-start]=\"stop\"\n ></div>\n}\n<div\n #content\n class=\"t-content\"\n (resize)=\"onResize()\"\n>\n <ng-content />\n</div>\n<div class=\"t-bottom\"></div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ class TuiKeypad {
|
|
|
7
7
|
this.columns = input(3);
|
|
8
8
|
}
|
|
9
9
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiKeypad, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.25", type: TuiKeypad, isStandalone: true, selector: "tui-keypad", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.25", type: TuiKeypad, isStandalone: true, selector: "tui-keypad", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.26.0" }, listeners: { "mousedown.zoneless.prevent": "(0)", "pointerdown.zoneless.prevent": "(0)" }, properties: { "style.--t-columns": "columns()" } }, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["tui-keypad:where(*[data-tui-version=\"5.26.0\"]){display:grid;grid-template-columns:repeat(var(--t-columns, 3),1fr);grid-auto-rows:4rem;place-items:center;inline-size:100%;max-inline-size:37.5rem;margin-inline:auto;font:600 1.75rem/1 var(--tui-typography-family-display);color:var(--tui-text-primary);-webkit-user-select:none;user-select:none}tui-keypad:where(*[data-tui-version=\"5.26.0\"])>a,tui-keypad:where(*[data-tui-version=\"5.26.0\"])>button{display:flex;box-sizing:border-box;align-items:center;justify-content:center;block-size:3.5rem;inline-size:3.5rem;max-inline-size:100%;border:none;border-radius:50%;background:transparent;font:inherit;color:inherit;text-decoration:none;cursor:pointer;transition:background var(--tui-duration) ease-out,scale var(--tui-duration) var(--tui-curve-expressive-entrance)}@media(hover:hover)and (pointer:fine){tui-keypad:where(*[data-tui-version=\"5.26.0\"])>a:hover:not(:disabled),tui-keypad:where(*[data-tui-version=\"5.26.0\"])>button:hover:not(:disabled){background:var(--tui-background-neutral-1-hover)}}tui-keypad:where(*[data-tui-version=\"5.26.0\"])>a:active:not(:disabled),tui-keypad:where(*[data-tui-version=\"5.26.0\"])>button:active:not(:disabled){background:var(--tui-background-neutral-1-pressed);scale:1.14}tui-keypad:where(*[data-tui-version=\"5.26.0\"])>a:focus-visible,tui-keypad:where(*[data-tui-version=\"5.26.0\"])>button:focus-visible{outline:.125rem solid var(--tui-border-focus);outline-offset:.125rem}tui-keypad:where(*[data-tui-version=\"5.26.0\"])>a:disabled,tui-keypad:where(*[data-tui-version=\"5.26.0\"])>button:disabled{opacity:var(--tui-disabled-opacity);cursor:default}\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: TuiKeypad, decorators: [{
|
|
13
13
|
type: Component,
|
|
@@ -17,7 +17,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
17
17
|
// Keep the driven field focused on tap: iOS needs mousedown, Android longtap needs pointerdown
|
|
18
18
|
'(mousedown.zoneless.prevent)': '(0)',
|
|
19
19
|
'(pointerdown.zoneless.prevent)': '(0)',
|
|
20
|
-
}, styles: ["tui-keypad:where(*[data-tui-version=\"5.
|
|
20
|
+
}, styles: ["tui-keypad:where(*[data-tui-version=\"5.26.0\"]){display:grid;grid-template-columns:repeat(var(--t-columns, 3),1fr);grid-auto-rows:4rem;place-items:center;inline-size:100%;max-inline-size:37.5rem;margin-inline:auto;font:600 1.75rem/1 var(--tui-typography-family-display);color:var(--tui-text-primary);-webkit-user-select:none;user-select:none}tui-keypad:where(*[data-tui-version=\"5.26.0\"])>a,tui-keypad:where(*[data-tui-version=\"5.26.0\"])>button{display:flex;box-sizing:border-box;align-items:center;justify-content:center;block-size:3.5rem;inline-size:3.5rem;max-inline-size:100%;border:none;border-radius:50%;background:transparent;font:inherit;color:inherit;text-decoration:none;cursor:pointer;transition:background var(--tui-duration) ease-out,scale var(--tui-duration) var(--tui-curve-expressive-entrance)}@media(hover:hover)and (pointer:fine){tui-keypad:where(*[data-tui-version=\"5.26.0\"])>a:hover:not(:disabled),tui-keypad:where(*[data-tui-version=\"5.26.0\"])>button:hover:not(:disabled){background:var(--tui-background-neutral-1-hover)}}tui-keypad:where(*[data-tui-version=\"5.26.0\"])>a:active:not(:disabled),tui-keypad:where(*[data-tui-version=\"5.26.0\"])>button:active:not(:disabled){background:var(--tui-background-neutral-1-pressed);scale:1.14}tui-keypad:where(*[data-tui-version=\"5.26.0\"])>a:focus-visible,tui-keypad:where(*[data-tui-version=\"5.26.0\"])>button:focus-visible{outline:.125rem solid var(--tui-border-focus);outline-offset:.125rem}tui-keypad:where(*[data-tui-version=\"5.26.0\"])>a:disabled,tui-keypad:where(*[data-tui-version=\"5.26.0\"])>button:disabled{opacity:var(--tui-disabled-opacity);cursor:default}\n"] }]
|
|
21
21
|
}] });
|
|
22
22
|
|
|
23
23
|
/**
|
|
@@ -20,7 +20,7 @@ class TuiSearchBarComponent {
|
|
|
20
20
|
<ng-content select="input" />
|
|
21
21
|
</div>
|
|
22
22
|
<ng-content />
|
|
23
|
-
`, isInline: true, styles: [":host{--t-translate: 3.75rem;position:relative;display:flex;align-items:center;box-sizing:border-box;gap:1rem}:host ::ng-deep [tuiButtonX]{transition:margin var(--tui-duration)}.t-wrapper{position:relative;display:flex;flex:1;min-inline-size:0}:host:not(:focus-within) ::ng-deep [tuiButtonX],:host-context([data-platform=\"ios\"]):not([data-appearance=floating]) ::ng-deep [tuiButtonX]{opacity:0;visibility:hidden}:host-context([data-platform=\"ios\"])[data-appearance=floating]:focus-within ::ng-deep [tuiButtonX]{animation:tuiTranslateIn var(--tui-duration)}:host-context([data-platform=\"ios\"]):not(:focus-within) ::ng-deep [tuiButtonX],:host-context([data-platform=\"ios\"]):not([data-appearance=floating]) ::ng-deep [tuiButtonX]{margin-inline-start:-3.75rem;animation:tuiTranslateOut var(--tui-duration)}:host-context([data-platform=\"ios\"])[data-appearance=floating]{--t-glass-background: rgba(255, 255, 255, .7);--t-glass-glow:
|
|
23
|
+
`, isInline: true, styles: [":host{--t-translate: 3.75rem;position:relative;display:flex;align-items:center;box-sizing:border-box;gap:1rem}:host ::ng-deep [tuiButtonX]{transition:margin var(--tui-duration)}.t-wrapper{position:relative;display:flex;flex:1;min-inline-size:0}:host:not(:focus-within) ::ng-deep [tuiButtonX],:host-context([data-platform=\"ios\"]):not([data-appearance=floating]) ::ng-deep [tuiButtonX]{opacity:0;visibility:hidden}:host-context([data-platform=\"ios\"])[data-appearance=floating]:focus-within ::ng-deep [tuiButtonX]{animation:tuiTranslateIn var(--tui-duration)}:host-context([data-platform=\"ios\"]):not(:focus-within) ::ng-deep [tuiButtonX],:host-context([data-platform=\"ios\"]):not([data-appearance=floating]) ::ng-deep [tuiButtonX]{margin-inline-start:-3.75rem;animation:tuiTranslateOut var(--tui-duration)}:host-context([data-platform=\"ios\"])[data-appearance=floating]{--t-glass-background: rgba(255, 255, 255, .7);--t-glass-glow: rgba(255, 255, 255, .1);--t-glass-filter: blur(.25rem) saturate(1.3) brightness(1.05);--t-glass-bevel: linear-gradient(319deg, #fff 4%, #fff 19%, rgba(255, 255, 255, .12) 40%, rgba(255, 255, 255, .02) 45%, rgba(255, 255, 255, 0) 48%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 52%, rgba(255, 255, 255, .02) 55%, rgba(255, 255, 255, .12) 60%, #fff 80%, #fff 96%);--t-glass-bevel-filter: none}:host-context([data-platform=\"ios\"])[data-appearance=floating] ::ng-deep [tuiSearchBar]{-webkit-backdrop-filter:var(--t-glass-filter);backdrop-filter:var(--t-glass-filter);background-color:var(--t-glass-background);box-shadow:0 .5rem 2rem #00000017,inset 0 0 .5rem var(--t-glass-glow)}:host-context([data-platform=\"ios\"])[data-appearance=floating] .t-wrapper:after{content:\"\";position:absolute;inset:0;box-sizing:border-box;border-radius:inherit;pointer-events:none;padding:1px;background:var(--t-glass-bevel);filter:var(--t-glass-bevel-filter);-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;border-radius:3.125rem}:host-context([data-platform=\"ios\"])[data-appearance=floating] ::ng-deep [tuiButtonX]{-webkit-backdrop-filter:var(--t-glass-filter);backdrop-filter:var(--t-glass-filter);background-color:var(--t-glass-background);box-shadow:0 .5rem 2rem #00000017,inset 0 0 .5rem var(--t-glass-glow);position:relative;box-sizing:border-box;border-radius:100%;color:var(--tui-text-primary);transition-property:margin,opacity,visibility,scale;transition-timing-function:ease,ease,ease,var(--tui-curve-expressive-entrance)}:host-context([data-platform=\"ios\"])[data-appearance=floating] ::ng-deep [tuiButtonX]:active{scale:1.25;filter:brightness(3)}:host-context([data-platform=\"ios\"])[data-appearance=floating] ::ng-deep [tuiButtonX]:after{content:\"\";position:absolute;inset:0;box-sizing:border-box;border-radius:inherit;pointer-events:none;padding:1px;background:var(--t-glass-bevel);filter:var(--t-glass-bevel-filter);-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;display:block;inline-size:auto;block-size:auto;margin:0;-webkit-mask-size:auto;mask-size:auto}@keyframes tuiTranslateIn{0%{translate:var(--t-translate)}}@keyframes tuiTranslateOut{to{translate:var(--t-translate)}}:host-context([data-platform=\"android\"]):focus-within .t-wrapper:not(:last-child) ::ng-deep [tuiSearchBar]{background-image:none}:host-context([data-platform=\"android\"]) ::ng-deep [tuiButtonX]{position:absolute;inset-inline-start:.4375rem}:host-context([data-platform=\"android\"]):not(:focus-within) ::ng-deep [tuiButtonX]{margin-inline-start:0}:host-context([tuiTheme=\"dark\"])[data-appearance=floating]{--t-glass-background: rgba(255, 255, 255, .1);--t-glass-glow: rgba(31, 31, 31, .08);--t-glass-bevel: linear-gradient(319deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, .12) 19%, rgba(255, 255, 255, .04) 40%, rgba(255, 255, 255, .02) 45%, rgba(255, 255, 255, 0) 48%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 52%, rgba(255, 255, 255, .02) 55%, rgba(255, 255, 255, .04) 60%, rgba(255, 255, 255, .12) 80%, rgba(255, 255, 255, .2) 96%);--t-glass-bevel-filter: brightness(.6)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24
24
|
}
|
|
25
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiSearchBarComponent, decorators: [{
|
|
26
26
|
type: Component,
|
|
@@ -35,7 +35,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
35
35
|
size: platform === 'android' ? 's' : 'm',
|
|
36
36
|
})),
|
|
37
37
|
tuiCommonIconsProvider((platform = inject(TUI_PLATFORM)) => platform === 'android' ? { close: '@tui.arrow-left' } : {}),
|
|
38
|
-
], host: { '[attr.data-appearance]': 'appearance()' }, styles: [":host{--t-translate: 3.75rem;position:relative;display:flex;align-items:center;box-sizing:border-box;gap:1rem}:host ::ng-deep [tuiButtonX]{transition:margin var(--tui-duration)}.t-wrapper{position:relative;display:flex;flex:1;min-inline-size:0}:host:not(:focus-within) ::ng-deep [tuiButtonX],:host-context([data-platform=\"ios\"]):not([data-appearance=floating]) ::ng-deep [tuiButtonX]{opacity:0;visibility:hidden}:host-context([data-platform=\"ios\"])[data-appearance=floating]:focus-within ::ng-deep [tuiButtonX]{animation:tuiTranslateIn var(--tui-duration)}:host-context([data-platform=\"ios\"]):not(:focus-within) ::ng-deep [tuiButtonX],:host-context([data-platform=\"ios\"]):not([data-appearance=floating]) ::ng-deep [tuiButtonX]{margin-inline-start:-3.75rem;animation:tuiTranslateOut var(--tui-duration)}:host-context([data-platform=\"ios\"])[data-appearance=floating]{--t-glass-background: rgba(255, 255, 255, .7);--t-glass-glow:
|
|
38
|
+
], host: { '[attr.data-appearance]': 'appearance()' }, styles: [":host{--t-translate: 3.75rem;position:relative;display:flex;align-items:center;box-sizing:border-box;gap:1rem}:host ::ng-deep [tuiButtonX]{transition:margin var(--tui-duration)}.t-wrapper{position:relative;display:flex;flex:1;min-inline-size:0}:host:not(:focus-within) ::ng-deep [tuiButtonX],:host-context([data-platform=\"ios\"]):not([data-appearance=floating]) ::ng-deep [tuiButtonX]{opacity:0;visibility:hidden}:host-context([data-platform=\"ios\"])[data-appearance=floating]:focus-within ::ng-deep [tuiButtonX]{animation:tuiTranslateIn var(--tui-duration)}:host-context([data-platform=\"ios\"]):not(:focus-within) ::ng-deep [tuiButtonX],:host-context([data-platform=\"ios\"]):not([data-appearance=floating]) ::ng-deep [tuiButtonX]{margin-inline-start:-3.75rem;animation:tuiTranslateOut var(--tui-duration)}:host-context([data-platform=\"ios\"])[data-appearance=floating]{--t-glass-background: rgba(255, 255, 255, .7);--t-glass-glow: rgba(255, 255, 255, .1);--t-glass-filter: blur(.25rem) saturate(1.3) brightness(1.05);--t-glass-bevel: linear-gradient(319deg, #fff 4%, #fff 19%, rgba(255, 255, 255, .12) 40%, rgba(255, 255, 255, .02) 45%, rgba(255, 255, 255, 0) 48%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 52%, rgba(255, 255, 255, .02) 55%, rgba(255, 255, 255, .12) 60%, #fff 80%, #fff 96%);--t-glass-bevel-filter: none}:host-context([data-platform=\"ios\"])[data-appearance=floating] ::ng-deep [tuiSearchBar]{-webkit-backdrop-filter:var(--t-glass-filter);backdrop-filter:var(--t-glass-filter);background-color:var(--t-glass-background);box-shadow:0 .5rem 2rem #00000017,inset 0 0 .5rem var(--t-glass-glow)}:host-context([data-platform=\"ios\"])[data-appearance=floating] .t-wrapper:after{content:\"\";position:absolute;inset:0;box-sizing:border-box;border-radius:inherit;pointer-events:none;padding:1px;background:var(--t-glass-bevel);filter:var(--t-glass-bevel-filter);-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;border-radius:3.125rem}:host-context([data-platform=\"ios\"])[data-appearance=floating] ::ng-deep [tuiButtonX]{-webkit-backdrop-filter:var(--t-glass-filter);backdrop-filter:var(--t-glass-filter);background-color:var(--t-glass-background);box-shadow:0 .5rem 2rem #00000017,inset 0 0 .5rem var(--t-glass-glow);position:relative;box-sizing:border-box;border-radius:100%;color:var(--tui-text-primary);transition-property:margin,opacity,visibility,scale;transition-timing-function:ease,ease,ease,var(--tui-curve-expressive-entrance)}:host-context([data-platform=\"ios\"])[data-appearance=floating] ::ng-deep [tuiButtonX]:active{scale:1.25;filter:brightness(3)}:host-context([data-platform=\"ios\"])[data-appearance=floating] ::ng-deep [tuiButtonX]:after{content:\"\";position:absolute;inset:0;box-sizing:border-box;border-radius:inherit;pointer-events:none;padding:1px;background:var(--t-glass-bevel);filter:var(--t-glass-bevel-filter);-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;display:block;inline-size:auto;block-size:auto;margin:0;-webkit-mask-size:auto;mask-size:auto}@keyframes tuiTranslateIn{0%{translate:var(--t-translate)}}@keyframes tuiTranslateOut{to{translate:var(--t-translate)}}:host-context([data-platform=\"android\"]):focus-within .t-wrapper:not(:last-child) ::ng-deep [tuiSearchBar]{background-image:none}:host-context([data-platform=\"android\"]) ::ng-deep [tuiButtonX]{position:absolute;inset-inline-start:.4375rem}:host-context([data-platform=\"android\"]):not(:focus-within) ::ng-deep [tuiButtonX]{margin-inline-start:0}:host-context([tuiTheme=\"dark\"])[data-appearance=floating]{--t-glass-background: rgba(255, 255, 255, .1);--t-glass-glow: rgba(31, 31, 31, .08);--t-glass-bevel: linear-gradient(319deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, .12) 19%, rgba(255, 255, 255, .04) 40%, rgba(255, 255, 255, .02) 45%, rgba(255, 255, 255, 0) 48%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 52%, rgba(255, 255, 255, .02) 55%, rgba(255, 255, 255, .04) 60%, rgba(255, 255, 255, .12) 80%, rgba(255, 255, 255, .2) 96%);--t-glass-bevel-filter: brightness(.6)}\n"] }]
|
|
39
39
|
}] });
|
|
40
40
|
|
|
41
41
|
class TuiSearchBarInput {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-components-search-bar.mjs","sources":["../../../projects/addon-mobile/components/search-bar/search-bar.component.ts","../../../projects/addon-mobile/components/search-bar/search-bar-input.component.ts","../../../projects/addon-mobile/components/search-bar/search-bar.ts","../../../projects/addon-mobile/components/search-bar/taiga-ui-addon-mobile-components-search-bar.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, inject, input} from '@angular/core';\nimport {TUI_PLATFORM} from '@taiga-ui/cdk/tokens';\nimport {tuiButtonXOptionsProvider} from '@taiga-ui/core/directives/button-x';\nimport {tuiCommonIconsProvider} from '@taiga-ui/core/tokens';\n\n@Component({\n selector: 'form[tuiSearchBar],search[tuiSearchBar]',\n template: `\n <div class=\"t-wrapper\">\n <ng-content select=\"input\" />\n </div>\n <ng-content />\n `,\n styleUrl: './search-bar.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiButtonXOptionsProvider((platform = inject(TUI_PLATFORM)) => ({\n appearance: platform === 'android' ? 'action' : '',\n size: platform === 'android' ? 's' : 'm',\n })),\n tuiCommonIconsProvider((platform = inject(TUI_PLATFORM)) =>\n platform === 'android' ? {close: '@tui.arrow-left'} : {},\n ),\n ],\n host: {'[attr.data-appearance]': 'appearance()'},\n})\nexport class TuiSearchBarComponent {\n public readonly appearance = input<'floating' | 'neutral'>('neutral');\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\n@Component({\n selector: 'input[tuiSearchBar]',\n template: '',\n styleUrl: './search-bar-input.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n autocomplete: 'off',\n autocorrect: 'off',\n spellcheck: 'false',\n type: 'search',\n },\n})\nexport class TuiSearchBarInput {}\n","import {TuiSearchBarComponent} from './search-bar.component';\nimport {TuiSearchBarInput} from './search-bar-input.component';\n\nexport const TuiSearchBar = [TuiSearchBarComponent, TuiSearchBarInput] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MA0Ba,qBAAqB,CAAA;AArBlC,IAAA,WAAA,GAAA;AAsBoB,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAyB,SAAS,CAAC;AACxE,IAAA;+GAFY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,EAAA,EAAA,SAAA,EAXnB;YACP,yBAAyB,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM;gBAC5D,UAAU,EAAE,QAAQ,KAAK,SAAS,GAAG,QAAQ,GAAG,EAAE;gBAClD,IAAI,EAAE,QAAQ,KAAK,SAAS,GAAG,GAAG,GAAG,GAAG;AAC3C,aAAA,CAAC,CAAC;YACH,sBAAsB,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,KACnD,QAAQ,KAAK,SAAS,GAAG,EAAC,KAAK,EAAE,iBAAiB,EAAC,GAAG,EAAE,CAC3D;SACJ,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAhBS;;;;;AAKT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-components-search-bar.mjs","sources":["../../../projects/addon-mobile/components/search-bar/search-bar.component.ts","../../../projects/addon-mobile/components/search-bar/search-bar-input.component.ts","../../../projects/addon-mobile/components/search-bar/search-bar.ts","../../../projects/addon-mobile/components/search-bar/taiga-ui-addon-mobile-components-search-bar.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, inject, input} from '@angular/core';\nimport {TUI_PLATFORM} from '@taiga-ui/cdk/tokens';\nimport {tuiButtonXOptionsProvider} from '@taiga-ui/core/directives/button-x';\nimport {tuiCommonIconsProvider} from '@taiga-ui/core/tokens';\n\n@Component({\n selector: 'form[tuiSearchBar],search[tuiSearchBar]',\n template: `\n <div class=\"t-wrapper\">\n <ng-content select=\"input\" />\n </div>\n <ng-content />\n `,\n styleUrl: './search-bar.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiButtonXOptionsProvider((platform = inject(TUI_PLATFORM)) => ({\n appearance: platform === 'android' ? 'action' : '',\n size: platform === 'android' ? 's' : 'm',\n })),\n tuiCommonIconsProvider((platform = inject(TUI_PLATFORM)) =>\n platform === 'android' ? {close: '@tui.arrow-left'} : {},\n ),\n ],\n host: {'[attr.data-appearance]': 'appearance()'},\n})\nexport class TuiSearchBarComponent {\n public readonly appearance = input<'floating' | 'neutral'>('neutral');\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\n@Component({\n selector: 'input[tuiSearchBar]',\n template: '',\n styleUrl: './search-bar-input.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n autocomplete: 'off',\n autocorrect: 'off',\n spellcheck: 'false',\n type: 'search',\n },\n})\nexport class TuiSearchBarInput {}\n","import {TuiSearchBarComponent} from './search-bar.component';\nimport {TuiSearchBarInput} from './search-bar-input.component';\n\nexport const TuiSearchBar = [TuiSearchBarComponent, TuiSearchBarInput] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,55 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { viewChildren, ElementRef,
|
|
3
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
2
|
+
import { inject, Directive, viewChildren, ElementRef, afterNextRender, ChangeDetectionStrategy, Component, Injectable, input } from '@angular/core';
|
|
3
|
+
import { outputFromObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { WaResizeObserver } from '@ng-web-apis/resize-observer';
|
|
5
5
|
import { TUI_TRUE_HANDLER } from '@taiga-ui/cdk/constants';
|
|
6
6
|
import * as i1 from '@taiga-ui/cdk/directives/animated';
|
|
7
7
|
import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
|
|
8
|
-
import { tuiCloseWatcher, tuiZonefull } from '@taiga-ui/cdk/observables';
|
|
8
|
+
import { tuiIfMap, tuiCloseWatcher, tuiZonefull } from '@taiga-ui/cdk/observables';
|
|
9
9
|
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
|
|
10
10
|
import { TuiButton } from '@taiga-ui/core/components/button';
|
|
11
11
|
import * as i2 from '@taiga-ui/core/components/scrollbar';
|
|
12
12
|
import { TuiScrollRef } from '@taiga-ui/core/components/scrollbar';
|
|
13
13
|
import { TUI_DIALOGS_CLOSE } from '@taiga-ui/core/portals/dialog';
|
|
14
14
|
import { injectContext, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
|
|
15
|
-
import {
|
|
15
|
+
import { fromEvent, merge, map, filter, pairwise, takeWhile, bufferCount, take, startWith, Subject, exhaustMap, isObservable, of } from 'rxjs';
|
|
16
|
+
import { DOCUMENT } from '@angular/common';
|
|
16
17
|
import * as i1$1 from '@taiga-ui/cdk/portals';
|
|
17
18
|
import { tuiAsPortal, TuiPortalDirective } from '@taiga-ui/cdk/portals';
|
|
18
19
|
import { Meta } from '@angular/platform-browser';
|
|
19
20
|
import { TuiModalService } from '@taiga-ui/core/portals/modal';
|
|
20
21
|
import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
|
|
21
22
|
|
|
23
|
+
class TuiSheetDialogClose {
|
|
24
|
+
constructor() {
|
|
25
|
+
this.el = tuiInjectElement();
|
|
26
|
+
this.doc = inject(DOCUMENT);
|
|
27
|
+
this.sheet = inject(TuiSheetDialogComponent);
|
|
28
|
+
this.scroll$ = fromEvent(this.el, 'scroll');
|
|
29
|
+
this.untouched$ = merge(fromEvent(this.doc, 'touchstart', { passive: true }).pipe(map(() => false)), fromEvent(this.doc, 'touchend', { passive: true }).pipe(map(() => true)), fromEvent(this.doc, 'touchcancel', { passive: true }).pipe(map(() => true)));
|
|
30
|
+
this.swipe$ = this.scroll$.pipe(map(() => this.el.scrollHeight - this.el.clientHeight - this.el.scrollTop),
|
|
31
|
+
// Excluding scroll due to content height changes when scrolled to the end
|
|
32
|
+
filter((scroll) => Math.abs(scroll) > 10), map(() => this.el.scrollTop), pairwise(), map(([prev, curr]) => prev - curr), takeWhile((value) => value > 0), bufferCount(5), take(1));
|
|
33
|
+
this.release$ = this.scroll$.pipe(startWith(null), filter(() => !this.el.scrollTop), take(1));
|
|
34
|
+
this.tuiSheetDialogClose = outputFromObservable(merge(
|
|
35
|
+
// Swipe down
|
|
36
|
+
this.untouched$.pipe(tuiIfMap(() => this.swipe$, (untouched) => untouched && this.el.scrollTop < this.sheet.initial)),
|
|
37
|
+
// Wheel/let go at the end
|
|
38
|
+
merge(this.untouched$, fromEvent(this.el, 'wheel').pipe(map(() => true))).pipe(tuiIfMap(() => this.release$))));
|
|
39
|
+
}
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiSheetDialogClose, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
41
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: TuiSheetDialogClose, isStandalone: true, selector: "[tuiSheetDialogClose]", outputs: { tuiSheetDialogClose: "tuiSheetDialogClose" }, ngImport: i0 }); }
|
|
42
|
+
}
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiSheetDialogClose, decorators: [{
|
|
44
|
+
type: Directive,
|
|
45
|
+
args: [{ selector: '[tuiSheetDialogClose]' }]
|
|
46
|
+
}] });
|
|
47
|
+
|
|
22
48
|
const REQUIRED_ERROR = new Error(ngDevMode ? 'Required dialog was dismissed' : '');
|
|
23
49
|
class TuiSheetDialogComponent {
|
|
24
50
|
constructor() {
|
|
25
51
|
this.stops = viewChildren('stops', { read: ElementRef });
|
|
26
52
|
this.el = tuiInjectElement();
|
|
27
|
-
this.pointers = 0;
|
|
28
53
|
this.context = injectContext();
|
|
29
54
|
this.close$ = new Subject();
|
|
30
55
|
this.interacted = false;
|
|
@@ -41,26 +66,17 @@ class TuiSheetDialogComponent {
|
|
|
41
66
|
.subscribe(() => this.close());
|
|
42
67
|
afterNextRender(() => this.onResize());
|
|
43
68
|
}
|
|
44
|
-
// Re-pin async content to the initial snap; mandatory scroll-snap jumps to the bottom otherwise.
|
|
45
|
-
onResize() {
|
|
46
|
-
if (!this.interacted) {
|
|
47
|
-
this.el.scrollTop = this.initial || 0;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
onPointerChange(delta) {
|
|
51
|
-
this.interacted = this.interacted || !!delta;
|
|
52
|
-
this.pointers = Math.max(this.pointers + delta, 0);
|
|
53
|
-
if (!this.pointers && this.el.scrollTop <= 0 && this.interacted) {
|
|
54
|
-
this.close$.next();
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
69
|
get initial() {
|
|
58
70
|
return this.context.closable
|
|
59
71
|
? this.stops()
|
|
60
|
-
.map((e) => e.nativeElement.offsetTop
|
|
61
|
-
.concat(this.el.clientHeight ?? Infinity)[this.context.initial]
|
|
72
|
+
.map((e) => e.nativeElement.offsetTop)
|
|
73
|
+
.concat(this.el.clientHeight ?? Infinity)[this.context.initial] || 0
|
|
62
74
|
: 0;
|
|
63
75
|
}
|
|
76
|
+
// Re-pin async content to the initial snap; mandatory scroll-snap jumps to the bottom otherwise.
|
|
77
|
+
onResize() {
|
|
78
|
+
this.el.scrollTop = this.interacted ? this.el.scrollTop : this.initial;
|
|
79
|
+
}
|
|
64
80
|
close() {
|
|
65
81
|
if (this.context.required) {
|
|
66
82
|
this.context.$implicit.error(REQUIRED_ERROR);
|
|
@@ -70,22 +86,24 @@ class TuiSheetDialogComponent {
|
|
|
70
86
|
}
|
|
71
87
|
}
|
|
72
88
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiSheetDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
73
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: TuiSheetDialogComponent, isStandalone: true, selector: "tui-sheet-dialog", host: { listeners: { "click.self": "close$.next()", "document:
|
|
89
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: TuiSheetDialogComponent, isStandalone: true, selector: "tui-sheet-dialog", host: { listeners: { "click.self": "close$.next()", "document:touchstart.passive.zoneless": "interacted = true", "tuiSheetDialogClose": "close$.next()", "wheel.passive.zoneless": "interacted = true" }, properties: { "attr.data-appearance": "context.appearance", "class._bar": "context.bar", "class._closeable": "context.closable", "style.--tui-offset.px": "context.offset" } }, viewQueries: [{ propertyName: "stops", predicate: ["stops"], descendants: true, read: ElementRef, isSignal: true }], hostDirectives: [{ directive: i1.TuiAnimated }, { directive: i2.TuiScrollRef }, { directive: TuiSheetDialogClose, outputs: ["tuiSheetDialogClose", "tuiSheetDialogClose"] }], ngImport: i0, template: "<div class=\"t-stops\">\n @for (stop of context.stops; track stop) {\n <div\n #stops\n class=\"t-stop\"\n [style.margin-block-start]=\"stop\"\n ></div>\n }\n</div>\n<div\n class=\"t-sheet\"\n (waResizeObserver)=\"onResize()\"\n>\n <div class=\"t-bar\"></div>\n <div class=\"t-content\">\n @if (context.label) {\n <header\n [id]=\"context.id\"\n [innerHTML]=\"context.label\"\n ></header>\n }\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n @if (context.closable) {\n <footer>\n <button\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data || 'OK' }}\n </button>\n </footer>\n }\n </ng-container>\n </div>\n</div>\n", styles: [":host{scrollbar-width:none;position:sticky;display:flex;inset-inline-start:0;inline-size:100%;max-inline-size:40rem;block-size:calc(100% - max(var(--tui-offset),env(safe-area-inset-top)));flex-direction:column;font:var(--tui-typography-body-m);overflow-y:scroll;overscroll-behavior:none;scroll-snap-type:y mandatory;margin:max(var(--tui-offset),env(safe-area-inset-top)) auto 0;border-radius:.75rem .75rem 0 0;box-shadow:0 5rem var(--tui-background-elevation-1);--t-top: 0}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}@supports (-webkit-touch-callout: none){:host{overscroll-behavior:contain}}:host.tui-enter,:host.tui-leave{animation-name:tuiSlide;animation-timing-function:var(--tui-curve-expressive-exit)}:host.tui-enter{animation-duration:calc(var(--tui-duration) / 6 * 7);animation-timing-function:cubic-bezier(.1,.8,.5,1)}:host:before{position:fixed;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1}:host._bar{--t-top: 1.5rem}:host._bar .t-bar{display:block}:host._closeable{display:block}:host._closeable .t-stops{display:flex}:host[data-appearance~=fullscreen]{display:block}:host[data-appearance~=fullscreen] .t-sheet{min-block-size:100%}:host ::ng-deep tui-data-list[data-size]{padding:0}:host ::ng-deep tui-data-list[data-size] [tuiOption][data-size]{box-sizing:content-box;border-radius:0}.t-stops{display:none;block-size:100%;scroll-snap-stop:always;scroll-snap-align:start;pointer-events:none}.t-stop{position:relative;inset-block-start:env(safe-area-inset-bottom);scroll-snap-stop:normal;scroll-snap-align:start;block-size:1rem;inline-size:1rem}.t-sheet{display:flex;inline-size:100%;flex-direction:column;box-shadow:var(--tui-shadow-small);border-radius:inherit;padding:0 var(--tui-padding-inline);margin-block-start:auto;background:var(--tui-background-elevation-1);box-sizing:border-box;scroll-snap-stop:always;scroll-snap-align:start;--tui-padding-inline: 1rem}.t-bar{position:sticky;z-index:1;display:none;inset-block-start:0;block-size:1.5rem;margin:0 calc(-1 * var(--tui-padding-inline));border-radius:inherit;background:var(--tui-background-elevation-1)}.t-bar:after{position:absolute;left:50%;transform:translate(-50%);content:\"\";inset-block-start:.5rem;inline-size:2rem;block-size:.25rem;background:var(--tui-border-normal);border-radius:1rem}.t-content{position:relative;display:flex;flex-direction:column;flex-grow:1;border-radius:inherit;isolation:isolate;padding-block-end:max(1.5rem,env(safe-area-inset-bottom))}.t-content:after{content:\"\";position:relative;z-index:-1;display:block;inset-block-start:max(1.5rem,env(safe-area-inset-bottom));scroll-snap-stop:always;scroll-snap-align:end;border-image:conic-gradient(var(--tui-background-elevation-1) 0 0) fill 0/0/0 100vh 100vh}* ::ng-deep>header,* ::ng-deep>[tuiSlides]>*>header,* ::ng-deep>ng-component>header,* ::ng-deep>ng-component>[tuiSlides]>*>header{position:sticky;z-index:1;inset-block-start:var(--t-top);margin:0 calc(-1 * var(--tui-padding-inline));padding:.75rem var(--tui-padding-inline);border-radius:inherit;background:var(--tui-background-elevation-1);font:var(--tui-typography-heading-h6)}* ::ng-deep>footer:not([tuiFloatingContainer]),* ::ng-deep>[tuiSlides]>*>footer:not([tuiFloatingContainer]),* ::ng-deep>ng-component>footer:not([tuiFloatingContainer]),* ::ng-deep>ng-component>[tuiSlides]>*>footer:not([tuiFloatingContainer]){display:flex;flex-direction:column-reverse;gap:.5rem;margin-block-start:1rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],label[tuiButton],a[tuiIconButton],button[tuiIconButton],label[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: WaResizeObserver, selector: "[waResizeObserver]", inputs: ["waResizeBox"], outputs: ["waResizeObserver"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
74
90
|
}
|
|
75
91
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiSheetDialogComponent, decorators: [{
|
|
76
92
|
type: Component,
|
|
77
|
-
args: [{ selector: 'tui-sheet-dialog', imports: [PolymorpheusOutlet, TuiButton, WaResizeObserver], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
|
|
93
|
+
args: [{ selector: 'tui-sheet-dialog', imports: [PolymorpheusOutlet, TuiButton, WaResizeObserver], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
|
|
94
|
+
TuiAnimated,
|
|
95
|
+
TuiScrollRef,
|
|
96
|
+
{ directive: TuiSheetDialogClose, outputs: ['tuiSheetDialogClose'] },
|
|
97
|
+
], host: {
|
|
78
98
|
'[attr.data-appearance]': 'context.appearance',
|
|
79
99
|
'[class._bar]': 'context.bar',
|
|
80
100
|
'[class._closeable]': 'context.closable',
|
|
81
101
|
'[style.--tui-offset.px]': 'context.offset',
|
|
82
102
|
'(click.self)': 'close$.next()',
|
|
83
|
-
'(document:
|
|
84
|
-
'(
|
|
85
|
-
'(document:touchstart.passive.zoneless)': 'onPointerChange(1)',
|
|
86
|
-
'(scroll.zoneless)': 'onPointerChange(0)',
|
|
103
|
+
'(document:touchstart.passive.zoneless)': 'interacted = true',
|
|
104
|
+
'(tuiSheetDialogClose)': 'close$.next()',
|
|
87
105
|
'(wheel.passive.zoneless)': 'interacted = true',
|
|
88
|
-
}, template: "<div class=\"t-stops\">\n @for (stop of context.stops; track stop) {\n <div\n #stops\n class=\"t-stop\"\n [style.margin-block-start]=\"stop\"\n ></div>\n }\n</div>\n<div\n class=\"t-sheet\"\n (waResizeObserver)=\"onResize()\"\n>\n <div class=\"t-bar\"></div>\n <div class=\"t-content\">\n @if (context.label) {\n <header\n [id]=\"context.id\"\n [innerHTML]=\"context.label\"\n ></header>\n }\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n @if (context.closable) {\n <footer>\n <button\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data || 'OK' }}\n </button>\n </footer>\n }\n </ng-container>\n </div>\n</div>\n", styles: [":host{scrollbar-width:none;position:sticky;display:flex;inset-inline-start:0;inline-size:100%;max-inline-size:40rem;block-size:calc(100% - max(var(--tui-offset),env(safe-area-inset-top)));flex-direction:column;font:var(--tui-typography-body-m);overflow-y:scroll;overscroll-behavior:none;scroll-snap-type:y mandatory;margin:max(var(--tui-offset),env(safe-area-inset-top)) auto 0;border-radius:.75rem .75rem 0 0;box-shadow:0 5rem var(--tui-background-elevation-1);--t-top: 0}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}@supports (-webkit-touch-callout: none){:host{overscroll-behavior:contain}}:host.tui-enter,:host.tui-leave{animation-name:tuiSlide;animation-timing-function:var(--tui-curve-expressive-exit)}:host.tui-enter{animation-duration:calc(var(--tui-duration) /
|
|
106
|
+
}, template: "<div class=\"t-stops\">\n @for (stop of context.stops; track stop) {\n <div\n #stops\n class=\"t-stop\"\n [style.margin-block-start]=\"stop\"\n ></div>\n }\n</div>\n<div\n class=\"t-sheet\"\n (waResizeObserver)=\"onResize()\"\n>\n <div class=\"t-bar\"></div>\n <div class=\"t-content\">\n @if (context.label) {\n <header\n [id]=\"context.id\"\n [innerHTML]=\"context.label\"\n ></header>\n }\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n @if (context.closable) {\n <footer>\n <button\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data || 'OK' }}\n </button>\n </footer>\n }\n </ng-container>\n </div>\n</div>\n", styles: [":host{scrollbar-width:none;position:sticky;display:flex;inset-inline-start:0;inline-size:100%;max-inline-size:40rem;block-size:calc(100% - max(var(--tui-offset),env(safe-area-inset-top)));flex-direction:column;font:var(--tui-typography-body-m);overflow-y:scroll;overscroll-behavior:none;scroll-snap-type:y mandatory;margin:max(var(--tui-offset),env(safe-area-inset-top)) auto 0;border-radius:.75rem .75rem 0 0;box-shadow:0 5rem var(--tui-background-elevation-1);--t-top: 0}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}@supports (-webkit-touch-callout: none){:host{overscroll-behavior:contain}}:host.tui-enter,:host.tui-leave{animation-name:tuiSlide;animation-timing-function:var(--tui-curve-expressive-exit)}:host.tui-enter{animation-duration:calc(var(--tui-duration) / 6 * 7);animation-timing-function:cubic-bezier(.1,.8,.5,1)}:host:before{position:fixed;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1}:host._bar{--t-top: 1.5rem}:host._bar .t-bar{display:block}:host._closeable{display:block}:host._closeable .t-stops{display:flex}:host[data-appearance~=fullscreen]{display:block}:host[data-appearance~=fullscreen] .t-sheet{min-block-size:100%}:host ::ng-deep tui-data-list[data-size]{padding:0}:host ::ng-deep tui-data-list[data-size] [tuiOption][data-size]{box-sizing:content-box;border-radius:0}.t-stops{display:none;block-size:100%;scroll-snap-stop:always;scroll-snap-align:start;pointer-events:none}.t-stop{position:relative;inset-block-start:env(safe-area-inset-bottom);scroll-snap-stop:normal;scroll-snap-align:start;block-size:1rem;inline-size:1rem}.t-sheet{display:flex;inline-size:100%;flex-direction:column;box-shadow:var(--tui-shadow-small);border-radius:inherit;padding:0 var(--tui-padding-inline);margin-block-start:auto;background:var(--tui-background-elevation-1);box-sizing:border-box;scroll-snap-stop:always;scroll-snap-align:start;--tui-padding-inline: 1rem}.t-bar{position:sticky;z-index:1;display:none;inset-block-start:0;block-size:1.5rem;margin:0 calc(-1 * var(--tui-padding-inline));border-radius:inherit;background:var(--tui-background-elevation-1)}.t-bar:after{position:absolute;left:50%;transform:translate(-50%);content:\"\";inset-block-start:.5rem;inline-size:2rem;block-size:.25rem;background:var(--tui-border-normal);border-radius:1rem}.t-content{position:relative;display:flex;flex-direction:column;flex-grow:1;border-radius:inherit;isolation:isolate;padding-block-end:max(1.5rem,env(safe-area-inset-bottom))}.t-content:after{content:\"\";position:relative;z-index:-1;display:block;inset-block-start:max(1.5rem,env(safe-area-inset-bottom));scroll-snap-stop:always;scroll-snap-align:end;border-image:conic-gradient(var(--tui-background-elevation-1) 0 0) fill 0/0/0 100vh 100vh}* ::ng-deep>header,* ::ng-deep>[tuiSlides]>*>header,* ::ng-deep>ng-component>header,* ::ng-deep>ng-component>[tuiSlides]>*>header{position:sticky;z-index:1;inset-block-start:var(--t-top);margin:0 calc(-1 * var(--tui-padding-inline));padding:.75rem var(--tui-padding-inline);border-radius:inherit;background:var(--tui-background-elevation-1);font:var(--tui-typography-heading-h6)}* ::ng-deep>footer:not([tuiFloatingContainer]),* ::ng-deep>[tuiSlides]>*>footer:not([tuiFloatingContainer]),* ::ng-deep>ng-component>footer:not([tuiFloatingContainer]),* ::ng-deep>ng-component>[tuiSlides]>*>footer:not([tuiFloatingContainer]){display:flex;flex-direction:column-reverse;gap:.5rem;margin-block-start:1rem}\n"] }]
|
|
89
107
|
}], ctorParameters: () => [] });
|
|
90
108
|
|
|
91
109
|
const TUI_SHEET_DIALOG_DEFAULT_OPTIONS = {
|
|
@@ -173,5 +191,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
173
191
|
* Generated bundle index. Do not edit.
|
|
174
192
|
*/
|
|
175
193
|
|
|
176
|
-
export { TUI_SHEET_DIALOG_DEFAULT_OPTIONS, TUI_SHEET_DIALOG_OPTIONS, TuiSheetDialog, TuiSheetDialogComponent, TuiSheetDialogService, tuiSheetDialogOptionsProvider };
|
|
194
|
+
export { TUI_SHEET_DIALOG_DEFAULT_OPTIONS, TUI_SHEET_DIALOG_OPTIONS, TuiSheetDialog, TuiSheetDialogClose, TuiSheetDialogComponent, TuiSheetDialogService, tuiSheetDialogOptionsProvider };
|
|
177
195
|
//# sourceMappingURL=taiga-ui-addon-mobile-components-sheet-dialog.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-mobile-components-sheet-dialog.mjs","sources":["../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.component.ts","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.template.html","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.options.ts","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.service.ts","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.directive.ts","../../../projects/addon-mobile/components/sheet-dialog/taiga-ui-addon-mobile-components-sheet-dialog.ts"],"sourcesContent":["import {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n viewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {WaResizeObserver} from '@ng-web-apis/resize-observer';\nimport {TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {tuiCloseWatcher, tuiZonefull} from '@taiga-ui/cdk/observables';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiScrollRef} from '@taiga-ui/core/components/scrollbar';\nimport {TUI_DIALOGS_CLOSE} from '@taiga-ui/core/portals/dialog';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {exhaustMap, filter, isObservable, map, merge, of, Subject, take} from 'rxjs';\n\nimport {type TuiSheetDialogOptions} from './sheet-dialog.options';\n\nconst REQUIRED_ERROR = new Error(ngDevMode ? 'Required dialog was dismissed' : '');\n\n@Component({\n selector: 'tui-sheet-dialog',\n imports: [PolymorpheusOutlet, TuiButton, WaResizeObserver],\n templateUrl: './sheet-dialog.template.html',\n styleUrl: './sheet-dialog.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiAnimated, TuiScrollRef],\n host: {\n '[attr.data-appearance]': 'context.appearance',\n '[class._bar]': 'context.bar',\n '[class._closeable]': 'context.closable',\n '[style.--tui-offset.px]': 'context.offset',\n '(click.self)': 'close$.next()',\n '(document:touchcancel.zoneless)': 'onPointerChange(-1)',\n '(document:touchend.zoneless)': 'onPointerChange(-1)',\n '(document:touchstart.passive.zoneless)': 'onPointerChange(1)',\n '(scroll.zoneless)': 'onPointerChange(0)',\n '(wheel.passive.zoneless)': 'interacted = true',\n },\n})\nexport class TuiSheetDialogComponent<I> {\n private readonly stops = viewChildren('stops', {read: ElementRef});\n private readonly el = tuiInjectElement();\n private pointers = 0;\n\n protected readonly context =\n injectContext<TuiPortalContext<TuiSheetDialogOptions<I>, any>>();\n\n protected readonly close$ = new Subject<void>();\n protected interacted = false;\n\n protected readonly $ = merge(\n this.close$,\n tuiCloseWatcher(),\n inject(TUI_DIALOGS_CLOSE).pipe(map(TUI_TRUE_HANDLER)),\n )\n .pipe(\n tuiZonefull(),\n exhaustMap(() => {\n if (isObservable(this.context.closable)) {\n if (this.el.scrollTop <= 0) {\n this.el.scrollTo({top: this.initial, behavior: 'smooth'});\n }\n\n return this.context.closable.pipe(take(1));\n }\n\n return of(this.context.closable);\n }),\n filter(Boolean),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.close());\n\n constructor() {\n afterNextRender(() => this.onResize());\n }\n\n // Re-pin async content to the initial snap; mandatory scroll-snap jumps to the bottom otherwise.\n protected onResize(): void {\n if (!this.interacted) {\n this.el.scrollTop = this.initial || 0;\n }\n }\n\n protected onPointerChange(delta: number): void {\n this.interacted = this.interacted || !!delta;\n this.pointers = Math.max(this.pointers + delta, 0);\n\n if (!this.pointers && this.el.scrollTop <= 0 && this.interacted) {\n this.close$.next();\n }\n }\n\n private get initial(): number | undefined {\n return this.context.closable\n ? this.stops()\n .map((e) => e.nativeElement.offsetTop - this.context.offset)\n .concat(this.el.clientHeight ?? Infinity)[this.context.initial]\n : 0;\n }\n\n private close(): void {\n if (this.context.required) {\n this.context.$implicit.error(REQUIRED_ERROR);\n } else {\n this.context.$implicit.complete();\n }\n }\n}\n","<div class=\"t-stops\">\n @for (stop of context.stops; track stop) {\n <div\n #stops\n class=\"t-stop\"\n [style.margin-block-start]=\"stop\"\n ></div>\n }\n</div>\n<div\n class=\"t-sheet\"\n (waResizeObserver)=\"onResize()\"\n>\n <div class=\"t-bar\"></div>\n <div class=\"t-content\">\n @if (context.label) {\n <header\n [id]=\"context.id\"\n [innerHTML]=\"context.label\"\n ></header>\n }\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n @if (context.closable) {\n <footer>\n <button\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data || 'OK' }}\n </button>\n </footer>\n }\n </ng-container>\n </div>\n</div>\n","import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type Observable} from 'rxjs';\n\nexport interface TuiSheetDialogOptions<I = undefined> {\n readonly appearance: string;\n readonly closable: Observable<boolean> | boolean;\n readonly data: I extends void ? undefined : I;\n readonly initial: number;\n readonly label: string;\n readonly offset: number;\n readonly stops: readonly string[];\n readonly bar: boolean;\n readonly required: boolean;\n /**\n * Address-bar (`<meta name=\"theme-color\">`) color applied while the sheet is\n * open, matching the dimmed backdrop. Pass an empty string to leave the\n * address bar untouched (e.g. apps that manage `theme-color` themselves, or\n * need a value that tracks dark mode).\n */\n readonly themeColor: string;\n}\n\nexport const TUI_SHEET_DIALOG_DEFAULT_OPTIONS: TuiSheetDialogOptions = {\n label: '',\n appearance: '',\n stops: [],\n initial: 0,\n offset: 16,\n closable: true,\n data: undefined,\n bar: true,\n required: false,\n themeColor: '#404040',\n};\n\n/**\n * Default parameters for mobile dialog component\n */\nexport const [TUI_SHEET_DIALOG_OPTIONS, tuiSheetDialogOptionsProvider] = tuiCreateOptions(\n TUI_SHEET_DIALOG_DEFAULT_OPTIONS,\n);\n","import {inject, Injectable} from '@angular/core';\nimport {Meta} from '@angular/platform-browser';\nimport {type TuiModalComponent, TuiModalService} from '@taiga-ui/core/portals/modal';\nimport {type PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\nimport {TuiSheetDialogComponent} from './sheet-dialog.component';\nimport {\n TUI_SHEET_DIALOG_OPTIONS,\n type TuiSheetDialogOptions,\n} from './sheet-dialog.options';\n\nconst THEME_COLOR = 'name=\"theme-color\"';\n\n@Injectable({providedIn: 'root'})\nexport class TuiSheetDialogService extends TuiModalService<TuiSheetDialogOptions<any>> {\n private readonly meta = inject(Meta);\n private initial = '';\n private count = 0;\n\n protected readonly options = inject(TUI_SHEET_DIALOG_OPTIONS);\n protected readonly content = TuiSheetDialogComponent;\n\n protected override add(\n component: PolymorpheusComponent<TuiModalComponent<TuiSheetDialogOptions>>,\n ): () => void {\n // Read the live tag at open time, not at construction: a color set later\n // (an app-level dark mode effect) would otherwise be lost on revert.\n if (!this.count++ && this.options.themeColor) {\n this.initial = this.meta.getTag(THEME_COLOR)?.content ?? '';\n this.meta.updateTag({\n name: 'theme-color',\n content: this.options.themeColor,\n });\n }\n\n const cleanup = super.add(component);\n\n return () => {\n cleanup();\n\n if (--this.count || !this.options.themeColor) {\n return;\n }\n\n if (this.initial) {\n this.meta.updateTag({name: 'theme-color', content: this.initial});\n } else {\n this.meta.removeTag(THEME_COLOR);\n }\n };\n }\n}\n","import {Directive, input} from '@angular/core';\nimport {tuiAsPortal, TuiPortalDirective} from '@taiga-ui/cdk/portals';\n\nimport {type TuiSheetDialogOptions} from './sheet-dialog.options';\nimport {TuiSheetDialogService} from './sheet-dialog.service';\n\n@Directive({\n selector: 'ng-template[tuiSheetDialog]',\n providers: [tuiAsPortal(TuiSheetDialogService)],\n hostDirectives: [\n {\n directive: TuiPortalDirective,\n inputs: ['options: tuiSheetDialogOptions', 'open: tuiSheetDialog'],\n outputs: ['openChange: tuiSheetDialogChange'],\n },\n ],\n})\nexport class TuiSheetDialog {\n public readonly tuiSheetDialogOptions = input<Partial<TuiSheetDialogOptions>>({});\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-mobile-components-sheet-dialog.mjs","sources":["../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog-close.directive.ts","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.component.ts","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.template.html","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.options.ts","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.service.ts","../../../projects/addon-mobile/components/sheet-dialog/sheet-dialog.directive.ts","../../../projects/addon-mobile/components/sheet-dialog/taiga-ui-addon-mobile-components-sheet-dialog.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {Directive, inject} from '@angular/core';\nimport {outputFromObservable} from '@angular/core/rxjs-interop';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n bufferCount,\n filter,\n fromEvent,\n map,\n merge,\n pairwise,\n startWith,\n take,\n takeWhile,\n} from 'rxjs';\n\nimport {TuiSheetDialogComponent} from './sheet-dialog.component';\n\n@Directive({selector: '[tuiSheetDialogClose]'})\nexport class TuiSheetDialogClose {\n private readonly el = tuiInjectElement();\n private readonly doc = inject(DOCUMENT);\n private readonly sheet = inject(TuiSheetDialogComponent);\n private readonly scroll$ = fromEvent(this.el, 'scroll');\n private readonly untouched$ = merge(\n fromEvent(this.doc, 'touchstart', {passive: true}).pipe(map(() => false)),\n fromEvent(this.doc, 'touchend', {passive: true}).pipe(map(() => true)),\n fromEvent(this.doc, 'touchcancel', {passive: true}).pipe(map(() => true)),\n );\n\n private readonly swipe$ = this.scroll$.pipe(\n map(() => this.el.scrollHeight - this.el.clientHeight - this.el.scrollTop),\n // Excluding scroll due to content height changes when scrolled to the end\n filter((scroll) => Math.abs(scroll) > 10),\n map(() => this.el.scrollTop),\n pairwise(),\n map(([prev, curr]) => prev - curr),\n takeWhile((value) => value > 0),\n bufferCount(5),\n take(1),\n );\n\n private readonly release$ = this.scroll$.pipe(\n startWith(null),\n filter(() => !this.el.scrollTop),\n take(1),\n );\n\n public readonly tuiSheetDialogClose = outputFromObservable(\n merge(\n // Swipe down\n this.untouched$.pipe(\n tuiIfMap(\n () => this.swipe$,\n (untouched) => untouched && this.el.scrollTop < this.sheet.initial,\n ),\n ),\n // Wheel/let go at the end\n merge(\n this.untouched$,\n fromEvent(this.el, 'wheel').pipe(map(() => true)),\n ).pipe(tuiIfMap(() => this.release$)),\n ),\n );\n}\n","import {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n viewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {WaResizeObserver} from '@ng-web-apis/resize-observer';\nimport {TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {tuiCloseWatcher, tuiZonefull} from '@taiga-ui/cdk/observables';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiScrollRef} from '@taiga-ui/core/components/scrollbar';\nimport {TUI_DIALOGS_CLOSE} from '@taiga-ui/core/portals/dialog';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {exhaustMap, filter, isObservable, map, merge, of, Subject, take} from 'rxjs';\n\nimport {type TuiSheetDialogOptions} from './sheet-dialog.options';\nimport {TuiSheetDialogClose} from './sheet-dialog-close.directive';\n\nconst REQUIRED_ERROR = new Error(ngDevMode ? 'Required dialog was dismissed' : '');\n\n@Component({\n selector: 'tui-sheet-dialog',\n imports: [PolymorpheusOutlet, TuiButton, WaResizeObserver],\n templateUrl: './sheet-dialog.template.html',\n styleUrl: './sheet-dialog.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n TuiAnimated,\n TuiScrollRef,\n {directive: TuiSheetDialogClose, outputs: ['tuiSheetDialogClose']},\n ],\n host: {\n '[attr.data-appearance]': 'context.appearance',\n '[class._bar]': 'context.bar',\n '[class._closeable]': 'context.closable',\n '[style.--tui-offset.px]': 'context.offset',\n '(click.self)': 'close$.next()',\n '(document:touchstart.passive.zoneless)': 'interacted = true',\n '(tuiSheetDialogClose)': 'close$.next()',\n '(wheel.passive.zoneless)': 'interacted = true',\n },\n})\nexport class TuiSheetDialogComponent {\n private readonly stops = viewChildren('stops', {read: ElementRef});\n private readonly el = tuiInjectElement();\n\n protected readonly context = injectContext<TuiPortalContext<TuiSheetDialogOptions>>();\n protected readonly close$ = new Subject<void>();\n protected interacted = false;\n protected readonly $ = merge(\n this.close$,\n tuiCloseWatcher(),\n inject(TUI_DIALOGS_CLOSE).pipe(map(TUI_TRUE_HANDLER)),\n )\n .pipe(\n tuiZonefull(),\n exhaustMap(() => {\n if (isObservable(this.context.closable)) {\n if (this.el.scrollTop <= 0) {\n this.el.scrollTo({top: this.initial, behavior: 'smooth'});\n }\n\n return this.context.closable.pipe(take(1));\n }\n\n return of(this.context.closable);\n }),\n filter(Boolean),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.close());\n\n constructor() {\n afterNextRender(() => this.onResize());\n }\n\n public get initial(): number {\n return this.context.closable\n ? this.stops()\n .map((e) => e.nativeElement.offsetTop)\n .concat(this.el.clientHeight ?? Infinity)[this.context.initial] || 0\n : 0;\n }\n\n // Re-pin async content to the initial snap; mandatory scroll-snap jumps to the bottom otherwise.\n protected onResize(): void {\n this.el.scrollTop = this.interacted ? this.el.scrollTop : this.initial;\n }\n\n private close(): void {\n if (this.context.required) {\n this.context.$implicit.error(REQUIRED_ERROR);\n } else {\n this.context.$implicit.complete();\n }\n }\n}\n","<div class=\"t-stops\">\n @for (stop of context.stops; track stop) {\n <div\n #stops\n class=\"t-stop\"\n [style.margin-block-start]=\"stop\"\n ></div>\n }\n</div>\n<div\n class=\"t-sheet\"\n (waResizeObserver)=\"onResize()\"\n>\n <div class=\"t-bar\"></div>\n <div class=\"t-content\">\n @if (context.label) {\n <header\n [id]=\"context.id\"\n [innerHTML]=\"context.label\"\n ></header>\n }\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n @if (context.closable) {\n <footer>\n <button\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data || 'OK' }}\n </button>\n </footer>\n }\n </ng-container>\n </div>\n</div>\n","import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type Observable} from 'rxjs';\n\nexport interface TuiSheetDialogOptions<I = undefined> {\n readonly appearance: string;\n readonly closable: Observable<boolean> | boolean;\n readonly data: I extends void ? undefined : I;\n readonly initial: number;\n readonly label: string;\n readonly offset: number;\n readonly stops: readonly string[];\n readonly bar: boolean;\n readonly required: boolean;\n /**\n * Address-bar (`<meta name=\"theme-color\">`) color applied while the sheet is\n * open, matching the dimmed backdrop. Pass an empty string to leave the\n * address bar untouched (e.g. apps that manage `theme-color` themselves, or\n * need a value that tracks dark mode).\n */\n readonly themeColor: string;\n}\n\nexport const TUI_SHEET_DIALOG_DEFAULT_OPTIONS: TuiSheetDialogOptions = {\n label: '',\n appearance: '',\n stops: [],\n initial: 0,\n offset: 16,\n closable: true,\n data: undefined,\n bar: true,\n required: false,\n themeColor: '#404040',\n};\n\n/**\n * Default parameters for mobile dialog component\n */\nexport const [TUI_SHEET_DIALOG_OPTIONS, tuiSheetDialogOptionsProvider] = tuiCreateOptions(\n TUI_SHEET_DIALOG_DEFAULT_OPTIONS,\n);\n","import {inject, Injectable} from '@angular/core';\nimport {Meta} from '@angular/platform-browser';\nimport {type TuiModalComponent, TuiModalService} from '@taiga-ui/core/portals/modal';\nimport {type PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\nimport {TuiSheetDialogComponent} from './sheet-dialog.component';\nimport {\n TUI_SHEET_DIALOG_OPTIONS,\n type TuiSheetDialogOptions,\n} from './sheet-dialog.options';\n\nconst THEME_COLOR = 'name=\"theme-color\"';\n\n@Injectable({providedIn: 'root'})\nexport class TuiSheetDialogService extends TuiModalService<TuiSheetDialogOptions<any>> {\n private readonly meta = inject(Meta);\n private initial = '';\n private count = 0;\n\n protected readonly options = inject(TUI_SHEET_DIALOG_OPTIONS);\n protected readonly content = TuiSheetDialogComponent;\n\n protected override add(\n component: PolymorpheusComponent<TuiModalComponent<TuiSheetDialogOptions>>,\n ): () => void {\n // Read the live tag at open time, not at construction: a color set later\n // (an app-level dark mode effect) would otherwise be lost on revert.\n if (!this.count++ && this.options.themeColor) {\n this.initial = this.meta.getTag(THEME_COLOR)?.content ?? '';\n this.meta.updateTag({\n name: 'theme-color',\n content: this.options.themeColor,\n });\n }\n\n const cleanup = super.add(component);\n\n return () => {\n cleanup();\n\n if (--this.count || !this.options.themeColor) {\n return;\n }\n\n if (this.initial) {\n this.meta.updateTag({name: 'theme-color', content: this.initial});\n } else {\n this.meta.removeTag(THEME_COLOR);\n }\n };\n }\n}\n","import {Directive, input} from '@angular/core';\nimport {tuiAsPortal, TuiPortalDirective} from '@taiga-ui/cdk/portals';\n\nimport {type TuiSheetDialogOptions} from './sheet-dialog.options';\nimport {TuiSheetDialogService} from './sheet-dialog.service';\n\n@Directive({\n selector: 'ng-template[tuiSheetDialog]',\n providers: [tuiAsPortal(TuiSheetDialogService)],\n hostDirectives: [\n {\n directive: TuiPortalDirective,\n inputs: ['options: tuiSheetDialogOptions', 'open: tuiSheetDialog'],\n outputs: ['openChange: tuiSheetDialogChange'],\n },\n ],\n})\nexport class TuiSheetDialog {\n public readonly tuiSheetDialogOptions = input<Partial<TuiSheetDialogOptions>>({});\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.TuiSheetDialogClose","i1"],"mappings":"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"}
|
|
@@ -47,11 +47,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
47
47
|
|
|
48
48
|
class Styles {
|
|
49
49
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-swipe-actions-5.
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-swipe-actions-5.26.0"], ngImport: i0, template: '', isInline: true, styles: ["tui-swipe-actions._onboarding:where(*[data-tui-version=\"5.26.0\"]){scroll-snap-type:none}tui-swipe-actions._onboarding:where(*[data-tui-version=\"5.26.0\"])>*{animation:tuiOnboardingEnter calc(var(--tui-duration) / .6) var(--tui-curve-expressive-entrance),tuiOnboardingShow var(--tui-duration) linear calc(var(--tui-duration) / .6),tuiOnboardingExit calc(var(--tui-duration) / .6) var(--tui-curve-expressive-entrance) calc(calc(var(--tui-duration) / .6) + var(--tui-duration))}@keyframes tuiOnboardingEnter{0%{transform:translate(0)}to{transform:translate(calc(-1px * var(--t-actions-width)))}}@keyframes tuiOnboardingShow{0%{transform:translate(calc(-1px * var(--t-actions-width)))}to{transform:translate(calc(-1px * var(--t-actions-width)))}}@keyframes tuiOnboardingExit{0%{transform:translate(calc(-1px * var(--t-actions-width)))}to{transform:translate(0)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
51
51
|
}
|
|
52
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Styles, decorators: [{
|
|
53
53
|
type: Component,
|
|
54
|
-
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-swipe-actions-${TUI_VERSION}`, styles: ["tui-swipe-actions._onboarding:where(*[data-tui-version=\"5.
|
|
54
|
+
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-swipe-actions-${TUI_VERSION}`, styles: ["tui-swipe-actions._onboarding:where(*[data-tui-version=\"5.26.0\"]){scroll-snap-type:none}tui-swipe-actions._onboarding:where(*[data-tui-version=\"5.26.0\"])>*{animation:tuiOnboardingEnter calc(var(--tui-duration) / .6) var(--tui-curve-expressive-entrance),tuiOnboardingShow var(--tui-duration) linear calc(var(--tui-duration) / .6),tuiOnboardingExit calc(var(--tui-duration) / .6) var(--tui-curve-expressive-entrance) calc(calc(var(--tui-duration) / .6) + var(--tui-duration))}@keyframes tuiOnboardingEnter{0%{transform:translate(0)}to{transform:translate(calc(-1px * var(--t-actions-width)))}}@keyframes tuiOnboardingShow{0%{transform:translate(calc(-1px * var(--t-actions-width)))}to{transform:translate(calc(-1px * var(--t-actions-width)))}}@keyframes tuiOnboardingExit{0%{transform:translate(calc(-1px * var(--t-actions-width)))}to{transform:translate(0)}}\n"] }]
|
|
55
55
|
}] });
|
|
56
56
|
class TuiSwipeActionsOnboarding {
|
|
57
57
|
constructor() {
|
|
@@ -59,7 +59,7 @@ class TuiSwipeActionsOnboarding {
|
|
|
59
59
|
this.nothing = tuiWithStyles(Styles);
|
|
60
60
|
}
|
|
61
61
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiSwipeActionsOnboarding, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
62
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.25", type: TuiSwipeActionsOnboarding, isStandalone: true, selector: "tui-swipe-actions[onboarding]", inputs: { onboarding: { classPropertyName: "onboarding", publicName: "onboarding", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onboarding: "onboardingChange" }, host: { attributes: { "data-tui-version": "5.
|
|
62
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.25", type: TuiSwipeActionsOnboarding, isStandalone: true, selector: "tui-swipe-actions[onboarding]", inputs: { onboarding: { classPropertyName: "onboarding", publicName: "onboarding", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onboarding: "onboardingChange" }, host: { attributes: { "data-tui-version": "5.26.0" }, listeners: { "animationend": "onboarding.set($event.animationName !== \"tuiOnboardingExit\")" }, properties: { "class._onboarding": "onboarding()" } }, ngImport: i0 }); }
|
|
63
63
|
}
|
|
64
64
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiSwipeActionsOnboarding, decorators: [{
|
|
65
65
|
type: Directive,
|
|
@@ -69,13 +69,13 @@ class TuiDropdownMobileComponent {
|
|
|
69
69
|
return this.dropdown.el.contains(tuiGetFocused(this.doc));
|
|
70
70
|
}
|
|
71
71
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiDropdownMobileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: TuiDropdownMobileComponent, isStandalone: true, selector: "tui-dropdown-mobile", host: { attributes: { "data-tui-version": "5.
|
|
72
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: TuiDropdownMobileComponent, isStandalone: true, selector: "tui-dropdown-mobile", host: { attributes: { "data-tui-version": "5.26.0" }, listeners: { "document:click.zoneless.capture": "onClick($event)", "pointerdown.prevent": "0", "visualViewport>resize.zoneless": "refresh()", "visualViewport>scroll.zoneless": "refresh()", "window>scroll.zoneless.capture": "refresh()" } }, hostDirectives: [{ directive: i1.TuiAnimated }, { directive: i2.TuiActiveZone }], ngImport: i0, template: `
|
|
73
73
|
<div class="t-container">
|
|
74
74
|
<ng-container *polymorpheusOutlet="dropdown.content() as text; context: ctx">
|
|
75
75
|
{{ text }}
|
|
76
76
|
</ng-container>
|
|
77
77
|
</div>
|
|
78
|
-
`, isInline: true, styles: ["tui-dropdown-mobile:where(*[data-tui-version=\"5.
|
|
78
|
+
`, isInline: true, styles: ["tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]){scrollbar-width:none;position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;visibility:visible!important;background:var(--tui-background-base);overscroll-behavior:contain;overflow:auto;box-shadow:0 -.5rem .5rem var(--tui-background-base),0 10rem var(--tui-background-base),0 20rem var(--tui-background-base),0 30rem var(--tui-background-base);box-sizing:border-box;padding-block-end:env(safe-area-inset-bottom);pointer-events:auto}tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"])::-webkit-scrollbar,tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"])::-webkit-scrollbar-thumb{display:none}tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]).tui-enter,tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]).tui-leave{animation-name:tuiFade,tuiSlide}tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]):after{content:\"\";display:block;block-size:1px}tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"])>.t-container{scrollbar-width:none;position:sticky;inset-block-start:0;block-size:100%;overflow:auto;padding:0 var(--tui-padding-inline);touch-action:pan-y!important;--tui-padding-inline: 1rem}tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"])>.t-container::-webkit-scrollbar,tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"])>.t-container::-webkit-scrollbar-thumb{display:none}tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"])>.t-container tui-data-list{padding:0}tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"])>.t-container tui-data-list [tuiOption]{box-sizing:content-box;border-radius:0}tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]) [tuiDropdownButton][tuiDropdownButton]{position:fixed;display:inline-flex;inset-inline-end:1rem;inset-block-end:max(1rem,env(safe-area-inset-bottom))}.t-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]){touch-action:none;visibility:hidden}.t-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]) *{touch-action:inherit;visibility:inherit}.t-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]) tui-root{visibility:visible}.t-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]) tui-root .t-root-content,.t-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]) tui-root tui-dialogs{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
79
79
|
}
|
|
80
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiDropdownMobileComponent, decorators: [{
|
|
81
81
|
type: Component,
|
|
@@ -92,7 +92,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
|
|
|
92
92
|
'(visualViewport>resize.zoneless)': 'refresh()',
|
|
93
93
|
'(visualViewport>scroll.zoneless)': 'refresh()',
|
|
94
94
|
'(window>scroll.zoneless.capture)': 'refresh()',
|
|
95
|
-
}, styles: ["tui-dropdown-mobile:where(*[data-tui-version=\"5.
|
|
95
|
+
}, styles: ["tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]){scrollbar-width:none;position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;visibility:visible!important;background:var(--tui-background-base);overscroll-behavior:contain;overflow:auto;box-shadow:0 -.5rem .5rem var(--tui-background-base),0 10rem var(--tui-background-base),0 20rem var(--tui-background-base),0 30rem var(--tui-background-base);box-sizing:border-box;padding-block-end:env(safe-area-inset-bottom);pointer-events:auto}tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"])::-webkit-scrollbar,tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"])::-webkit-scrollbar-thumb{display:none}tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]).tui-enter,tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]).tui-leave{animation-name:tuiFade,tuiSlide}tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]):after{content:\"\";display:block;block-size:1px}tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"])>.t-container{scrollbar-width:none;position:sticky;inset-block-start:0;block-size:100%;overflow:auto;padding:0 var(--tui-padding-inline);touch-action:pan-y!important;--tui-padding-inline: 1rem}tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"])>.t-container::-webkit-scrollbar,tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"])>.t-container::-webkit-scrollbar-thumb{display:none}tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"])>.t-container tui-data-list{padding:0}tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"])>.t-container tui-data-list [tuiOption]{box-sizing:content-box;border-radius:0}tui-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]) [tuiDropdownButton][tuiDropdownButton]{position:fixed;display:inline-flex;inset-inline-end:1rem;inset-block-end:max(1rem,env(safe-area-inset-bottom))}.t-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]){touch-action:none;visibility:hidden}.t-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]) *{touch-action:inherit;visibility:inherit}.t-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]) tui-root{visibility:visible}.t-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]) tui-root .t-root-content,.t-dropdown-mobile:where(*[data-tui-version=\"5.26.0\"]) tui-root tui-dialogs{visibility:hidden}\n"] }]
|
|
96
96
|
}], ctorParameters: () => [] });
|
|
97
97
|
|
|
98
98
|
class TuiDropdownMobile {
|
|
@@ -13,11 +13,11 @@ const TO = [{ scale: '0', opacity: '0.12' }, { opacity: '0.12' }];
|
|
|
13
13
|
const FROM = [{ opacity: '0.12' }, { opacity: '0' }];
|
|
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-ripple-5.
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-ripple-5.26.0"], ngImport: i0, template: '', isInline: true, styles: [".tui-ripple:where(*[data-tui-version=\"5.26.0\"]){position:absolute;z-index:100;opacity:.12;border-radius:100%;background:var(--tui-ripple-background, currentColor);animation-fill-mode:forwards;pointer-events:none}\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-ripple-${TUI_VERSION}`, styles: [".tui-ripple:where(*[data-tui-version=\"5.
|
|
20
|
+
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-ripple-${TUI_VERSION}`, styles: [".tui-ripple:where(*[data-tui-version=\"5.26.0\"]){position:absolute;z-index:100;opacity:.12;border-radius:100%;background:var(--tui-ripple-background, currentColor);animation-fill-mode:forwards;pointer-events:none}\n"] }]
|
|
21
21
|
}] });
|
|
22
22
|
class TuiRipple {
|
|
23
23
|
constructor() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/addon-mobile",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.26.0",
|
|
4
4
|
"description": "Extension package for Taiga UI that adds support for mobile specific behaviors such as custom data pickers, dropdowns, etc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -40,14 +40,14 @@
|
|
|
40
40
|
"types": "./components/index.d.ts",
|
|
41
41
|
"default": "./fesm2022/taiga-ui-addon-mobile-components.mjs"
|
|
42
42
|
},
|
|
43
|
-
"./directives": {
|
|
44
|
-
"types": "./directives/index.d.ts",
|
|
45
|
-
"default": "./fesm2022/taiga-ui-addon-mobile-directives.mjs"
|
|
46
|
-
},
|
|
47
43
|
"./services": {
|
|
48
44
|
"types": "./services/index.d.ts",
|
|
49
45
|
"default": "./fesm2022/taiga-ui-addon-mobile-services.mjs"
|
|
50
46
|
},
|
|
47
|
+
"./directives": {
|
|
48
|
+
"types": "./directives/index.d.ts",
|
|
49
|
+
"default": "./fesm2022/taiga-ui-addon-mobile-directives.mjs"
|
|
50
|
+
},
|
|
51
51
|
"./components/bottom-sheet": {
|
|
52
52
|
"types": "./components/bottom-sheet/index.d.ts",
|
|
53
53
|
"default": "./fesm2022/taiga-ui-addon-mobile-components-bottom-sheet.mjs"
|
|
@@ -120,10 +120,10 @@
|
|
|
120
120
|
"@ng-web-apis/common": "^5.3.0",
|
|
121
121
|
"@ng-web-apis/platform": "^5.3.0",
|
|
122
122
|
"@ng-web-apis/resize-observer": "^5.3.0",
|
|
123
|
-
"@taiga-ui/cdk": "5.
|
|
124
|
-
"@taiga-ui/core": "5.
|
|
125
|
-
"@taiga-ui/kit": "5.
|
|
126
|
-
"@taiga-ui/layout": "5.
|
|
123
|
+
"@taiga-ui/cdk": "5.26.0",
|
|
124
|
+
"@taiga-ui/core": "5.26.0",
|
|
125
|
+
"@taiga-ui/kit": "5.26.0",
|
|
126
|
+
"@taiga-ui/layout": "5.26.0",
|
|
127
127
|
"@taiga-ui/polymorpheus": "^5.0.1",
|
|
128
128
|
"rxjs": ">=7.0.0"
|
|
129
129
|
},
|
package/styles/ios/tab-bar.less
CHANGED
|
@@ -16,9 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
--t-tabbar-offset: max(env(safe-area-inset-bottom), 1.25rem);
|
|
18
18
|
--t-tabbar-active: rgba(255, 255, 255, 0.9);
|
|
19
|
-
// the tab bar has its own bevel lighting angles
|
|
20
|
-
// the light backdrop filter in both themes
|
|
21
|
-
--t-glass-filter: blur(0.25rem) saturate(6) brightness(1.05);
|
|
19
|
+
// the tab bar has its own bevel lighting angles
|
|
22
20
|
--t-glass-bevel-filter: brightness(1.05);
|
|
23
21
|
--t-glass-bevel: linear-gradient(227deg, rgba(255, 255, 255, 0) 6%, rgba(255, 255, 255, 0.35) 21%, rgba(255, 255, 255, 0.85) 40%, rgba(255, 255, 255, 0.95) 45%, #fff 48%, #fff 50%, #fff 52%, rgba(255, 255, 255, 0.95) 55%, rgba(255, 255, 255, 0.85) 60%, rgba(255, 255, 255, 0.35) 80%, rgba(255, 255, 255, 0) 95%);
|
|
24
22
|
|
|
@@ -147,7 +145,6 @@
|
|
|
147
145
|
|
|
148
146
|
--tui-active-color: var(--tui-text-primary);
|
|
149
147
|
--t-tabbar-active: rgba(255, 255, 255, 0.18);
|
|
150
|
-
--t-glass-filter: blur(0.25rem) saturate(6) brightness(1.05);
|
|
151
148
|
--t-glass-bevel-filter: brightness(1.05);
|
|
152
149
|
--t-glass-bevel: linear-gradient(-6deg, rgba(255, 255, 255, 0.15) 5%, rgba(255, 255, 255, 0.1) 20%, rgba(255, 255, 255, 0.04) 40%, rgba(255, 255, 255, 0.03) 45%, rgba(255, 255, 255, 0) 48%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 52%, rgba(255, 255, 255, 0.03) 55%, rgba(255, 255, 255, 0.04) 60%, rgba(255, 255, 255, 0.1) 80%, rgba(255, 255, 255, 0.15) 95%);
|
|
153
150
|
}
|