Nothing
# Adapted from: https://github.com/Appsilon/shiny.fluent/blob/main/inst/examples/TextField2.R
library(shiny)
library(muiMaterial)
# Using custom handler to convert input to uppercase
CustomComponents <- tags$script(HTML("(function() {
const { InputAdapter } = jsmodule['@/shiny.react'];
const { TextField } = jsmodule['@mui/material'];
const CustomComponents = jsmodule['CustomComponents'] ??= {};
CustomComponents.UpperCaseTextField = InputAdapter(TextField, (value, setValue) => ({
value: value.toUpperCase(),
onChange: (e, v) => { setValue(e.target.value.toUpperCase()) ; e.stopPropagation() },
}));
})();"))
UpperCaseTextField <- function(inputId, ..., value = defaultValue) {
shiny.react::reactElement(
module = "CustomComponents",
name = "UpperCaseTextField",
props = shiny.react::asProps(inputId = inputId, ..., value = ""),
deps = muiMaterial:::muiMaterialDependency()
)
}
ui_CustomComponentShinyInput <- tagList(
CustomComponents,
UpperCaseTextField("uppercase_text", value = ""),
textOutput("text")
)
server_CustomComponentShinyInput <- function(input, output, session) {
output$text <- renderText(input$uppercase_text)
}
if (interactive()) {
shinyApp(ui_CustomComponentShinyInput, server_CustomComponentShinyInput)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.