| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- import gradio as gr
- refresh_symbol = '\U0001f504' # 🔄
- css = """
- .tabs.svelte-710i53 {
- margin-top: 0
- }
- .py-6 {
- padding-top: 2.5rem
- }
- .dark #refresh-button {
- background-color: #ffffff1f;
- }
- #refresh-button {
- flex: none;
- margin: 0;
- padding: 0;
- min-width: 50px;
- border: none;
- box-shadow: none;
- border-radius: 10px;
- background-color: #0000000d;
- }
- #download-label, #upload-label {
- min-height: 0
- }
- #accordion {
- }
- /*
- .dark svg {
- fill: white;
- }
- svg {
- display: unset !important;
- vertical-align: middle !important;
- margin: 5px;
- }
- */
- ol li p, ul li p {
- display: inline-block;
- }
- """
- chat_css = """
- .h-\[40vh\], .wrap.svelte-byatnx.svelte-byatnx.svelte-byatnx {
- height: 66.67vh
- }
- .gradio-container {
- max-width: 800px !important;
- margin-left: auto !important;
- margin-right: auto !important;
- }
- .w-screen {
- width: unset
- }
- div.svelte-362y77>*, div.svelte-362y77>.form>* {
- flex-wrap: nowrap
- }
- /* fixes the API documentation in chat mode */
- .api-docs.svelte-1iguv9h.svelte-1iguv9h.svelte-1iguv9h {
- display: grid;
- }
- """
- class ToolButton(gr.Button, gr.components.FormComponent):
- """Small button with single emoji as text, fits inside gradio forms"""
- def __init__(self, **kwargs):
- super().__init__(variant="tool", **kwargs)
- def get_block_name(self):
- return "button"
- def create_refresh_button(refresh_component, refresh_method, refreshed_args, elem_id):
- def refresh():
- refresh_method()
- args = refreshed_args() if callable(refreshed_args) else refreshed_args
- for k, v in args.items():
- setattr(refresh_component, k, v)
- return gr.update(**(args or {}))
- refresh_button = ToolButton(value=refresh_symbol, elem_id=elem_id)
- refresh_button.click(
- fn=refresh,
- inputs=[],
- outputs=[refresh_component]
- )
- return refresh_button
|