Spaces:
Running
Running
leaderboard_css = """ | |
.markdown-text { | |
font-size: 16px !important; | |
} | |
#models-to-add-text { | |
font-size: 18px !important; | |
} | |
#citation-button span { | |
font-size: 16px !important; | |
} | |
#citation-button textarea { | |
font-size: 16px !important; | |
} | |
#citation-button > label > button { | |
margin: 6px; | |
transform: scale(1.3); | |
} | |
#leaderboard-table { | |
margin-top: 15px | |
} | |
#leaderboard-table-lite { | |
margin-top: 15px | |
} | |
#search-bar-table-box > div:first-child { | |
background: none; | |
border: none; | |
} | |
#search-bar { | |
padding: 0px; | |
} | |
/* Limit the width of the first AutoEvalColumn so that names don't expand too much */ | |
#leaderboard-table td:nth-child(2), | |
#leaderboard-table th:nth-child(2) { | |
max-width: 400px; | |
overflow: auto; | |
white-space: nowrap; | |
} | |
#scale-logo { | |
border-style: none !important; | |
box-shadow: none; | |
display: block; | |
margin-left: auto; | |
margin-right: auto; | |
max-width: 600px; | |
} | |
#scale-logo .download { | |
display: none; | |
} | |
#filter_type{ | |
border: 0; | |
padding-left: 0; | |
padding-top: 0; | |
} | |
#filter_type label { | |
display: flex; | |
} | |
#filter_type label > span{ | |
margin-top: var(--spacing-lg); | |
margin-right: 0.5em; | |
} | |
#filter_type label > .wrap{ | |
width: 103px; | |
} | |
#filter_type label > .wrap .wrap-inner{ | |
padding: 2px; | |
} | |
#filter_type label > .wrap .wrap-inner input{ | |
width: 1px | |
} | |
#filter-columns-type{ | |
border:0; | |
padding:0.5; | |
} | |
#filter-columns-size{ | |
border:0; | |
padding:0.5; | |
} | |
#box-filter > .form{ | |
border: 0 | |
} | |
""" | |
workflow_json_css = """ | |
/* Workflow JSON styling */ | |
.workflow-json-container { | |
margin-top: 20px; | |
margin-bottom: 30px; | |
} | |
.workflow-json { | |
border: 1px solid #ddd; | |
border-radius: 8px; | |
box-shadow: 0 2px 5px rgba(0,0,0,0.1); | |
} | |
.workflow-json pre { | |
max-height: 500px; | |
overflow-y: auto; | |
} | |
""" | |
get_window_url_params = """ | |
function(url_params) { | |
const params = new URLSearchParams(window.location.search); | |
url_params = Object.fromEntries(params); | |
return url_params; | |
} | |
""" | |
fonts_header = """ | |
<link rel="preconnect" href="https://fonts.googleapis.com"> | |
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> | |
<link href="https://fonts.googleapis.com/css2?family=Shantell+Sans:ital,wght@0,300..800;1,300..800&display=swap" rel="stylesheet"> | |
<link href="https://fonts.googleapis.com/css2?family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap" rel="stylesheet"> | |
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap" rel="stylesheet"> | |
""" | |
js_head = """ | |
<script> | |
const gradioApp = document.getElementsByTagName('gradio-app')[0]; | |
console.log("Gradio app:", gradioApp); | |
console.log(gradioApp.querySelectorAll('.token')); | |
console.log(document.querySelectorAll('.token')); | |
// Function to trigger Python callback | |
const setHiddenIndex = (index) => { | |
console.log("Setting hidden index to:", index); | |
const hiddenIndex = gradioApp.querySelector("#hidden-index textarea"); | |
if (hiddenIndex) { | |
hiddenIndex.value = index; | |
let event = new Event("input", { bubbles: true}); | |
Object.defineProperty(event, "target", { value: hiddenIndex}); | |
hiddenIndex.dispatchEvent(event); | |
} | |
}; | |
// Add event listeners to all tokens | |
function setupTokenListeners() { | |
const tokens = gradioApp.querySelectorAll('.token'); | |
console.log("Tokens:", tokens); | |
tokens.forEach(token => { | |
token.addEventListener('mouseover', function() { | |
const index = parseInt(this.getAttribute('data-index')); | |
console.log("Mouseover token index:", index); | |
// Reset all tokens | |
gradioApp.querySelectorAll('.token').forEach(el => { | |
el.classList.remove('highlighted'); | |
}); | |
// Highlight this token | |
this.classList.add('highlighted'); | |
// Update the hidden index to trigger the Python callback | |
setHiddenIndex(index); | |
}); | |
}); | |
} | |
console.log("Preamble complete"); | |
document.addEventListener("DOMContentLoaded", function() { | |
// Setup initial listeners | |
console.log("DOM fully loaded and parsed"); | |
setupTokenListeners(); | |
// Setup a mutation observer to handle dynamically added tokens | |
const observer = new MutationObserver(function(mutations) { | |
mutations.forEach(function(mutation) { | |
if (mutation.addedNodes.length) { | |
setupTokenListeners(); | |
} | |
}); | |
}); | |
// Start observing the token container for changes | |
const tokenContainer = gradioApp.querySelector('.token-container'); | |
console.log("Token container:", tokenContainer); | |
if (tokenContainer) { | |
observer.observe(tokenContainer.parentNode, { childList: true, subtree: true }); | |
} | |
console.log("Listener setup complete"); | |
}); | |
</script> | |
""" | |