type KebabToCamel = T extends `${infer A}-${infer B}` ? `${A}${Capitalize>}` : T; export type WithNormalizedProps = T & { [K in keyof T as K extends `on-${infer Event}` ? `on${Capitalize}` : KebabToCamel]: T[K]; }; export {};