Batch¶
            marimo.ui.batch
¶
batch(html: Html, elements: dict[str, UIElement[Any, Any]], on_change: Optional[Callable[[dict[str, object]], None]] = None)
              Bases: _batch_base
Convert an HTML object with templated text into a UI element.
A batch is a UI element that wraps other UI elements, and is
represented by custom HTML or markdown. You can create
a batch by calling the batch() method on Html objects.
Get the value of the wrapped UI elements using the value attribute
of the batch.
Examples:
In the below example, user_info is a UI Element whose output is markdown
and whose value is a dict with keys 'name' and 'birthday'
(and values equal to the values of their corresponding elements).
user_info = mo.md(
    '''
    - What's your name?: {name}
    - When were you born?: {birthday}
    '''
).batch(name=mo.ui.text(), birthday=mo.ui.date())
To get the value of name and birthday, use:
You can also instantiate this class directly:
markdown = mo.md(
    '''
    - What's your name?: {name}
    - When were you born?: {birthday}
    '''
)
batch = mo.ui.batch(
    markdown, {"name": mo.ui.text(), "birthday": mo.ui.date()}
)
| ATTRIBUTE | DESCRIPTION | 
|---|---|
value | 
            
               A dict of the batched elements' values. 
                  
                    TYPE:
                        | 
          
elements | 
            
               A dict of the batched elements (clones of the originals). 
                  
                    TYPE:
                        | 
          
on_change | 
            
               Optional callback to run when this element's value changes.  | 
          
| PARAMETER | DESCRIPTION | 
|---|---|
                html
             | 
            
               A templated Html object. 
                  
                    TYPE:
                        | 
          
                elements
             | 
            
               The UI elements to interpolate into the HTML template.  | 
          
                on_change
             | 
            
               Optional callback to run when this element's value changes. 
                  
                    TYPE:
                        | 
          
            batch
¶
    Convert an HTML object with templated text into a UI element.
This method lets you create custom UI elements that are represented by arbitrary HTML.
Example
user_info = mo.md(
    '''
    - What's your name?: {name}
    - When were you born?: {birthday}
    '''
).batch(name=mo.ui.text(), birthday=mo.ui.date())
In this example, user_info is a UI Element whose output is markdown
and whose value is a dict with keys 'name' and 'birthday'
(and values equal to the values of their corresponding elements).
| PARAMETER | DESCRIPTION | 
|---|---|
                elements
             | 
            
               the UI elements to interpolate into the HTML template. 
                  
                    TYPE:
                        | 
          
            callout
¶
    Create a callout containing this HTML element.
A callout wraps your HTML element in a raised box, emphasizing its
importance. You can style the callout for different situations with the
kind argument.
Examples:
            form
¶
form(label: str = '', *, bordered: bool = True, loading: bool = False, submit_button_label: str = 'Submit', submit_button_tooltip: Optional[str] = None, submit_button_disabled: bool = False, clear_on_submit: bool = False, show_clear_button: bool = False, clear_button_label: str = 'Clear', clear_button_tooltip: Optional[str] = None, validate: Optional[Callable[[Optional[JSONType]], Optional[str]]] = None, on_change: Optional[Callable[[Optional[T]], None]] = None) -> form[S, T]
Create a submittable form out of this UIElement.
Creates a form that gates submission of a UIElement's value until a submit button is clicked.
The form's value is the value of the underlying element from the last submission.
Examples:
Convert any UIElement into a form:
    
Combine with HTML.batch to create a form made out of multiple UIElements:
    
form = (
    mo.ui.md(
        '''
    **Enter your prompt.**
    {prompt}
    **Choose a random seed.**
    {seed}
    '''
    )
    .batch(
        prompt=mo.ui.text_area(),
        seed=mo.ui.number(),
    )
    .form()
)
| PARAMETER | DESCRIPTION | 
|---|---|
                label
             | 
            
               A text label for the form. 
                  
                    TYPE:
                        | 
          
                bordered
             | 
            
               Whether the form should have a border. 
                  
                    TYPE:
                        | 
          
                loading
             | 
            
               Whether the form should be in a loading state. 
                  
                    TYPE:
                        | 
          
                submit_button_label
             | 
            
               The label of the submit button. 
                  
                    TYPE:
                        | 
          
                submit_button_tooltip
             | 
            
               The tooltip of the submit button.  | 
          
                submit_button_disabled
             | 
            
               Whether the submit button should be disabled. 
                  
                    TYPE:
                        | 
          
                clear_on_submit
             | 
            
               Whether the form should clear its contents after submitting. 
                  
                    TYPE:
                        | 
          
                show_clear_button
             | 
            
               Whether the form should show a clear button. 
                  
                    TYPE:
                        | 
          
                clear_button_label
             | 
            
               The label of the clear button. 
                  
                    TYPE:
                        | 
          
                clear_button_tooltip
             | 
            
               The tooltip of the clear button.  | 
          
                validate
             | 
            
               A function that takes the form's value and returns an error message if invalid,
or  
                  
                    TYPE:
                        | 
          
                on_change
             | 
            
               Optional callback to run when this element's value changes. Defaults to None.  | 
          
            from_args
  
      classmethod
  
¶
from_args(data: dict[str, int], args: InitializationArgs[S, T], memo: dict[int, Any] | None = None, basis: UIElement[S, T] | None = None) -> UIElement[S, T]
            get
¶
    Get a UI element by key with an optional default value.
| PARAMETER | DESCRIPTION | 
|---|---|
                key
             | 
            
               The key to look up in the batch. 
                  
                    TYPE:
                        | 
          
                default
             | 
            
               Value to return if key is not found. Defaults to None. 
                  
                    TYPE:
                        | 
          
| RETURNS | DESCRIPTION | 
|---|---|
                Any
             | 
            
               The UI element if found, otherwise the default value. 
                  
                    TYPE:
                        | 
          
            items
¶
    
            send_message
¶
    Send a message to the element rendered on the frontend from the backend.
            style
¶
    Wrap an object in a styled container.
Example
| PARAMETER | DESCRIPTION | 
|---|---|
                style
             | 
            
               an optional dict of CSS styles, keyed by property name  | 
          
                **kwargs
             | 
            
               CSS styles as keyword arguments 
                  
                    TYPE:
                        | 
          
            values
¶
values() -> ValuesView[UIElement[JSONType, object]]
Return a view of the batch's values (UI elements).
| RETURNS | DESCRIPTION | 
|---|---|
                
                    ValuesView[UIElement[JSONType, object]]
                
             | 
            
               ValuesView[UIElement]: A view of the batch's UI elements.  |