@taiga-ui/addon-mobile 4.101.0 → 4.102.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.
Files changed (28) hide show
  1. package/components/index.d.ts +1 -0
  2. package/components/search-bar/index.d.ts +3 -0
  3. package/components/search-bar/search-bar-input.component.d.ts +5 -0
  4. package/components/search-bar/search-bar.component.d.ts +6 -0
  5. package/components/search-bar/search-bar.d.ts +3 -0
  6. package/components/tab-bar/index.d.ts +1 -0
  7. package/components/tab-bar/tab-bar-liquid-glass.directive.d.ts +10 -0
  8. package/components/tab-bar/tab-bar.component.d.ts +4 -1
  9. package/esm2022/components/index.mjs +2 -1
  10. package/esm2022/components/search-bar/index.mjs +4 -0
  11. package/esm2022/components/search-bar/search-bar-input.component.mjs +17 -0
  12. package/esm2022/components/search-bar/search-bar.component.mjs +42 -0
  13. package/esm2022/components/search-bar/search-bar.mjs +4 -0
  14. package/esm2022/components/search-bar/taiga-ui-addon-mobile-components-search-bar.mjs +5 -0
  15. package/esm2022/components/tab-bar/index.mjs +2 -1
  16. package/esm2022/components/tab-bar/tab-bar-liquid-glass.directive.mjs +36 -0
  17. package/esm2022/components/tab-bar/tab-bar.component.mjs +22 -7
  18. package/fesm2022/taiga-ui-addon-mobile-components-search-bar.mjs +64 -0
  19. package/fesm2022/taiga-ui-addon-mobile-components-search-bar.mjs.map +1 -0
  20. package/fesm2022/taiga-ui-addon-mobile-components-tab-bar.mjs +52 -8
  21. package/fesm2022/taiga-ui-addon-mobile-components-tab-bar.mjs.map +1 -1
  22. package/fesm2022/taiga-ui-addon-mobile-components.mjs +1 -0
  23. package/fesm2022/taiga-ui-addon-mobile-components.mjs.map +1 -1
  24. package/package.json +11 -5
  25. package/styles/android/tab-bar.less +24 -0
  26. package/styles/ios/app-bar.less +11 -0
  27. package/styles/ios/tab-bar.less +176 -0
  28. package/styles/taiga-ui-mobile.less +3 -0
@@ -4,6 +4,7 @@ export * from '@taiga-ui/addon-mobile/components/mobile-calendar-dropdown';
4
4
  export * from '@taiga-ui/addon-mobile/components/mobile-calendar-sheet';
5
5
  export * from '@taiga-ui/addon-mobile/components/mobile-dialog';
6
6
  export * from '@taiga-ui/addon-mobile/components/pull-to-refresh';
7
+ export * from '@taiga-ui/addon-mobile/components/search-bar';
7
8
  export * from '@taiga-ui/addon-mobile/components/sheet-dialog';
8
9
  export * from '@taiga-ui/addon-mobile/components/swipe-action';
9
10
  export * from '@taiga-ui/addon-mobile/components/tab-bar';
@@ -0,0 +1,3 @@
1
+ export * from './search-bar';
2
+ export * from './search-bar.component';
3
+ export * from './search-bar-input.component';
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class TuiSearchBarInput {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSearchBarInput, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiSearchBarInput, "input[tuiSearchBar]", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class TuiSearchBarComponent {
3
+ appearance: 'floating' | 'neutral';
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSearchBarComponent, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiSearchBarComponent, "form[tuiSearchBar],search[tuiSearchBar]", never, { "appearance": { "alias": "appearance"; "required": false; }; }, {}, never, ["input", "*"], true, never>;
6
+ }
@@ -0,0 +1,3 @@
1
+ import { TuiSearchBarComponent } from './search-bar.component';
2
+ import { TuiSearchBarInput } from './search-bar-input.component';
3
+ export declare const TuiSearchBar: readonly [typeof TuiSearchBarComponent, typeof TuiSearchBarInput];
@@ -2,3 +2,4 @@ export * from './tab-bar';
2
2
  export * from './tab-bar.component';
3
3
  export * from './tab-bar-item.component';
4
4
  export * from './tab-bar-item.directive';
5
+ export * from './tab-bar-liquid-glass.directive';
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class TuiTabBarLiquidGlass {
3
+ private readonly tabBar;
4
+ protected get count(): number;
5
+ protected get index(): number;
6
+ protected get fullwidth(): boolean;
7
+ protected get mid(): boolean;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiTabBarLiquidGlass, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTabBarLiquidGlass, never, never, {}, {}, never, never, true, never>;
10
+ }
@@ -1,13 +1,16 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ import * as i1 from "./tab-bar-liquid-glass.directive";
3
4
  export declare class TuiTabBarComponent {
4
5
  private readonly tabs;
6
+ protected readonly liquidGlass: boolean;
5
7
  quantity: number;
6
8
  activeItemIndex: number;
7
9
  readonly activeItemIndexChange: EventEmitter<number>;
10
+ get count(): number;
8
11
  setActive(tab: EventTarget): void;
9
12
  protected get style(): string;
10
13
  private updateIndex;
11
14
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTabBarComponent, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiTabBarComponent, "nav[tuiTabBar]", never, { "quantity": { "alias": "quantity"; "required": false; }; "activeItemIndex": { "alias": "activeItemIndex"; "required": false; }; }, { "activeItemIndexChange": "activeItemIndexChange"; }, ["tabs"], ["*"], true, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiTabBarComponent, "nav[tuiTabBar]", never, { "quantity": { "alias": "quantity"; "required": false; }; "activeItemIndex": { "alias": "activeItemIndex"; "required": false; }; }, { "activeItemIndexChange": "activeItemIndexChange"; }, ["tabs"], ["*"], true, [{ directive: typeof i1.TuiTabBarLiquidGlass; inputs: {}; outputs: {}; }]>;
13
16
  }
@@ -4,7 +4,8 @@ export * from '@taiga-ui/addon-mobile/components/mobile-calendar-dropdown';
4
4
  export * from '@taiga-ui/addon-mobile/components/mobile-calendar-sheet';
5
5
  export * from '@taiga-ui/addon-mobile/components/mobile-dialog';
6
6
  export * from '@taiga-ui/addon-mobile/components/pull-to-refresh';
7
+ export * from '@taiga-ui/addon-mobile/components/search-bar';
7
8
  export * from '@taiga-ui/addon-mobile/components/sheet-dialog';
8
9
  export * from '@taiga-ui/addon-mobile/components/swipe-action';
9
10
  export * from '@taiga-ui/addon-mobile/components/tab-bar';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywyQ0FBMkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9ib3R0b20tc2hlZXQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9tb2JpbGUtY2FsZW5kYXItc2hlZXQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1kaWFsb2cnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3B1bGwtdG8tcmVmcmVzaCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvc2hlZXQtZGlhbG9nJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9zd2lwZS1hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3RhYi1iYXInO1xuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDJDQUEyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL2JvdHRvbS1zaGVldCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24nO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci1zaGVldCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWRpYWxvZyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvcHVsbC10by1yZWZyZXNoJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9zZWFyY2gtYmFyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9zaGVldC1kaWFsb2cnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3N3aXBlLWFjdGlvbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvdGFiLWJhcic7XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './search-bar';
2
+ export * from './search-bar.component';
3
+ export * from './search-bar-input.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9zZWFyY2gtYmFyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLWJhcic7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1iYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLWJhci1pbnB1dC5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,17 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ class TuiSearchBarInput {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchBarInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSearchBarInput, isStandalone: true, selector: "input[tuiSearchBar]", host: { attributes: { "autocomplete": "off", "autocorrect": "off", "spellcheck": "false", "type": "search" } }, ngImport: i0, template: '', isInline: true, styles: [":host{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;flex:1;box-sizing:border-box;min-inline-size:0;block-size:2.25rem;outline:none;border:none;border-radius:3.125rem;padding-block:0;padding-inline-start:2.5rem;padding-inline-end:0;font:1.0625rem SF Pro Text,sans-serif;color:var(--tui-text-primary);caret-color:var(--tui-text-action);background:var(--tui-background-neutral-2) url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4%2010.4714C4%206.90319%206.93142%204%2010.5343%204C14.1372%204%2017.0686%206.90319%2017.0686%2010.4714C17.0686%2011.9473%2016.5691%2013.3016%2015.7257%2014.3882L19.7298%2018.3781C19.9017%2018.5484%2020%2018.7836%2020%2019.0431C20%2019.5864%2019.6151%2020%2019.0583%2020C18.7963%2020%2018.5507%2019.9108%2018.3623%2019.7243L14.3337%2015.7263C13.261%2016.4886%2011.9591%2016.9427%2010.5343%2016.9427C6.93142%2016.9427%204%2014.0395%204%2010.4714ZM5.4002%2010.4714C5.4002%2013.2772%207.70113%2015.556%2010.5343%2015.556C13.3675%2015.556%2015.6684%2013.2772%2015.6684%2010.4714C15.6684%207.66548%2013.3675%205.38672%2010.5343%205.38672C7.70113%205.38672%205.4002%207.66548%205.4002%2010.4714Z%22%20fill%3D%22%239299A2%22%2F%3E%3C%2Fsvg%3E) no-repeat .625rem center;transition-property:background-color,box-shadow}:host::placeholder{color:var(--tui-text-secondary)}:host:active{background-color:var(--tui-background-neutral-2-pressed)}:host::-webkit-search-cancel-button{-webkit-transition-property:background;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;-webkit-appearance:none;appearance:none;box-sizing:border-box;inline-size:2rem;block-size:2.25rem;border:.5rem solid transparent;margin:0;opacity:1;background:var(--tui-text-secondary);-webkit-mask-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8%2016C3.63137%2016%200%2012.3686%200%208C0%203.62353%203.62353%200%207.99216%200C12.3686%200%2016%203.62353%2016%208C16%2012.3686%2012.3765%2016%208%2016ZM5.36471%2011.2941C5.5451%2011.2941%205.7098%2011.2314%205.83529%2011.1059L8%208.92549L10.1725%2011.1059C10.2902%2011.2314%2010.4549%2011.2941%2010.6353%2011.2941C11.0039%2011.2941%2011.2941%2011.0039%2011.2941%2010.6431C11.2941%2010.4627%2011.2314%2010.298%2011.098%2010.1804L8.92549%208.00784L11.1059%205.82745C11.2471%205.68627%2011.302%205.5451%2011.302%205.36471C11.302%205.00392%2011.0118%204.72157%2010.651%204.72157C10.4784%204.72157%2010.3373%204.77647%2010.2039%204.9098L8%207.09804L5.81176%204.91765C5.68627%204.8%205.5451%204.73726%205.36471%204.73726C5.00392%204.73726%204.72157%205.01177%204.72157%205.38039C4.72157%205.55294%204.78431%205.7098%204.9098%205.83529L7.08235%208.00784L4.9098%2010.1882C4.78431%2010.3059%204.72157%2010.4706%204.72157%2010.6431C4.72157%2011.0039%205.00392%2011.2941%205.36471%2011.2941Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8%2016C3.63137%2016%200%2012.3686%200%208C0%203.62353%203.62353%200%207.99216%200C12.3686%200%2016%203.62353%2016%208C16%2012.3686%2012.3765%2016%208%2016ZM5.36471%2011.2941C5.5451%2011.2941%205.7098%2011.2314%205.83529%2011.1059L8%208.92549L10.1725%2011.1059C10.2902%2011.2314%2010.4549%2011.2941%2010.6353%2011.2941C11.0039%2011.2941%2011.2941%2011.0039%2011.2941%2010.6431C11.2941%2010.4627%2011.2314%2010.298%2011.098%2010.1804L8.92549%208.00784L11.1059%205.82745C11.2471%205.68627%2011.302%205.5451%2011.302%205.36471C11.302%205.00392%2011.0118%204.72157%2010.651%204.72157C10.4784%204.72157%2010.3373%204.77647%2010.2039%204.9098L8%207.09804L5.81176%204.91765C5.68627%204.8%205.5451%204.73726%205.36471%204.73726C5.00392%204.73726%204.72157%205.01177%204.72157%205.38039C4.72157%205.55294%204.78431%205.7098%204.9098%205.83529L7.08235%208.00784L4.9098%2010.1882C4.78431%2010.3059%204.72157%2010.4706%204.72157%2010.6431C4.72157%2011.0039%205.00392%2011.2941%205.36471%2011.2941Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}:host::-webkit-search-cancel-button:active{background:var(--tui-text-secondary-pressed)}:host-context([data-platform=\"ios\"]){block-size:2.75rem}:host-context([data-platform=\"ios\"])::-webkit-search-cancel-button{block-size:2.75rem;margin-inline-end:.625rem}:host-context([data-platform=\"android\"]){padding-inline-start:2.625rem}:host-context([data-platform=\"android\"])::-webkit-search-cancel-button{inline-size:3rem;background:var(--tui-text-action);-webkit-mask-size:1.5rem;mask-size:1.5rem;-webkit-mask-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012%2019%206.41Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012%2019%206.41Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E)}:host-context([data-platform=\"android\"])::-webkit-search-cancel-button:active{background:var(--tui-text-action-hover)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6
+ }
7
+ export { TuiSearchBarInput };
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchBarInput, decorators: [{
9
+ type: Component,
10
+ args: [{ standalone: true, selector: 'input[tuiSearchBar]', template: '', changeDetection: ChangeDetectionStrategy.OnPush, host: {
11
+ autocomplete: 'off',
12
+ autocorrect: 'off',
13
+ spellcheck: 'false',
14
+ type: 'search',
15
+ }, styles: [":host{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;flex:1;box-sizing:border-box;min-inline-size:0;block-size:2.25rem;outline:none;border:none;border-radius:3.125rem;padding-block:0;padding-inline-start:2.5rem;padding-inline-end:0;font:1.0625rem SF Pro Text,sans-serif;color:var(--tui-text-primary);caret-color:var(--tui-text-action);background:var(--tui-background-neutral-2) url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4%2010.4714C4%206.90319%206.93142%204%2010.5343%204C14.1372%204%2017.0686%206.90319%2017.0686%2010.4714C17.0686%2011.9473%2016.5691%2013.3016%2015.7257%2014.3882L19.7298%2018.3781C19.9017%2018.5484%2020%2018.7836%2020%2019.0431C20%2019.5864%2019.6151%2020%2019.0583%2020C18.7963%2020%2018.5507%2019.9108%2018.3623%2019.7243L14.3337%2015.7263C13.261%2016.4886%2011.9591%2016.9427%2010.5343%2016.9427C6.93142%2016.9427%204%2014.0395%204%2010.4714ZM5.4002%2010.4714C5.4002%2013.2772%207.70113%2015.556%2010.5343%2015.556C13.3675%2015.556%2015.6684%2013.2772%2015.6684%2010.4714C15.6684%207.66548%2013.3675%205.38672%2010.5343%205.38672C7.70113%205.38672%205.4002%207.66548%205.4002%2010.4714Z%22%20fill%3D%22%239299A2%22%2F%3E%3C%2Fsvg%3E) no-repeat .625rem center;transition-property:background-color,box-shadow}:host::placeholder{color:var(--tui-text-secondary)}:host:active{background-color:var(--tui-background-neutral-2-pressed)}:host::-webkit-search-cancel-button{-webkit-transition-property:background;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;-webkit-appearance:none;appearance:none;box-sizing:border-box;inline-size:2rem;block-size:2.25rem;border:.5rem solid transparent;margin:0;opacity:1;background:var(--tui-text-secondary);-webkit-mask-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8%2016C3.63137%2016%200%2012.3686%200%208C0%203.62353%203.62353%200%207.99216%200C12.3686%200%2016%203.62353%2016%208C16%2012.3686%2012.3765%2016%208%2016ZM5.36471%2011.2941C5.5451%2011.2941%205.7098%2011.2314%205.83529%2011.1059L8%208.92549L10.1725%2011.1059C10.2902%2011.2314%2010.4549%2011.2941%2010.6353%2011.2941C11.0039%2011.2941%2011.2941%2011.0039%2011.2941%2010.6431C11.2941%2010.4627%2011.2314%2010.298%2011.098%2010.1804L8.92549%208.00784L11.1059%205.82745C11.2471%205.68627%2011.302%205.5451%2011.302%205.36471C11.302%205.00392%2011.0118%204.72157%2010.651%204.72157C10.4784%204.72157%2010.3373%204.77647%2010.2039%204.9098L8%207.09804L5.81176%204.91765C5.68627%204.8%205.5451%204.73726%205.36471%204.73726C5.00392%204.73726%204.72157%205.01177%204.72157%205.38039C4.72157%205.55294%204.78431%205.7098%204.9098%205.83529L7.08235%208.00784L4.9098%2010.1882C4.78431%2010.3059%204.72157%2010.4706%204.72157%2010.6431C4.72157%2011.0039%205.00392%2011.2941%205.36471%2011.2941Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8%2016C3.63137%2016%200%2012.3686%200%208C0%203.62353%203.62353%200%207.99216%200C12.3686%200%2016%203.62353%2016%208C16%2012.3686%2012.3765%2016%208%2016ZM5.36471%2011.2941C5.5451%2011.2941%205.7098%2011.2314%205.83529%2011.1059L8%208.92549L10.1725%2011.1059C10.2902%2011.2314%2010.4549%2011.2941%2010.6353%2011.2941C11.0039%2011.2941%2011.2941%2011.0039%2011.2941%2010.6431C11.2941%2010.4627%2011.2314%2010.298%2011.098%2010.1804L8.92549%208.00784L11.1059%205.82745C11.2471%205.68627%2011.302%205.5451%2011.302%205.36471C11.302%205.00392%2011.0118%204.72157%2010.651%204.72157C10.4784%204.72157%2010.3373%204.77647%2010.2039%204.9098L8%207.09804L5.81176%204.91765C5.68627%204.8%205.5451%204.73726%205.36471%204.73726C5.00392%204.73726%204.72157%205.01177%204.72157%205.38039C4.72157%205.55294%204.78431%205.7098%204.9098%205.83529L7.08235%208.00784L4.9098%2010.1882C4.78431%2010.3059%204.72157%2010.4706%204.72157%2010.6431C4.72157%2011.0039%205.00392%2011.2941%205.36471%2011.2941Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}:host::-webkit-search-cancel-button:active{background:var(--tui-text-secondary-pressed)}:host-context([data-platform=\"ios\"]){block-size:2.75rem}:host-context([data-platform=\"ios\"])::-webkit-search-cancel-button{block-size:2.75rem;margin-inline-end:.625rem}:host-context([data-platform=\"android\"]){padding-inline-start:2.625rem}:host-context([data-platform=\"android\"])::-webkit-search-cancel-button{inline-size:3rem;background:var(--tui-text-action);-webkit-mask-size:1.5rem;mask-size:1.5rem;-webkit-mask-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012%2019%206.41Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012%2019%206.41Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E)}:host-context([data-platform=\"android\"])::-webkit-search-cancel-button:active{background:var(--tui-text-action-hover)}\n"] }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9zZWFyY2gtYmFyL3NlYXJjaC1iYXItaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBRWpFLE1BYWEsaUJBQWlCOytHQUFqQixpQkFBaUI7bUdBQWpCLGlCQUFpQiwrTEFWaEIsRUFBRTs7U0FVSCxpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFiN0IsU0FBUztpQ0FDTSxJQUFJLFlBQ04scUJBQXFCLFlBQ3JCLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixZQUFZLEVBQUUsS0FBSzt3QkFDbkIsV0FBVyxFQUFFLEtBQUs7d0JBQ2xCLFVBQVUsRUFBRSxPQUFPO3dCQUNuQixJQUFJLEVBQUUsUUFBUTtxQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpU2VhcmNoQmFyXScsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIHN0eWxlVXJsczogWycuL3NlYXJjaC1iYXItaW5wdXQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgYXV0b2NvbXBsZXRlOiAnb2ZmJyxcbiAgICAgICAgYXV0b2NvcnJlY3Q6ICdvZmYnLFxuICAgICAgICBzcGVsbGNoZWNrOiAnZmFsc2UnLFxuICAgICAgICB0eXBlOiAnc2VhcmNoJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTZWFyY2hCYXJJbnB1dCB7fVxuIl19
@@ -0,0 +1,42 @@
1
+ import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core';
2
+ import { TUI_PLATFORM } from '@taiga-ui/cdk/tokens';
3
+ import { tuiCommonIconsProvider } from '@taiga-ui/core/tokens';
4
+ import { tuiButtonCloseOptionsProvider } from '@taiga-ui/kit/directives/button-close';
5
+ import * as i0 from "@angular/core";
6
+ class TuiSearchBarComponent {
7
+ constructor() {
8
+ this.appearance = 'neutral';
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSearchBarComponent, isStandalone: true, selector: "form[tuiSearchBar],search[tuiSearchBar]", inputs: { appearance: "appearance" }, host: { properties: { "attr.data-appearance": "appearance" } }, providers: [
12
+ tuiButtonCloseOptionsProvider((platform = inject(TUI_PLATFORM)) => ({
13
+ appearance: platform === 'android' ? 'action' : '',
14
+ size: platform === 'android' ? 's' : 'm',
15
+ })),
16
+ tuiCommonIconsProvider((platform = inject(TUI_PLATFORM)) => platform === 'android' ? { close: '@tui.arrow-left' } : {}),
17
+ ], ngImport: i0, template: `
18
+ <div class="t-wrapper">
19
+ <ng-content select="input" />
20
+ </div>
21
+ <ng-content />
22
+ `, isInline: true, styles: [":host{--t-translate: 3.75rem;position:relative;display:flex;align-items:center;box-sizing:border-box;gap:1rem}:host ::ng-deep [tuiButtonClose]{transition:margin var(--tui-duration)}.t-wrapper{position:relative;display:flex;flex:1;min-inline-size:0}:host:not(:focus-within) ::ng-deep [tuiButtonClose],:host-context([data-platform=\"ios\"]):not([data-appearance=floating]) ::ng-deep [tuiButtonClose]{opacity:0;visibility:hidden}:host-context([data-platform=\"ios\"])[data-appearance=floating]:focus-within ::ng-deep [tuiButtonClose]{animation:tuiTranslateIn var(--tui-duration)}:host-context([data-platform=\"ios\"]):not(:focus-within) ::ng-deep [tuiButtonClose],:host-context([data-platform=\"ios\"]):not([data-appearance=floating]) ::ng-deep [tuiButtonClose]{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;top:0;right:0;bottom:0;left: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;-webkit-mask-clip: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 [tuiButtonClose]{-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, cubic-bezier(.35, 1.3, .25, 1))}:host-context([data-platform=\"ios\"])[data-appearance=floating] ::ng-deep [tuiButtonClose]:active{scale:1.25;filter:brightness(3)}:host-context([data-platform=\"ios\"])[data-appearance=floating] ::ng-deep [tuiButtonClose]:after{content:\"\";position:absolute;top:0;right:0;bottom:0;left: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;-webkit-mask-clip: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 [tuiButtonClose]{position:absolute;inset-inline-start:.4375rem}:host-context([data-platform=\"android\"]):not(:focus-within) ::ng-deep [tuiButtonClose]{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 }); }
23
+ }
24
+ export { TuiSearchBarComponent };
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchBarComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ standalone: true, selector: 'form[tuiSearchBar],search[tuiSearchBar]', template: `
28
+ <div class="t-wrapper">
29
+ <ng-content select="input" />
30
+ </div>
31
+ <ng-content />
32
+ `, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
33
+ tuiButtonCloseOptionsProvider((platform = inject(TUI_PLATFORM)) => ({
34
+ appearance: platform === 'android' ? 'action' : '',
35
+ size: platform === 'android' ? 's' : 'm',
36
+ })),
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 [tuiButtonClose]{transition:margin var(--tui-duration)}.t-wrapper{position:relative;display:flex;flex:1;min-inline-size:0}:host:not(:focus-within) ::ng-deep [tuiButtonClose],:host-context([data-platform=\"ios\"]):not([data-appearance=floating]) ::ng-deep [tuiButtonClose]{opacity:0;visibility:hidden}:host-context([data-platform=\"ios\"])[data-appearance=floating]:focus-within ::ng-deep [tuiButtonClose]{animation:tuiTranslateIn var(--tui-duration)}:host-context([data-platform=\"ios\"]):not(:focus-within) ::ng-deep [tuiButtonClose],:host-context([data-platform=\"ios\"]):not([data-appearance=floating]) ::ng-deep [tuiButtonClose]{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;top:0;right:0;bottom:0;left: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;-webkit-mask-clip: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 [tuiButtonClose]{-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, cubic-bezier(.35, 1.3, .25, 1))}:host-context([data-platform=\"ios\"])[data-appearance=floating] ::ng-deep [tuiButtonClose]:active{scale:1.25;filter:brightness(3)}:host-context([data-platform=\"ios\"])[data-appearance=floating] ::ng-deep [tuiButtonClose]:after{content:\"\";position:absolute;top:0;right:0;bottom:0;left: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;-webkit-mask-clip: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 [tuiButtonClose]{position:absolute;inset-inline-start:.4375rem}:host-context([data-platform=\"android\"]):not(:focus-within) ::ng-deep [tuiButtonClose]{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
+ }], propDecorators: { appearance: [{
40
+ type: Input
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9zZWFyY2gtYmFyL3NlYXJjaC1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7O0FBRXBGLE1Bc0JhLHFCQUFxQjtJQXRCbEM7UUF3QlcsZUFBVSxHQUEyQixTQUFTLENBQUM7S0FDekQ7K0dBSFkscUJBQXFCO21HQUFyQixxQkFBcUIsNExBWG5CO1lBQ1AsNkJBQTZCLENBQUMsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNoRSxVQUFVLEVBQUUsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNsRCxJQUFJLEVBQUUsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHO2FBQzNDLENBQUMsQ0FBQztZQUNILHNCQUFzQixDQUFDLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLENBQ3ZELFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDM0Q7U0FDSiwwQkFoQlM7Ozs7O0tBS1Q7O1NBY1EscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBdEJqQyxTQUFTO2lDQUNNLElBQUksWUFDTix5Q0FBeUMsWUFDekM7Ozs7O0tBS1QsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1AsNkJBQTZCLENBQUMsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDOzRCQUNoRSxVQUFVLEVBQUUsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFOzRCQUNsRCxJQUFJLEVBQUUsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHO3lCQUMzQyxDQUFDLENBQUM7d0JBQ0gsc0JBQXNCLENBQUMsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsQ0FDdkQsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUMzRDtxQkFDSixRQUNLLEVBQUMsd0JBQXdCLEVBQUUsWUFBWSxFQUFDOzhCQUl2QyxVQUFVO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VFVJX1BMQVRGT1JNfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUNvbW1vbkljb25zUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aUJ1dHRvbkNsb3NlT3B0aW9uc1Byb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMvYnV0dG9uLWNsb3NlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2Zvcm1bdHVpU2VhcmNoQmFyXSxzZWFyY2hbdHVpU2VhcmNoQmFyXScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBjbGFzcz1cInQtd3JhcHBlclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaW5wdXRcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICBgLFxuICAgIHN0eWxlVXJsczogWycuL3NlYXJjaC1iYXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlCdXR0b25DbG9zZU9wdGlvbnNQcm92aWRlcigocGxhdGZvcm0gPSBpbmplY3QoVFVJX1BMQVRGT1JNKSkgPT4gKHtcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IHBsYXRmb3JtID09PSAnYW5kcm9pZCcgPyAnYWN0aW9uJyA6ICcnLFxuICAgICAgICAgICAgc2l6ZTogcGxhdGZvcm0gPT09ICdhbmRyb2lkJyA/ICdzJyA6ICdtJyxcbiAgICAgICAgfSkpLFxuICAgICAgICB0dWlDb21tb25JY29uc1Byb3ZpZGVyKChwbGF0Zm9ybSA9IGluamVjdChUVUlfUExBVEZPUk0pKSA9PlxuICAgICAgICAgICAgcGxhdGZvcm0gPT09ICdhbmRyb2lkJyA/IHtjbG9zZTogJ0B0dWkuYXJyb3ctbGVmdCd9IDoge30sXG4gICAgICAgICksXG4gICAgXSxcbiAgICBob3N0OiB7J1thdHRyLmRhdGEtYXBwZWFyYW5jZV0nOiAnYXBwZWFyYW5jZSd9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTZWFyY2hCYXJDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFwcGVhcmFuY2U6ICdmbG9hdGluZycgfCAnbmV1dHJhbCcgPSAnbmV1dHJhbCc7XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ import { TuiSearchBarComponent } from './search-bar.component';
2
+ import { TuiSearchBarInput } from './search-bar-input.component';
3
+ export const TuiSearchBar = [TuiSearchBarComponent, TuiSearchBarInput];
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3NlYXJjaC1iYXIvc2VhcmNoLWJhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUUvRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxpQkFBaUIsQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlTZWFyY2hCYXJDb21wb25lbnR9IGZyb20gJy4vc2VhcmNoLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlTZWFyY2hCYXJJbnB1dH0gZnJvbSAnLi9zZWFyY2gtYmFyLWlucHV0LmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBUdWlTZWFyY2hCYXIgPSBbVHVpU2VhcmNoQmFyQ29tcG9uZW50LCBUdWlTZWFyY2hCYXJJbnB1dF0gYXMgY29uc3Q7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktYWRkb24tbW9iaWxlLWNvbXBvbmVudHMtc2VhcmNoLWJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3NlYXJjaC1iYXIvdGFpZ2EtdWktYWRkb24tbW9iaWxlLWNvbXBvbmVudHMtc2VhcmNoLWJhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -2,4 +2,5 @@ export * from './tab-bar';
2
2
  export * from './tab-bar.component';
3
3
  export * from './tab-bar-item.component';
4
4
  export * from './tab-bar-item.directive';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy90YWItYmFyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90YWItYmFyJztcbmV4cG9ydCAqIGZyb20gJy4vdGFiLWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWItYmFyLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFiLWJhci1pdGVtLmRpcmVjdGl2ZSc7XG4iXX0=
5
+ export * from './tab-bar-liquid-glass.directive';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy90YWItYmFyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RhYi1iYXInO1xuZXhwb3J0ICogZnJvbSAnLi90YWItYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYi1iYXItaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWItYmFyLWl0ZW0uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFiLWJhci1saXF1aWQtZ2xhc3MuZGlyZWN0aXZlJztcbiJdfQ==
@@ -0,0 +1,36 @@
1
+ import { Directive, inject } from '@angular/core';
2
+ import { TuiTabBarComponent } from './tab-bar.component';
3
+ import * as i0 from "@angular/core";
4
+ class TuiTabBarLiquidGlass {
5
+ constructor() {
6
+ this.tabBar = inject(TuiTabBarComponent);
7
+ }
8
+ get count() {
9
+ return this.tabBar.count;
10
+ }
11
+ get index() {
12
+ return this.tabBar.activeItemIndex;
13
+ }
14
+ get fullwidth() {
15
+ return (this.count || this.tabBar.quantity) > 3;
16
+ }
17
+ get mid() {
18
+ return this.index > 0 && this.index < this.count - 1;
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTabBarLiquidGlass, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiTabBarLiquidGlass, isStandalone: true, host: { properties: { "class.tui-liquid-glass_fullwidth": "fullwidth", "style.--t-tab-active": "index", "style.--t-tab-count": "count", "style.--t-tab-mid": "mid ? 1 : 0" } }, ngImport: i0 }); }
22
+ }
23
+ export { TuiTabBarLiquidGlass };
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTabBarLiquidGlass, decorators: [{
25
+ type: Directive,
26
+ args: [{
27
+ standalone: true,
28
+ host: {
29
+ '[class.tui-liquid-glass_fullwidth]': 'fullwidth',
30
+ '[style.--t-tab-active]': 'index',
31
+ '[style.--t-tab-count]': 'count',
32
+ '[style.--t-tab-mid]': 'mid ? 1 : 0',
33
+ },
34
+ }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJhci1saXF1aWQtZ2xhc3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvdGFiLWJhci90YWItYmFyLWxpcXVpZC1nbGFzcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFaEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUM7O0FBRXZELE1BU2Esb0JBQW9CO0lBVGpDO1FBVXFCLFdBQU0sR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQWlCeEQ7SUFmRyxJQUFjLEtBQUs7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFjLEtBQUs7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFjLFNBQVM7UUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQWMsR0FBRztRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUN6RCxDQUFDOytHQWpCUSxvQkFBb0I7bUdBQXBCLG9CQUFvQjs7U0FBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBVGhDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixvQ0FBb0MsRUFBRSxXQUFXO3dCQUNqRCx3QkFBd0IsRUFBRSxPQUFPO3dCQUNqQyx1QkFBdUIsRUFBRSxPQUFPO3dCQUNoQyxxQkFBcUIsRUFBRSxhQUFhO3FCQUN2QztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1R1aVRhYkJhckNvbXBvbmVudH0gZnJvbSAnLi90YWItYmFyLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLnR1aS1saXF1aWQtZ2xhc3NfZnVsbHdpZHRoXSc6ICdmdWxsd2lkdGgnLFxuICAgICAgICAnW3N0eWxlLi0tdC10YWItYWN0aXZlXSc6ICdpbmRleCcsXG4gICAgICAgICdbc3R5bGUuLS10LXRhYi1jb3VudF0nOiAnY291bnQnLFxuICAgICAgICAnW3N0eWxlLi0tdC10YWItbWlkXSc6ICdtaWQgPyAxIDogMCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGFiQmFyTGlxdWlkR2xhc3Mge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFiQmFyID0gaW5qZWN0KFR1aVRhYkJhckNvbXBvbmVudCk7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYkJhci5jb3VudDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYkJhci5hY3RpdmVJdGVtSW5kZXg7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBmdWxsd2lkdGgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAodGhpcy5jb3VudCB8fCB0aGlzLnRhYkJhci5xdWFudGl0eSkgPiAzO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgbWlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRleCA+IDAgJiYgdGhpcy5pbmRleCA8IHRoaXMuY291bnQgLSAxO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,19 +1,34 @@
1
- import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, Input, Output, } from '@angular/core';
1
+ import { NgIf } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, inject, Input, Output, } from '@angular/core';
2
3
  import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
3
4
  import { TuiRepeatTimes } from '@taiga-ui/cdk/directives/repeat-times';
5
+ import { TUI_PLATFORM } from '@taiga-ui/cdk/tokens';
4
6
  import { tuiIsElement } from '@taiga-ui/cdk/utils/dom';
7
+ import { TUI_LIQUID_GLASS } from '@taiga-ui/core/utils/miscellaneous';
5
8
  import { TuiTabBarItem } from './tab-bar-item.component';
9
+ import { TuiTabBarLiquidGlass } from './tab-bar-liquid-glass.directive';
6
10
  import * as i0 from "@angular/core";
11
+ import * as i1 from "./tab-bar-liquid-glass.directive";
7
12
  class TuiTabBarComponent {
8
13
  constructor() {
9
14
  this.tabs = EMPTY_QUERY;
15
+ this.liquidGlass = inject(TUI_LIQUID_GLASS) && inject(TUI_PLATFORM) === 'ios';
10
16
  this.quantity = 4;
11
17
  this.activeItemIndex = NaN;
12
18
  this.activeItemIndexChange = new EventEmitter();
13
19
  }
20
+ get count() {
21
+ return this.tabs.length;
22
+ }
14
23
  setActive(tab) {
15
- if (tuiIsElement(tab)) {
16
- this.updateIndex(this.tabs.toArray().findIndex(({ nativeElement }) => nativeElement === tab));
24
+ if (!tuiIsElement(tab)) {
25
+ return;
26
+ }
27
+ const index = this.tabs
28
+ .toArray()
29
+ .findIndex(({ nativeElement }) => nativeElement === tab);
30
+ if (index > -1) {
31
+ this.updateIndex(index);
17
32
  }
18
33
  }
19
34
  get style() {
@@ -24,15 +39,15 @@ class TuiTabBarComponent {
24
39
  this.activeItemIndexChange.emit(index);
25
40
  }
26
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTabBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTabBarComponent, isStandalone: true, selector: "nav[tuiTabBar]", inputs: { quantity: "quantity", activeItemIndex: "activeItemIndex" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { listeners: { "click": "setActive($event.target)" }, properties: { "style": "style" } }, queries: [{ propertyName: "tabs", predicate: i0.forwardRef(function () { return TuiTabBarItem; }), read: ElementRef }], ngImport: i0, template: "<ng-content />\n<div class=\"t-skeletons\">\n <div\n *tuiRepeatTimes=\"let index of quantity\"\n class=\"t-skeleton\"\n ></div>\n</div>\n", styles: [":host{--tui-active-color: var(--tui-text-action);position:relative;display:flex;font: .625rem/.75rem -apple-system,BlinkMacSystemFont,system-ui,Roboto,Segoe UI,sans-serif;block-size:var(--tui-height-l);color:var(--tui-text-secondary);-webkit-backdrop-filter:blur(.3125rem);backdrop-filter:blur(.3125rem)}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";background:var(--tui-background-base-alt);box-shadow:inset 0 1px var(--tui-border-normal);opacity:.8}[tuiTheme=dark] :host:before{opacity:.7}.t-skeletons{display:none;block-size:100%;inline-size:100%;justify-content:space-around}.t-skeletons:first-child{display:flex}.t-skeleton{display:flex;flex-direction:column;align-items:center;justify-content:center;animation:tuiSkeletonVibe ease-in-out 1s infinite alternate}.t-skeleton:before{content:\"\";inline-size:1.375rem;block-size:1.375rem;margin-block-end:.5rem;border-radius:100%;background:var(--tui-background-neutral-2)}.t-skeleton:after{content:\"\";inline-size:2.5rem;block-size:.375rem;border-radius:1rem;background:var(--tui-background-neutral-2)}\n"], dependencies: [{ kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTabBarComponent, isStandalone: true, selector: "nav[tuiTabBar]", inputs: { quantity: "quantity", activeItemIndex: "activeItemIndex" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { listeners: { "click": "setActive($event.target)" }, properties: { "style": "style" } }, queries: [{ propertyName: "tabs", predicate: i0.forwardRef(function () { return TuiTabBarItem; }), read: ElementRef }], hostDirectives: [{ directive: i1.TuiTabBarLiquidGlass }], ngImport: i0, template: "<ng-content />\n\n<div class=\"t-skeletons\">\n <div\n *tuiRepeatTimes=\"let index of quantity\"\n class=\"t-skeleton\"\n ></div>\n</div>\n\n<ng-container *ngIf=\"liquidGlass\">\n <div class=\"t-liquid-glass-overlay\"></div>\n <div class=\"t-liquid-glass-indicator\"></div>\n</ng-container>\n", styles: [":host{--tui-active-color: var(--tui-text-action);position:relative;display:flex;font: .625rem/.75rem -apple-system,BlinkMacSystemFont,system-ui,Roboto,Segoe UI,sans-serif;block-size:var(--tui-height-l);color:var(--tui-text-secondary);-webkit-backdrop-filter:blur(.3125rem);backdrop-filter:blur(.3125rem)}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";background:var(--tui-background-base-alt);box-shadow:inset 0 1px var(--tui-border-normal);opacity:.8}[tuiTheme=dark] :host:before{opacity:.7}.t-skeletons{display:none;block-size:100%;inline-size:100%;justify-content:space-around}.t-skeletons:first-child{display:flex}.t-skeleton{display:flex;flex-direction:column;align-items:center;justify-content:center;animation:tuiSkeletonVibe ease-in-out 1s infinite alternate}.t-skeleton:before{content:\"\";inline-size:1.375rem;block-size:1.375rem;margin-block-end:.5rem;border-radius:100%;background:var(--tui-background-neutral-2)}.t-skeleton:after{content:\"\";inline-size:2.5rem;block-size:.375rem;border-radius:1rem;background:var(--tui-background-neutral-2)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
43
  }
29
44
  export { TuiTabBarComponent };
30
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTabBarComponent, decorators: [{
31
46
  type: Component,
32
- args: [{ standalone: true, selector: 'nav[tuiTabBar]', imports: [TuiRepeatTimes], changeDetection: ChangeDetectionStrategy.OnPush, host: {
47
+ args: [{ standalone: true, selector: 'nav[tuiTabBar]', imports: [NgIf, TuiRepeatTimes], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiTabBarLiquidGlass], host: {
33
48
  '[style]': 'style',
34
49
  '(click)': 'setActive($event.target)',
35
- }, template: "<ng-content />\n<div class=\"t-skeletons\">\n <div\n *tuiRepeatTimes=\"let index of quantity\"\n class=\"t-skeleton\"\n ></div>\n</div>\n", styles: [":host{--tui-active-color: var(--tui-text-action);position:relative;display:flex;font: .625rem/.75rem -apple-system,BlinkMacSystemFont,system-ui,Roboto,Segoe UI,sans-serif;block-size:var(--tui-height-l);color:var(--tui-text-secondary);-webkit-backdrop-filter:blur(.3125rem);backdrop-filter:blur(.3125rem)}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";background:var(--tui-background-base-alt);box-shadow:inset 0 1px var(--tui-border-normal);opacity:.8}[tuiTheme=dark] :host:before{opacity:.7}.t-skeletons{display:none;block-size:100%;inline-size:100%;justify-content:space-around}.t-skeletons:first-child{display:flex}.t-skeleton{display:flex;flex-direction:column;align-items:center;justify-content:center;animation:tuiSkeletonVibe ease-in-out 1s infinite alternate}.t-skeleton:before{content:\"\";inline-size:1.375rem;block-size:1.375rem;margin-block-end:.5rem;border-radius:100%;background:var(--tui-background-neutral-2)}.t-skeleton:after{content:\"\";inline-size:2.5rem;block-size:.375rem;border-radius:1rem;background:var(--tui-background-neutral-2)}\n"] }]
50
+ }, template: "<ng-content />\n\n<div class=\"t-skeletons\">\n <div\n *tuiRepeatTimes=\"let index of quantity\"\n class=\"t-skeleton\"\n ></div>\n</div>\n\n<ng-container *ngIf=\"liquidGlass\">\n <div class=\"t-liquid-glass-overlay\"></div>\n <div class=\"t-liquid-glass-indicator\"></div>\n</ng-container>\n", styles: [":host{--tui-active-color: var(--tui-text-action);position:relative;display:flex;font: .625rem/.75rem -apple-system,BlinkMacSystemFont,system-ui,Roboto,Segoe UI,sans-serif;block-size:var(--tui-height-l);color:var(--tui-text-secondary);-webkit-backdrop-filter:blur(.3125rem);backdrop-filter:blur(.3125rem)}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";background:var(--tui-background-base-alt);box-shadow:inset 0 1px var(--tui-border-normal);opacity:.8}[tuiTheme=dark] :host:before{opacity:.7}.t-skeletons{display:none;block-size:100%;inline-size:100%;justify-content:space-around}.t-skeletons:first-child{display:flex}.t-skeleton{display:flex;flex-direction:column;align-items:center;justify-content:center;animation:tuiSkeletonVibe ease-in-out 1s infinite alternate}.t-skeleton:before{content:\"\";inline-size:1.375rem;block-size:1.375rem;margin-block-end:.5rem;border-radius:100%;background:var(--tui-background-neutral-2)}.t-skeleton:after{content:\"\";inline-size:2.5rem;block-size:.375rem;border-radius:1rem;background:var(--tui-background-neutral-2)}\n"] }]
36
51
  }], propDecorators: { tabs: [{
37
52
  type: ContentChildren,
38
53
  args: [forwardRef(() => TuiTabBarItem), { read: ElementRef }]
@@ -43,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
43
58
  }], activeItemIndexChange: [{
44
59
  type: Output
45
60
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy90YWItYmFyL3RhYi1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvdGFiLWJhci90YWItYmFyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFckQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDOztBQUV2RCxNQVlhLGtCQUFrQjtJQVovQjtRQWNxQixTQUFJLEdBQXVDLFdBQVcsQ0FBQztRQUdqRSxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBR2Isb0JBQWUsR0FBRyxHQUFHLENBQUM7UUFHYiwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBa0J0RTtJQWhCVSxTQUFTLENBQUMsR0FBZ0I7UUFDN0IsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FDWixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsYUFBYSxFQUFDLEVBQUUsRUFBRSxDQUFDLGFBQWEsS0FBSyxHQUFHLENBQUMsQ0FDNUUsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVELElBQWMsS0FBSztRQUNmLE9BQU8sYUFBYSxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsMkJBQTJCLENBQUM7SUFDNUUsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQzsrR0E1QlEsa0JBQWtCO21HQUFsQixrQkFBa0IscVdBQ08sYUFBYSxZQUFVLFVBQVUsNkJDOUJ2RSwrSkFPQSx1b0NEYWMsY0FBYzs7U0FTZixrQkFBa0I7NEZBQWxCLGtCQUFrQjtrQkFaOUIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sZ0JBQWdCLFdBQ2pCLENBQUMsY0FBYyxDQUFDLG1CQUdSLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsU0FBUyxFQUFFLE9BQU87d0JBQ2xCLFNBQVMsRUFBRSwwQkFBMEI7cUJBQ3hDOzhCQUlnQixJQUFJO3NCQURwQixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBSTdELFFBQVE7c0JBRGQsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlVLHFCQUFxQjtzQkFEcEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICB0eXBlIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aVJlcGVhdFRpbWVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcmVwZWF0LXRpbWVzJztcbmltcG9ydCB7dHVpSXNFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5cbmltcG9ydCB7VHVpVGFiQmFySXRlbX0gZnJvbSAnLi90YWItYmFyLWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ25hdlt0dWlUYWJCYXJdJyxcbiAgICBpbXBvcnRzOiBbVHVpUmVwZWF0VGltZXNdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWItYmFyLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RhYi1iYXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tzdHlsZV0nOiAnc3R5bGUnLFxuICAgICAgICAnKGNsaWNrKSc6ICdzZXRBY3RpdmUoJGV2ZW50LnRhcmdldCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRhYkJhckNvbXBvbmVudCB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IFR1aVRhYkJhckl0ZW0pLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWJzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBxdWFudGl0eSA9IDQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhY3RpdmVJdGVtSW5kZXggPSBOYU47XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlSXRlbUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBwdWJsaWMgc2V0QWN0aXZlKHRhYjogRXZlbnRUYXJnZXQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR1aUlzRWxlbWVudCh0YWIpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUluZGV4KFxuICAgICAgICAgICAgICAgIHRoaXMudGFicy50b0FycmF5KCkuZmluZEluZGV4KCh7bmF0aXZlRWxlbWVudH0pID0+IG5hdGl2ZUVsZW1lbnQgPT09IHRhYiksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBzdHlsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYC0tdHVpLXRhYi0ke3RoaXMuYWN0aXZlSXRlbUluZGV4ICsgMX06IHZhcigtLXR1aS1hY3RpdmUtY29sb3IpYDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUluZGV4KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQgLz5cbjxkaXYgY2xhc3M9XCJ0LXNrZWxldG9uc1wiPlxuICAgIDxkaXZcbiAgICAgICAgKnR1aVJlcGVhdFRpbWVzPVwibGV0IGluZGV4IG9mIHF1YW50aXR5XCJcbiAgICAgICAgY2xhc3M9XCJ0LXNrZWxldG9uXCJcbiAgICA+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy90YWItYmFyL3RhYi1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvdGFiLWJhci90YWItYmFyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFcEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDOzs7QUFFdEUsTUFhYSxrQkFBa0I7SUFiL0I7UUFlcUIsU0FBSSxHQUF1QyxXQUFXLENBQUM7UUFFckQsZ0JBQVcsR0FDMUIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssQ0FBQztRQUd4RCxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBR2Isb0JBQWUsR0FBRyxHQUFHLENBQUM7UUFHYiwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBNEJ0RTtJQTFCRyxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzVCLENBQUM7SUFFTSxTQUFTLENBQUMsR0FBZ0I7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNwQixPQUFPO1NBQ1Y7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSTthQUNsQixPQUFPLEVBQUU7YUFDVCxTQUFTLENBQUMsQ0FBQyxFQUFDLGFBQWEsRUFBQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLEtBQUssR0FBRyxDQUFDLENBQUM7UUFFM0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDWixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUVELElBQWMsS0FBSztRQUNmLE9BQU8sYUFBYSxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsMkJBQTJCLENBQUM7SUFDNUUsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQzsrR0F6Q1Esa0JBQWtCO21HQUFsQixrQkFBa0IscVdBQ08sYUFBYSxZQUFVLFVBQVUsdUZDcEN2RSxnVUFhQSx1b0NEWWMsSUFBSSw2RkFBRSxjQUFjOztTQVVyQixrQkFBa0I7NEZBQWxCLGtCQUFrQjtrQkFiOUIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sZ0JBQWdCLFdBQ2pCLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGtCQUMvQixDQUFDLG9CQUFvQixDQUFDLFFBQ2hDO3dCQUNGLFNBQVMsRUFBRSxPQUFPO3dCQUNsQixTQUFTLEVBQUUsMEJBQTBCO3FCQUN4Qzs4QkFJZ0IsSUFBSTtzQkFEcEIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO2dCQU83RCxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsZUFBZTtzQkFEckIsS0FBSztnQkFJVSxxQkFBcUI7c0JBRHBDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIHR5cGUgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RU1QVFlfUVVFUll9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpUmVwZWF0VGltZXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9yZXBlYXQtdGltZXMnO1xuaW1wb3J0IHtUVUlfUExBVEZPUk19IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSXNFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge1RVSV9MSVFVSURfR0xBU1N9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuXG5pbXBvcnQge1R1aVRhYkJhckl0ZW19IGZyb20gJy4vdGFiLWJhci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQge1R1aVRhYkJhckxpcXVpZEdsYXNzfSBmcm9tICcuL3RhYi1iYXItbGlxdWlkLWdsYXNzLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICduYXZbdHVpVGFiQmFyXScsXG4gICAgaW1wb3J0czogW05nSWYsIFR1aVJlcGVhdFRpbWVzXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFiLWJhci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YWItYmFyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aVRhYkJhckxpcXVpZEdsYXNzXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbc3R5bGVdJzogJ3N0eWxlJyxcbiAgICAgICAgJyhjbGljayknOiAnc2V0QWN0aXZlKCRldmVudC50YXJnZXQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUYWJCYXJDb21wb25lbnQge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBUdWlUYWJCYXJJdGVtKSwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFiczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxpcXVpZEdsYXNzID1cbiAgICAgICAgaW5qZWN0KFRVSV9MSVFVSURfR0xBU1MpICYmIGluamVjdChUVUlfUExBVEZPUk0pID09PSAnaW9zJztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHF1YW50aXR5ID0gNDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFjdGl2ZUl0ZW1JbmRleCA9IE5hTjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBhY3RpdmVJdGVtSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIHB1YmxpYyBnZXQgY291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFicy5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEFjdGl2ZSh0YWI6IEV2ZW50VGFyZ2V0KTogdm9pZCB7XG4gICAgICAgIGlmICghdHVpSXNFbGVtZW50KHRhYikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy50YWJzXG4gICAgICAgICAgICAudG9BcnJheSgpXG4gICAgICAgICAgICAuZmluZEluZGV4KCh7bmF0aXZlRWxlbWVudH0pID0+IG5hdGl2ZUVsZW1lbnQgPT09IHRhYik7XG5cbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlSW5kZXgoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBzdHlsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYC0tdHVpLXRhYi0ke3RoaXMuYWN0aXZlSXRlbUluZGV4ICsgMX06IHZhcigtLXR1aS1hY3RpdmUtY29sb3IpYDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUluZGV4KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQgLz5cblxuPGRpdiBjbGFzcz1cInQtc2tlbGV0b25zXCI+XG4gICAgPGRpdlxuICAgICAgICAqdHVpUmVwZWF0VGltZXM9XCJsZXQgaW5kZXggb2YgcXVhbnRpdHlcIlxuICAgICAgICBjbGFzcz1cInQtc2tlbGV0b25cIlxuICAgID48L2Rpdj5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwibGlxdWlkR2xhc3NcIj5cbiAgICA8ZGl2IGNsYXNzPVwidC1saXF1aWQtZ2xhc3Mtb3ZlcmxheVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0LWxpcXVpZC1nbGFzcy1pbmRpY2F0b3JcIj48L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,64 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Component, ChangeDetectionStrategy, Input } from '@angular/core';
3
+ import { TUI_PLATFORM } from '@taiga-ui/cdk/tokens';
4
+ import { tuiCommonIconsProvider } from '@taiga-ui/core/tokens';
5
+ import { tuiButtonCloseOptionsProvider } from '@taiga-ui/kit/directives/button-close';
6
+
7
+ class TuiSearchBarComponent {
8
+ constructor() {
9
+ this.appearance = 'neutral';
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSearchBarComponent, isStandalone: true, selector: "form[tuiSearchBar],search[tuiSearchBar]", inputs: { appearance: "appearance" }, host: { properties: { "attr.data-appearance": "appearance" } }, providers: [
13
+ tuiButtonCloseOptionsProvider((platform = inject(TUI_PLATFORM)) => ({
14
+ appearance: platform === 'android' ? 'action' : '',
15
+ size: platform === 'android' ? 's' : 'm',
16
+ })),
17
+ tuiCommonIconsProvider((platform = inject(TUI_PLATFORM)) => platform === 'android' ? { close: '@tui.arrow-left' } : {}),
18
+ ], ngImport: i0, template: `
19
+ <div class="t-wrapper">
20
+ <ng-content select="input" />
21
+ </div>
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 [tuiButtonClose]{transition:margin var(--tui-duration)}.t-wrapper{position:relative;display:flex;flex:1;min-inline-size:0}:host:not(:focus-within) ::ng-deep [tuiButtonClose],:host-context([data-platform=\"ios\"]):not([data-appearance=floating]) ::ng-deep [tuiButtonClose]{opacity:0;visibility:hidden}:host-context([data-platform=\"ios\"])[data-appearance=floating]:focus-within ::ng-deep [tuiButtonClose]{animation:tuiTranslateIn var(--tui-duration)}:host-context([data-platform=\"ios\"]):not(:focus-within) ::ng-deep [tuiButtonClose],:host-context([data-platform=\"ios\"]):not([data-appearance=floating]) ::ng-deep [tuiButtonClose]{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;top:0;right:0;bottom:0;left: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;-webkit-mask-clip: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 [tuiButtonClose]{-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, cubic-bezier(.35, 1.3, .25, 1))}:host-context([data-platform=\"ios\"])[data-appearance=floating] ::ng-deep [tuiButtonClose]:active{scale:1.25;filter:brightness(3)}:host-context([data-platform=\"ios\"])[data-appearance=floating] ::ng-deep [tuiButtonClose]:after{content:\"\";position:absolute;top:0;right:0;bottom:0;left: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;-webkit-mask-clip: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 [tuiButtonClose]{position:absolute;inset-inline-start:.4375rem}:host-context([data-platform=\"android\"]):not(:focus-within) ::ng-deep [tuiButtonClose]{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
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchBarComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ standalone: true, selector: 'form[tuiSearchBar],search[tuiSearchBar]', template: `
28
+ <div class="t-wrapper">
29
+ <ng-content select="input" />
30
+ </div>
31
+ <ng-content />
32
+ `, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
33
+ tuiButtonCloseOptionsProvider((platform = inject(TUI_PLATFORM)) => ({
34
+ appearance: platform === 'android' ? 'action' : '',
35
+ size: platform === 'android' ? 's' : 'm',
36
+ })),
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 [tuiButtonClose]{transition:margin var(--tui-duration)}.t-wrapper{position:relative;display:flex;flex:1;min-inline-size:0}:host:not(:focus-within) ::ng-deep [tuiButtonClose],:host-context([data-platform=\"ios\"]):not([data-appearance=floating]) ::ng-deep [tuiButtonClose]{opacity:0;visibility:hidden}:host-context([data-platform=\"ios\"])[data-appearance=floating]:focus-within ::ng-deep [tuiButtonClose]{animation:tuiTranslateIn var(--tui-duration)}:host-context([data-platform=\"ios\"]):not(:focus-within) ::ng-deep [tuiButtonClose],:host-context([data-platform=\"ios\"]):not([data-appearance=floating]) ::ng-deep [tuiButtonClose]{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;top:0;right:0;bottom:0;left: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;-webkit-mask-clip: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 [tuiButtonClose]{-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, cubic-bezier(.35, 1.3, .25, 1))}:host-context([data-platform=\"ios\"])[data-appearance=floating] ::ng-deep [tuiButtonClose]:active{scale:1.25;filter:brightness(3)}:host-context([data-platform=\"ios\"])[data-appearance=floating] ::ng-deep [tuiButtonClose]:after{content:\"\";position:absolute;top:0;right:0;bottom:0;left: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;-webkit-mask-clip: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 [tuiButtonClose]{position:absolute;inset-inline-start:.4375rem}:host-context([data-platform=\"android\"]):not(:focus-within) ::ng-deep [tuiButtonClose]{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
+ }], propDecorators: { appearance: [{
40
+ type: Input
41
+ }] } });
42
+
43
+ class TuiSearchBarInput {
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchBarInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSearchBarInput, isStandalone: true, selector: "input[tuiSearchBar]", host: { attributes: { "autocomplete": "off", "autocorrect": "off", "spellcheck": "false", "type": "search" } }, ngImport: i0, template: '', isInline: true, styles: [":host{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;flex:1;box-sizing:border-box;min-inline-size:0;block-size:2.25rem;outline:none;border:none;border-radius:3.125rem;padding-block:0;padding-inline-start:2.5rem;padding-inline-end:0;font:1.0625rem SF Pro Text,sans-serif;color:var(--tui-text-primary);caret-color:var(--tui-text-action);background:var(--tui-background-neutral-2) url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4%2010.4714C4%206.90319%206.93142%204%2010.5343%204C14.1372%204%2017.0686%206.90319%2017.0686%2010.4714C17.0686%2011.9473%2016.5691%2013.3016%2015.7257%2014.3882L19.7298%2018.3781C19.9017%2018.5484%2020%2018.7836%2020%2019.0431C20%2019.5864%2019.6151%2020%2019.0583%2020C18.7963%2020%2018.5507%2019.9108%2018.3623%2019.7243L14.3337%2015.7263C13.261%2016.4886%2011.9591%2016.9427%2010.5343%2016.9427C6.93142%2016.9427%204%2014.0395%204%2010.4714ZM5.4002%2010.4714C5.4002%2013.2772%207.70113%2015.556%2010.5343%2015.556C13.3675%2015.556%2015.6684%2013.2772%2015.6684%2010.4714C15.6684%207.66548%2013.3675%205.38672%2010.5343%205.38672C7.70113%205.38672%205.4002%207.66548%205.4002%2010.4714Z%22%20fill%3D%22%239299A2%22%2F%3E%3C%2Fsvg%3E) no-repeat .625rem center;transition-property:background-color,box-shadow}:host::placeholder{color:var(--tui-text-secondary)}:host:active{background-color:var(--tui-background-neutral-2-pressed)}:host::-webkit-search-cancel-button{-webkit-transition-property:background;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;-webkit-appearance:none;appearance:none;box-sizing:border-box;inline-size:2rem;block-size:2.25rem;border:.5rem solid transparent;margin:0;opacity:1;background:var(--tui-text-secondary);-webkit-mask-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8%2016C3.63137%2016%200%2012.3686%200%208C0%203.62353%203.62353%200%207.99216%200C12.3686%200%2016%203.62353%2016%208C16%2012.3686%2012.3765%2016%208%2016ZM5.36471%2011.2941C5.5451%2011.2941%205.7098%2011.2314%205.83529%2011.1059L8%208.92549L10.1725%2011.1059C10.2902%2011.2314%2010.4549%2011.2941%2010.6353%2011.2941C11.0039%2011.2941%2011.2941%2011.0039%2011.2941%2010.6431C11.2941%2010.4627%2011.2314%2010.298%2011.098%2010.1804L8.92549%208.00784L11.1059%205.82745C11.2471%205.68627%2011.302%205.5451%2011.302%205.36471C11.302%205.00392%2011.0118%204.72157%2010.651%204.72157C10.4784%204.72157%2010.3373%204.77647%2010.2039%204.9098L8%207.09804L5.81176%204.91765C5.68627%204.8%205.5451%204.73726%205.36471%204.73726C5.00392%204.73726%204.72157%205.01177%204.72157%205.38039C4.72157%205.55294%204.78431%205.7098%204.9098%205.83529L7.08235%208.00784L4.9098%2010.1882C4.78431%2010.3059%204.72157%2010.4706%204.72157%2010.6431C4.72157%2011.0039%205.00392%2011.2941%205.36471%2011.2941Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8%2016C3.63137%2016%200%2012.3686%200%208C0%203.62353%203.62353%200%207.99216%200C12.3686%200%2016%203.62353%2016%208C16%2012.3686%2012.3765%2016%208%2016ZM5.36471%2011.2941C5.5451%2011.2941%205.7098%2011.2314%205.83529%2011.1059L8%208.92549L10.1725%2011.1059C10.2902%2011.2314%2010.4549%2011.2941%2010.6353%2011.2941C11.0039%2011.2941%2011.2941%2011.0039%2011.2941%2010.6431C11.2941%2010.4627%2011.2314%2010.298%2011.098%2010.1804L8.92549%208.00784L11.1059%205.82745C11.2471%205.68627%2011.302%205.5451%2011.302%205.36471C11.302%205.00392%2011.0118%204.72157%2010.651%204.72157C10.4784%204.72157%2010.3373%204.77647%2010.2039%204.9098L8%207.09804L5.81176%204.91765C5.68627%204.8%205.5451%204.73726%205.36471%204.73726C5.00392%204.73726%204.72157%205.01177%204.72157%205.38039C4.72157%205.55294%204.78431%205.7098%204.9098%205.83529L7.08235%208.00784L4.9098%2010.1882C4.78431%2010.3059%204.72157%2010.4706%204.72157%2010.6431C4.72157%2011.0039%205.00392%2011.2941%205.36471%2011.2941Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}:host::-webkit-search-cancel-button:active{background:var(--tui-text-secondary-pressed)}:host-context([data-platform=\"ios\"]){block-size:2.75rem}:host-context([data-platform=\"ios\"])::-webkit-search-cancel-button{block-size:2.75rem;margin-inline-end:.625rem}:host-context([data-platform=\"android\"]){padding-inline-start:2.625rem}:host-context([data-platform=\"android\"])::-webkit-search-cancel-button{inline-size:3rem;background:var(--tui-text-action);-webkit-mask-size:1.5rem;mask-size:1.5rem;-webkit-mask-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012%2019%206.41Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012%2019%206.41Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E)}:host-context([data-platform=\"android\"])::-webkit-search-cancel-button:active{background:var(--tui-text-action-hover)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchBarInput, decorators: [{
48
+ type: Component,
49
+ args: [{ standalone: true, selector: 'input[tuiSearchBar]', template: '', changeDetection: ChangeDetectionStrategy.OnPush, host: {
50
+ autocomplete: 'off',
51
+ autocorrect: 'off',
52
+ spellcheck: 'false',
53
+ type: 'search',
54
+ }, styles: [":host{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;flex:1;box-sizing:border-box;min-inline-size:0;block-size:2.25rem;outline:none;border:none;border-radius:3.125rem;padding-block:0;padding-inline-start:2.5rem;padding-inline-end:0;font:1.0625rem SF Pro Text,sans-serif;color:var(--tui-text-primary);caret-color:var(--tui-text-action);background:var(--tui-background-neutral-2) url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4%2010.4714C4%206.90319%206.93142%204%2010.5343%204C14.1372%204%2017.0686%206.90319%2017.0686%2010.4714C17.0686%2011.9473%2016.5691%2013.3016%2015.7257%2014.3882L19.7298%2018.3781C19.9017%2018.5484%2020%2018.7836%2020%2019.0431C20%2019.5864%2019.6151%2020%2019.0583%2020C18.7963%2020%2018.5507%2019.9108%2018.3623%2019.7243L14.3337%2015.7263C13.261%2016.4886%2011.9591%2016.9427%2010.5343%2016.9427C6.93142%2016.9427%204%2014.0395%204%2010.4714ZM5.4002%2010.4714C5.4002%2013.2772%207.70113%2015.556%2010.5343%2015.556C13.3675%2015.556%2015.6684%2013.2772%2015.6684%2010.4714C15.6684%207.66548%2013.3675%205.38672%2010.5343%205.38672C7.70113%205.38672%205.4002%207.66548%205.4002%2010.4714Z%22%20fill%3D%22%239299A2%22%2F%3E%3C%2Fsvg%3E) no-repeat .625rem center;transition-property:background-color,box-shadow}:host::placeholder{color:var(--tui-text-secondary)}:host:active{background-color:var(--tui-background-neutral-2-pressed)}:host::-webkit-search-cancel-button{-webkit-transition-property:background;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;-webkit-appearance:none;appearance:none;box-sizing:border-box;inline-size:2rem;block-size:2.25rem;border:.5rem solid transparent;margin:0;opacity:1;background:var(--tui-text-secondary);-webkit-mask-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8%2016C3.63137%2016%200%2012.3686%200%208C0%203.62353%203.62353%200%207.99216%200C12.3686%200%2016%203.62353%2016%208C16%2012.3686%2012.3765%2016%208%2016ZM5.36471%2011.2941C5.5451%2011.2941%205.7098%2011.2314%205.83529%2011.1059L8%208.92549L10.1725%2011.1059C10.2902%2011.2314%2010.4549%2011.2941%2010.6353%2011.2941C11.0039%2011.2941%2011.2941%2011.0039%2011.2941%2010.6431C11.2941%2010.4627%2011.2314%2010.298%2011.098%2010.1804L8.92549%208.00784L11.1059%205.82745C11.2471%205.68627%2011.302%205.5451%2011.302%205.36471C11.302%205.00392%2011.0118%204.72157%2010.651%204.72157C10.4784%204.72157%2010.3373%204.77647%2010.2039%204.9098L8%207.09804L5.81176%204.91765C5.68627%204.8%205.5451%204.73726%205.36471%204.73726C5.00392%204.73726%204.72157%205.01177%204.72157%205.38039C4.72157%205.55294%204.78431%205.7098%204.9098%205.83529L7.08235%208.00784L4.9098%2010.1882C4.78431%2010.3059%204.72157%2010.4706%204.72157%2010.6431C4.72157%2011.0039%205.00392%2011.2941%205.36471%2011.2941Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8%2016C3.63137%2016%200%2012.3686%200%208C0%203.62353%203.62353%200%207.99216%200C12.3686%200%2016%203.62353%2016%208C16%2012.3686%2012.3765%2016%208%2016ZM5.36471%2011.2941C5.5451%2011.2941%205.7098%2011.2314%205.83529%2011.1059L8%208.92549L10.1725%2011.1059C10.2902%2011.2314%2010.4549%2011.2941%2010.6353%2011.2941C11.0039%2011.2941%2011.2941%2011.0039%2011.2941%2010.6431C11.2941%2010.4627%2011.2314%2010.298%2011.098%2010.1804L8.92549%208.00784L11.1059%205.82745C11.2471%205.68627%2011.302%205.5451%2011.302%205.36471C11.302%205.00392%2011.0118%204.72157%2010.651%204.72157C10.4784%204.72157%2010.3373%204.77647%2010.2039%204.9098L8%207.09804L5.81176%204.91765C5.68627%204.8%205.5451%204.73726%205.36471%204.73726C5.00392%204.73726%204.72157%205.01177%204.72157%205.38039C4.72157%205.55294%204.78431%205.7098%204.9098%205.83529L7.08235%208.00784L4.9098%2010.1882C4.78431%2010.3059%204.72157%2010.4706%204.72157%2010.6431C4.72157%2011.0039%205.00392%2011.2941%205.36471%2011.2941Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}:host::-webkit-search-cancel-button:active{background:var(--tui-text-secondary-pressed)}:host-context([data-platform=\"ios\"]){block-size:2.75rem}:host-context([data-platform=\"ios\"])::-webkit-search-cancel-button{block-size:2.75rem;margin-inline-end:.625rem}:host-context([data-platform=\"android\"]){padding-inline-start:2.625rem}:host-context([data-platform=\"android\"])::-webkit-search-cancel-button{inline-size:3rem;background:var(--tui-text-action);-webkit-mask-size:1.5rem;mask-size:1.5rem;-webkit-mask-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012%2019%206.41Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012%2019%206.41Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E)}:host-context([data-platform=\"android\"])::-webkit-search-cancel-button:active{background:var(--tui-text-action-hover)}\n"] }]
55
+ }] });
56
+
57
+ const TuiSearchBar = [TuiSearchBarComponent, TuiSearchBarInput];
58
+
59
+ /**
60
+ * Generated bundle index. Do not edit.
61
+ */
62
+
63
+ export { TuiSearchBar, TuiSearchBarComponent, TuiSearchBarInput };
64
+ //# sourceMappingURL=taiga-ui-addon-mobile-components-search-bar.mjs.map
@@ -0,0 +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 {tuiCommonIconsProvider} from '@taiga-ui/core/tokens';\nimport {tuiButtonCloseOptionsProvider} from '@taiga-ui/kit/directives/button-close';\n\n@Component({\n standalone: true,\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 styleUrls: ['./search-bar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiButtonCloseOptionsProvider((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 @Input()\n public appearance: 'floating' | 'neutral' = 'neutral';\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\n@Component({\n standalone: true,\n selector: 'input[tuiSearchBar]',\n template: '',\n styleUrls: ['./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,9 +1,11 @@
1
+ import { NgIf } from '@angular/common';
1
2
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Input, EventEmitter, ElementRef, ContentChildren, forwardRef, Output, inject, Directive } from '@angular/core';
3
+ import { Component, ChangeDetectionStrategy, Input, inject, Directive, EventEmitter, ElementRef, ContentChildren, forwardRef, Output } from '@angular/core';
3
4
  import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
4
5
  import { TuiRepeatTimes } from '@taiga-ui/cdk/directives/repeat-times';
6
+ import { TUI_PLATFORM } from '@taiga-ui/cdk/tokens';
5
7
  import { tuiIsElement, tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
6
- import { NgIf } from '@angular/common';
8
+ import { TUI_LIQUID_GLASS } from '@taiga-ui/core/utils/miscellaneous';
7
9
  import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
8
10
  import { TuiIcon } from '@taiga-ui/core/components/icon';
9
11
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
@@ -31,16 +33,58 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
31
33
  type: Input
32
34
  }] } });
33
35
 
36
+ class TuiTabBarLiquidGlass {
37
+ constructor() {
38
+ this.tabBar = inject(TuiTabBarComponent);
39
+ }
40
+ get count() {
41
+ return this.tabBar.count;
42
+ }
43
+ get index() {
44
+ return this.tabBar.activeItemIndex;
45
+ }
46
+ get fullwidth() {
47
+ return (this.count || this.tabBar.quantity) > 3;
48
+ }
49
+ get mid() {
50
+ return this.index > 0 && this.index < this.count - 1;
51
+ }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTabBarLiquidGlass, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
53
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiTabBarLiquidGlass, isStandalone: true, host: { properties: { "class.tui-liquid-glass_fullwidth": "fullwidth", "style.--t-tab-active": "index", "style.--t-tab-count": "count", "style.--t-tab-mid": "mid ? 1 : 0" } }, ngImport: i0 }); }
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTabBarLiquidGlass, decorators: [{
56
+ type: Directive,
57
+ args: [{
58
+ standalone: true,
59
+ host: {
60
+ '[class.tui-liquid-glass_fullwidth]': 'fullwidth',
61
+ '[style.--t-tab-active]': 'index',
62
+ '[style.--t-tab-count]': 'count',
63
+ '[style.--t-tab-mid]': 'mid ? 1 : 0',
64
+ },
65
+ }]
66
+ }] });
67
+
34
68
  class TuiTabBarComponent {
35
69
  constructor() {
36
70
  this.tabs = EMPTY_QUERY;
71
+ this.liquidGlass = inject(TUI_LIQUID_GLASS) && inject(TUI_PLATFORM) === 'ios';
37
72
  this.quantity = 4;
38
73
  this.activeItemIndex = NaN;
39
74
  this.activeItemIndexChange = new EventEmitter();
40
75
  }
76
+ get count() {
77
+ return this.tabs.length;
78
+ }
41
79
  setActive(tab) {
42
- if (tuiIsElement(tab)) {
43
- this.updateIndex(this.tabs.toArray().findIndex(({ nativeElement }) => nativeElement === tab));
80
+ if (!tuiIsElement(tab)) {
81
+ return;
82
+ }
83
+ const index = this.tabs
84
+ .toArray()
85
+ .findIndex(({ nativeElement }) => nativeElement === tab);
86
+ if (index > -1) {
87
+ this.updateIndex(index);
44
88
  }
45
89
  }
46
90
  get style() {
@@ -51,14 +95,14 @@ class TuiTabBarComponent {
51
95
  this.activeItemIndexChange.emit(index);
52
96
  }
53
97
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTabBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTabBarComponent, isStandalone: true, selector: "nav[tuiTabBar]", inputs: { quantity: "quantity", activeItemIndex: "activeItemIndex" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { listeners: { "click": "setActive($event.target)" }, properties: { "style": "style" } }, queries: [{ propertyName: "tabs", predicate: i0.forwardRef(function () { return TuiTabBarItem; }), read: ElementRef }], ngImport: i0, template: "<ng-content />\n<div class=\"t-skeletons\">\n <div\n *tuiRepeatTimes=\"let index of quantity\"\n class=\"t-skeleton\"\n ></div>\n</div>\n", styles: [":host{--tui-active-color: var(--tui-text-action);position:relative;display:flex;font: .625rem/.75rem -apple-system,BlinkMacSystemFont,system-ui,Roboto,Segoe UI,sans-serif;block-size:var(--tui-height-l);color:var(--tui-text-secondary);-webkit-backdrop-filter:blur(.3125rem);backdrop-filter:blur(.3125rem)}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";background:var(--tui-background-base-alt);box-shadow:inset 0 1px var(--tui-border-normal);opacity:.8}[tuiTheme=dark] :host:before{opacity:.7}.t-skeletons{display:none;block-size:100%;inline-size:100%;justify-content:space-around}.t-skeletons:first-child{display:flex}.t-skeleton{display:flex;flex-direction:column;align-items:center;justify-content:center;animation:tuiSkeletonVibe ease-in-out 1s infinite alternate}.t-skeleton:before{content:\"\";inline-size:1.375rem;block-size:1.375rem;margin-block-end:.5rem;border-radius:100%;background:var(--tui-background-neutral-2)}.t-skeleton:after{content:\"\";inline-size:2.5rem;block-size:.375rem;border-radius:1rem;background:var(--tui-background-neutral-2)}\n"], dependencies: [{ kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
98
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTabBarComponent, isStandalone: true, selector: "nav[tuiTabBar]", inputs: { quantity: "quantity", activeItemIndex: "activeItemIndex" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { listeners: { "click": "setActive($event.target)" }, properties: { "style": "style" } }, queries: [{ propertyName: "tabs", predicate: i0.forwardRef(function () { return TuiTabBarItem; }), read: ElementRef }], hostDirectives: [{ directive: TuiTabBarLiquidGlass }], ngImport: i0, template: "<ng-content />\n\n<div class=\"t-skeletons\">\n <div\n *tuiRepeatTimes=\"let index of quantity\"\n class=\"t-skeleton\"\n ></div>\n</div>\n\n<ng-container *ngIf=\"liquidGlass\">\n <div class=\"t-liquid-glass-overlay\"></div>\n <div class=\"t-liquid-glass-indicator\"></div>\n</ng-container>\n", styles: [":host{--tui-active-color: var(--tui-text-action);position:relative;display:flex;font: .625rem/.75rem -apple-system,BlinkMacSystemFont,system-ui,Roboto,Segoe UI,sans-serif;block-size:var(--tui-height-l);color:var(--tui-text-secondary);-webkit-backdrop-filter:blur(.3125rem);backdrop-filter:blur(.3125rem)}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";background:var(--tui-background-base-alt);box-shadow:inset 0 1px var(--tui-border-normal);opacity:.8}[tuiTheme=dark] :host:before{opacity:.7}.t-skeletons{display:none;block-size:100%;inline-size:100%;justify-content:space-around}.t-skeletons:first-child{display:flex}.t-skeleton{display:flex;flex-direction:column;align-items:center;justify-content:center;animation:tuiSkeletonVibe ease-in-out 1s infinite alternate}.t-skeleton:before{content:\"\";inline-size:1.375rem;block-size:1.375rem;margin-block-end:.5rem;border-radius:100%;background:var(--tui-background-neutral-2)}.t-skeleton:after{content:\"\";inline-size:2.5rem;block-size:.375rem;border-radius:1rem;background:var(--tui-background-neutral-2)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
55
99
  }
56
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTabBarComponent, decorators: [{
57
101
  type: Component,
58
- args: [{ standalone: true, selector: 'nav[tuiTabBar]', imports: [TuiRepeatTimes], changeDetection: ChangeDetectionStrategy.OnPush, host: {
102
+ args: [{ standalone: true, selector: 'nav[tuiTabBar]', imports: [NgIf, TuiRepeatTimes], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiTabBarLiquidGlass], host: {
59
103
  '[style]': 'style',
60
104
  '(click)': 'setActive($event.target)',
61
- }, template: "<ng-content />\n<div class=\"t-skeletons\">\n <div\n *tuiRepeatTimes=\"let index of quantity\"\n class=\"t-skeleton\"\n ></div>\n</div>\n", styles: [":host{--tui-active-color: var(--tui-text-action);position:relative;display:flex;font: .625rem/.75rem -apple-system,BlinkMacSystemFont,system-ui,Roboto,Segoe UI,sans-serif;block-size:var(--tui-height-l);color:var(--tui-text-secondary);-webkit-backdrop-filter:blur(.3125rem);backdrop-filter:blur(.3125rem)}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";background:var(--tui-background-base-alt);box-shadow:inset 0 1px var(--tui-border-normal);opacity:.8}[tuiTheme=dark] :host:before{opacity:.7}.t-skeletons{display:none;block-size:100%;inline-size:100%;justify-content:space-around}.t-skeletons:first-child{display:flex}.t-skeleton{display:flex;flex-direction:column;align-items:center;justify-content:center;animation:tuiSkeletonVibe ease-in-out 1s infinite alternate}.t-skeleton:before{content:\"\";inline-size:1.375rem;block-size:1.375rem;margin-block-end:.5rem;border-radius:100%;background:var(--tui-background-neutral-2)}.t-skeleton:after{content:\"\";inline-size:2.5rem;block-size:.375rem;border-radius:1rem;background:var(--tui-background-neutral-2)}\n"] }]
105
+ }, template: "<ng-content />\n\n<div class=\"t-skeletons\">\n <div\n *tuiRepeatTimes=\"let index of quantity\"\n class=\"t-skeleton\"\n ></div>\n</div>\n\n<ng-container *ngIf=\"liquidGlass\">\n <div class=\"t-liquid-glass-overlay\"></div>\n <div class=\"t-liquid-glass-indicator\"></div>\n</ng-container>\n", styles: [":host{--tui-active-color: var(--tui-text-action);position:relative;display:flex;font: .625rem/.75rem -apple-system,BlinkMacSystemFont,system-ui,Roboto,Segoe UI,sans-serif;block-size:var(--tui-height-l);color:var(--tui-text-secondary);-webkit-backdrop-filter:blur(.3125rem);backdrop-filter:blur(.3125rem)}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";background:var(--tui-background-base-alt);box-shadow:inset 0 1px var(--tui-border-normal);opacity:.8}[tuiTheme=dark] :host:before{opacity:.7}.t-skeletons{display:none;block-size:100%;inline-size:100%;justify-content:space-around}.t-skeletons:first-child{display:flex}.t-skeleton{display:flex;flex-direction:column;align-items:center;justify-content:center;animation:tuiSkeletonVibe ease-in-out 1s infinite alternate}.t-skeleton:before{content:\"\";inline-size:1.375rem;block-size:1.375rem;margin-block-end:.5rem;border-radius:100%;background:var(--tui-background-neutral-2)}.t-skeleton:after{content:\"\";inline-size:2.5rem;block-size:.375rem;border-radius:1rem;background:var(--tui-background-neutral-2)}\n"] }]
62
106
  }], propDecorators: { tabs: [{
63
107
  type: ContentChildren,
64
108
  args: [forwardRef(() => TuiTabBarItem), { read: ElementRef }]
@@ -98,5 +142,5 @@ const TuiTabBar = [
98
142
  * Generated bundle index. Do not edit.
99
143
  */
100
144
 
101
- export { TuiTabBar, TuiTabBarComponent, TuiTabBarItem, TuiTabBarItemDirective };
145
+ export { TuiTabBar, TuiTabBarComponent, TuiTabBarItem, TuiTabBarItemDirective, TuiTabBarLiquidGlass };
102
146
  //# sourceMappingURL=taiga-ui-addon-mobile-components-tab-bar.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-mobile-components-tab-bar.mjs","sources":["../../../projects/addon-mobile/components/tab-bar/tab-bar-item.component.ts","../../../projects/addon-mobile/components/tab-bar/tab-bar-item.template.html","../../../projects/addon-mobile/components/tab-bar/tab-bar.component.ts","../../../projects/addon-mobile/components/tab-bar/tab-bar.template.html","../../../projects/addon-mobile/components/tab-bar/tab-bar-item.directive.ts","../../../projects/addon-mobile/components/tab-bar/tab-bar.ts","../../../projects/addon-mobile/components/tab-bar/taiga-ui-addon-mobile-components-tab-bar.ts"],"sourcesContent":["import {NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\n\n@Component({\n standalone: true,\n selector: 'button[tuiTabBarItem], a[tuiTabBarItem]',\n imports: [NgIf, TuiAnimated, TuiIcon],\n templateUrl: './tab-bar-item.template.html',\n styleUrls: ['./tab-bar-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTabBarItem {\n @Input()\n public icon = '';\n\n @Input()\n public badge?: number | null = null;\n\n protected format(value: number): string {\n return value > 999 ? '999+' : String(value);\n }\n}\n","<tui-icon\n class=\"t-icon\"\n [icon]=\"icon\"\n/>\n<span class=\"t-wrapper\">\n <span\n *ngIf=\"badge as value\"\n tuiAnimated\n class=\"t-badge\"\n >\n {{ format(value) }}\n </span>\n</span>\n<span class=\"t-text\">\n <ng-content />\n</span>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n type QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {TuiRepeatTimes} from '@taiga-ui/cdk/directives/repeat-times';\nimport {tuiIsElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {TuiTabBarItem} from './tab-bar-item.component';\n\n@Component({\n standalone: true,\n selector: 'nav[tuiTabBar]',\n imports: [TuiRepeatTimes],\n templateUrl: './tab-bar.template.html',\n styleUrls: ['./tab-bar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[style]': 'style',\n '(click)': 'setActive($event.target)',\n },\n})\nexport class TuiTabBarComponent {\n @ContentChildren(forwardRef(() => TuiTabBarItem), {read: ElementRef})\n private readonly tabs: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @Input()\n public quantity = 4;\n\n @Input()\n public activeItemIndex = NaN;\n\n @Output()\n public readonly activeItemIndexChange = new EventEmitter<number>();\n\n public setActive(tab: EventTarget): void {\n if (tuiIsElement(tab)) {\n this.updateIndex(\n this.tabs.toArray().findIndex(({nativeElement}) => nativeElement === tab),\n );\n }\n }\n\n protected get style(): string {\n return `--tui-tab-${this.activeItemIndex + 1}: var(--tui-active-color)`;\n }\n\n private updateIndex(index: number): void {\n this.activeItemIndex = index;\n this.activeItemIndexChange.emit(index);\n }\n}\n","<ng-content />\n<div class=\"t-skeletons\">\n <div\n *tuiRepeatTimes=\"let index of quantity\"\n class=\"t-skeleton\"\n ></div>\n</div>\n","import {Directive, inject} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {RouterLinkActive} from '@angular/router';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {EMPTY, filter, type Observable} from 'rxjs';\n\nimport {TuiTabBarComponent} from './tab-bar.component';\n\n@Directive({\n standalone: true,\n selector: '[tuiTabBarItem][routerLinkActive]',\n})\nexport class TuiTabBarItemDirective {\n constructor() {\n const tabs = inject(TuiTabBarComponent);\n const el = tuiInjectElement();\n const link: Observable<boolean> =\n inject(RouterLinkActive, {optional: true})?.isActiveChange || EMPTY;\n\n link.pipe(filter(Boolean), tuiWatch(), takeUntilDestroyed()).subscribe(() =>\n tabs.setActive(el),\n );\n }\n}\n","import {TuiTabBarComponent} from './tab-bar.component';\nimport {TuiTabBarItem} from './tab-bar-item.component';\nimport {TuiTabBarItemDirective} from './tab-bar-item.directive';\n\nexport const TuiTabBar = [\n TuiTabBarComponent,\n TuiTabBarItem,\n TuiTabBarItemDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-mobile-components-tab-bar.mjs","sources":["../../../projects/addon-mobile/components/tab-bar/tab-bar-item.component.ts","../../../projects/addon-mobile/components/tab-bar/tab-bar-item.template.html","../../../projects/addon-mobile/components/tab-bar/tab-bar-liquid-glass.directive.ts","../../../projects/addon-mobile/components/tab-bar/tab-bar.component.ts","../../../projects/addon-mobile/components/tab-bar/tab-bar.template.html","../../../projects/addon-mobile/components/tab-bar/tab-bar-item.directive.ts","../../../projects/addon-mobile/components/tab-bar/tab-bar.ts","../../../projects/addon-mobile/components/tab-bar/taiga-ui-addon-mobile-components-tab-bar.ts"],"sourcesContent":["import {NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\n\n@Component({\n standalone: true,\n selector: 'button[tuiTabBarItem], a[tuiTabBarItem]',\n imports: [NgIf, TuiAnimated, TuiIcon],\n templateUrl: './tab-bar-item.template.html',\n styleUrls: ['./tab-bar-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTabBarItem {\n @Input()\n public icon = '';\n\n @Input()\n public badge?: number | null = null;\n\n protected format(value: number): string {\n return value > 999 ? '999+' : String(value);\n }\n}\n","<tui-icon\n class=\"t-icon\"\n [icon]=\"icon\"\n/>\n<span class=\"t-wrapper\">\n <span\n *ngIf=\"badge as value\"\n tuiAnimated\n class=\"t-badge\"\n >\n {{ format(value) }}\n </span>\n</span>\n<span class=\"t-text\">\n <ng-content />\n</span>\n","import {Directive, inject} from '@angular/core';\n\nimport {TuiTabBarComponent} from './tab-bar.component';\n\n@Directive({\n standalone: true,\n host: {\n '[class.tui-liquid-glass_fullwidth]': 'fullwidth',\n '[style.--t-tab-active]': 'index',\n '[style.--t-tab-count]': 'count',\n '[style.--t-tab-mid]': 'mid ? 1 : 0',\n },\n})\nexport class TuiTabBarLiquidGlass {\n private readonly tabBar = inject(TuiTabBarComponent);\n\n protected get count(): number {\n return this.tabBar.count;\n }\n\n protected get index(): number {\n return this.tabBar.activeItemIndex;\n }\n\n protected get fullwidth(): boolean {\n return (this.count || this.tabBar.quantity) > 3;\n }\n\n protected get mid(): boolean {\n return this.index > 0 && this.index < this.count - 1;\n }\n}\n","import {NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n Output,\n type QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {TuiRepeatTimes} from '@taiga-ui/cdk/directives/repeat-times';\nimport {TUI_PLATFORM} from '@taiga-ui/cdk/tokens';\nimport {tuiIsElement} from '@taiga-ui/cdk/utils/dom';\nimport {TUI_LIQUID_GLASS} from '@taiga-ui/core/utils/miscellaneous';\n\nimport {TuiTabBarItem} from './tab-bar-item.component';\nimport {TuiTabBarLiquidGlass} from './tab-bar-liquid-glass.directive';\n\n@Component({\n standalone: true,\n selector: 'nav[tuiTabBar]',\n imports: [NgIf, TuiRepeatTimes],\n templateUrl: './tab-bar.template.html',\n styleUrls: ['./tab-bar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiTabBarLiquidGlass],\n host: {\n '[style]': 'style',\n '(click)': 'setActive($event.target)',\n },\n})\nexport class TuiTabBarComponent {\n @ContentChildren(forwardRef(() => TuiTabBarItem), {read: ElementRef})\n private readonly tabs: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n protected readonly liquidGlass =\n inject(TUI_LIQUID_GLASS) && inject(TUI_PLATFORM) === 'ios';\n\n @Input()\n public quantity = 4;\n\n @Input()\n public activeItemIndex = NaN;\n\n @Output()\n public readonly activeItemIndexChange = new EventEmitter<number>();\n\n public get count(): number {\n return this.tabs.length;\n }\n\n public setActive(tab: EventTarget): void {\n if (!tuiIsElement(tab)) {\n return;\n }\n\n const index = this.tabs\n .toArray()\n .findIndex(({nativeElement}) => nativeElement === tab);\n\n if (index > -1) {\n this.updateIndex(index);\n }\n }\n\n protected get style(): string {\n return `--tui-tab-${this.activeItemIndex + 1}: var(--tui-active-color)`;\n }\n\n private updateIndex(index: number): void {\n this.activeItemIndex = index;\n this.activeItemIndexChange.emit(index);\n }\n}\n","<ng-content />\n\n<div class=\"t-skeletons\">\n <div\n *tuiRepeatTimes=\"let index of quantity\"\n class=\"t-skeleton\"\n ></div>\n</div>\n\n<ng-container *ngIf=\"liquidGlass\">\n <div class=\"t-liquid-glass-overlay\"></div>\n <div class=\"t-liquid-glass-indicator\"></div>\n</ng-container>\n","import {Directive, inject} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {RouterLinkActive} from '@angular/router';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {EMPTY, filter, type Observable} from 'rxjs';\n\nimport {TuiTabBarComponent} from './tab-bar.component';\n\n@Directive({\n standalone: true,\n selector: '[tuiTabBarItem][routerLinkActive]',\n})\nexport class TuiTabBarItemDirective {\n constructor() {\n const tabs = inject(TuiTabBarComponent);\n const el = tuiInjectElement();\n const link: Observable<boolean> =\n inject(RouterLinkActive, {optional: true})?.isActiveChange || EMPTY;\n\n link.pipe(filter(Boolean), tuiWatch(), takeUntilDestroyed()).subscribe(() =>\n tabs.setActive(el),\n );\n }\n}\n","import {TuiTabBarComponent} from './tab-bar.component';\nimport {TuiTabBarItem} from './tab-bar-item.component';\nimport {TuiTabBarItemDirective} from './tab-bar-item.directive';\n\nexport const TuiTabBar = [\n TuiTabBarComponent,\n TuiTabBarItem,\n TuiTabBarItemDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export * from '@taiga-ui/addon-mobile/components/mobile-calendar-dropdown';
4
4
  export * from '@taiga-ui/addon-mobile/components/mobile-calendar-sheet';
5
5
  export * from '@taiga-ui/addon-mobile/components/mobile-dialog';
6
6
  export * from '@taiga-ui/addon-mobile/components/pull-to-refresh';
7
+ export * from '@taiga-ui/addon-mobile/components/search-bar';
7
8
  export * from '@taiga-ui/addon-mobile/components/sheet-dialog';
8
9
  export * from '@taiga-ui/addon-mobile/components/swipe-action';
9
10
  export * from '@taiga-ui/addon-mobile/components/tab-bar';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-mobile-components.mjs","sources":["../../../projects/addon-mobile/components/taiga-ui-addon-mobile-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAAA;;AAEG"}
1
+ {"version":3,"file":"taiga-ui-addon-mobile-components.mjs","sources":["../../../projects/addon-mobile/components/taiga-ui-addon-mobile-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAAA;;AAEG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/addon-mobile",
3
- "version": "4.101.0",
3
+ "version": "4.102.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",
@@ -75,6 +75,12 @@
75
75
  "esm": "./esm2022/components/pull-to-refresh/taiga-ui-addon-mobile-components-pull-to-refresh.mjs",
76
76
  "default": "./fesm2022/taiga-ui-addon-mobile-components-pull-to-refresh.mjs"
77
77
  },
78
+ "./components/search-bar": {
79
+ "types": "./components/search-bar/index.d.ts",
80
+ "esm2022": "./esm2022/components/search-bar/taiga-ui-addon-mobile-components-search-bar.mjs",
81
+ "esm": "./esm2022/components/search-bar/taiga-ui-addon-mobile-components-search-bar.mjs",
82
+ "default": "./fesm2022/taiga-ui-addon-mobile-components-search-bar.mjs"
83
+ },
78
84
  "./components/sheet-dialog": {
79
85
  "types": "./components/sheet-dialog/index.d.ts",
80
86
  "esm2022": "./esm2022/components/sheet-dialog/taiga-ui-addon-mobile-components-sheet-dialog.mjs",
@@ -136,10 +142,10 @@
136
142
  "@angular/core": ">=16.0.0",
137
143
  "@ng-web-apis/common": "^4.14.0",
138
144
  "@ng-web-apis/resize-observer": "^4.14.0",
139
- "@taiga-ui/cdk": "4.101.0",
140
- "@taiga-ui/core": "4.101.0",
141
- "@taiga-ui/kit": "4.101.0",
142
- "@taiga-ui/layout": "4.101.0",
145
+ "@taiga-ui/cdk": "4.102.0",
146
+ "@taiga-ui/core": "4.102.0",
147
+ "@taiga-ui/kit": "4.102.0",
148
+ "@taiga-ui/layout": "4.102.0",
143
149
  "@taiga-ui/polymorpheus": "^4.10.0",
144
150
  "rxjs": ">=7.0.0"
145
151
  },
@@ -0,0 +1,24 @@
1
+ &.tui-liquid-glass {
2
+ nav[tuiTabBar] {
3
+ backdrop-filter: none;
4
+
5
+ &::before {
6
+ background: var(--tui-background-base);
7
+ box-shadow: 0 -0.25rem 0.25rem -0.25rem rgba(0, 0, 0, 0.16);
8
+ opacity: 1;
9
+ }
10
+
11
+ [tuiTabBarItem] {
12
+ .t-icon {
13
+ inline-size: 1.5rem;
14
+ block-size: 1.5rem;
15
+ margin-block-start: 0.5rem;
16
+ border: 0;
17
+ }
18
+
19
+ .t-text {
20
+ font: var(--tui-typography-ui-xs);
21
+ }
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,11 @@
1
+ &.tui-liquid-glass {
2
+ tui-app-bar {
3
+ --t-padding: 1rem;
4
+
5
+ background: transparent;
6
+ backdrop-filter: none;
7
+ block-size: calc(3.375rem + var(--t-padding));
8
+ padding-block-start: var(--t-padding);
9
+ padding-block-end: 0.625rem;
10
+ }
11
+ }
@@ -0,0 +1,176 @@
1
+ @t-tab-width: 5.875rem;
2
+
3
+ &.tui-liquid-glass {
4
+ nav[tuiTabBar] {
5
+ justify-content: center;
6
+ isolation: isolate;
7
+ inline-size: fit-content;
8
+ margin: 0 auto var(--t-tabbar-offset);
9
+ padding: 0.25rem;
10
+ border-radius: 62.5rem;
11
+ block-size: 3.375rem;
12
+ backdrop-filter: none;
13
+
14
+ .liquid-glass-vars();
15
+
16
+ --t-tabbar-offset: max(env(safe-area-inset-bottom), 1.25rem);
17
+ --t-tabbar-active: rgba(255, 255, 255, 0.9);
18
+ // the tab bar has its own bevel lighting angles
19
+ --t-glass-bevel-filter: brightness(1.05);
20
+ --t-glass-bevel: linear-gradient(
21
+ 227deg,
22
+ rgba(255, 255, 255, 0) 6%,
23
+ rgba(255, 255, 255, 0.35) 21%,
24
+ rgba(255, 255, 255, 0.85) 40%,
25
+ rgba(255, 255, 255, 0.95) 45%,
26
+ #fff 48%,
27
+ #fff 50%,
28
+ #fff 52%,
29
+ rgba(255, 255, 255, 0.95) 55%,
30
+ rgba(255, 255, 255, 0.85) 60%,
31
+ rgba(255, 255, 255, 0.35) 80%,
32
+ rgba(255, 255, 255, 0) 95%
33
+ );
34
+
35
+ &::before {
36
+ .liquid-glass(0 0.5rem 2rem rgba(0, 0, 0, 0.1));
37
+
38
+ content: '';
39
+ position: absolute;
40
+ inset: 0;
41
+ border-radius: inherit;
42
+ opacity: 1;
43
+ }
44
+
45
+ &::after {
46
+ .liquid-glass-bevel();
47
+ }
48
+
49
+ [tuiTabBarItem] {
50
+ position: relative;
51
+ // lift the buttons above the indicator so it highlights behind them
52
+ // (ng-content must stay first for the nth-child colour theme, which
53
+ // puts the indicator after the items in the DOM)
54
+ z-index: 1;
55
+ flex: none;
56
+ inline-size: @t-tab-width;
57
+ padding-inline-start: 0.375rem;
58
+ padding-inline-end: 0.375rem;
59
+
60
+ .t-icon {
61
+ inline-size: 1.5rem;
62
+ block-size: 1.5rem;
63
+ margin-block-end: 0.1875rem;
64
+ margin-block-start: 0.5rem;
65
+ border: 0;
66
+ }
67
+ }
68
+
69
+ .t-liquid-glass-indicator {
70
+ position: absolute;
71
+ inset-block: 0.25rem;
72
+ inset-inline-start: calc(0.25rem + var(--t-tab-active, 0) * @t-tab-width);
73
+ inline-size: @t-tab-width;
74
+ border-radius: 62.5rem;
75
+ pointer-events: none;
76
+ background: var(--tui-background-neutral-2);
77
+ transition:
78
+ inset-inline-start var(--tui-duration) cubic-bezier(0.4, 0.1, 0.2, 1),
79
+ inline-size var(--tui-duration) cubic-bezier(0.4, 0.1, 0.2, 1);
80
+ }
81
+
82
+ .t-skeletons {
83
+ inline-size: auto;
84
+ }
85
+
86
+ .t-skeleton {
87
+ flex: none;
88
+ inline-size: @t-tab-width;
89
+ }
90
+
91
+ &.tui-liquid-glass_fullwidth {
92
+ inline-size: auto;
93
+ margin: 0 1.25rem var(--t-tabbar-offset);
94
+
95
+ [tuiTabBarItem] {
96
+ flex: 1 0 3.375rem;
97
+ inline-size: auto;
98
+ }
99
+
100
+ .t-skeletons {
101
+ inline-size: 100%;
102
+ }
103
+
104
+ .t-skeleton {
105
+ flex: 1 0 3.375rem;
106
+ inline-size: auto;
107
+ }
108
+
109
+ // indicator matches the item width ((100% - padding) / count); middle
110
+ // positions additionally grow 0.25rem on each side for optical
111
+ // compensation (var(--t-tab-mid) is 1 for middle tabs, 0 for first/last)
112
+ .t-liquid-glass-indicator {
113
+ inline-size: calc((100% - 0.5rem) / var(--t-tab-count, 1) + var(--t-tab-mid, 0) * 0.5rem);
114
+ inset-inline-start: calc(
115
+ 0.25rem - var(--t-tab-mid, 0) * 0.25rem + var(--t-tab-active, 0) * (100% - 0.5rem) /
116
+ var(--t-tab-count, 1)
117
+ );
118
+ }
119
+ }
120
+
121
+ .t-liquid-glass-overlay {
122
+ position: absolute;
123
+ z-index: -1;
124
+ inset-block: auto calc(-1 * var(--t-tabbar-offset));
125
+ inset-inline-start: 50%;
126
+ margin-inline-start: -50vw;
127
+ inline-size: 100vw;
128
+ block-size: 9.375rem;
129
+ background: var(--tui-background-base);
130
+ pointer-events: none;
131
+ mask-image: linear-gradient(
132
+ 180deg,
133
+ rgba(0, 0, 0, 0),
134
+ rgba(0, 0, 0, 0.01) 7%,
135
+ rgba(0, 0, 0, 0.04) 13%,
136
+ rgba(0, 0, 0, 0.08) 20%,
137
+ rgba(0, 0, 0, 0.15) 27%,
138
+ rgba(0, 0, 0, 0.23) 33%,
139
+ rgba(0, 0, 0, 0.33) 40%,
140
+ rgba(0, 0, 0, 0.44) 47%,
141
+ rgba(0, 0, 0, 0.56) 53%,
142
+ rgba(0, 0, 0, 0.67) 60%,
143
+ rgba(0, 0, 0, 0.77) 67%,
144
+ rgba(0, 0, 0, 0.85) 73%,
145
+ rgba(0, 0, 0, 0.92) 80%,
146
+ rgba(0, 0, 0, 0.96) 87%,
147
+ rgba(0, 0, 0, 0.99) 93%,
148
+ #000 100%
149
+ );
150
+ }
151
+ }
152
+ }
153
+
154
+ &.tui-liquid-glass [tuiTheme='dark'] nav[tuiTabBar],
155
+ [tuiTheme='dark'] &.tui-liquid-glass nav[tuiTabBar],
156
+ &[tuiTheme='dark'].tui-liquid-glass nav[tuiTabBar] {
157
+ .liquid-glass-dark();
158
+
159
+ --tui-active-color: var(--tui-text-primary);
160
+ --t-tabbar-active: rgba(255, 255, 255, 0.18);
161
+ --t-glass-bevel-filter: brightness(1.05);
162
+ --t-glass-bevel: linear-gradient(
163
+ -6deg,
164
+ rgba(255, 255, 255, 0.15) 5%,
165
+ rgba(255, 255, 255, 0.1) 20%,
166
+ rgba(255, 255, 255, 0.04) 40%,
167
+ rgba(255, 255, 255, 0.03) 45%,
168
+ rgba(255, 255, 255, 0) 48%,
169
+ rgba(255, 255, 255, 0) 50%,
170
+ rgba(255, 255, 255, 0) 52%,
171
+ rgba(255, 255, 255, 0.03) 55%,
172
+ rgba(255, 255, 255, 0.04) 60%,
173
+ rgba(255, 255, 255, 0.1) 80%,
174
+ rgba(255, 255, 255, 0.15) 95%
175
+ );
176
+ }
@@ -6,6 +6,7 @@
6
6
  @import 'android/checkbox.less';
7
7
  @import 'android/radio.less';
8
8
  @import 'android/switch.less';
9
+ @import 'android/tab-bar.less';
9
10
 
10
11
  tui-badge-notification[data-size='l'] {
11
12
  --t-size: 1.375rem;
@@ -13,8 +14,10 @@
13
14
  }
14
15
 
15
16
  [data-platform='ios'] {
17
+ @import 'ios/app-bar.less';
16
18
  @import 'ios/checkbox.less';
17
19
  @import 'ios/switch.less';
20
+ @import 'ios/tab-bar.less';
18
21
 
19
22
  tui-segmented > *:not(tui-segmented_active):active {
20
23
  background-color: var(--tui-background-neutral-1);