feat(Parser): Add ToggleFormField node (#902)

* Add ToggleFormField node

* chore: clean up & lint

---------

Co-authored-by: Luan <luan.lrt4@gmail.com>
This commit is contained in:
Dave Nicolson
2025-07-18 15:40:22 +02:00
committed by GitHub
parent 4a4b87afe0
commit 42bcf197bc
2 changed files with 25 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
import { type RawNode } from '../index.js';
import { YTNode } from '../helpers.js';
import NavigationEndpoint from './NavigationEndpoint.js';
export default class ToggleFormField extends YTNode {
static type = 'ToggleFormField';
public label: Text;
public toggled: boolean;
public toggle_on_action?: NavigationEndpoint;
public toggle_off_action?: NavigationEndpoint;
constructor(data: RawNode) {
super();
this.label = new Text(data.label);
this.toggled = data.toggled;
if ('toggleOnAction' in data)
this.toggle_on_action = new NavigationEndpoint(data.toggleOnAction);
if ('toggleOffAction' in data)
this.toggle_off_action = new NavigationEndpoint(data.toggleOffAction);
}
}

View File

@@ -488,6 +488,7 @@ export { default as TimedMarkerDecoration } from './classes/TimedMarkerDecoratio
export { default as TitleAndButtonListHeader } from './classes/TitleAndButtonListHeader.js';
export { default as ToggleButton } from './classes/ToggleButton.js';
export { default as ToggleButtonView } from './classes/ToggleButtonView.js';
export { default as ToggleFormField } from './classes/ToggleFormField.js';
export { default as ToggleMenuServiceItem } from './classes/ToggleMenuServiceItem.js';
export { default as Tooltip } from './classes/Tooltip.js';
export { default as TopicChannelDetails } from './classes/TopicChannelDetails.js';