( initialValue = false, onChange?: (value: boolean) => unknown )
| 669 | * Returns the toggle component's toggleEl directly |
| 670 | */ |
| 671 | export function createCardToggle( |
| 672 | initialValue = false, |
| 673 | onChange?: (value: boolean) => unknown |
| 674 | ): HTMLElement { |
| 675 | const tempContainer = activeDocument.createElement("div"); |
| 676 | const setting = new Setting(tempContainer); |
| 677 | |
| 678 | let toggleEl: HTMLElement | null = null; |
| 679 | setting.addToggle((toggle: ToggleComponent) => { |
| 680 | toggle.setValue(initialValue); |
| 681 | if (onChange) { |
| 682 | toggle.onChange((value) => { |
| 683 | runAsyncSettingCallback(() => onChange(value)); |
| 684 | }); |
| 685 | } |
| 686 | toggleEl = toggle.toggleEl; |
| 687 | }); |
| 688 | |
| 689 | if (!toggleEl) { |
| 690 | throw new Error("Failed to create card toggle"); |
| 691 | } |
| 692 | |
| 693 | return toggleEl; |
| 694 | } |
| 695 | |
| 696 | /** |
| 697 | * Creates a select dropdown with card styling |
no test coverage detected