| | import gradio as gr |
| | import numpy as np |
| |
|
| | |
| | def handle_image_editor(image): |
| | |
| | return image |
| |
|
| | |
| | def handle_chatbox(message, history): |
| | |
| | response = "Echo: " + message |
| | history.append({"role": "user", "content": message}) |
| | history.append({"role": "assistant", "content": response}) |
| | return "", history |
| |
|
| | |
| | def handle_prompt_box(prompt, image_generation, checkboxes, slider): |
| | |
| | return f"Prompt: {prompt}, Image Generation: {image_generation}, Checkboxes: {checkboxes}, Slider: {slider}" |
| |
|
| | |
| | def handle_accordions(model, api, settings): |
| | |
| | return f"Model: {model}, API: {api}, Settings: {settings}" |
| |
|
| | |
| | with gr.Blocks(css=""" |
| | :root { |
| | --primary-800: #1f2937; |
| | --secondary-500: #3b82f6; |
| | --text-color: #000000; |
| | --radius-sm: 8px; |
| | } |
| | .gr-button { |
| | background-color: var(--secondary-500); |
| | color: var(--text-color); |
| | border-radius: var(--radius-sm); |
| | } |
| | .gr-button:hover { |
| | background-color: #2563eb; |
| | } |
| | .gr-button:active { |
| | background-color: #1d4ed8; |
| | } |
| | .gr-button:disabled { |
| | background-color: #c7d2fe; |
| | color: #6b7280; |
| | } |
| | .gr-button--icon { |
| | padding: 0.5rem; |
| | } |
| | .gr-button--icon img { |
| | width: 1rem; |
| | height: 1rem; |
| | } |
| | .gr-image-editor { |
| | border: 1px solid var(--secondary-500); |
| | border-radius: var(--radius-sm); |
| | } |
| | .gr-gallery { |
| | border: 1px solid var(--secondary-500); |
| | border-radius: var(--radius-sm); |
| | } |
| | .gr-chatbot { |
| | border: 1px solid var(--secondary-500); |
| | border-radius: var(--radius-sm); |
| | } |
| | .gr-accordion { |
| | border: 1px solid var(--secondary-500); |
| | border-radius: var(--radius-sm); |
| | } |
| | """) as demo: |
| | |
| | with gr.Row(): |
| | with gr.Column(): |
| | hamburger_btn = gr.Button("Hamburger", elem_classes="gr-button--icon") |
| | hamburger_btn.click(lambda: gr.Info("Hamburger button clicked"), None, None) |
| | color_picker = gr.ColorPicker(value="#3b82f6", label="Color Picker", show_label=False) |
| | toggle_dark = gr.Button("Toggle Dark", elem_classes="gr-button--icon") |
| | toggle_dark.click(lambda: gr.Info("Dark mode toggled"), None, None) |
| |
|
| | |
| | with gr.Row(): |
| | with gr.Column(): |
| | image_editor = gr.ImageEditor(type="numpy", label="Image Editor", show_download_button=True) |
| | image = gr.Image(type="numpy", label="Image", show_download_button=True) |
| | gallery = gr.Gallery(columns=4, label="Gallery", show_download_button=True) |
| |
|
| | |
| | with gr.Row(): |
| | with gr.Column(): |
| | chatbox = gr.Chatbot(type="messages", label="Chatbox") |
| | msg = gr.Textbox(label="Message") |
| | msg.submit(handle_chatbox, [msg, chatbox], [msg, chatbox]) |
| |
|
| | |
| | with gr.Row(): |
| | with gr.Column(): |
| | prompt_box = gr.Textbox(label="Prompt") |
| | image_generation = gr.Checkbox(label="Image Generation") |
| | checkboxes = gr.CheckboxGroup(["Checkbox 1", "Checkbox 2", "Checkbox 3"], label="Checkboxes") |
| | slider = gr.Slider(0, 100, step=1, label="Slider") |
| | prompt_box.submit(handle_prompt_box, [prompt_box, image_generation, checkboxes, slider], None) |
| |
|
| | |
| | with gr.Row(): |
| | with gr.Column(): |
| | model_accordion = gr.Accordion("Model", open=False) |
| | with model_accordion: |
| | model |