PageSourceSearch

https://wyber.ai/chunk-Z2CZPR4G.js

js wyber.ai collected 2026-10-05 13:22:32 UTC 52,662 bytes, 965 lines download raw bytes

1import {
2  MatPseudoCheckbox,
3  SelectionModel
4} from "./chunk-PMEVESUG.js";
5import {
6  DOWN_ARROW,
7  ENTER,
8  FocusMonitor,
9  LEFT_ARROW,
10  MatCommonModule,
11  MatRipple,
12  MatRippleModule,
13  RIGHT_ARROW,
14  SPACE,
15  UP_ARROW,
16  _CdkPrivateStyleLoader,
17  _IdGenerator,
18  _StructuralStylesLoader
19} from "./chunk-XVJVOIUG.js";
20import {
21  Directionality
22} from "./chunk-X25WEEDB.js";
23import {
24  NG_VALUE_ACCESSOR
25} from "./chunk-4BWSLYHL.js";
26import {
27  ANIMATION_MODULE_TYPE,
28  ChangeDetectionStrategy,
29  ChangeDetectorRef,
30  Component,
31  ContentChildren,
32  Directive,
33  ElementRef,
34  EventEmitter,
35  HostAttributeToken,
36  InjectionToken,
37  Input,
38  NgModule,
39  Output,
40  ViewChild,
41  ViewEncapsulation,
42  booleanAttribute,
43  forwardRef,
44  inject,
45  setClassMetadata,
46  ɵɵProvidersFeature,
47  ɵɵadvance,
48  ɵɵattribute,
49  ɵɵclassProp,
50  ɵɵconditional,
51  ɵɵcontentQuery,
52  ɵɵdefineComponent,
53  ɵɵdefineDirective,
54  ɵɵdefineInjector,
55  ɵɵdefineNgModule,
56  ɵɵelement,
57  ɵɵelementEnd,
58  ɵɵelementStart,
59  ɵɵgetCurrentView,
60  ɵɵlistener,
61  ɵɵloadQuery,
62  ɵɵnextContext,
63  ɵɵprojection,
64  ɵɵprojectionDef,
65  ɵɵproperty,
66  ɵɵqueryRefresh,
67  ɵɵreference,
68  ɵɵresetView,
69  ɵɵrestoreView,
70  ɵɵtemplate,
71  ɵɵviewQuery
72} from "./chunk-6GJQIPT2.js";
73
74// node_modules/@angular/material/fesm2022/button-toggle.mjs
75var _c0 = ["button"];
76var _c1 = ["*"];
77function MatButtonToggle_Conditional_2_Template(rf, ctx) {
78  if (rf & 1) {
79    \u0275\u0275elementStart(0, "div", 2);
80    \u0275\u0275element(1, "mat-pseudo-checkbox", 6);
81    \u0275\u0275elementEnd();
82  }
83  if (rf & 2) {
84    const ctx_r1 = \u0275\u0275nextContext();
85    \u0275\u0275advance();
86    \u0275\u0275property("disabled", ctx_r1.disabled);
87  }
88}
89var MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS = new InjectionToken("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS", {
90  providedIn: "root",
91  factory: MAT_BUTTON_TOGGLE_GROUP_DEFAULT_OPTIONS_FACTORY
92});
93function MAT_BUTTON_TOGGLE_GROUP_DEFAULT_OPTIONS_FACTORY() {
94  return {
95    hideSingleSelectionIndicator: false,
96    hideMultipleSelectionIndicator: false,
97    disabledInteractive: false
98  };
99}
100var MAT_BUTTON_TOGGLE_GROUP = new InjectionToken("MatButtonToggleGroup");
101var MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR = {
102  provide: NG_VALUE_ACCESSOR,
103  useExisting: forwardRef(() => MatButtonToggleGroup),
104  multi: true
105};
106var MatButtonToggleChange = class {
107  source;
108  value;
109  constructor(source, value) {
110    this.source = source;
111    this.value = value;
112  }
113};
114var MatButtonToggleGroup = class _MatButtonToggleGroup {
115  _changeDetector = inject(ChangeDetectorRef);
116  _dir = inject(Directionality, {
117    optional: true
118  });
119  _multiple = false;
120  _disabled = false;
121  _disabledInteractive = false;
122  _selectionModel;
123  /**
124   * Reference to the raw value that the consumer tried to assign. The real
125   * value will exclude any values from this one that don't correspond to a
126   * toggle. Useful for the cases where the value is assigned before the toggles
127   * have been initialized or at the same that they're being swapped out.
128   */
129  _rawValue;
130  /**
131   * The method to be called in order to update ngModel.
132   * Now `ngModel` binding is not supported in multiple selection mode.
133   */
134  _controlValueAccessorChangeFn = () => {
135  };
136  /** onTouch function registered via registerOnTouch (ControlValueAccessor). */
137  _onTouched = () => {
138  };
139  /** Child button toggle buttons. */
140  _buttonToggles;
141  /** The appearance for all the buttons in the group. */
142  appearance;
143  /** `name` attribute for the underlying `input` element. */
144  get name() {
145    return this._name;
146  }
147  set name(value) {
148    this._name = value;
149    this._markButtonsForCheck();
150  }
151  _name = inject(_IdGenerator).getId("mat-button-toggle-group-");
152  /** Whether the toggle group is vertical. */
153  vertical;
154  /** Value of the toggle group. */
155  get value() {
156    const selected = this._selectionModel ? this._selectionModel.selected : [];
157    if (this.multiple) {
158      return selected.map((toggle) => toggle.value);
159    }
160    return selected[0] ? selected[0].value : void 0;
161  }
162  set value(newValue) {
163    this._setSelectionByValue(newValue);
164    this.valueChange.emit(this.value);
165  }
166  /**
167   * Event that emits whenever the value of the group changes.
168   * Used to facilitate two-way data binding.
169   * @docs-private
170   */
171  valueChange = new EventEmitter();
172  /** Selected button toggles in the group. */
173  get selected() {
174    const selected = this._selectionModel ? this._selectionModel.selected : [];
175    return this.multiple ? selected : selected[0] || null;
176  }
177  /** Whether multiple button toggles can be selected. */
178  get multiple() {
179    return this._multiple;
180  }
181  set multiple(value) {
182    this._multiple = value;
183    this._markButtonsForCheck();
184  }
185  /** Whether multiple button toggle group is disabled. */
186  get disabled() {
187    return this._disabled;
188  }
189  set disabled(value) {
190    this._disabled = value;
191    this._markButtonsForCheck();
192  }
193  /** Whether buttons in the group should be interactive while they're disabled. */
194  get disabledInteractive() {
195    return this._disabledInteractive;
196  }
197  set disabledInteractive(value) {
198    this._disabledInteractive = value;
199    this._markButtonsForCheck();
200  }
201  /** The layout direction of the toggle button group. */
202  get dir() {
203    return this._dir && this._dir.value === "rtl" ? "rtl" : "ltr";
204  }
205  /** Event emitted when the group's value changes. */
206  change = new EventEmitter();
207  /** Whether checkmark indicator for single-selection button toggle groups is hidden. */
208  get hideSingleSelectionIndicator() {
209    return this._hideSingleSelectionIndicator;
210  }
211  set hideSingleSelectionIndicator(value) {
212    this._hideSingleSelectionIndicator = value;
213    this._markButtonsForCheck();
214  }
215  _hideSingleSelectionIndicator;
216  /** Whether checkmark indicator for multiple-selection button toggle groups is hidden. */
217  get hideMultipleSelectionIndicator() {
218    return this._hideMultipleSelectionIndicator;
219  }
220  set hideMultipleSelectionIndicator(value) {
221    this._hideMultipleSelectionIndicator = value;
222    this._markButtonsForCheck();
223  }
224  _hideMultipleSelectionIndicator;
225  constructor() {
226    const defaultOptions = inject(MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS, {
227      optional: true
228    });
229    this.appearance = defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : "standard";
230    this.hideSingleSelectionIndicator = defaultOptions?.hideSingleSelectionIndicator ?? false;
231    this.hideMultipleSelectionIndicator = defaultOptions?.hideMultipleSelectionIndicator ?? false;
232  }
233  ngOnInit() {
234    this._selectionModel = new SelectionModel(this.multiple, void 0, false);
235  }
236  ngAfterContentInit() {
237    this._selectionModel.select(...this._buttonToggles.filter((toggle) => toggle.checked));
238    if (!this.multiple) {
239      this._initializeTabIndex();
240    }
241  }
242  /**
243   * Sets the model value. Implemented as part of ControlValueAccessor.
244   * @param value Value to be set to the model.
245   */
246  writeValue(value) {
247    this.value = value;
248    this._changeDetector.markForCheck();
249  }
250  // Implemented as part of ControlValueAccessor.
251  registerOnChange(fn) {
252    this._controlValueAccessorChangeFn = fn;
253  }
254  // Implemented as part of ControlValueAccessor.
255  registerOnTouched(fn) {
256    this._onTouched = fn;
257  }
258  // Implemented as part of ControlValueAccessor.
259  setDisabledState(isDisabled) {
260    this.disabled = isDisabled;
261  }
262  /** Handle keydown event calling to single-select button toggle. */
263  _keydown(event) {
264    if (this.multiple || this.disabled) {
265      return;
266    }
267    const target = event.target;
268    const buttonId = target.id;
269    const index = this._buttonToggles.toArray().findIndex((toggle) => {
270      return toggle.buttonId === buttonId;
271    });
272    let nextButton = null;
273    switch (event.keyCode) {
274      case SPACE:
275      case ENTER:
276        nextButton = this._buttonToggles.get(index) || null;
277        break;
278      case UP_ARROW:
279        nextButton = this._getNextButton(index, -1);
280        break;
281      case LEFT_ARROW:
282        nextButton = this._getNextButton(index, this.dir === "ltr" ? -1 : 1);
283        break;
284      case DOWN_ARROW:
285        nextButton = this._getNextButton(index, 1);
286        break;
287      case RIGHT_ARROW:
288        nextButton = this._getNextButton(index, this.dir === "ltr" ? 1 : -1);
289        break;
290      default:
291        return;
292    }
293    if (nextButton) {
294      event.preventDefault();
295      nextButton._onButtonClick();
296      nextButton.focus();
297    }
298  }
299  /** Dispatch change event with current selection and group value. */
300  _emitChangeEvent(toggle) {
301    const event = new MatButtonToggleChange(toggle, this.value);
302    this._rawValue = event.value;
303    this._controlValueAccessorChangeFn(event.value);
304    this.change.emit(event);
305  }
306  /**
307   * Syncs a button toggle's selected state with the model value.
308   * @param toggle Toggle to be synced.
309   * @param select Whether the toggle should be selected.
310   * @param isUserInput Whether the change was a result of a user interaction.
311   * @param deferEvents Whether to defer emitting the change events.
312   */
313  _syncButtonToggle(toggle, select, isUserInput = false, deferEvents = false) {
314    if (!this.multiple && this.selected && !toggle.checked) {
315      this.selected.checked = false;
316    }
317    if (this._selectionModel) {
318      if (select) {
319        this._selectionModel.select(toggle);
320      } else {
321        this._selectionModel.deselect(toggle);
322      }
323    } else {
324      deferEvents = true;
325    }
326    if (deferEvents) {
327      Promise.resolve().then(() => this._updateModelValue(toggle, isUserInput));
328    } else {
329      this._updateModelValue(toggle, isUserInput);
330    }
331  }
332  /** Checks whether a button toggle is selected. */
333  _isSelected(toggle) {
334    return this._selectionModel && this._selectionModel.isSelected(toggle);
335  }
336  /** Determines whether a button toggle should be checked on init. */
337  _isPrechecked(toggle) {
338    if (typeof this._rawValue === "undefined") {
339      return false;
340    }
341    if (this.multiple && Array.isArray(this._rawValue)) {
342      return this._rawValue.some((value) => toggle.value != null && value === toggle.value);
343    }
344    return toggle.value === this._rawValue;
345  }
346  /** Initializes the tabindex attribute using the radio pattern. */
347  _initializeTabIndex() {
348    this._buttonToggles.forEach((toggle) => {
349      toggle.tabIndex = -1;
350    });
351    if (this.selected) {
352      this.selected.tabIndex = 0;
353    } else {
354      for (let i = 0; i < this._buttonToggles.length; i++) {
355        const toggle = this._buttonToggles.get(i);
356        if (!toggle.disabled) {
357          toggle.tabIndex = 0;
358          break;
359        }
360      }
361    }
362    this._markButtonsForCheck();
363  }
364  /** Obtain the subsequent toggle to which the focus shifts. */
365  _getNextButton(startIndex, offset) {
366    const items = this._buttonToggles;
367    for (let i = 1; i <= items.length; i++) {
368      const index = (startIndex + offset * i + items.length) % items.length;
369      const item = items.get(index);
370      if (item && !item.disabled) {
371        return item;
372      }
373    }
374    return null;
375  }
376  /** Updates the selection state of the toggles in the group based on a value. */
377  _setSelectionByValue(value) {
378    this._rawValue = value;
379    if (!this._buttonToggles) {
380      return;
381    }
382    const toggles = this._buttonToggles.toArray();
383    if (this.multiple && value) {
384      if (!Array.isArray(value) && (typeof ngDevMode === "undefined" || ngDevMode)) {
385        throw Error("Value must be an array in multiple-selection mode.");
386      }
387      this._clearSelection();
388      value.forEach((currentValue) => this._selectValue(currentValue, toggles));
389    } else {
390      this._clearSelection();
391      this._selectValue(value, toggles);
392    }
393    if (!this.multiple && toggles.every((toggle) => toggle.tabIndex === -1)) {
394      for (const toggle of toggles) {
395        if (!toggle.disabled) {
396          toggle.tabIndex = 0;
397          break;
398        }
399      }
400    }
401  }
402  /** Clears the selected toggles. */
403  _clearSelection() {
404    this._selectionModel.clear();
405    this._buttonToggles.forEach((toggle) => {
406      toggle.checked = false;
407      if (!this.multiple) {
408        toggle.tabIndex = -1;
409      }
410    });
411  }
412  /** Selects a value if there's a toggle that corresponds to it. */
413  _selectValue(value, toggles) {
414    for (const toggle of toggles) {
415      if (toggle.value === value) {
416        toggle.checked = true;
417        this._selectionModel.select(toggle);
418        if (!this.multiple) {
419          toggle.tabIndex = 0;
420        }
421        break;
422      }
423    }
424  }
425  /** Syncs up the group's value with the model and emits the change event. */
426  _updateModelValue(toggle, isUserInput) {
427    if (isUserInput) {
428      this._emitChangeEvent(toggle);
429    }
430    this.valueChange.emit(this.value);
431  }
432  /** Marks all of the child button toggles to be checked. */
433  _markButtonsForCheck() {
434    this._buttonToggles?.forEach((toggle) => toggle._markForCheck());
435  }
436  static \u0275fac = function MatButtonToggleGroup_Factory(__ngFactoryType__) {
437    return new (__ngFactoryType__ || _MatButtonToggleGroup)();
438  };
439  static \u0275dir = /* @__PURE__ */ \u0275\u0275defineDirective({
440    type: _MatButtonToggleGroup,
441    selectors: [["mat-button-toggle-group"]],
442    contentQueries: function MatButtonToggleGroup_ContentQueries(rf, ctx, dirIndex) {
443      if (rf & 1) {
444        \u0275\u0275contentQuery(dirIndex, MatButtonToggle, 5);
445      }
446      if (rf & 2) {
447        let _t;
448        \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx._buttonToggles = _t);
449      }
450    },
451    hostAttrs: [1, "mat-button-toggle-group"],
452    hostVars: 6,
453    hostBindings: function MatButtonToggleGroup_HostBindings(rf, ctx) {
454      if (rf & 1) {
455        \u0275\u0275listener("keydown", function MatButtonToggleGroup_keydown_HostBindingHandler($event) {
456          return ctx._keydown($event);
457        });
458      }
459      if (rf & 2) {
460        \u0275\u0275attribute("role", ctx.multiple ? "group" : "radiogroup")("aria-disabled", ctx.disabled);
461        \u0275\u0275classProp("mat-button-toggle-vertical", ctx.vertical)("mat-button-toggle-group-appearance-standard", ctx.appearance === "standard");
462      }
463    },
464    inputs: {
465      appearance: "appearance",
466      name: "name",
467      vertical: [2, "vertical", "vertical", booleanAttribute],
468      value: "value",
469      multiple: [2, "multiple", "multiple", booleanAttribute],
470      disabled: [2, "disabled", "disabled", booleanAttribute],
471      disabledInteractive: [2, "disabledInteractive", "disabledInteractive", booleanAttribute],
472      hideSingleSelectionIndicator: [2, "hideSingleSelectionIndicator", "hideSingleSelectionIndicator", booleanAttribute],
473      hideMultipleSelectionIndicator: [2, "hideMultipleSelectionIndicator", "hideMultipleSelectionIndicator", booleanAttribute]
474    },
475    outputs: {
476      valueChange: "valueChange",
477      change: "change"
478    },
479    exportAs: ["matButtonToggleGroup"],
480    features: [\u0275\u0275ProvidersFeature([MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR, {
481      provide: MAT_BUTTON_TOGGLE_GROUP,
482      useExisting: _MatButtonToggleGroup
483    }])]
484  });
485};
486(() => {
487  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MatButtonToggleGroup, [{
488    type: Directive,
489    args: [{
490      selector: "mat-button-toggle-group",
491      providers: [MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR, {
492        provide: MAT_BUTTON_TOGGLE_GROUP,
493        useExisting: MatButtonToggleGroup
494      }],
495      host: {
496        "class": "mat-button-toggle-group",
497        "(keydown)": "_keydown($event)",
498        "[attr.role]": "multiple ? 'group' : 'radiogroup'",
499        "[attr.aria-disabled]": "disabled",
500        "[class.mat-button-toggle-vertical]": "vertical",
501        "[class.mat-button-toggle-group-appearance-standard]": 'appearance === "standard"'
502      },
503      exportAs: "matButtonToggleGroup"
504    }]
505  }], () => [], {
506    _buttonToggles: [{
507      type: ContentChildren,
508      args: [forwardRef(() => MatButtonToggle), {
509        // Note that this would technically pick up toggles
510        // from nested groups, but that's not a case that we support.
511        descendants: true
512      }]
513    }],
514    appearance: [{
515      type: Input
516    }],
517    name: [{
518      type: Input
519    }],
520    vertical: [{
521      type: Input,
522      args: [{
523        transform: booleanAttribute
524      }]
525    }],
526    value: [{
527      type: Input
528    }],
529    valueChange: [{
530      type: Output
531    }],
532    multiple: [{
533      type: Input,
534      args: [{
535        transform: booleanAttribute
536      }]
537    }],
538    disabled: [{
539      type: Input,
540      args: [{
541        transform: booleanAttribute
542      }]
543    }],
544    disabledInteractive: [{
545      type: Input,
546      args: [{
547        transform: booleanAttribute
548      }]
549    }],
550    change: [{
551      type: Output
552    }],
553    hideSingleSelectionIndicator: [{
554      type: Input,
555      args: [{
556        transform: booleanAttribute
557      }]
558    }],
559    hideMultipleSelectionIndicator: [{
560      type: Input,
561      args: [{
562        transform: booleanAttribute
563      }]
564    }]
565  });
566})();
567var MatButtonToggle = class _MatButtonToggle {
568  _changeDetectorRef = inject(ChangeDetectorRef);
569  _elementRef = inject(ElementRef);
570  _focusMonitor = inject(FocusMonitor);
571  _idGenerator = inject(_IdGenerator);
572  _animationMode = inject(ANIMATION_MODULE_TYPE, {
573    optional: true
574  });
575  _checked = false;
576  /**
577   * Attached to the aria-label attribute of the host element. In most cases, aria-labelledby will
578   * take precedence so this may be omitted.
579   */
580  ariaLabel;
581  /**
582   * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element
583   */
584  ariaLabelledby = null;
585  /** Underlying native `button` element. */
586  _buttonElement;
587  /** The parent button toggle group (exclusive selection). Optional. */
588  buttonToggleGroup;
589  /** Unique ID for the underlying `button` element. */
590  get buttonId() {
591    return `${this.id}-button`;
592  }
593  /** The unique ID for this button toggle. */
594  id;
595  /** HTML's 'name' attribute used to group radios for unique selection. */
596  name;
597  /** MatButtonToggleGroup reads this to assign its own value. */
598  value;
599  /** Tabindex of the toggle. */
600  get tabIndex() {
601    return this._tabIndex;
602  }
603  set tabIndex(value) {
604    if (value !== this._tabIndex) {
605      this._tabIndex = value;
606      this._markForCheck();
607    }
608  }
609  _tabIndex;
610  /** Whether ripples are disabled on the button toggle. */
611  disableRipple;
612  /** The appearance style of the button. */
613  get appearance() {
614    return this.buttonToggleGroup ? this.buttonToggleGroup.appearance : this._appearance;
615  }
616  set appearance(value) {
617    this._appearance = value;
618  }
619  _appearance;
620  /** Whether the button is checked. */
621  get checked() {
622    return this.buttonToggleGroup ? this.buttonToggleGroup._isSelected(this) : this._checked;
623  }
624  set checked(value) {
625    if (value !== this._checked) {
626      this._checked = value;
627      if (this.buttonToggleGroup) {
628        this.buttonToggleGroup._syncButtonToggle(this, this._checked);
629      }
630      this._changeDetectorRef.markForCheck();
631    }
632  }
633  /** Whether the button is disabled. */
634  get disabled() {
635    return this._disabled || this.buttonToggleGroup && this.buttonToggleGroup.disabled;
636  }
637  set disabled(value) {
638    this._disabled = value;
639  }
640  _disabled = false;
641  /** Whether the button should remain interactive when it is disabled. */
642  get disabledInteractive() {
643    return this._disabledInteractive || this.buttonToggleGroup !== null && this.buttonToggleGroup.disabledInteractive;
644  }
645  set disabledInteractive(value) {
646    this._disabledInteractive = value;
647  }
648  _disabledInteractive;
649  /** Event emitted when the group value changes. */
650  change = new EventEmitter();
651  constructor() {
652    inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);
653    const toggleGroup = inject(MAT_BUTTON_TOGGLE_GROUP, {
654      optional: true
655    });
656    const defaultTabIndex = inject(new HostAttributeToken("tabindex"), {
657      optional: true
658    }) || "";
659    const defaultOptions = inject(MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS, {
660      optional: true
661    });
662    this._tabIndex = parseInt(defaultTabIndex) || 0;
663    this.buttonToggleGroup = toggleGroup;
664    this.appearance = defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : "standard";
665    this.disabledInteractive = defaultOptions?.disabledInteractive ?? false;
666  }
667  ngOnInit() {
668    const group = this.buttonToggleGroup;
669    this.id = this.id || this._idGenerator.getId("mat-button-toggle-");
670    if (group) {
671      if (group._isPrechecked(this)) {
672        this.checked = true;
673      } else if (group._isSelected(this) !== this._checked) {
674        group._syncButtonToggle(this, this._checked);
675      }
676    }
677  }
678  ngAfterViewInit() {
679    if (this._animationMode !== "NoopAnimations") {
680      this._elementRef.nativeElement.classList.add("mat-button-toggle-animations-enabled");
681    }
682    this._focusMonitor.monitor(this._elementRef, true);
683  }
684  ngOnDestroy() {
685    const group = this.buttonToggleGroup;
686    this._focusMonitor.stopMonitoring(this._elementRef);
687    if (group && group._isSelected(this)) {
688      group._syncButtonToggle(this, false, false, true);
689    }
690  }
691  /** Focuses the button. */
692  focus(options) {
693    this._buttonElement.nativeElement.focus(options);
694  }
695  /** Checks the button toggle due to an interaction with the underlying native button. */
696  _onButtonClick() {
697    if (this.disabled) {
698      return;
699    }
700    const newChecked = this.isSingleSelector() ? true : !this._checked;
701    if (newChecked !== this._checked) {
702      this._checked = newChecked;
703      if (this.buttonToggleGroup) {
704        this.buttonToggleGroup._syncButtonToggle(this, this._checked, true);
705        this.buttonToggleGroup._onTouched();
706      }
707    }
708    if (this.isSingleSelector()) {
709      const focusable = this.buttonToggleGroup._buttonToggles.find((toggle) => {
710        return toggle.tabIndex === 0;
711      });
712      if (focusable) {
713        focusable.tabIndex = -1;
714      }
715      this.tabIndex = 0;
716    }
717    this.change.emit(new MatButtonToggleChange(this, this.value));
718  }
719  /**
720   * Marks the button toggle as needing checking for change detection.
721   * This method is exposed because the parent button toggle group will directly
722   * update bound properties of the radio button.
723   */
724  _markForCheck() {
725    this._changeDetectorRef.markForCheck();
726  }
727  /** Gets the name that should be assigned to the inner DOM node. */
728  _getButtonName() {
729    if (this.isSingleSelector()) {
730      return this.buttonToggleGroup.name;
731    }
732    return this.name || null;
733  }
734  /** Whether the toggle is in single selection mode. */
735  isSingleSelector() {
736    return this.buttonToggleGroup && !this.buttonToggleGroup.multiple;
737  }
738  static \u0275fac = function MatButtonToggle_Factory(__ngFactoryType__) {
739    return new (__ngFactoryType__ || _MatButtonToggle)();
740  };
741  static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({
742    type: _MatButtonToggle,
743    selectors: [["mat-button-toggle"]],
744    viewQuery: function MatButtonToggle_Query(rf, ctx) {
745      if (rf & 1) {
746        \u0275\u0275viewQuery(_c0, 5);
747      }
748      if (rf & 2) {
749        let _t;
750        \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx._buttonElement = _t.first);
751      }
752    },
753    hostAttrs: ["role", "presentation", 1, "mat-button-toggle"],
754    hostVars: 14,
755    hostBindings: function MatButtonToggle_HostBindings(rf, ctx) {
756      if (rf & 1) {
757        \u0275\u0275listener("focus", function MatButtonToggle_focus_HostBindingHandler() {
758          return ctx.focus();
759        });
760      }
761      if (rf & 2) {
762        \u0275\u0275attribute("aria-label", null)("aria-labelledby", null)("id", ctx.id)("name", null);
763        \u0275\u0275classProp("mat-button-toggle-standalone", !ctx.buttonToggleGroup)("mat-button-toggle-checked", ctx.checked)("mat-button-toggle-disabled", ctx.disabled)("mat-button-toggle-disabled-interactive", ctx.disabledInteractive)("mat-button-toggle-appearance-standard", ctx.appearance === "standard");
764      }
765    },
766    inputs: {
767      ariaLabel: [0, "aria-label", "ariaLabel"],
768      ariaLabelledby: [0, "aria-labelledby", "ariaLabelledby"],
769      id: "id",
770      name: "name",
771      value: "value",
772      tabIndex: "tabIndex",
773      disableRipple: [2, "disableRipple", "disableRipple", booleanAttribute],
774      appearance: "appearance",
775      checked: [2, "checked", "checked", booleanAttribute],
776      disabled: [2, "disabled", "disabled", booleanAttribute],
777      disabledInteractive: [2, "disabledInteractive", "disabledInteractive", booleanAttribute]
778    },
779    outputs: {
780      change: "change"
781    },
782    exportAs: ["matButtonToggle"],
783    ngContentSelectors: _c1,
784    decls: 7,
785    vars: 13,
786    consts: [["button", ""], ["type", "button", 1, "mat-button-toggle-button", "mat-focus-indicator", 3, "click", "id", "disabled"], [1, "mat-button-toggle-checkbox-wrapper"], [1, "mat-button-toggle-label-content"], [1, "mat-button-toggle-focus-overlay"], ["matRipple", "", 1, "mat-button-toggle-ripple", 3, "matRippleTrigger", "matRippleDisabled"], ["state", "checked", "aria-hidden", "true", "appearance", "minimal", 3, "disabled"]],
787    template: function MatButtonToggle_Template(rf, ctx) {
788      if (rf & 1) {
789        const _r1 = \u0275\u0275getCurrentView();
790        \u0275\u0275projectionDef();
791        \u0275\u0275elementStart(0, "button", 1, 0);
792        \u0275\u0275listener("click", function MatButtonToggle_Template_button_click_0_listener() {
793          \u0275\u0275restoreView(_r1);
794          return \u0275\u0275resetView(ctx._onButtonClick());
795        });
796        \u0275\u0275template(2, MatButtonToggle_Conditional_2_Template, 2, 1, "div", 2);
797        \u0275\u0275elementStart(3, "span", 3);
798        \u0275\u0275projection(4);
799        \u0275\u0275elementEnd()();
800        \u0275\u0275element(5, "span", 4)(6, "span", 5);
801      }
802      if (rf & 2) {
803        const button_r3 = \u0275\u0275reference(1);
804        \u0275\u0275property("id", ctx.buttonId)("disabled", ctx.disabled && !ctx.disabledInteractive || null);
805        \u0275\u0275attribute("role", ctx.isSingleSelector() ? "radio" : "button")("tabindex", ctx.disabled && !ctx.disabledInteractive ? -1 : ctx.tabIndex)("aria-pressed", !ctx.isSingleSelector() ? ctx.checked : null)("aria-checked", ctx.isSingleSelector() ? ctx.checked : null)("name", ctx._getButtonName())("aria-label", ctx.ariaLabel)("aria-labelledby", ctx.ariaLabelledby)("aria-disabled", ctx.disabled && ctx.disabledInteractive ? "true" : null);
806        \u0275\u0275advance(2);
807        \u0275\u0275conditional(ctx.buttonToggleGroup && (!ctx.buttonToggleGroup.multiple && !ctx.buttonToggleGroup.hideSingleSelectionIndicator || ctx.buttonToggleGroup.multiple && !ctx.buttonToggleGroup.hideMultipleSelectionIndicator) ? 2 : -1);
808        \u0275\u0275advance(4);
809        \u0275\u0275property("matRippleTrigger", button_r3)("matRippleDisabled", ctx.disableRipple || ctx.disabled);
810      }
811    },
812    dependencies: [MatRipple, MatPseudoCheckbox],
813    styles: [".mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);transform:translateZ(0);border-radius:var(--mat-legacy-button-toggle-shape)}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}@media(forced-colors: active){.mat-button-toggle-standalone,.mat-button-toggle-group{outline:solid 1px}}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large));border:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard .mat-pseudo-checkbox,.mat-button-toggle-group-appearance-standard .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-standard-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}@media(forced-colors: active){.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{outline:0}}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative;color:var(--mat-legacy-button-toggle-text-color);font-family:var(--mat-legacy-button-toggle-label-text-font);font-size:var(--mat-legacy-button-toggle-label-text-size);line-height:var(--mat-legacy-button-toggle-label-text-line-height);font-weight:var(--mat-legacy-button-toggle-label-text-weight);letter-spacing:var(--mat-legacy-button-toggle-label-text-tracking);--mat-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-legacy-button-toggle-selected-state-text-color)}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-legacy-button-toggle-focus-state-layer-opacity)}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle-checkbox-wrapper{display:inline-block;justify-content:flex-start;align-items:center;width:0;height:18px;line-height:18px;overflow:hidden;box-sizing:border-box;position:absolute;top:50%;left:16px;transform:translate3d(0, -50%, 0)}
813[dir=rtl] .mat-button-toggle-checkbox-wrapper{left:auto;right:16px}.mat-button-toggle-appearance-standard .mat-button-toggle-checkbox-wrapper{left:12px}[dir=rtl] .mat-button-toggle-appearance-standard .mat-button-toggle-checkbox-wrapper{left:auto;right:12px}.mat-button-toggle-checked .mat-button-toggle-checkbox-wrapper{width:18px}.mat-button-toggle-animations-enabled .mat-button-toggle-checkbox-wrapper{transition:width 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-button-toggle-vertical .mat-button-toggle-checkbox-wrapper{transition:none}.mat-button-toggle-checked{color:var(--mat-legacy-button-toggle-selected-state-text-color);background-color:var(--mat-legacy-button-toggle-selected-state-background-color)}.mat-button-toggle-disabled{pointer-events:none;color:var(--mat-legacy-button-toggle-disabled-state-text-color);background-color:var(--mat-legacy-button-toggle-disabled-state-background-color);--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var(--mat-legacy-button-toggle-disabled-state-text-color)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:var(--mat-legacy-button-toggle-disabled-selected-state-background-color)}.mat-button-toggle-disabled-interactive{pointer-events:auto}.mat-button-toggle-appearance-standard{color:var(--mat-standard-button-toggle-text-color, var(--mat-sys-on-surface));background-color:var(--mat-standard-button-toggle-background-color, transparent);font-family:var(--mat-standard-button-toggle-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-standard-button-toggle-label-text-size, var(--mat-sys-label-large-size));line-height:var(--mat-standard-button-toggle-label-text-line-height, var(--mat-sys-label-large-line-height));font-weight:var(--mat-standard-button-toggle-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-standard-button-toggle-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-sys-outline))}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:none;border-top:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container));background-color:var(--mat-standard-button-toggle-selected-state-background-color, var(--mat-sys-secondary-container))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled{color:var(--mat-standard-button-toggle-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-standard-button-toggle-disabled-state-background-color, transparent)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var(--mat-standard-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-standard-button-toggle-disabled-selected-state-background-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:var(--mat-standard-button-toggle-state-layer-color, var(--mat-sys-on-surface))}.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-button-toggle-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-button-toggle-appearance-standard.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-button-toggle-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}@media(hover: none){.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;user-select:none;display:inline-block;padding:0 16px;line-height:var(--mat-legacy-button-toggle-height);position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px;line-height:var(--mat-standard-button-toggle-height, 40px)}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;pointer-events:none;opacity:0;background-color:var(--mat-legacy-button-toggle-state-layer-color)}@media(forced-colors: active){.mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 500px;opacity:.5;height:0}.mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay{opacity:.6}.mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-animations-enabled .mat-button-toggle-button{transition:padding 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-button-toggle-vertical .mat-button-toggle-button{transition:none}
813.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}.mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper){padding-left:30px}[dir=rtl] .mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper){padding-left:0;padding-right:30px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{--mat-focus-indicator-border-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard:not(.mat-button-toggle-vertical) .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard:not(.mat-button-toggle-vertical) .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-bottom-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large));border-top-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large))}\n"],
814    encapsulation: 2,
815    changeDetection: 0
816  });
817};
818(() => {
819  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MatButtonToggle, [{
820    type: Component,
821    args: [{
822      selector: "mat-button-toggle",
823      encapsulation: ViewEncapsulation.None,
824      exportAs: "matButtonToggle",
825      changeDetection: ChangeDetectionStrategy.OnPush,
826      host: {
827        "[class.mat-button-toggle-standalone]": "!buttonToggleGroup",
828        "[class.mat-button-toggle-checked]": "checked",
829        "[class.mat-button-toggle-disabled]": "disabled",
830        "[class.mat-button-toggle-disabled-interactive]": "disabledInteractive",
831        "[class.mat-button-toggle-appearance-standard]": 'appearance === "standard"',
832        "class": "mat-button-toggle",
833        "[attr.aria-label]": "null",
834        "[attr.aria-labelledby]": "null",
835        "[attr.id]": "id",
836        "[attr.name]": "null",
837        "(focus)": "focus()",
838        "role": "presentation"
839      },
840      imports: [MatRipple, MatPseudoCheckbox],
841      template: `<button #button class="mat-button-toggle-button mat-focus-indicator"
842        type="button"
843        [id]="buttonId"
844        [attr.role]="isSingleSelector() ? 'radio' : 'button'"
845        [attr.tabindex]="disabled && !disabledInteractive ? -1 : tabIndex"
846        [attr.aria-pressed]="!isSingleSelector() ? checked : null"
847        [attr.aria-checked]="isSingleSelector() ? checked : null"
848        [disabled]="(disabled && !disabledInteractive) || null"
849        [attr.name]="_getButtonName()"
850        [attr.aria-label]="ariaLabel"
851        [attr.aria-labelledby]="ariaLabelledby"
852        [attr.aria-disabled]="disabled && disabledInteractive ? 'true' : null"
853        (click)="_onButtonClick()">
854  @if (buttonToggleGroup && (
855    !buttonToggleGroup.multiple && !buttonToggleGroup.hideSingleSelectionIndicator ||
856    buttonToggleGroup.multiple && !buttonToggleGroup.hideMultipleSelectionIndicator)
857  ) {
858    <div class="mat-button-toggle-checkbox-wrapper">
859      <mat-pseudo-checkbox
860        [disabled]="disabled"
861        state="checked"
862        aria-hidden="true"
863        appearance="minimal"/>
864    </div>
865  }
866
867  <span class="mat-button-toggle-label-content">
868    <ng-content></ng-content>
869  </span>
870</button>
871
872<span class="mat-button-toggle-focus-overlay"></span>
873<span class="mat-button-toggle-ripple" matRipple
874     [matRippleTrigger]="button"
875     [matRippleDisabled]="this.disableRipple || this.disabled">
876</span>
877`,
878      styles: [".mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);transform:translateZ(0);border-radius:var(--mat-legacy-button-toggle-shape)}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}@media(forced-colors: active){.mat-button-toggle-standalone,.mat-button-toggle-group{outline:solid 1px}}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large));border:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard .mat-pseudo-checkbox,.mat-button-toggle-group-appearance-standard .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-standard-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}@media(forced-colors: active){.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{outline:0}}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative;color:var(--mat-legacy-button-toggle-text-color);font-family:var(--mat-legacy-button-toggle-label-text-font);font-size:var(--mat-legacy-button-toggle-label-text-size);line-height:var(--mat-legacy-button-toggle-label-text-line-height);font-weight:var(--mat-legacy-button-toggle-label-text-weight);letter-spacing:var(--mat-legacy-button-toggle-label-text-tracking);--mat-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-legacy-button-toggle-selected-state-text-color)}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-legacy-button-toggle-focus-state-layer-opacity)}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle-checkbox-wrapper{display:inline-block;justify-content:flex-start;align-items:center;width:0;height:18px;line-height:18px;overflow:hidden;box-sizing:border-box;position:absolute;top:50%;left:16px;transform:translate3d(0, -50%, 0)}
878[dir=rtl] .mat-button-toggle-checkbox-wrapper{left:auto;right:16px}.mat-button-toggle-appearance-standard .mat-button-toggle-checkbox-wrapper{left:12px}[dir=rtl] .mat-button-toggle-appearance-standard .mat-button-toggle-checkbox-wrapper{left:auto;right:12px}.mat-button-toggle-checked .mat-button-toggle-checkbox-wrapper{width:18px}.mat-button-toggle-animations-enabled .mat-button-toggle-checkbox-wrapper{transition:width 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-button-toggle-vertical .mat-button-toggle-checkbox-wrapper{transition:none}.mat-button-toggle-checked{color:var(--mat-legacy-button-toggle-selected-state-text-color);background-color:var(--mat-legacy-button-toggle-selected-state-background-color)}.mat-button-toggle-disabled{pointer-events:none;color:var(--mat-legacy-button-toggle-disabled-state-text-color);background-color:var(--mat-legacy-button-toggle-disabled-state-background-color);--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var(--mat-legacy-button-toggle-disabled-state-text-color)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:var(--mat-legacy-button-toggle-disabled-selected-state-background-color)}.mat-button-toggle-disabled-interactive{pointer-events:auto}.mat-button-toggle-appearance-standard{color:var(--mat-standard-button-toggle-text-color, var(--mat-sys-on-surface));background-color:var(--mat-standard-button-toggle-background-color, transparent);font-family:var(--mat-standard-button-toggle-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-standard-button-toggle-label-text-size, var(--mat-sys-label-large-size));line-height:var(--mat-standard-button-toggle-label-text-line-height, var(--mat-sys-label-large-line-height));font-weight:var(--mat-standard-button-toggle-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-standard-button-toggle-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-sys-outline))}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:none;border-top:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container));background-color:var(--mat-standard-button-toggle-selected-state-background-color, var(--mat-sys-secondary-container))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled{color:var(--mat-standard-button-toggle-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-standard-button-toggle-disabled-state-background-color, transparent)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var(--mat-standard-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-standard-button-toggle-disabled-selected-state-background-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:var(--mat-standard-button-toggle-state-layer-color, var(--mat-sys-on-surface))}.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-button-toggle-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-button-toggle-appearance-standard.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-button-toggle-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}@media(hover: none){.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;user-select:none;display:inline-block;padding:0 16px;line-height:var(--mat-legacy-button-toggle-height);position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px;line-height:var(--mat-standard-button-toggle-height, 40px)}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;pointer-events:none;opacity:0;background-color:var(--mat-legacy-button-toggle-state-layer-color)}@media(forced-colors: active){.mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 500px;opacity:.5;height:0}.mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay{opacity:.6}.mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-animations-enabled .mat-button-toggle-button{transition:padding 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-button-toggle-vertical .mat-button-toggle-button{transition:none}
878.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}.mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper){padding-left:30px}[dir=rtl] .mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper){padding-left:0;padding-right:30px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{--mat-focus-indicator-border-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard:not(.mat-button-toggle-vertical) .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard:not(.mat-button-toggle-vertical) .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-bottom-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large));border-top-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-sys-corner-extra-large))}\n"]
879    }]
880  }], () => [], {
881    ariaLabel: [{
882      type: Input,
883      args: ["aria-label"]
884    }],
885    ariaLabelledby: [{
886      type: Input,
887      args: ["aria-labelledby"]
888    }],
889    _buttonElement: [{
890      type: ViewChild,
891      args: ["button"]
892    }],
893    id: [{
894      type: Input
895    }],
896    name: [{
897      type: Input
898    }],
899    value: [{
900      type: Input
901    }],
902    tabIndex: [{
903      type: Input
904    }],
905    disableRipple: [{
906      type: Input,
907      args: [{
908        transform: booleanAttribute
909      }]
910    }],
911    appearance: [{
912      type: Input
913    }],
914    checked: [{
915      type: Input,
916      args: [{
917        transform: booleanAttribute
918      }]
919    }],
920    disabled: [{
921      type: Input,
922      args: [{
923        transform: booleanAttribute
924      }]
925    }],
926    disabledInteractive: [{
927      type: Input,
928      args: [{
929        transform: booleanAttribute
930      }]
931    }],
932    change: [{
933      type: Output
934    }]
935  });
936})();
937var MatButtonToggleModule = class _MatButtonToggleModule {
938  static \u0275fac = function MatButtonToggleModule_Factory(__ngFactoryType__) {
939    return new (__ngFactoryType__ || _MatButtonToggleModule)();
940  };
941  static \u0275mod = /* @__PURE__ */ \u0275\u0275defineNgModule({
942    type: _MatButtonToggleModule,
943    imports: [MatCommonModule, MatRippleModule, MatButtonToggleGroup, MatButtonToggle],
944    exports: [MatCommonModule, MatButtonToggleGroup, MatButtonToggle]
945  });
946  static \u0275inj = /* @__PURE__ */ \u0275\u0275defineInjector({
947    imports: [MatCommonModule, MatRippleModule, MatButtonToggle, MatCommonModule]
948  });
949};
950(() => {
951  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MatButtonToggleModule, [{
952    type: NgModule,
953    args: [{
954      imports: [MatCommonModule, MatRippleModule, MatButtonToggleGroup, MatButtonToggle],
955      exports: [MatCommonModule, MatButtonToggleGroup, MatButtonToggle]
956    }]
957  }], null, null);
958})();
959
960export {
961  MatButtonToggleGroup,
962  MatButtonToggle,
963  MatButtonToggleModule
964};
965//# sourceMappingURL=chunk-Z2CZPR4G.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.