diff --git a/thaw/src/time_picker/mod.rs b/thaw/src/time_picker/mod.rs
index 56e6c38..a3edd79 100644
--- a/thaw/src/time_picker/mod.rs
+++ b/thaw/src/time_picker/mod.rs
@@ -3,7 +3,8 @@ mod theme;
pub use theme::TimePickerTheme;
use crate::{
- use_theme, Button, ButtonSize, ButtonVariant, Icon, Input, InputSuffix, SignalWatch, Theme,
+ use_theme, Button, ButtonSize, ButtonVariant, Icon, Input, InputSuffix, Scrollbar, SignalWatch,
+ Theme,
};
use chrono::{Local, NaiveTime, Timelike};
use leptos::*;
@@ -187,96 +188,99 @@ fn Panel(
>
-
- {(0..24)
- .map(|hour| {
- let comp_ref = ComponentRef::
::default();
- let on_click = move |_| {
- selected_time
- .update(move |time| {
- *time = if let Some(time) = time {
- time.with_hour(hour)
- } else {
- NaiveTime::from_hms_opt(hour, 0, 0)
- }
- });
- comp_ref.get_untracked().unwrap().scroll_into_view();
- };
- let is_selected = Memo::new(move |_| {
- selected_time.get().map_or(false, |v| v.hour() == hour)
- });
- view! {
-
- }
- })
- .collect_view()}
+
+ {(0..24)
+ .map(|hour| {
+ let comp_ref = ComponentRef::::default();
+ let on_click = move |_| {
+ selected_time
+ .update(move |time| {
+ *time = if let Some(time) = time {
+ time.with_hour(hour)
+ } else {
+ NaiveTime::from_hms_opt(hour, 0, 0)
+ }
+ });
+ comp_ref.get_untracked().unwrap().scroll_into_view();
+ };
+ let is_selected = Memo::new(move |_| {
+ selected_time.get().map_or(false, |v| v.hour() == hour)
+ });
+ view! {
+
+ }
+ })
+ .collect_view()}
+
-
- {(0..60)
- .map(|minute| {
- let comp_ref = ComponentRef::
::default();
- let on_click = move |_| {
- selected_time
- .update(move |time| {
- *time = if let Some(time) = time {
- time.with_minute(minute)
- } else {
- NaiveTime::from_hms_opt(now_time().hour(), minute, 0)
- }
- });
- comp_ref.get_untracked().unwrap().scroll_into_view();
- };
- let is_selected = Memo::new(move |_| {
- selected_time.get().map_or(false, |v| v.minute() == minute)
- });
- view! {
-
- }
- })
+
+ {(0..60)
+ .map(|minute| {
+ let comp_ref = ComponentRef::::default();
+ let on_click = move |_| {
+ selected_time
+ .update(move |time| {
+ *time = if let Some(time) = time {
+ time.with_minute(minute)
+ } else {
+ NaiveTime::from_hms_opt(now_time().hour(), minute, 0)
+ }
+ });
+ comp_ref.get_untracked().unwrap().scroll_into_view();
+ };
+ let is_selected = Memo::new(move |_| {
+ selected_time.get().map_or(false, |v| v.minute() == minute)
+ });
+ view! {
+
+ }
+ })
.collect_view()}
+
-
- {(0..60)
- .map(|second| {
- let comp_ref = ComponentRef::
::default();
- let on_click = move |_| {
- selected_time
- .update(move |time| {
- *time = if let Some(time) = time {
- time.with_second(second)
- } else {
- now_time().with_second(second)
- }
- });
- comp_ref.get_untracked().unwrap().scroll_into_view();
- };
- let is_selected = Memo::new(move |_| {
- selected_time.get().map_or(false, |v| v.second() == second)
- });
- view! {
-
- }
- })
- .collect_view()}
+
+ {(0..60)
+ .map(|second| {
+ let comp_ref = ComponentRef::::default();
+ let on_click = move |_| {
+ selected_time
+ .update(move |time| {
+ *time = if let Some(time) = time {
+ time.with_second(second)
+ } else {
+ now_time().with_second(second)
+ }
+ });
+ comp_ref.get_untracked().unwrap().scroll_into_view();
+ };
+ let is_selected = Memo::new(move |_| {
+ selected_time.get().map_or(false, |v| v.second() == second)
+ });
+ view! {
+
+ }
+ })
+ .collect_view()}
+
diff --git a/thaw/src/time_picker/time-picker.css b/thaw/src/time_picker/time-picker.css
index 7ec9a00..696938f 100644
--- a/thaw/src/time_picker/time-picker.css
+++ b/thaw/src/time_picker/time-picker.css
@@ -17,7 +17,6 @@
.thaw-time-picker-panel__time-minute,
.thaw-time-picker-panel__time-second {
flex: 1;
- overflow-y: auto;
}
.thaw-time-picker-panel__time-item {