diff --git a/src/lib/components/select-button/select-button.component.ts b/src/lib/components/select-button/select-button.component.ts index b13dd97a..5297abd1 100644 --- a/src/lib/components/select-button/select-button.component.ts +++ b/src/lib/components/select-button/select-button.component.ts @@ -1,5 +1,4 @@ import { Component, EventEmitter, Input, Optional, Output, Self } from '@angular/core'; -import { NgClass } from '@angular/common'; import { ControlValueAccessor, FormsModule, NgControl } from '@angular/forms'; import { SelectButton, SelectButtonChangeEvent } from 'primeng/selectbutton'; import { SharedModule } from 'primeng/api'; @@ -21,8 +20,11 @@ export type ExtraSelectButtonSize = 'sm' | 'base' | 'lg' | 'xlg'; @Component({ selector: 'extra-select-button', standalone: true, - imports: [SelectButton, SharedModule, FormsModule, NgClass], + imports: [SelectButton, SharedModule, FormsModule], template: ` + @if ($any(item)['icon']) { @@ -44,7 +46,7 @@ export type ExtraSelectButtonSize = 'sm' | 'base' | 'lg' | 'xlg'; {{ $any(item)[optionLabel] }} - `, + ` }) export class ExtraSelectButtonComponent implements ControlValueAccessor { @Input() options: ExtraSelectButtonOption[] | any[] = []; @@ -77,10 +79,6 @@ export class ExtraSelectButtonComponent implements ControlValueAccessor { return undefined; } - get primeStyleClass(): string { - return this.size === 'xlg' ? 'p-selectbutton-xlarge' : ''; - } - writeValue(value: any): void { this.value = value ?? null; } diff --git a/src/lib/providers/prime-preset/tokens/components/selectbutton.ts b/src/lib/providers/prime-preset/tokens/components/selectbutton.ts index b58ccaea..577a5f4a 100644 --- a/src/lib/providers/prime-preset/tokens/components/selectbutton.ts +++ b/src/lib/providers/prime-preset/tokens/components/selectbutton.ts @@ -78,8 +78,11 @@ export const selectbuttonCss = ({ dt }: { dt: (token: string) => string }): stri font-size: ${dt('selectbutton.extend.iconSize.lg')}; } -/* Size: xlarge */ +/* Size: xlarge — PrimeNG не вешает на дочерний p-togglebutton класс размера (у него нет + ступени xlg), поэтому паддинги остаются базовыми: задаём их сами, как у отдельного + togglebutton в этой же ступени. */ .p-selectbutton.p-selectbutton-xlarge.p-component .p-togglebutton.p-component { + padding: ${dt('togglebutton.extend.extXlg.padding')}; font-size: ${dt('fonts.fontSize.600')}; line-height: ${dt('fonts.lineHeight.550')}; height: ${dt('togglebutton.extend.extXlg.iconOnlyWidth')};