@taiga-ui/core 5.0.0-canary.3420efb → 5.0.0-canary.47548da

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 (95) hide show
  1. package/components/checkbox/checkbox.component.d.ts +10 -0
  2. package/components/checkbox/checkbox.options.d.ts +10 -0
  3. package/components/checkbox/index.d.ts +2 -0
  4. package/components/index.d.ts +3 -0
  5. package/components/loader/loader.component.d.ts +0 -2
  6. package/components/radio/index.d.ts +4 -0
  7. package/components/radio/radio.component.d.ts +18 -0
  8. package/components/radio/radio.d.ts +3 -0
  9. package/components/radio/radio.directive.d.ts +8 -0
  10. package/components/radio/radio.options.d.ts +7 -0
  11. package/components/slider/helpers/key-steps.d.ts +27 -0
  12. package/components/slider/helpers/slider-key-steps.directive.d.ts +32 -0
  13. package/components/slider/helpers/slider-readonly.directive.d.ts +15 -0
  14. package/components/slider/helpers/slider-thumb-label.component.d.ts +13 -0
  15. package/components/slider/index.d.ts +6 -0
  16. package/components/slider/slider.component.d.ts +22 -0
  17. package/components/slider/slider.d.ts +5 -0
  18. package/components/textfield/textfield.component.d.ts +1 -0
  19. package/fesm2022/taiga-ui-core-components-button.mjs +2 -2
  20. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  21. package/fesm2022/taiga-ui-core-components-checkbox.mjs +37 -0
  22. package/fesm2022/taiga-ui-core-components-checkbox.mjs.map +1 -0
  23. package/fesm2022/taiga-ui-core-components-data-list.mjs +2 -2
  24. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-core-components-label.mjs +3 -3
  27. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-core-components-link.mjs +2 -2
  29. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-core-components-loader.mjs +5 -8
  31. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-core-components-notification.mjs +2 -2
  33. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-core-components-radio.mjs +91 -0
  35. package/fesm2022/taiga-ui-core-components-radio.mjs.map +1 -0
  36. package/fesm2022/taiga-ui-core-components-root.mjs +2 -2
  37. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-core-components-slider.mjs +337 -0
  39. package/fesm2022/taiga-ui-core-components-slider.mjs.map +1 -0
  40. package/fesm2022/taiga-ui-core-components-textfield.mjs +11 -8
  41. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-core-components-title.mjs +3 -3
  43. package/fesm2022/taiga-ui-core-components-title.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-core-components.mjs +3 -0
  45. package/fesm2022/taiga-ui-core-components.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-core-directives-appearance.mjs +3 -3
  47. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-core-directives-group.mjs +3 -3
  49. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-core-directives-icons.mjs +3 -3
  51. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-core-portals-dropdown.mjs +2 -2
  53. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -1
  54. package/package.json +64 -52
  55. package/styles/components/appearance.less +0 -51
  56. package/styles/components/button.less +0 -135
  57. package/styles/components/group.less +0 -172
  58. package/styles/components/icon.less +0 -83
  59. package/styles/components/icons.less +0 -79
  60. package/styles/components/label.less +0 -51
  61. package/styles/components/link.less +0 -69
  62. package/styles/components/notification.less +0 -184
  63. package/styles/components/textfield.less +0 -358
  64. package/styles/components/title.less +0 -80
  65. package/styles/mixins/appearance.less +0 -56
  66. package/styles/mixins/appearance.scss +0 -57
  67. package/styles/mixins/browsers.less +0 -23
  68. package/styles/mixins/browsers.scss +0 -23
  69. package/styles/mixins/date-picker.less +0 -152
  70. package/styles/mixins/mixins.less +0 -168
  71. package/styles/mixins/mixins.scss +0 -161
  72. package/styles/mixins/picker.less +0 -200
  73. package/styles/mixins/picker.scss +0 -199
  74. package/styles/mixins/slider.less +0 -67
  75. package/styles/mixins/slider.scss +0 -67
  76. package/styles/taiga-ui-fonts.less +0 -4
  77. package/styles/taiga-ui-local.less +0 -7
  78. package/styles/taiga-ui-local.scss +0 -6
  79. package/styles/taiga-ui-theme.less +0 -4
  80. package/styles/theme/appearance/accent.less +0 -14
  81. package/styles/theme/appearance/action.less +0 -38
  82. package/styles/theme/appearance/flat.less +0 -23
  83. package/styles/theme/appearance/floating.less +0 -21
  84. package/styles/theme/appearance/glass.less +0 -30
  85. package/styles/theme/appearance/outline.less +0 -78
  86. package/styles/theme/appearance/primary.less +0 -48
  87. package/styles/theme/appearance/secondary.less +0 -77
  88. package/styles/theme/appearance/status.less +0 -125
  89. package/styles/theme/appearance/table.less +0 -68
  90. package/styles/theme/appearance/textfield.less +0 -80
  91. package/styles/theme/appearance.less +0 -12
  92. package/styles/theme/palette.less +0 -161
  93. package/styles/theme/variables.less +0 -46
  94. package/styles/variables/media.less +0 -23
  95. package/styles/variables/media.scss +0 -23
@@ -0,0 +1,10 @@
1
+ import { TuiRadioComponent } from '@taiga-ui/core/components/radio';
2
+ import { type TuiCheckboxOptions } from './checkbox.options';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@taiga-ui/core/directives/icons";
5
+ export declare class TuiCheckbox extends TuiRadioComponent<TuiCheckboxOptions> {
6
+ protected readonly check: import("@angular/core").Signal<string>;
7
+ protected readonly indeterminate: import("@angular/core").Signal<string>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiCheckbox, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiCheckbox, "input[type=\"checkbox\"][tuiCheckbox]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiIcons; inputs: {}; outputs: {}; }]>;
10
+ }
@@ -0,0 +1,10 @@
1
+ import { type TuiStringHandler } from '@taiga-ui/cdk/types';
2
+ import { type TuiRadioOptions } from '@taiga-ui/core/components/radio';
3
+ import { type TuiSizeS } from '@taiga-ui/core/types';
4
+ export interface TuiCheckboxOptions extends TuiRadioOptions {
5
+ readonly icons: Readonly<{
6
+ checked: TuiStringHandler<TuiSizeS>;
7
+ indeterminate: TuiStringHandler<TuiSizeS>;
8
+ }>;
9
+ }
10
+ export declare const TUI_CHECKBOX_OPTIONS: import("@angular/core").InjectionToken<TuiCheckboxOptions>, tuiCheckboxOptionsProvider: (item: Partial<TuiCheckboxOptions> | (() => Partial<TuiCheckboxOptions>)) => import("@angular/core").FactoryProvider;
@@ -0,0 +1,2 @@
1
+ export * from './checkbox.component';
2
+ export * from './checkbox.options';
@@ -1,6 +1,7 @@
1
1
  export * from '@taiga-ui/core/components/button';
2
2
  export * from '@taiga-ui/core/components/calendar';
3
3
  export * from '@taiga-ui/core/components/cell';
4
+ export * from '@taiga-ui/core/components/checkbox';
4
5
  export * from '@taiga-ui/core/components/data-list';
5
6
  export * from '@taiga-ui/core/components/error';
6
7
  export * from '@taiga-ui/core/components/expand';
@@ -10,8 +11,10 @@ export * from '@taiga-ui/core/components/label';
10
11
  export * from '@taiga-ui/core/components/link';
11
12
  export * from '@taiga-ui/core/components/loader';
12
13
  export * from '@taiga-ui/core/components/notification';
14
+ export * from '@taiga-ui/core/components/radio';
13
15
  export * from '@taiga-ui/core/components/root';
14
16
  export * from '@taiga-ui/core/components/scrollbar';
17
+ export * from '@taiga-ui/core/components/slider';
15
18
  export * from '@taiga-ui/core/components/spin-button';
16
19
  export * from '@taiga-ui/core/components/textfield';
17
20
  export * from '@taiga-ui/core/components/title';
@@ -1,10 +1,8 @@
1
1
  import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiLoader {
4
- private readonly isIOS;
5
4
  private readonly options;
6
5
  protected readonly isApple: boolean;
7
- protected readonly isHorizontal: import("@angular/core").Signal<boolean>;
8
6
  readonly size: import("@angular/core").InputSignal<"m" | "s" | "xs" | "l" | "xl" | "xxl">;
9
7
  readonly inheritColor: import("@angular/core").InputSignal<boolean>;
10
8
  readonly overlay: import("@angular/core").InputSignal<boolean>;
@@ -0,0 +1,4 @@
1
+ export * from './radio';
2
+ export * from './radio.component';
3
+ export * from './radio.directive';
4
+ export * from './radio.options';
@@ -0,0 +1,18 @@
1
+ import { type DoCheck, type OnInit } from '@angular/core';
2
+ import { NgControl } from '@angular/forms';
3
+ import { type TuiRadioOptions } from './radio.options';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@taiga-ui/core/directives/appearance";
6
+ import * as i2 from "@taiga-ui/cdk/directives/native-validator";
7
+ export declare class TuiRadioComponent<T extends TuiRadioOptions> implements DoCheck, OnInit {
8
+ private readonly destroyRef;
9
+ protected readonly el: HTMLInputElement;
10
+ protected readonly options: T;
11
+ protected readonly appearance: import("@angular/core").WritableSignal<string>;
12
+ protected readonly control: NgControl | null;
13
+ readonly size: import("@angular/core").InputSignal<import("@taiga-ui/core/types").TuiSizeS>;
14
+ ngOnInit(): void;
15
+ ngDoCheck(): void;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiRadioComponent<any>, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiRadioComponent<any>, "input[type=\"radio\"][tuiRadio]", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.TuiAppearance; inputs: { "tuiAppearanceState": "tuiAppearanceState"; "tuiAppearanceFocus": "tuiAppearanceFocus"; "tuiAppearanceMode": "tuiAppearanceMode"; }; outputs: {}; }, { directive: typeof i2.TuiNativeValidator; inputs: {}; outputs: {}; }]>;
18
+ }
@@ -0,0 +1,3 @@
1
+ import { TuiRadioComponent } from './radio.component';
2
+ import { TuiRadioDirective } from './radio.directive';
3
+ export declare const TuiRadio: readonly [typeof TuiRadioComponent, typeof TuiRadioDirective];
@@ -0,0 +1,8 @@
1
+ import { type TuiIdentityMatcher } from '@taiga-ui/cdk/types';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TuiRadioDirective<T> {
4
+ readonly identityMatcher: import("@angular/core").InputSignal<TuiIdentityMatcher<T>>;
5
+ constructor();
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiRadioDirective<any>, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiRadioDirective<any>, "input[type=\"radio\"][tuiRadio][identityMatcher]", never, { "identityMatcher": { "alias": "identityMatcher"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8
+ }
@@ -0,0 +1,7 @@
1
+ import { type TuiStringHandler } from '@taiga-ui/cdk/types';
2
+ import { type TuiSizeS } from '@taiga-ui/core/types';
3
+ export interface TuiRadioOptions {
4
+ readonly appearance: TuiStringHandler<HTMLInputElement>;
5
+ readonly size: TuiSizeS;
6
+ }
7
+ export declare const TUI_RADIO_OPTIONS: import("@angular/core").InjectionToken<TuiRadioOptions>, tuiRadioOptionsProvider: (item: Partial<TuiRadioOptions> | (() => Partial<TuiRadioOptions>)) => import("@angular/core").FactoryProvider;
@@ -0,0 +1,27 @@
1
+ import { type TuiValueTransformer } from '@taiga-ui/cdk/classes';
2
+ /**
3
+ * Used as a limit for eliminating JS issues with floating point math
4
+ */
5
+ export declare const TUI_FLOATING_PRECISION = 7;
6
+ /**
7
+ * Steps for splitting sliders into different linear dependencies.
8
+ * Each element of the array has the form [percent, value]
9
+ *
10
+ * Thus, to set a field from 50,000 to 30,000,000 in steps:
11
+ * 1) From 50 000 to 200 000 by 5000 per step (30 steps)
12
+ * 2) From 200 000 to 1 000 000 by 50 000 per step (16 steps)
13
+ * 3) From 1 000 000 to 30 000 000 by 500 000 per step (58 steps)
14
+ *
15
+ * You need to pass the following keyStep (where 104 = 30 + 16 + 58 is the total number of steps):
16
+ * [
17
+ * [0, 50_000],
18
+ * [100 / 104 * 30, 200_000],
19
+ * [100 / 104 * (30 + 16), 1_000_000],
20
+ * [100, 30_000_000],
21
+ * ];
22
+ *
23
+ */
24
+ export type TuiKeySteps = [[0, number], ...Array<[number, number]>, [100, number]];
25
+ export declare function tuiPercentageToKeyStepValue(valuePercentage: number, keySteps: TuiKeySteps): number;
26
+ export declare function tuiKeyStepValueToPercentage(value: number, keySteps: TuiKeySteps): number;
27
+ export declare function tuiCreateKeyStepsTransformer(keySteps: TuiKeySteps): TuiValueTransformer<number, number>;
@@ -0,0 +1,32 @@
1
+ import { type OnInit } from '@angular/core';
2
+ import { TuiControl, type TuiValueTransformer } from '@taiga-ui/cdk/classes';
3
+ import { TuiSliderComponent } from '../slider.component';
4
+ import { type TuiKeySteps } from './key-steps';
5
+ import * as i0 from "@angular/core";
6
+ export declare class TuiSliderKeyStepsBase implements OnInit {
7
+ private readonly injector;
8
+ private readonly control;
9
+ protected readonly min: import("@angular/core").WritableSignal<number | undefined>;
10
+ protected readonly max: import("@angular/core").WritableSignal<number | undefined>;
11
+ protected readonly sync: import("@angular/core").EffectRef;
12
+ slider: TuiSliderComponent;
13
+ readonly step: import("@angular/core").InputSignal<number>;
14
+ readonly keySteps: import("@angular/core").InputSignal<[[0, number], ...[number, number][], [100, number]] | undefined>;
15
+ readonly transformer: import("@angular/core").WritableSignal<TuiValueTransformer<number, number> | undefined>;
16
+ controlValue: import("@angular/core").Signal<number | undefined>;
17
+ readonly totalSteps: import("@angular/core").Signal<number>;
18
+ ngOnInit(): void;
19
+ takeStep(coefficient: number): number;
20
+ toSliderValue(fraction: number): number;
21
+ setControlValue(controlValue: number): void;
22
+ getControlValue(): number;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSliderKeyStepsBase, never>;
24
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSliderKeyStepsBase, "input[tuiSlider][keySteps]", never, { "step": { "alias": "step"; "required": false; "isSignal": true; }; "keySteps": { "alias": "keySteps"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
25
+ }
26
+ export declare class TuiSliderKeySteps extends TuiControl<number> {
27
+ protected readonly base: TuiSliderKeyStepsBase;
28
+ set keySteps(steps: TuiKeySteps | null | undefined);
29
+ protected setValue(sliderValue: number): void;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSliderKeySteps, never>;
31
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSliderKeySteps, "input[tuiSlider][keySteps][ngModel],input[tuiSlider][keySteps][formControl],input[tuiSlider][keySteps][formControlName]", never, { "keySteps": { "alias": "keySteps"; "required": false; }; }, {}, never, never, true, never>;
32
+ }
@@ -0,0 +1,15 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Native <input type='range' readonly> doesn't work.
4
+ * This directive imitates this native behaviour.
5
+ */
6
+ export declare class TuiSliderReadonly {
7
+ private readonly el;
8
+ private readonly doc;
9
+ readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, any>;
10
+ constructor();
11
+ protected preventEvent(event: Event): void;
12
+ protected preventKeyboardInteraction(event: KeyboardEvent): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSliderReadonly, never>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSliderReadonly, "input[tuiSlider][readonly]", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
15
+ }
@@ -0,0 +1,13 @@
1
+ import { type AfterContentInit } from '@angular/core';
2
+ import { NgControl } from '@angular/forms';
3
+ import { TuiSliderComponent } from '../slider.component';
4
+ import * as i0 from "@angular/core";
5
+ export declare class TuiSliderThumbLabel implements AfterContentInit {
6
+ protected readonly slider: import("@angular/core").Signal<TuiSliderComponent | undefined>;
7
+ protected readonly control: import("@angular/core").Signal<NgControl | undefined>;
8
+ ngAfterContentInit(): void;
9
+ protected get ratio(): number;
10
+ protected get ghostStart(): number;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSliderThumbLabel, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiSliderThumbLabel, "[tuiSliderThumbLabel]", never, {}, {}, ["slider", "control"], ["*", "input[type=range]"], true, never>;
13
+ }
@@ -0,0 +1,6 @@
1
+ export * from './helpers/key-steps';
2
+ export * from './helpers/slider-key-steps.directive';
3
+ export * from './helpers/slider-readonly.directive';
4
+ export * from './helpers/slider-thumb-label.component';
5
+ export * from './slider';
6
+ export * from './slider.component';
@@ -0,0 +1,22 @@
1
+ import { TuiSliderKeyStepsBase } from './helpers/slider-key-steps.directive';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TuiSliderComponent {
4
+ private readonly control;
5
+ protected readonly ticksGradient: import("@angular/core").Signal<string>;
6
+ readonly segments: import("@angular/core").InputSignalWithTransform<readonly number[], number | readonly number[]>;
7
+ readonly el: HTMLInputElement;
8
+ readonly keySteps: TuiSliderKeyStepsBase | null;
9
+ constructor();
10
+ get valueRatio(): number;
11
+ get min(): number;
12
+ set min(x: number);
13
+ get max(): number;
14
+ set max(x: number);
15
+ get step(): number;
16
+ set step(x: number);
17
+ get value(): number;
18
+ set value(newValue: number);
19
+ protected getTicksGradient(segments: readonly number[]): string;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSliderComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiSliderComponent, "input[type=range][tuiSlider]", never, { "segments": { "alias": "segments"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
22
+ }
@@ -0,0 +1,5 @@
1
+ import { TuiSliderKeySteps, TuiSliderKeyStepsBase } from './helpers/slider-key-steps.directive';
2
+ import { TuiSliderReadonly } from './helpers/slider-readonly.directive';
3
+ import { TuiSliderThumbLabel } from './helpers/slider-thumb-label.component';
4
+ import { TuiSliderComponent } from './slider.component';
5
+ export declare const TuiSlider: readonly [typeof TuiSliderComponent, typeof TuiSliderThumbLabel, typeof TuiSliderKeyStepsBase, typeof TuiSliderKeySteps, typeof TuiSliderReadonly];
@@ -34,6 +34,7 @@ export declare class TuiTextfieldComponent<T> implements TuiDataListHost<T> {
34
34
  readonly filler: import("@angular/core").InputSignal<string>;
35
35
  readonly value: import("@angular/core").WritableSignal<string>;
36
36
  get id(): string;
37
+ get disabled(): boolean;
37
38
  get size(): TuiSizeL | TuiSizeS;
38
39
  handleOption(option: T): void;
39
40
  protected get hasLabel(): boolean;
@@ -16,11 +16,11 @@ const [TUI_BUTTON_OPTIONS, tuiButtonOptionsProvider] = tuiCreateOptions(TUI_BUTT
16
16
 
17
17
  class Styles {
18
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-button" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"]),[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"]){--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);--t-gap: .25rem;--t-padding: 0 1.25rem;--t-margin: -.25rem;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;max-inline-size:100%;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));block-size:var(--t-size);justify-content:center;border-radius:var(--t-radius);padding:var(--t-padding);-webkit-user-select:none;user-select:none;cursor:pointer;font:var(--tui-font-body-m);font-weight:700}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>img,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>img,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiAvatar],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiAvatar],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>tui-badge,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>tui-badge,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiBadge],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiBadge],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiRadio],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiRadio],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiSwitch],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiSwitch],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiCheckbox],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiCheckbox],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiIcons]:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiIcons]:before,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiIcons]:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>.t-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>.t-loader .t-text,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>.t-loader .t-text{position:absolute}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=xs],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);--t-gap: .125rem;--t-padding: 0 .375rem;--t-margin: -.125rem;font:var(--tui-font-body-s)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=xs] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=xs] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=xs]:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=xs]:before,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=xs]:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=xs]:after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=s],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);--t-gap: .125rem;--t-padding: 0 .625rem;--t-margin: -.125rem;font:var(--tui-font-body-s)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=s] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=s] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance=link]):before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance=link]):before,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance=link]):after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance=link]):after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=m],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);--t-gap: .125rem;--t-padding: 0 1rem;--t-margin: -.375rem;font:var(--tui-font-body-m);font-weight:700}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading>*,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading>*,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading:before,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading:after{opacity:0}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading>.t-loader{opacity:1}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiButtonVertical],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiButtonVertical]{--t-margin: 0rem !important;--t-line-height: 1rem;flex-direction:column;flex-shrink:1;block-size:auto;padding:.75rem;gap:.375rem;min-inline-size:5rem;white-space:pre-line;font:var(--tui-font-ui-s)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiButtonVertical]>*,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"]){gap:0;inline-size:var(--t-size);min-inline-size:var(--t-size);font-size:0!important;padding:0}[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-icon-start]:after{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-button" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]),[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]){--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);--t-gap: .25rem;--t-padding: 0 1.25rem;--t-margin: -.25rem;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;max-inline-size:100%;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));block-size:var(--t-size);justify-content:center;border-radius:var(--t-radius);padding:var(--t-padding);-webkit-user-select:none;user-select:none;cursor:pointer;font:var(--tui-font-body-m);font-weight:700}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>img,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>img,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiAvatar],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiAvatar],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>tui-badge,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>tui-badge,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiBadge],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiBadge],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiRadio],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiRadio],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiSwitch],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiSwitch],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiCheckbox],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiCheckbox],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiIcons]:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiIcons]:before,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiIcons]:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>.t-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>.t-loader .t-text,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>.t-loader .t-text{position:absolute}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=xs],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);--t-gap: .125rem;--t-padding: 0 .375rem;--t-margin: -.125rem;font:var(--tui-font-body-s)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=xs] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=xs] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=xs]:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=xs]:before,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=xs]:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=xs]:after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);--t-gap: .125rem;--t-padding: 0 .625rem;--t-margin: -.125rem;font:var(--tui-font-body-s)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action-]):before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action-]):before,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action-]):after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action-]):after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=m],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);--t-gap: .125rem;--t-padding: 0 1rem;--t-margin: -.375rem;font:var(--tui-font-body-m);font-weight:700}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading>*,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading>*,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading:before,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading:after{opacity:0}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading>.t-loader{opacity:1}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiButtonVertical],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiButtonVertical]{--t-margin: 0rem !important;--t-line-height: 1rem;flex-direction:column;flex-shrink:1;block-size:auto;padding:.75rem;gap:.375rem;min-inline-size:5rem;white-space:pre-line;font:var(--tui-font-ui-s)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiButtonVertical]>*,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]){gap:0;inline-size:var(--t-size);min-inline-size:var(--t-size);font-size:0!important;padding:0}[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-icon-start]:after{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
20
20
  }
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: Styles, decorators: [{
22
22
  type: Component,
23
- args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-button' }, styles: ["[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"]),[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"]){--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);--t-gap: .25rem;--t-padding: 0 1.25rem;--t-margin: -.25rem;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;max-inline-size:100%;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));block-size:var(--t-size);justify-content:center;border-radius:var(--t-radius);padding:var(--t-padding);-webkit-user-select:none;user-select:none;cursor:pointer;font:var(--tui-font-body-m);font-weight:700}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>img,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>img,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiAvatar],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiAvatar],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>tui-badge,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>tui-badge,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiBadge],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiBadge],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiRadio],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiRadio],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiSwitch],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiSwitch],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiCheckbox],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>[tuiCheckbox],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiIcons]:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiIcons]:before,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiIcons]:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>.t-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>.t-loader .t-text,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])>.t-loader .t-text{position:absolute}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=xs],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);--t-gap: .125rem;--t-padding: 0 .375rem;--t-margin: -.125rem;font:var(--tui-font-body-s)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=xs] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=xs] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=xs]:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=xs]:before,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=xs]:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=xs]:after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=s],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);--t-gap: .125rem;--t-padding: 0 .625rem;--t-margin: -.125rem;font:var(--tui-font-body-s)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=s] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=s] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance=link]):before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance=link]):before,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance=link]):after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance=link]):after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=m],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);--t-gap: .125rem;--t-padding: 0 1rem;--t-margin: -.375rem;font:var(--tui-font-body-m);font-weight:700}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading>*,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading>*,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading:before,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading:after{opacity:0}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])._loading>.t-loader{opacity:1}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiButtonVertical],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiButtonVertical]{--t-margin: 0rem !important;--t-line-height: 1rem;flex-direction:column;flex-shrink:1;block-size:auto;padding:.75rem;gap:.375rem;min-inline-size:5rem;white-space:pre-line;font:var(--tui-font-ui-s)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiButtonVertical]>*,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"]){gap:0;inline-size:var(--t-size);min-inline-size:var(--t-size);font-size:0!important;padding:0}[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.3420efb\"])[data-icon-start]:after{display:none}\n"] }]
23
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-button' }, styles: ["[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]),[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]){--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);--t-gap: .25rem;--t-padding: 0 1.25rem;--t-margin: -.25rem;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;max-inline-size:100%;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));block-size:var(--t-size);justify-content:center;border-radius:var(--t-radius);padding:var(--t-padding);-webkit-user-select:none;user-select:none;cursor:pointer;font:var(--tui-font-body-m);font-weight:700}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>img,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>img,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiAvatar],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiAvatar],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>tui-badge,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>tui-badge,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiBadge],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiBadge],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiRadio],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiRadio],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiSwitch],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiSwitch],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiCheckbox],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>[tuiCheckbox],[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiIcons]:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiIcons]:before,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiIcons]:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>.t-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>.t-loader .t-text,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])>.t-loader .t-text{position:absolute}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=xs],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);--t-gap: .125rem;--t-padding: 0 .375rem;--t-margin: -.125rem;font:var(--tui-font-body-s)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=xs] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=xs] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=xs]:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=xs]:before,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=xs]:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=xs]:after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);--t-gap: .125rem;--t-padding: 0 .625rem;--t-margin: -.125rem;font:var(--tui-font-body-s)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action-]):before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action-]):before,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action-]):after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action-]):after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=m],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);--t-gap: .125rem;--t-padding: 0 1rem;--t-margin: -.375rem;font:var(--tui-font-body-m);font-weight:700}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading>*,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading>*,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading:before,[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading:after{opacity:0}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])._loading>.t-loader{opacity:1}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiButtonVertical],[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiButtonVertical]{--t-margin: 0rem !important;--t-line-height: 1rem;flex-direction:column;flex-shrink:1;block-size:auto;padding:.75rem;gap:.375rem;min-inline-size:5rem;white-space:pre-line;font:var(--tui-font-ui-s)}[tuiButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiButtonVertical]>*,[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]){gap:0;inline-size:var(--t-size);min-inline-size:var(--t-size);font-size:0!important;padding:0}[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[tuiIconButton]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-icon-start]:after{display:none}\n"] }]
24
24
  }] });
25
25
  class TuiButton {
26
26
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-button.mjs","sources":["../../../projects/core/components/button/button.options.ts","../../../projects/core/components/button/button.directive.ts","../../../projects/core/components/button/taiga-ui-core-components-button.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {type TuiSizeXL, type TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiButtonOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeXL | TuiSizeXS;\n}\n\nexport const TUI_BUTTON_DEFAULT_OPTIONS: TuiButtonOptions = {\n appearance: 'primary',\n size: 'l',\n};\n\nexport const [TUI_BUTTON_OPTIONS, tuiButtonOptionsProvider] = tuiCreateOptions(\n TUI_BUTTON_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\n\nimport {TUI_BUTTON_OPTIONS} from './button.options';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/core/styles/components/button.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-button'},\n})\nclass Styles {}\n\n@Directive({\n selector: 'a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]',\n providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {'[attr.data-size]': 'size()'},\n})\nexport class TuiButton {\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly size = input(inject(TUI_BUTTON_OPTIONS).size);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAQa,MAAA,0BAA0B,GAAqB;AACxD,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,IAAI,EAAE,GAAG;;AAGN,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAAG,gBAAgB,CAC1E,0BAA0B;;ACI9B,MAWM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,gHAVE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2xNAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAUV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAXX,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAE,EAMG,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA,EAAC,KAAK,EAAE,YAAY,EAAC,EAAA,MAAA,EAAA,CAAA,2xNAAA,CAAA,EAAA;;MAUlB,SAAS,CAAA;AANtB,IAAA,WAAA,GAAA;AAOuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;QAElC,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC;AAChE;+GAJY,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,2SAJP,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAIpD,SAAS,EAAA,UAAA,EAAA,CAAA;kBANrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uEAAuE;AACjF,oBAAA,SAAS,EAAE,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC;AAC7D,oBAAA,cAAc,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;AACjD,oBAAA,IAAI,EAAE,EAAC,kBAAkB,EAAE,QAAQ,EAAC;AACvC,iBAAA;;;ACpCD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-components-button.mjs","sources":["../../../projects/core/components/button/button.options.ts","../../../projects/core/components/button/button.directive.ts","../../../projects/core/components/button/taiga-ui-core-components-button.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {type TuiSizeXL, type TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiButtonOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeXL | TuiSizeXS;\n}\n\nexport const TUI_BUTTON_DEFAULT_OPTIONS: TuiButtonOptions = {\n appearance: 'primary',\n size: 'l',\n};\n\nexport const [TUI_BUTTON_OPTIONS, tuiButtonOptionsProvider] = tuiCreateOptions(\n TUI_BUTTON_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\n\nimport {TUI_BUTTON_OPTIONS} from './button.options';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/button.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-button'},\n})\nclass Styles {}\n\n@Directive({\n selector: 'a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]',\n providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {'[attr.data-size]': 'size()'},\n})\nexport class TuiButton {\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly size = input(inject(TUI_BUTTON_OPTIONS).size);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAQa,MAAA,0BAA0B,GAAqB;AACxD,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,IAAI,EAAE,GAAG;;AAGN,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAAG,gBAAgB,CAC1E,0BAA0B;;ACI9B,MAWM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,gHAVE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2yNAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAUV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAXX,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAE,EAMG,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA,EAAC,KAAK,EAAE,YAAY,EAAC,EAAA,MAAA,EAAA,CAAA,2yNAAA,CAAA,EAAA;;MAUlB,SAAS,CAAA;AANtB,IAAA,WAAA,GAAA;AAOuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;QAElC,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC;AAChE;+GAJY,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,2SAJP,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAIpD,SAAS,EAAA,UAAA,EAAA,CAAA;kBANrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uEAAuE;AACjF,oBAAA,SAAS,EAAE,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC;AAC7D,oBAAA,cAAc,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;AACjD,oBAAA,IAAI,EAAE,EAAC,kBAAkB,EAAE,QAAQ,EAAC;AACvC,iBAAA;;;ACpCD;;AAEG;;;;"}
@@ -0,0 +1,37 @@
1
+ import * as i0 from '@angular/core';
2
+ import { computed, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
+ import '@taiga-ui/cdk/constants';
4
+ import { tuiCreateOptions, tuiProvide } from '@taiga-ui/cdk/utils/di';
5
+ import { TuiRadioComponent, TUI_RADIO_OPTIONS } from '@taiga-ui/core/components/radio';
6
+ import * as i1 from '@taiga-ui/core/directives/icons';
7
+ import { tuiIconStart, tuiIconEnd, TuiIcons } from '@taiga-ui/core/directives/icons';
8
+
9
+ const [TUI_CHECKBOX_OPTIONS, tuiCheckboxOptionsProvider] = tuiCreateOptions({
10
+ size: 'm',
11
+ appearance: (el) => el.checked || el.indeterminate ? 'primary' : 'outline-grayscale',
12
+ icons: {
13
+ checked: () => '@tui.check',
14
+ indeterminate: () => '@tui.minus',
15
+ },
16
+ });
17
+
18
+ class TuiCheckbox extends TuiRadioComponent {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.check = tuiIconStart(computed(() => this.options.icons.checked(this.size())));
22
+ this.indeterminate = tuiIconEnd(computed(() => this.options.icons.indeterminate(this.size())));
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TuiCheckbox, isStandalone: true, selector: "input[type=\"checkbox\"][tuiCheckbox]", providers: [tuiProvide(TUI_RADIO_OPTIONS, TUI_CHECKBOX_OPTIONS)], usesInheritance: true, hostDirectives: [{ directive: i1.TuiIcons }], ngImport: i0, template: '', isInline: true, styles: ["[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]){--t-size: 1.5rem;--t-radius: var(--tui-radius-s);inline-size:var(--t-size);block-size:var(--t-size);border-radius:var(--t-radius);cursor:pointer;margin:0;flex-shrink:0}[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]):before{position:absolute;block-size:100%;inline-size:100%;font-size:1rem;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>');mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>');transform:scale(0);transition:transform var(--tui-duration) ease-in-out,mask 0s var(--tui-duration) ease-in-out}[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]):after{display:none}[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]):disabled._readonly._readonly{opacity:1;pointer-events:none}[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]):checked:before,[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]):indeterminate:before{-webkit-mask-image:var(--t-icon-start);mask-image:var(--t-icon-start);transform:scale(1);transition:transform var(--tui-duration) ease-in-out,mask 0s ease-in-out;transition-duration:inherit}[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]):indeterminate:before{-webkit-mask-image:var(--t-icon-end);mask-image:var(--t-icon-end)}[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s]{--t-size: 1rem;--t-radius: var(--tui-radius-xs)}[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s]:before{font-size:.875rem}[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]):invalid:not([data-mode]),[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-mode~=invalid]{color:#fff}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiCheckbox, decorators: [{
28
+ type: Component,
29
+ args: [{ selector: 'input[type="checkbox"][tuiCheckbox]', template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiProvide(TUI_RADIO_OPTIONS, TUI_CHECKBOX_OPTIONS)], hostDirectives: [TuiIcons], styles: ["[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]){--t-size: 1.5rem;--t-radius: var(--tui-radius-s);inline-size:var(--t-size);block-size:var(--t-size);border-radius:var(--t-radius);cursor:pointer;margin:0;flex-shrink:0}[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]):before{position:absolute;block-size:100%;inline-size:100%;font-size:1rem;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>');mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>');transform:scale(0);transition:transform var(--tui-duration) ease-in-out,mask 0s var(--tui-duration) ease-in-out}[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]):after{display:none}[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]):disabled._readonly._readonly{opacity:1;pointer-events:none}[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]):checked:before,[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]):indeterminate:before{-webkit-mask-image:var(--t-icon-start);mask-image:var(--t-icon-start);transform:scale(1);transition:transform var(--tui-duration) ease-in-out,mask 0s ease-in-out;transition-duration:inherit}[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]):indeterminate:before{-webkit-mask-image:var(--t-icon-end);mask-image:var(--t-icon-end)}[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s]{--t-size: 1rem;--t-radius: var(--tui-radius-xs)}[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-size=s]:before{font-size:.875rem}[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"]):invalid:not([data-mode]),[tuiCheckbox]:where(*[data-tui-version=\"5.0.0-canary.47548da\"])[data-mode~=invalid]{color:#fff}\n"] }]
30
+ }] });
31
+
32
+ /**
33
+ * Generated bundle index. Do not edit.
34
+ */
35
+
36
+ export { TUI_CHECKBOX_OPTIONS, TuiCheckbox, tuiCheckboxOptionsProvider };
37
+ //# sourceMappingURL=taiga-ui-core-components-checkbox.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-core-components-checkbox.mjs","sources":["../../../projects/core/components/checkbox/checkbox.options.ts","../../../projects/core/components/checkbox/checkbox.component.ts","../../../projects/core/components/checkbox/taiga-ui-core-components-checkbox.ts"],"sourcesContent":["import {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiRadioOptions} from '@taiga-ui/core/components/radio';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiCheckboxOptions extends TuiRadioOptions {\n readonly icons: Readonly<{\n checked: TuiStringHandler<TuiSizeS>;\n indeterminate: TuiStringHandler<TuiSizeS>;\n }>;\n}\n\nexport const [TUI_CHECKBOX_OPTIONS, tuiCheckboxOptionsProvider] =\n tuiCreateOptions<TuiCheckboxOptions>({\n size: 'm',\n appearance: (el) =>\n el.checked || el.indeterminate ? 'primary' : 'outline-grayscale',\n icons: {\n checked: () => '@tui.check',\n indeterminate: () => '@tui.minus',\n },\n });\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {TUI_RADIO_OPTIONS, TuiRadioComponent} from '@taiga-ui/core/components/radio';\nimport {tuiIconEnd, TuiIcons, tuiIconStart} from '@taiga-ui/core/directives/icons';\n\nimport {TUI_CHECKBOX_OPTIONS, type TuiCheckboxOptions} from './checkbox.options';\n\n@Component({\n selector: 'input[type=\"checkbox\"][tuiCheckbox]',\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/checkbox.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiProvide(TUI_RADIO_OPTIONS, TUI_CHECKBOX_OPTIONS)],\n hostDirectives: [TuiIcons],\n})\nexport class TuiCheckbox extends TuiRadioComponent<TuiCheckboxOptions> {\n protected readonly check = tuiIconStart(\n computed(() => this.options.icons.checked(this.size())),\n );\n\n protected readonly indeterminate = tuiIconEnd(\n computed(() => this.options.icons.indeterminate(this.size())),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAYa,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,GAC3D,gBAAgB,CAAqB;AACjC,IAAA,IAAI,EAAE,GAAG;IACT,UAAU,EAAE,CAAC,EAAE,KACX,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,aAAa,GAAG,SAAS,GAAG,mBAAmB;AACpE,IAAA,KAAK,EAAE;AACH,QAAA,OAAO,EAAE,MAAM,YAAY;AAC3B,QAAA,aAAa,EAAE,MAAM,YAAY;AACpC,KAAA;AACJ,CAAA;;ACKC,MAAO,WAAY,SAAQ,iBAAqC,CAAA;AAbtE,IAAA,WAAA,GAAA;;QAcuB,IAAK,CAAA,KAAA,GAAG,YAAY,CACnC,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAC1D;QAEkB,IAAa,CAAA,aAAA,GAAG,UAAU,CACzC,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAChE;AACJ;+GARY,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,SAAA,EAHT,CAAC,UAAU,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EARtD,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,ixDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAWH,WAAW,EAAA,UAAA,EAAA,CAAA;kBAbvB,SAAS;+BACI,qCAAqC,EAAA,QAAA,EACrC,EAAE,EAMG,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,UAAU,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC,EAAA,cAAA,EAChD,CAAC,QAAQ,CAAC,EAAA,MAAA,EAAA,CAAA,ixDAAA,CAAA,EAAA;;;ACxB9B;;AAEG;;;;"}
@@ -146,7 +146,7 @@ class TuiDataListComponent {
146
146
  useFactory: () => inject(TuiWithOptionContent, { optional: true })?.content ??
147
147
  inject(TUI_OPTION_CONTENT, { skipSelf: true, optional: true }),
148
148
  },
149
- ], queries: [{ propertyName: "optionsQuery", predicate: i0.forwardRef(() => TuiOptionWithValue), descendants: true, isSignal: true }], ngImport: i0, template: "<ng-content />\n@if (empty()) {\n <!-- tuiOption selector purely for cosmetics, do not import -->\n <span\n tuiCell\n tuiOption\n class=\"t-empty\"\n >\n <ng-container *polymorpheusOutlet=\"emptyContent() || fallback() as text\">\n {{ text }}\n </ng-container>\n </span>\n}\n", styles: ["tui-data-list{display:flex;flex-direction:column;padding:calc(var(--tui-data-list-padding) - var(--tui-data-list-margin)) var(--tui-data-list-padding)}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background:transparent}tui-data-list[data-size=s]{--tui-data-list-margin: 0rem;--tui-data-list-padding: .25rem}tui-data-list[data-size=s] [tuiOption]{font:var(--tui-font-body-s);line-height:1rem;min-block-size:1.75rem;padding:.3125rem .375rem}tui-data-list[data-size=s] [tuiOption]:before{font-size:1rem}tui-data-list[data-size=m]{--tui-data-list-margin: .0625rem;--tui-data-list-padding: .25rem}tui-data-list[data-size=m] [tuiOption]{font:var(--tui-font-body-s);min-block-size:2.25rem;padding:.375rem .5rem}tui-data-list[data-size=l]{--tui-data-list-margin: .125rem;--tui-data-list-padding: .375rem}tui-data-list[data-size=l] [tuiOption]{font:var(--tui-font-body-m);min-block-size:2.5rem;padding:.375rem .5rem}tui-data-list [tuiOption]{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;box-sizing:border-box;margin:var(--tui-data-list-margin) 0;border-radius:var(--tui-radius-s);outline:none!important;cursor:pointer;word-break:break-word}tui-data-list [tuiOption]:disabled{opacity:var(--tui-disabled-opacity);cursor:default}@media (hover: hover) and (pointer: fine){tui-data-list [tuiOption]:hover:not(:disabled){background:var(--tui-background-neutral-1)}}tui-data-list [tuiOption]:active:not(:disabled),tui-data-list [tuiOption]:focus-within,tui-data-list [tuiOption]._with-dropdown{background:var(--tui-background-neutral-1)}tui-data-list [tuiOption]:after{font-size:1rem;margin-inline:auto -.625rem;border-inline:.5rem solid}tui-data-list>.t-empty{pointer-events:none;color:var(--tui-text-tertiary)}tui-opt-group{position:relative;display:flex;font:var(--tui-font-body-m);font-weight:700;color:var(--tui-text-primary);flex-direction:column}tui-data-list[data-size=s] tui-opt-group:before{padding-inline:.375rem;font:var(--tui-font-body-s);line-height:1.125rem;font-weight:700}tui-data-list[data-size=l] tui-opt-group{font:var(--tui-font-body-l);font-weight:700}tui-data-list[data-size=l] tui-opt-group:before{padding-inline:.5rem}tui-data-list[data-size=l] tui-opt-group:after{inset-inline:.5rem}tui-opt-group:empty:before,tui-opt-group:empty:after{display:none}tui-opt-group:before{content:attr(data-label);padding:var(--tui-data-list-padding) .5rem;margin:var(--tui-data-list-margin) 0;white-space:normal;word-break:break-word}tui-sheet-dialog tui-opt-group:before{font:var(--tui-font-heading-h6);padding:.5rem 0!important;margin:0}tui-opt-group:after{position:absolute;top:var(--tui-data-list-padding);inset-inline:.5rem;block-size:1px;background:var(--tui-border-normal)}tui-opt-group:not(:empty)~tui-opt-group:before{padding-block-start:calc(.75rem + var(--tui-data-list-padding))}tui-opt-group:not(:empty)~tui-opt-group[data-label=\"\"]:before{padding:var(--tui-data-list-padding) 0}tui-opt-group:not(:empty)~tui-opt-group:after{content:\"\"}tui-opt-group[data-label=\"\"]:before{content:\"\";padding:0;margin:0}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiCell, selector: "[tuiCell]:not(ng-template)", inputs: ["tuiCell", "tuiCellHeight"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
149
+ ], queries: [{ propertyName: "optionsQuery", predicate: i0.forwardRef(() => TuiOptionWithValue), descendants: true, isSignal: true }], ngImport: i0, template: "<ng-content />\n@if (empty()) {\n <!-- tuiOption selector purely for cosmetics, do not import -->\n <span\n tuiCell\n tuiOption\n class=\"t-empty\"\n >\n <ng-container *polymorpheusOutlet=\"emptyContent() || fallback() as text\">\n {{ text }}\n </ng-container>\n </span>\n}\n", styles: ["tui-data-list{display:flex;flex-direction:column;padding:.25rem}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background:transparent}tui-data-list[data-size=s] [tuiOption]{min-block-size:0;font:var(--tui-font-ui-s);padding:.375rem}tui-data-list[data-size=s] [tuiOption]:before,tui-data-list[data-size=s] [tuiOption]:after{font-size:1rem}tui-data-list[data-size=m] [tuiOption]{min-block-size:2.25rem;font:var(--tui-font-ui-s);padding:.5rem .375rem}tui-data-list[data-size=l]{gap:.125rem;padding:.5rem}tui-data-list[data-size=l] [tuiOption]{font:var(--tui-font-ui-m);padding-inline:.5rem}tui-data-list[data-size=l] hr{block-size:1rem;border-inline-width:.5rem}tui-data-list [tuiOption]{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;box-sizing:border-box;border-radius:var(--tui-radius-s);outline:none!important;cursor:pointer;word-break:break-word}tui-data-list [tuiOption]:disabled{opacity:var(--tui-disabled-opacity);cursor:default}@media (hover: hover) and (pointer: fine){tui-data-list [tuiOption]:hover:not(:disabled){background:var(--tui-background-neutral-1)}}tui-data-list [tuiOption]:active:not(:disabled),tui-data-list [tuiOption]:focus-within,tui-data-list [tuiOption]._with-dropdown{background:var(--tui-background-neutral-1)}tui-data-list [tuiOption]:after{margin-inline-start:auto}tui-data-list>.t-empty{pointer-events:none;color:var(--tui-text-tertiary)}tui-data-list hr{position:relative;margin:0;block-size:.75rem;border:.375rem solid transparent;border-block:0}tui-data-list hr+hr,tui-data-list hr:first-child,tui-data-list hr:last-child{display:none}tui-data-list hr:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);content:\"\";block-size:1px;inline-size:100%;background:var(--tui-border-normal)}tui-opt-group{position:relative;display:flex;font-weight:700!important;gap:inherit;color:var(--tui-text-primary);flex-direction:column}tui-data-list[data-size=s] tui-opt-group{font:var(--tui-font-body-s)}tui-data-list[data-size=s] tui-opt-group:before{padding:.1875rem .375rem}tui-data-list[data-size=m] tui-opt-group{font:var(--tui-font-ui-m)}tui-data-list[data-size=m] tui-opt-group:before{padding:.375rem}tui-data-list[data-size=l] tui-opt-group{font:var(--tui-font-ui-l)}tui-data-list[data-size=l] tui-opt-group:before{padding:.5rem}tui-opt-group:empty:before,tui-opt-group[data-label=\"\"]:before{display:none}tui-opt-group:before{content:attr(data-label);word-break:break-word}tui-sheet-dialog tui-opt-group:before{font:var(--tui-font-heading-h6);padding:.5rem 0!important}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiCell, selector: "[tuiCell]:not(ng-template)", inputs: ["tuiCell", "tuiCellHeight"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
150
150
  }
151
151
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiDataListComponent, decorators: [{
152
152
  type: Component,
@@ -169,7 +169,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
169
169
  '(keydown.shift.tab)': 'handleFocusLossIfNecessary()',
170
170
  '(keydown.arrowDown.prevent)': 'onKeyDownArrow($event.target, 1)',
171
171
  '(keydown.arrowUp.prevent)': 'onKeyDownArrow($event.target, -1)',
172
- }, template: "<ng-content />\n@if (empty()) {\n <!-- tuiOption selector purely for cosmetics, do not import -->\n <span\n tuiCell\n tuiOption\n class=\"t-empty\"\n >\n <ng-container *polymorpheusOutlet=\"emptyContent() || fallback() as text\">\n {{ text }}\n </ng-container>\n </span>\n}\n", styles: ["tui-data-list{display:flex;flex-direction:column;padding:calc(var(--tui-data-list-padding) - var(--tui-data-list-margin)) var(--tui-data-list-padding)}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background:transparent}tui-data-list[data-size=s]{--tui-data-list-margin: 0rem;--tui-data-list-padding: .25rem}tui-data-list[data-size=s] [tuiOption]{font:var(--tui-font-body-s);line-height:1rem;min-block-size:1.75rem;padding:.3125rem .375rem}tui-data-list[data-size=s] [tuiOption]:before{font-size:1rem}tui-data-list[data-size=m]{--tui-data-list-margin: .0625rem;--tui-data-list-padding: .25rem}tui-data-list[data-size=m] [tuiOption]{font:var(--tui-font-body-s);min-block-size:2.25rem;padding:.375rem .5rem}tui-data-list[data-size=l]{--tui-data-list-margin: .125rem;--tui-data-list-padding: .375rem}tui-data-list[data-size=l] [tuiOption]{font:var(--tui-font-body-m);min-block-size:2.5rem;padding:.375rem .5rem}tui-data-list [tuiOption]{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;box-sizing:border-box;margin:var(--tui-data-list-margin) 0;border-radius:var(--tui-radius-s);outline:none!important;cursor:pointer;word-break:break-word}tui-data-list [tuiOption]:disabled{opacity:var(--tui-disabled-opacity);cursor:default}@media (hover: hover) and (pointer: fine){tui-data-list [tuiOption]:hover:not(:disabled){background:var(--tui-background-neutral-1)}}tui-data-list [tuiOption]:active:not(:disabled),tui-data-list [tuiOption]:focus-within,tui-data-list [tuiOption]._with-dropdown{background:var(--tui-background-neutral-1)}tui-data-list [tuiOption]:after{font-size:1rem;margin-inline:auto -.625rem;border-inline:.5rem solid}tui-data-list>.t-empty{pointer-events:none;color:var(--tui-text-tertiary)}tui-opt-group{position:relative;display:flex;font:var(--tui-font-body-m);font-weight:700;color:var(--tui-text-primary);flex-direction:column}tui-data-list[data-size=s] tui-opt-group:before{padding-inline:.375rem;font:var(--tui-font-body-s);line-height:1.125rem;font-weight:700}tui-data-list[data-size=l] tui-opt-group{font:var(--tui-font-body-l);font-weight:700}tui-data-list[data-size=l] tui-opt-group:before{padding-inline:.5rem}tui-data-list[data-size=l] tui-opt-group:after{inset-inline:.5rem}tui-opt-group:empty:before,tui-opt-group:empty:after{display:none}tui-opt-group:before{content:attr(data-label);padding:var(--tui-data-list-padding) .5rem;margin:var(--tui-data-list-margin) 0;white-space:normal;word-break:break-word}tui-sheet-dialog tui-opt-group:before{font:var(--tui-font-heading-h6);padding:.5rem 0!important;margin:0}tui-opt-group:after{position:absolute;top:var(--tui-data-list-padding);inset-inline:.5rem;block-size:1px;background:var(--tui-border-normal)}tui-opt-group:not(:empty)~tui-opt-group:before{padding-block-start:calc(.75rem + var(--tui-data-list-padding))}tui-opt-group:not(:empty)~tui-opt-group[data-label=\"\"]:before{padding:var(--tui-data-list-padding) 0}tui-opt-group:not(:empty)~tui-opt-group:after{content:\"\"}tui-opt-group[data-label=\"\"]:before{content:\"\";padding:0;margin:0}\n"] }]
172
+ }, template: "<ng-content />\n@if (empty()) {\n <!-- tuiOption selector purely for cosmetics, do not import -->\n <span\n tuiCell\n tuiOption\n class=\"t-empty\"\n >\n <ng-container *polymorpheusOutlet=\"emptyContent() || fallback() as text\">\n {{ text }}\n </ng-container>\n </span>\n}\n", styles: ["tui-data-list{display:flex;flex-direction:column;padding:.25rem}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background:transparent}tui-data-list[data-size=s] [tuiOption]{min-block-size:0;font:var(--tui-font-ui-s);padding:.375rem}tui-data-list[data-size=s] [tuiOption]:before,tui-data-list[data-size=s] [tuiOption]:after{font-size:1rem}tui-data-list[data-size=m] [tuiOption]{min-block-size:2.25rem;font:var(--tui-font-ui-s);padding:.5rem .375rem}tui-data-list[data-size=l]{gap:.125rem;padding:.5rem}tui-data-list[data-size=l] [tuiOption]{font:var(--tui-font-ui-m);padding-inline:.5rem}tui-data-list[data-size=l] hr{block-size:1rem;border-inline-width:.5rem}tui-data-list [tuiOption]{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;box-sizing:border-box;border-radius:var(--tui-radius-s);outline:none!important;cursor:pointer;word-break:break-word}tui-data-list [tuiOption]:disabled{opacity:var(--tui-disabled-opacity);cursor:default}@media (hover: hover) and (pointer: fine){tui-data-list [tuiOption]:hover:not(:disabled){background:var(--tui-background-neutral-1)}}tui-data-list [tuiOption]:active:not(:disabled),tui-data-list [tuiOption]:focus-within,tui-data-list [tuiOption]._with-dropdown{background:var(--tui-background-neutral-1)}tui-data-list [tuiOption]:after{margin-inline-start:auto}tui-data-list>.t-empty{pointer-events:none;color:var(--tui-text-tertiary)}tui-data-list hr{position:relative;margin:0;block-size:.75rem;border:.375rem solid transparent;border-block:0}tui-data-list hr+hr,tui-data-list hr:first-child,tui-data-list hr:last-child{display:none}tui-data-list hr:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);content:\"\";block-size:1px;inline-size:100%;background:var(--tui-border-normal)}tui-opt-group{position:relative;display:flex;font-weight:700!important;gap:inherit;color:var(--tui-text-primary);flex-direction:column}tui-data-list[data-size=s] tui-opt-group{font:var(--tui-font-body-s)}tui-data-list[data-size=s] tui-opt-group:before{padding:.1875rem .375rem}tui-data-list[data-size=m] tui-opt-group{font:var(--tui-font-ui-m)}tui-data-list[data-size=m] tui-opt-group:before{padding:.375rem}tui-data-list[data-size=l] tui-opt-group{font:var(--tui-font-ui-l)}tui-data-list[data-size=l] tui-opt-group:before{padding:.5rem}tui-opt-group:empty:before,tui-opt-group[data-label=\"\"]:before{display:none}tui-opt-group:before{content:attr(data-label);word-break:break-word}tui-sheet-dialog tui-opt-group:before{font:var(--tui-font-heading-h6);padding:.5rem 0!important}\n"] }]
173
173
  }] });
174
174
 
175
175
  class TuiOptGroup {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-data-list.mjs","sources":["../../../projects/core/components/data-list/data-list.tokens.ts","../../../projects/core/components/data-list/option-content.directive.ts","../../../projects/core/components/data-list/option-with-content.directive.ts","../../../projects/core/components/data-list/option-with-value.directive.ts","../../../projects/core/components/data-list/data-list.component.ts","../../../projects/core/components/data-list/data-list.template.html","../../../projects/core/components/data-list/opt-group.directive.ts","../../../projects/core/components/data-list/option.directive.ts","../../../projects/core/components/data-list/data-list.ts","../../../projects/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import {InjectionToken, type Provider, type Signal, type Type} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiDataListAccessor<T = unknown> {\n options: Signal<readonly T[]>;\n}\n\nexport interface TuiDataListHost<T> {\n handleOption?(option: T): void;\n readonly size?: TuiSizeL | TuiSizeS;\n}\n\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<unknown>>(\n ngDevMode ? 'TUI_DATA_LIST_HOST' : '',\n);\n\nexport function tuiAsDataListHost<T>(host: Type<TuiDataListHost<T>>): Provider {\n return tuiProvide(TUI_DATA_LIST_HOST, host);\n}\n","import {\n ContentChild,\n Directive,\n inject,\n InjectionToken,\n type Provider,\n type Type,\n} from '@angular/core';\n\n/**\n * Content for tuiOption component\n */\nexport const TUI_OPTION_CONTENT = new InjectionToken<Type<any>>(\n ngDevMode ? 'TUI_OPTION_CONTENT' : '',\n);\n\nexport function tuiAsOptionContent(useValue: Type<any>): Provider {\n return {provide: TUI_OPTION_CONTENT, useValue};\n}\n\n@Directive()\nexport class TuiWithOptionContent {\n @ContentChild(TUI_OPTION_CONTENT, {descendants: true})\n protected readonly local: Type<any> | null = null;\n\n protected readonly global = inject<Type<any>>(TUI_OPTION_CONTENT, {optional: true});\n\n public get content(): Type<any> | null | undefined {\n return this.global ?? this.local;\n }\n}\n","import {\n createComponent,\n Directive,\n EnvironmentInjector,\n inject,\n INJECTOR,\n ViewContainerRef,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {TUI_OPTION_CONTENT} from './option-content.directive';\n\n@Directive()\nexport class TuiOptionWithContent {\n private readonly vcr = inject(ViewContainerRef);\n private readonly content = inject(TUI_OPTION_CONTENT, {optional: true});\n private readonly ref =\n this.content &&\n createComponent(this.content, {\n environmentInjector: inject(EnvironmentInjector),\n elementInjector: inject(INJECTOR),\n hostElement: tuiInjectElement(),\n });\n\n constructor() {\n if (this.ref) {\n this.vcr.insert(this.ref.hostView);\n this.ref.changeDetectorRef.detectChanges();\n }\n }\n}\n","import {Directive, inject, input} from '@angular/core';\n\nimport {TUI_DATA_LIST_HOST} from './data-list.tokens';\nimport {TuiOptionWithContent} from './option-with-content.directive';\n\n@Directive({\n selector: 'button[tuiOption][value], a[tuiOption][value], label[tuiOption][value]',\n hostDirectives: [TuiOptionWithContent],\n host: {'(click)': 'onClick()'},\n})\nexport class TuiOptionWithValue<T = unknown> {\n private readonly host = inject(TUI_DATA_LIST_HOST, {optional: true});\n\n public readonly disabled = input(false);\n public readonly value = input<T>();\n\n protected onClick(value = this.value()): void {\n if (value !== undefined) {\n this.host?.handleOption?.(value);\n }\n }\n}\n","import {\n type AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n contentChildren,\n DestroyRef,\n forwardRef,\n inject,\n input,\n NgZone,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiTakeUntilDestroyed, tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocusedIn, tuiMoveFocus} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiCell, tuiCellOptionsProvider} from '@taiga-ui/core/components/cell';\nimport {TUI_NOTHING_FOUND_MESSAGE, tuiAsAuxiliary} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {timer} from 'rxjs';\n\nimport {TUI_DATA_LIST_HOST, type TuiDataListAccessor} from './data-list.tokens';\nimport {TUI_OPTION_CONTENT, TuiWithOptionContent} from './option-content.directive';\nimport {TuiOptionWithValue} from './option-with-value.directive';\n\nexport function tuiInjectDataListSize(): TuiSizeL | TuiSizeS {\n const sizes = ['s', 'm', 'l'] as const;\n const size = inject(TUI_DATA_LIST_HOST, {optional: true})?.size;\n\n return size && sizes.includes(size) ? size : 'l';\n}\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n@Component({\n selector: 'tui-data-list',\n imports: [PolymorpheusOutlet, TuiCell],\n templateUrl: './data-list.template.html',\n styleUrl: './data-list.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiCellOptionsProvider(() => ({size: inject(TuiDataListComponent).size()})),\n tuiAsAuxiliary(TuiDataListComponent),\n {\n provide: TUI_OPTION_CONTENT,\n useFactory: () =>\n inject(TuiWithOptionContent, {optional: true})?.content ??\n inject(TUI_OPTION_CONTENT, {skipSelf: true, optional: true}),\n },\n ],\n host: {\n role: 'listbox',\n '[attr.data-size]': 'size()',\n '(focusin)': 'onFocusIn($event.relatedTarget, $event.currentTarget)',\n '(mousedown.prevent)': '(0)',\n '(wheel.zoneless.passive)': 'handleFocusLossIfNecessary()',\n '(mouseleave)': 'handleFocusLossIfNecessary($event.target)',\n '(keydown.tab)': 'handleFocusLossIfNecessary()',\n '(keydown.shift.tab)': 'handleFocusLossIfNecessary()',\n '(keydown.arrowDown.prevent)': 'onKeyDownArrow($event.target, 1)',\n '(keydown.arrowUp.prevent)': 'onKeyDownArrow($event.target, -1)',\n },\n})\nexport class TuiDataListComponent<T>\n implements TuiDataListAccessor<T>, AfterContentChecked\n{\n private origin?: HTMLElement;\n private readonly ngZone = inject(NgZone);\n private readonly destroyRef = inject(DestroyRef);\n private readonly el = tuiInjectElement();\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly optionsQuery = contentChildren<TuiOptionWithValue<T>>(\n forwardRef(() => TuiOptionWithValue),\n {descendants: true},\n );\n\n protected readonly fallback = inject(TUI_NOTHING_FOUND_MESSAGE);\n protected readonly empty = signal(false);\n\n public readonly emptyContent = input<PolymorpheusContent>();\n public readonly size = input(tuiInjectDataListSize());\n\n public readonly options = computed(() =>\n this.optionsQuery()\n .map(({value}) => value())\n .filter(tuiIsPresent),\n );\n\n public onKeyDownArrow(current: HTMLElement, step: number): void {\n const {elements} = this;\n\n tuiMoveFocus(elements.indexOf(current), elements, step);\n }\n\n public handleFocusLossIfNecessary(element: Element = this.el): void {\n if (tuiIsFocusedIn(element)) {\n this.origin?.focus({preventScroll: true});\n }\n }\n\n // TODO: Refactor to :has after Safari support bumped to 15\n public ngAfterContentChecked(): void {\n timer(0)\n .pipe(tuiZonefree(this.ngZone), tuiTakeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.empty.set(!this.elements.length);\n this.cdr.detectChanges();\n });\n }\n\n protected onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n private get elements(): readonly HTMLElement[] {\n return Array.from(this.el.querySelectorAll('[tuiOption]:not(.t-empty)'));\n }\n}\n","<ng-content />\n@if (empty()) {\n <!-- tuiOption selector purely for cosmetics, do not import -->\n <span\n tuiCell\n tuiOption\n class=\"t-empty\"\n >\n <ng-container *polymorpheusOutlet=\"emptyContent() || fallback() as text\">\n {{ text }}\n </ng-container>\n </span>\n}\n","import {Directive, input} from '@angular/core';\n\n@Directive({\n selector: 'tui-opt-group',\n host: {\n role: 'group',\n '[attr.data-label]': 'label() || \"\"',\n },\n})\nexport class TuiOptGroup {\n public readonly label = input<string | null>();\n}\n","import {Directive, forwardRef, inject, input, type OnDestroy} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TuiCell} from '@taiga-ui/core/components/cell';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {TuiDropdownDirective} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiDataListComponent} from './data-list.component';\n\n@Directive({\n selector: 'button[tuiOption], a[tuiOption], label[tuiOption]',\n hostDirectives: [TuiWithIcons, TuiCell],\n host: {\n type: 'button',\n role: 'option',\n '[attr.disabled]': 'disabled() || null',\n '[class._with-dropdown]': 'dropdown?.()',\n '(mousemove.zoneless)': 'onMouseMove()',\n },\n})\nexport class TuiOption<T = unknown> implements OnDestroy {\n private readonly isMobile = inject(WA_IS_MOBILE);\n private readonly el = tuiInjectElement();\n private readonly datalist = inject<TuiDataListComponent<T>>(\n forwardRef(() => TuiDataListComponent),\n {optional: true},\n );\n\n protected readonly dropdown = inject(TuiDropdownDirective, {\n self: true,\n optional: true,\n })?.ref;\n\n public readonly disabled = input(false);\n\n // Preventing focus loss upon focused option removal\n public ngOnDestroy(): void {\n this.datalist?.handleFocusLossIfNecessary(this.el);\n }\n\n protected onMouseMove(): void {\n if (\n !this.isMobile &&\n !tuiIsFocused(this.el) &&\n this.datalist &&\n this.el.closest('[tuiDataListDropdownManager]')\n ) {\n this.el.focus({preventScroll: true});\n }\n }\n}\n","import {TuiDataListComponent} from './data-list.component';\nimport {TuiOptGroup} from './opt-group.directive';\nimport {TuiOption} from './option.directive';\nimport {TuiOptionWithValue} from './option-with-value.directive';\n\nexport const TuiDataList = [\n TuiDataListComponent,\n TuiOption,\n TuiOptionWithValue,\n TuiOptGroup,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiOptionWithContent"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-data-list.mjs","sources":["../../../projects/core/components/data-list/data-list.tokens.ts","../../../projects/core/components/data-list/option-content.directive.ts","../../../projects/core/components/data-list/option-with-content.directive.ts","../../../projects/core/components/data-list/option-with-value.directive.ts","../../../projects/core/components/data-list/data-list.component.ts","../../../projects/core/components/data-list/data-list.template.html","../../../projects/core/components/data-list/opt-group.directive.ts","../../../projects/core/components/data-list/option.directive.ts","../../../projects/core/components/data-list/data-list.ts","../../../projects/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import {InjectionToken, type Provider, type Signal, type Type} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiDataListAccessor<T = unknown> {\n options: Signal<readonly T[]>;\n}\n\nexport interface TuiDataListHost<T> {\n handleOption?(option: T): void;\n readonly size?: TuiSizeL | TuiSizeS;\n}\n\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<unknown>>(\n ngDevMode ? 'TUI_DATA_LIST_HOST' : '',\n);\n\nexport function tuiAsDataListHost<T>(host: Type<TuiDataListHost<T>>): Provider {\n return tuiProvide(TUI_DATA_LIST_HOST, host);\n}\n","import {\n ContentChild,\n Directive,\n inject,\n InjectionToken,\n type Provider,\n type Type,\n} from '@angular/core';\n\n/**\n * Content for tuiOption component\n */\nexport const TUI_OPTION_CONTENT = new InjectionToken<Type<any>>(\n ngDevMode ? 'TUI_OPTION_CONTENT' : '',\n);\n\nexport function tuiAsOptionContent(useValue: Type<any>): Provider {\n return {provide: TUI_OPTION_CONTENT, useValue};\n}\n\n@Directive()\nexport class TuiWithOptionContent {\n @ContentChild(TUI_OPTION_CONTENT, {descendants: true})\n protected readonly local: Type<any> | null = null;\n\n protected readonly global = inject<Type<any>>(TUI_OPTION_CONTENT, {optional: true});\n\n public get content(): Type<any> | null | undefined {\n return this.global ?? this.local;\n }\n}\n","import {\n createComponent,\n Directive,\n EnvironmentInjector,\n inject,\n INJECTOR,\n ViewContainerRef,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {TUI_OPTION_CONTENT} from './option-content.directive';\n\n@Directive()\nexport class TuiOptionWithContent {\n private readonly vcr = inject(ViewContainerRef);\n private readonly content = inject(TUI_OPTION_CONTENT, {optional: true});\n private readonly ref =\n this.content &&\n createComponent(this.content, {\n environmentInjector: inject(EnvironmentInjector),\n elementInjector: inject(INJECTOR),\n hostElement: tuiInjectElement(),\n });\n\n constructor() {\n if (this.ref) {\n this.vcr.insert(this.ref.hostView);\n this.ref.changeDetectorRef.detectChanges();\n }\n }\n}\n","import {Directive, inject, input} from '@angular/core';\n\nimport {TUI_DATA_LIST_HOST} from './data-list.tokens';\nimport {TuiOptionWithContent} from './option-with-content.directive';\n\n@Directive({\n selector: 'button[tuiOption][value], a[tuiOption][value], label[tuiOption][value]',\n hostDirectives: [TuiOptionWithContent],\n host: {'(click)': 'onClick()'},\n})\nexport class TuiOptionWithValue<T = unknown> {\n private readonly host = inject(TUI_DATA_LIST_HOST, {optional: true});\n\n public readonly disabled = input(false);\n public readonly value = input<T>();\n\n protected onClick(value = this.value()): void {\n if (value !== undefined) {\n this.host?.handleOption?.(value);\n }\n }\n}\n","import {\n type AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n contentChildren,\n DestroyRef,\n forwardRef,\n inject,\n input,\n NgZone,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiTakeUntilDestroyed, tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocusedIn, tuiMoveFocus} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiCell, tuiCellOptionsProvider} from '@taiga-ui/core/components/cell';\nimport {TUI_NOTHING_FOUND_MESSAGE, tuiAsAuxiliary} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {timer} from 'rxjs';\n\nimport {TUI_DATA_LIST_HOST, type TuiDataListAccessor} from './data-list.tokens';\nimport {TUI_OPTION_CONTENT, TuiWithOptionContent} from './option-content.directive';\nimport {TuiOptionWithValue} from './option-with-value.directive';\n\nexport function tuiInjectDataListSize(): TuiSizeL | TuiSizeS {\n const sizes = ['s', 'm', 'l'] as const;\n const size = inject(TUI_DATA_LIST_HOST, {optional: true})?.size;\n\n return size && sizes.includes(size) ? size : 'l';\n}\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n@Component({\n selector: 'tui-data-list',\n imports: [PolymorpheusOutlet, TuiCell],\n templateUrl: './data-list.template.html',\n styleUrl: './data-list.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiCellOptionsProvider(() => ({size: inject(TuiDataListComponent).size()})),\n tuiAsAuxiliary(TuiDataListComponent),\n {\n provide: TUI_OPTION_CONTENT,\n useFactory: () =>\n inject(TuiWithOptionContent, {optional: true})?.content ??\n inject(TUI_OPTION_CONTENT, {skipSelf: true, optional: true}),\n },\n ],\n host: {\n role: 'listbox',\n '[attr.data-size]': 'size()',\n '(focusin)': 'onFocusIn($event.relatedTarget, $event.currentTarget)',\n '(mousedown.prevent)': '(0)',\n '(wheel.zoneless.passive)': 'handleFocusLossIfNecessary()',\n '(mouseleave)': 'handleFocusLossIfNecessary($event.target)',\n '(keydown.tab)': 'handleFocusLossIfNecessary()',\n '(keydown.shift.tab)': 'handleFocusLossIfNecessary()',\n '(keydown.arrowDown.prevent)': 'onKeyDownArrow($event.target, 1)',\n '(keydown.arrowUp.prevent)': 'onKeyDownArrow($event.target, -1)',\n },\n})\nexport class TuiDataListComponent<T>\n implements TuiDataListAccessor<T>, AfterContentChecked\n{\n private origin?: HTMLElement;\n private readonly ngZone = inject(NgZone);\n private readonly destroyRef = inject(DestroyRef);\n private readonly el = tuiInjectElement();\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly optionsQuery = contentChildren<TuiOptionWithValue<T>>(\n forwardRef(() => TuiOptionWithValue),\n {descendants: true},\n );\n\n protected readonly fallback = inject(TUI_NOTHING_FOUND_MESSAGE);\n protected readonly empty = signal(false);\n\n public readonly emptyContent = input<PolymorpheusContent>();\n public readonly size = input(tuiInjectDataListSize());\n\n public readonly options = computed(() =>\n this.optionsQuery()\n .map(({value}) => value())\n .filter(tuiIsPresent),\n );\n\n public onKeyDownArrow(current: HTMLElement, step: number): void {\n const {elements} = this;\n\n tuiMoveFocus(elements.indexOf(current), elements, step);\n }\n\n public handleFocusLossIfNecessary(element: Element = this.el): void {\n if (tuiIsFocusedIn(element)) {\n this.origin?.focus({preventScroll: true});\n }\n }\n\n // TODO: Refactor to :has after Safari support bumped to 15\n public ngAfterContentChecked(): void {\n timer(0)\n .pipe(tuiZonefree(this.ngZone), tuiTakeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.empty.set(!this.elements.length);\n this.cdr.detectChanges();\n });\n }\n\n protected onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n private get elements(): readonly HTMLElement[] {\n return Array.from(this.el.querySelectorAll('[tuiOption]:not(.t-empty)'));\n }\n}\n","<ng-content />\n@if (empty()) {\n <!-- tuiOption selector purely for cosmetics, do not import -->\n <span\n tuiCell\n tuiOption\n class=\"t-empty\"\n >\n <ng-container *polymorpheusOutlet=\"emptyContent() || fallback() as text\">\n {{ text }}\n </ng-container>\n </span>\n}\n","import {Directive, input} from '@angular/core';\n\n@Directive({\n selector: 'tui-opt-group',\n host: {\n role: 'group',\n '[attr.data-label]': 'label() || \"\"',\n },\n})\nexport class TuiOptGroup {\n public readonly label = input<string | null>();\n}\n","import {Directive, forwardRef, inject, input, type OnDestroy} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TuiCell} from '@taiga-ui/core/components/cell';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {TuiDropdownDirective} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiDataListComponent} from './data-list.component';\n\n@Directive({\n selector: 'button[tuiOption], a[tuiOption], label[tuiOption]',\n hostDirectives: [TuiWithIcons, TuiCell],\n host: {\n type: 'button',\n role: 'option',\n '[attr.disabled]': 'disabled() || null',\n '[class._with-dropdown]': 'dropdown?.()',\n '(mousemove.zoneless)': 'onMouseMove()',\n },\n})\nexport class TuiOption<T = unknown> implements OnDestroy {\n private readonly isMobile = inject(WA_IS_MOBILE);\n private readonly el = tuiInjectElement();\n private readonly datalist = inject<TuiDataListComponent<T>>(\n forwardRef(() => TuiDataListComponent),\n {optional: true},\n );\n\n protected readonly dropdown = inject(TuiDropdownDirective, {\n self: true,\n optional: true,\n })?.ref;\n\n public readonly disabled = input(false);\n\n // Preventing focus loss upon focused option removal\n public ngOnDestroy(): void {\n this.datalist?.handleFocusLossIfNecessary(this.el);\n }\n\n protected onMouseMove(): void {\n if (\n !this.isMobile &&\n !tuiIsFocused(this.el) &&\n this.datalist &&\n this.el.closest('[tuiDataListDropdownManager]')\n ) {\n this.el.focus({preventScroll: true});\n }\n }\n}\n","import {TuiDataListComponent} from './data-list.component';\nimport {TuiOptGroup} from './opt-group.directive';\nimport {TuiOption} from './option.directive';\nimport {TuiOptionWithValue} from './option-with-value.directive';\n\nexport const TuiDataList = [\n TuiDataListComponent,\n TuiOption,\n TuiOptionWithValue,\n TuiOptGroup,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiOptionWithContent"],"mappings":";;;;;;;;;;;;;;;;;AAaa,MAAA,kBAAkB,GAAG,IAAI,cAAc,CAChD,SAAS,GAAG,oBAAoB,GAAG,EAAE;AAGnC,SAAU,iBAAiB,CAAI,IAA8B,EAAA;AAC/D,IAAA,OAAO,UAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC;AAC/C;;ACVA;;AAEG;AACU,MAAA,kBAAkB,GAAG,IAAI,cAAc,CAChD,SAAS,GAAG,oBAAoB,GAAG,EAAE;AAGnC,SAAU,kBAAkB,CAAC,QAAmB,EAAA;AAClD,IAAA,OAAO,EAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAC;AAClD;MAGa,oBAAoB,CAAA;AADjC,IAAA,WAAA,GAAA;QAGuB,IAAK,CAAA,KAAA,GAAqB,IAAI;QAE9B,IAAM,CAAA,MAAA,GAAG,MAAM,CAAY,kBAAkB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAKtF;AAHG,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK;;+GAP3B,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,iFACf,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FADvB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC;8BAGsB,KAAK,EAAA,CAAA;sBADvB,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,kBAAkB,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC;;;MCT5C,oBAAoB,CAAA;AAW7B,IAAA,WAAA,GAAA;AAViB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC9B,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;QACtD,IAAG,CAAA,GAAA,GAChB,IAAI,CAAC,OAAO;AACZ,YAAA,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE;AAC1B,gBAAA,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,CAAC;AAChD,gBAAA,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC;gBACjC,WAAW,EAAE,gBAAgB,EAAE;AAClC,aAAA,CAAC;AAGF,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AAClC,YAAA,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,aAAa,EAAE;;;+GAdzC,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC;;;MCFY,kBAAkB,CAAA;AAL/B,IAAA,WAAA,GAAA;QAMqB,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAEpD,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;QACvB,IAAK,CAAA,KAAA,GAAG,KAAK,EAAK;AAOrC;AALa,IAAA,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,EAAA;AAClC,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;YACrB,IAAI,CAAC,IAAI,EAAE,YAAY,GAAG,KAAK,CAAC;;;+GAR/B,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wEAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,oBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wEAAwE;oBAClF,cAAc,EAAE,CAAC,oBAAoB,CAAC;AACtC,oBAAA,IAAI,EAAE,EAAC,SAAS,EAAE,WAAW,EAAC;AACjC,iBAAA;;;SCoBe,qBAAqB,GAAA;IACjC,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU;AACtC,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,EAAE,IAAI;AAE/D,IAAA,OAAO,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG;AACpD;AAEA;MA+Ba,oBAAoB,CAAA;AA9BjC,IAAA,WAAA,GAAA;AAkCqB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC/B,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE;AACvB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC/B,QAAA,IAAA,CAAA,YAAY,GAAG,eAAe,CAC3C,UAAU,CAAC,MAAM,kBAAkB,CAAC,EACpC,EAAC,WAAW,EAAE,IAAI,EAAC,CACtB;AAEkB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,yBAAyB,CAAC;AAC5C,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAExB,IAAY,CAAA,YAAA,GAAG,KAAK,EAAuB;AAC3C,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAErC,IAAO,CAAA,OAAA,GAAG,QAAQ,CAAC,MAC/B,IAAI,CAAC,YAAY;aACZ,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,EAAE;AACxB,aAAA,MAAM,CAAC,YAAY,CAAC,CAC5B;AAiCJ;IA/BU,cAAc,CAAC,OAAoB,EAAE,IAAY,EAAA;AACpD,QAAA,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI;AAEvB,QAAA,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC;;AAGpD,IAAA,0BAA0B,CAAC,OAAA,GAAmB,IAAI,CAAC,EAAE,EAAA;AACxD,QAAA,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;YACzB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC;;;;IAK1C,qBAAqB,GAAA;QACxB,KAAK,CAAC,CAAC;AACF,aAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC;aACrE,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;AACrC,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;AAC5B,SAAC,CAAC;;IAGA,SAAS,CAAC,aAA0B,EAAE,aAA0B,EAAA;AACtE,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACxD,YAAA,IAAI,CAAC,MAAM,GAAG,aAAa;;;AAInC,IAAA,IAAY,QAAQ,GAAA;AAChB,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;;+GAtDnE,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAvBlB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,uDAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,wBAAA,EAAA,8BAAA,EAAA,YAAA,EAAA,2CAAA,EAAA,aAAA,EAAA,8BAAA,EAAA,mBAAA,EAAA,8BAAA,EAAA,2BAAA,EAAA,kCAAA,EAAA,yBAAA,EAAA,mCAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA,sBAAsB,CAAC,OAAO,EAAC,IAAI,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,EAAC,CAAC,CAAC;YAC3E,cAAc,CAAC,oBAAoB,CAAC;AACpC,YAAA;AACI,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,UAAU,EAAE,MACR,MAAM,CAAC,oBAAoB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,EAAE,OAAO;AACvD,oBAAA,MAAM,CAAC,kBAAkB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;AACnE,aAAA;AACJ,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAuBoB,kBAAkB,CC5E3C,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,+UAaA,ED0Bc,MAAA,EAAA,CAAA,kjFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,8HAAE,OAAO,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FA4B5B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBA9BhC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAChB,OAAA,EAAA,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAA,aAAA,EAGvB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA,sBAAsB,CAAC,OAAO,EAAC,IAAI,EAAE,MAAM,sBAAsB,CAAC,IAAI,EAAE,EAAC,CAAC,CAAC;AAC3E,wBAAA,cAAc,CAAsB,oBAAA,CAAA;AACpC,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,UAAU,EAAE,MACR,MAAM,CAAC,oBAAoB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,EAAE,OAAO;AACvD,gCAAA,MAAM,CAAC,kBAAkB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;AACnE,yBAAA;qBACJ,EACK,IAAA,EAAA;AACF,wBAAA,IAAI,EAAE,SAAS;AACf,wBAAA,kBAAkB,EAAE,QAAQ;AAC5B,wBAAA,WAAW,EAAE,uDAAuD;AACpE,wBAAA,qBAAqB,EAAE,KAAK;AAC5B,wBAAA,0BAA0B,EAAE,8BAA8B;AAC1D,wBAAA,cAAc,EAAE,2CAA2C;AAC3D,wBAAA,eAAe,EAAE,8BAA8B;AAC/C,wBAAA,qBAAqB,EAAE,8BAA8B;AACrD,wBAAA,6BAA6B,EAAE,kCAAkC;AACjE,wBAAA,2BAA2B,EAAE,mCAAmC;AACnE,qBAAA,EAAA,QAAA,EAAA,+UAAA,EAAA,MAAA,EAAA,CAAA,kjFAAA,CAAA,EAAA;;;MExDQ,WAAW,CAAA;AAPxB,IAAA,WAAA,GAAA;QAQoB,IAAK,CAAA,KAAA,GAAG,KAAK,EAAiB;AACjD;+GAFY,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAPvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE,OAAO;AACb,wBAAA,mBAAmB,EAAE,eAAe;AACvC,qBAAA;AACJ,iBAAA;;;MCaY,SAAS,CAAA;AAXtB,IAAA,WAAA,GAAA;AAYqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;QAC/B,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE;AACvB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAC9B,UAAU,CAAC,MAAM,oBAAoB,CAAC,EACtC,EAAC,QAAQ,EAAE,IAAI,EAAC,CACnB;AAEkB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,oBAAoB,EAAE;AACvD,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,QAAQ,EAAE,IAAI;SACjB,CAAC,EAAE,GAAG;AAES,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;AAiB1C;;IAdU,WAAW,GAAA;QACd,IAAI,CAAC,QAAQ,EAAE,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;;IAG5C,WAAW,GAAA;QACjB,IACI,CAAC,IAAI,CAAC,QAAQ;AACd,YAAA,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;AACtB,YAAA,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC,EACjD;YACE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC;;;+GA3BnC,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,OAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBAXrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mDAAmD;AAC7D,oBAAA,cAAc,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC;AACvC,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,iBAAiB,EAAE,oBAAoB;AACvC,wBAAA,wBAAwB,EAAE,cAAc;AACxC,wBAAA,sBAAsB,EAAE,eAAe;AAC1C,qBAAA;AACJ,iBAAA;;;ACfY,MAAA,WAAW,GAAG;IACvB,oBAAoB;IACpB,SAAS;IACT,kBAAkB;IAClB,WAAW;;;ACTf;;AAEG;;;;"}