hyprpanel

This commit is contained in:
wt committed 2024-10-23 21:12:15 +07:00
1 parent 10080a83ee
commit 5151ac24da
322 files changed
+38276

No files matched your search

@@ -0,0 +1,33 @@
import { Label } from './Label';
import { Inputter } from './Inputter';
import icons from 'lib/icons';
import { RowProps } from 'lib/types/options';
import { GBox } from 'lib/types/widget';
export const Option = <T extends string | number | boolean | object>(
props: RowProps<T>,
className: string = '',
): GBox => {
const isUnsaved = Variable(false);
return Widget.Box({
class_name: 'option-item',
hexpand: true,
children: [
Widget.Box({
hpack: 'start',
vpack: 'center',
hexpand: true,
child: Label(props.title, props.subtitle || '', props.subtitleLink),
}),
Inputter(props, className, isUnsaved),
Widget.Button({
vpack: 'center',
class_name: 'reset-options',
child: Widget.Icon(icons.ui.refresh),
on_clicked: () => props.opt.reset(),
sensitive: props.opt.bind().as((v) => v !== props.opt.initial),
}),
],
});
};