import config from "$lib/component_json"; const comps = { accordion: () => import("@gradio/accordion"), annotatedimage: () => import("@gradio/annotatedimage"), audio: () => import("@gradio/audio"), button: () => import("@gradio/button"), chatbot: () => import("@gradio/chatbot"), checkbox: () => import("@gradio/checkbox"), checkboxgroup: () => import("@gradio/checkboxgroup"), code: () => import("@gradio/code"), colorpicker: () => import("@gradio/colorpicker"), dataframe: () => import("@gradio/dataframe"), dataset: () => import("@gradio/dataset"), datetime: () => import("@gradio/datetime"), downloadbutton: () => import("@gradio/downloadbutton"), dropdown: () => import("@gradio/dropdown"), file: () => import("@gradio/file"), form: () => import("@gradio/form"), gallery: () => import("@gradio/gallery"), highlightedtext: () => import("@gradio/highlightedtext"), html: () => import("@gradio/html"), image: () => import("@gradio/image"), imageeditor: () => import("@gradio/imageeditor"), json: () => import("@gradio/json"), label: () => import("@gradio/label"), markdown: () => import("@gradio/markdown"), model3d: () => import("@gradio/model3d"), multimodaltextbox: () => import("@gradio/multimodaltextbox"), nativeplot: () => import("@gradio/nativeplot"), number: () => import("@gradio/number"), paramviewer: () => import("@gradio/paramviewer"), plot: () => import("@gradio/plot"), radio: () => import("@gradio/radio"), simpleimage: () => import("@gradio/simpleimage"), slider: () => import("@gradio/slider"), state: () => import("@gradio/state"), textbox: () => import("@gradio/textbox"), timer: () => import("@gradio/timer"), uploadbutton: () => import("@gradio/uploadbutton"), video: () => import("@gradio/video") }; import type { PageLoad } from "./$types"; export const load: PageLoad = async ({ url }) => { const route_name = url.pathname.split("/").slice(-1)[0]; const interactive_component = config.find( (c) => c.name === route_name && c.props.interactive ); const non_interactive_component = config.find( (c) => c.name === route_name && !c.props.interactive ); const comp = route_name in comps ? await comps[route_name as keyof typeof comps]() : await import("@gradio/label"); return { component: comp, interactive_component: interactive_component, non_interactive_component: non_interactive_component, name: route_name }; };