From d0634e1ca0ba4a157e27e3ab2e95e6c796eb0ad6 Mon Sep 17 00:00:00 2001
From: Particle_G <38580644+ParticleG@users.noreply.github.com>
Date: Sat, 23 Dec 2023 15:35:20 +0800
Subject: [PATCH] Add missing Checkbox() implementation (#796)

Fix: #795
---
 src/ftxui/component/checkbox.cpp | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/src/ftxui/component/checkbox.cpp b/src/ftxui/component/checkbox.cpp
index ebfa46d8..f9e38f9a 100644
--- a/src/ftxui/component/checkbox.cpp
+++ b/src/ftxui/component/checkbox.cpp
@@ -86,6 +86,32 @@ class CheckboxBase : public ComponentBase, public CheckboxOption {
 };
 }  // namespace
 
+/// @brief Draw checkable element.
+/// @param option Additional optional parameters.
+/// @ingroup component
+/// @see CheckboxBase
+///
+/// ### Example
+///
+/// ```cpp
+/// auto screen = ScreenInteractive::FitComponent();
+/// CheckboxOption option;
+/// option.label = "Make a sandwidth";
+/// option.checked = false;
+/// Component checkbox = Checkbox(option);
+/// screen.Loop(checkbox)
+/// ```
+///
+/// ### Output
+///
+/// ```bash
+/// ☐ Make a sandwitch
+/// ```
+// NOLINTNEXTLINE
+Component Checkbox(CheckboxOption option) {
+  return Make<CheckboxBase>(std::move(option));
+}
+
 /// @brief Draw checkable element.
 /// @param label The label of the checkbox.
 /// @param checked Whether the checkbox is checked or not.
-- 
GitLab