Skip to content

Commit 7e682ea

Browse files
committed
fix(composables/class): use generic types for modifier in useModifierGroup
1 parent f9df0ed commit 7e682ea

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

apps/demo/src/app/components/button/button.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ export class ButtonComponent {
2323
readonly type = useAttribute('type', { defaultValue: 'button' });
2424
readonly isDisabled = useBooleanAttribute('disabled');
2525
readonly isLoading = useModifier('is-loading', { initialValue: false });
26-
readonly appearance = useModifierGroup('solid');
27-
readonly color = useModifierGroup(undefined, { prefix: 'color' });
26+
readonly appearance = useModifierGroup<'solid' | 'outline'>('solid');
27+
readonly color = useModifierGroup<'red' | 'green'>(undefined, { prefix: 'color' });
2828

2929
constructor() {
3030
bindAttribute('tabindex', computed(() => this.isDisabled() ? '-1' : '0'));

libs/composables/class/src/modifier-group.composable.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ const normalizeOptions = (options?: IBindModifierGroupOptions) => ({
121121
* @param modifier - The signal to bind
122122
* @param options - A set of {@link IBindModifierGroupOptions options}
123123
*/
124-
export const bindModifierGroup = <T extends Signal<string | null | undefined>>(
124+
export const bindModifierGroup = <Modifier extends string, T extends Signal<Modifier | null | undefined>>(
125125
modifier: T,
126126
options?: IBindModifierGroupOptions
127127
) => {
@@ -183,11 +183,11 @@ export const bindModifierGroup = <T extends Signal<string | null | undefined>>(
183183
* @param initialValue - The initial modifier
184184
* @param options - A set of {@link IBindModifierGroupOptions options}
185185
*/
186-
export const useModifierGroup = (
187-
initialValue?: string,
186+
export const useModifierGroup = <Modifier extends string>(
187+
initialValue?: Modifier,
188188
options?: IBindModifierGroupOptions
189189
) => {
190-
const modifier = signal<string | null | undefined>(initialValue);
190+
const modifier = signal<Modifier | null | undefined>(initialValue);
191191

192192
bindModifierGroup(modifier, options);
193193

0 commit comments

Comments
 (0)