diff --git a/include/ftxui/component/component.hpp b/include/ftxui/component/component.hpp
index 7eb33bcf2d33f62d1b193afc9627d6ba0d23a45c..679cd1b9b40f65f380e648aa793ef2fc200a2be7 100644
--- a/include/ftxui/component/component.hpp
+++ b/include/ftxui/component/component.hpp
@@ -67,6 +67,12 @@ Component Radiobox(ConstStringListRef entries,
                    Ref<RadioboxOption> option = {});
 Component Toggle(ConstStringListRef entries, int* selected);
 
+
+// General slider constructor:
+template <typename T> 
+Component Slider(SliderOption<T> options = {});
+
+// Shorthand without the `SliderOption` constructor:
 Component Slider(ConstStringRef label,
                  Ref<int> value,
                  ConstRef<int> min = 0,
@@ -82,9 +88,6 @@ Component Slider(ConstStringRef label,
                  ConstRef<long> min = 0l,
                  ConstRef<long> max = 100l,
                  ConstRef<long> increment = 5l);
-// General slider type without support for a `label`.
-template <typename T>  // T = {int, float, long}
-Component Slider(SliderOption<T> options = {});
 
 Component ResizableSplitLeft(Component main, Component back, int* main_size);
 Component ResizableSplitRight(Component main, Component back, int* main_size);
diff --git a/src/ftxui/component/slider.cpp b/src/ftxui/component/slider.cpp
index 45d16e402d91e6d581b1412c3c45873d9ee158ae..13daee035fe27cd032e690c44fc1e1a16851a212 100644
--- a/src/ftxui/component/slider.cpp
+++ b/src/ftxui/component/slider.cpp
@@ -325,9 +325,18 @@ template <typename T>
 Component Slider(SliderOption<T> options) {
   return Make<SliderBase<T>>(options);
 }
-template Component Slider(SliderOption<int> options);
-template Component Slider(SliderOption<float> options);
-template Component Slider(SliderOption<long> options);
+template Component Slider(SliderOption<int8_t>);
+template Component Slider(SliderOption<int16_t>);
+template Component Slider(SliderOption<int32_t>);
+template Component Slider(SliderOption<int64_t>);
+
+template Component Slider(SliderOption<uint8_t>);
+template Component Slider(SliderOption<uint16_t>);
+template Component Slider(SliderOption<uint32_t>);
+template Component Slider(SliderOption<uint64_t>);
+
+template Component Slider(SliderOption<float>);
+template Component Slider(SliderOption<double>);
 
 }  // namespace ftxui