ui_components.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import gradio as gr
  2. class ToolButton(gr.Button, gr.components.FormComponent):
  3. """Small button with single emoji as text, fits inside gradio forms"""
  4. def __init__(self, **kwargs):
  5. super().__init__(variant="tool", **kwargs)
  6. def get_block_name(self):
  7. return "button"
  8. class ToolButtonTop(gr.Button, gr.components.FormComponent):
  9. """Small button with single emoji as text, with extra margin at top, fits inside gradio forms"""
  10. def __init__(self, **kwargs):
  11. super().__init__(variant="tool-top", **kwargs)
  12. def get_block_name(self):
  13. return "button"
  14. class FormRow(gr.Row, gr.components.FormComponent):
  15. """Same as gr.Row but fits inside gradio forms"""
  16. def get_block_name(self):
  17. return "row"
  18. class FormGroup(gr.Group, gr.components.FormComponent):
  19. """Same as gr.Row but fits inside gradio forms"""
  20. def get_block_name(self):
  21. return "group"
  22. class FormHTML(gr.HTML, gr.components.FormComponent):
  23. """Same as gr.HTML but fits inside gradio forms"""
  24. def get_block_name(self):
  25. return "html"
  26. class FormColorPicker(gr.ColorPicker, gr.components.FormComponent):
  27. """Same as gr.ColorPicker but fits inside gradio forms"""
  28. def get_block_name(self):
  29. return "colorpicker"