nixos-configs/modules/ags/gtk4/widget/subclasses/calendar.ts
matt1432 e7accbd7bd
All checks were successful
Discord / discord commits (push) Has been skipped
feat(ags4): write own ConstructProps to exclude props
2025-01-15 18:17:27 -05:00

28 lines
749 B
TypeScript

import { register } from 'astal';
import { Gtk } from 'astal/gtk4';
import astalify, { type AstalifyProps, type ConstructProps } from '../astalify';
type CalendarSignals = Record<`on${string}`, unknown[]> & {
onDaySelected: []
onNextMonth: []
onNextYear: []
onPrevMonth: []
onPrevYear: []
};
export type CalendarProps = ConstructProps<
CalendarClass,
Gtk.Calendar.ConstructorProps & AstalifyProps,
CalendarSignals
>;
@register({ GTypeName: 'Calendar' })
export class CalendarClass extends astalify(Gtk.Calendar) {
constructor({ cssName = 'calendar', ...props }: CalendarProps = {}) {
super({ cssName, ...props });
}
}
export const Calendar = (props?: CalendarProps) => new CalendarClass(props);