Spaces:
Running
Running
File size: 1,153 Bytes
8e04495 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
import mesop as me
@me.stateclass
class State:
initial_input_value: str = "50.0"
initial_slider_value: float = 50.0
slider_value: float = 50.0
def load(e: me.LoadEvent):
me.set_theme_mode("system")
@me.page(
on_load=load,
security_policy=me.SecurityPolicy(
allowed_iframe_parents=["https://google.github.io", "https://huggingface.co"]
),
path="/slider",
)
def app():
state = me.state(State)
with me.box(
style=me.Style(
display="flex", flex_direction="column", margin=me.Margin.all(15)
)
):
me.input(
label="Slider value",
appearance="outline",
value=state.initial_input_value,
on_input=on_input,
)
me.slider(on_value_change=on_value_change, value=state.initial_slider_value)
me.text(text=f"Value: {me.state(State).slider_value}")
def on_value_change(event: me.SliderValueChangeEvent):
state = me.state(State)
state.slider_value = event.value
state.initial_input_value = str(state.slider_value)
def on_input(event: me.InputEvent):
state = me.state(State)
state.initial_slider_value = float(event.value)
state.slider_value = state.initial_slider_value
|