MCPcopy
hub / github.com/StructuredLabs/preswald / slider

Function slider

preswald/interfaces/components.py:720–750  ·  view source on GitHub ↗

Create a slider component with consistent ID based on label

(
    label: str,
    min_val: float = 0.0,
    max_val: float = 100.0,
    step: float = 1.0,
    default: float | None = None,
    size: float = 1.0,
    component_id: str | None = None,
    **kwargs,
)

Source from the content-addressed store, hash-verified

718
719@with_render_tracking("slider")
720def slider(
721 label: str,
722 min_val: float = 0.0,
723 max_val: float = 100.0,
724 step: float = 1.0,
725 default: float | None = None,
726 size: float = 1.0,
727 component_id: str | None = None,
728 **kwargs,
729) -> ComponentReturn:
730 """Create a slider component with consistent ID based on label"""
731 service = PreswaldService.get_instance()
732
733 # Get current state or use default
734 current_value = service.get_component_state(component_id)
735 if current_value is None:
736 current_value = default if default is not None else min_val
737
738 component = {
739 "type": "slider",
740 "id": component_id,
741 "label": label,
742 "min": min_val,
743 "max": max_val,
744 "step": step,
745 "value": current_value,
746 "size": size,
747 }
748
749 logger.debug(f"[slider] ID={component_id}, value={current_value}")
750 return ComponentReturn(current_value, component)
751
752
753@with_render_tracking("spinner")

Callers 2

slider_demoFunction · 0.90
hello.pyFile · 0.90

Calls 3

ComponentReturnClass · 0.90
get_component_stateMethod · 0.80
get_instanceMethod · 0.45

Tested by

no test coverage detected