--- title: "Customization & Themes" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Customization & Themes} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` `dtsmartr` supports deep interface customization through `dtsmartr_options()`. Developers can toggle UI panels, control access to analytical utilities, customize missing cell representations, and switch between light and dark themes. ## 1. Visual Color Themes (Dark Mode) `dtsmartr` features a modern, premium dark palette designed for clinical environments and night shifts. * **`theme = "auto"` (Default)**: Automatically detects browser/system settings and matches the theme of your IDE (RStudio or Positron). * **`theme = "light"`**: Forces the clean light theme. * **`theme = "dark"`**: Forces the sleek dark theme. --- ## 2. Optional UI Feature Toggles You can enable or disable individual layout elements depending on the context: * **`advanced_filter`**: Set `FALSE` to hide the rule-based Query Builder toolbar. * **`column_picker`**: Set `FALSE` to remove the column dropdown visibility picker in the top-right toolbar. * **`allow_export`**: Set `FALSE` to remove the clipboard code generator modal button. * **`header_summary`**: Set `FALSE` to collapse the column headers into clean, flat labels—removing the spark-histograms, top categories bar, and missingness progress indicators. --- ## 3. Custom Missing Value Strings (`na_string`) Control how missing/null values are represented. Cells containing `NA` or `null` will render as italicized, muted-gray cells: * **Default**: Displays `"NA"`. * **Custom**: Set `na_string = "—"` or `na_string = "Missing"` to specify custom text. --- ## 4. Pre-Hidden Columns (`hidden_columns`) Specify a vector of column names to hide by default on initial rendering. Users can still show them using the column picker (if enabled): * **Example**: `hidden_columns = c("cyl", "hp")`. --- ## 5. Grid Layout & Row Densities (`header_density` and `row_density`) Configure the initial layout density programmatically: * **`header_density`**: Sets the initial header layout height. - `"auto"` (Default): Scales dynamically based on screen height. - `"minimal"`: Forces a super-flat 48px header height. - `"detailed"`: Forces the full Kaggle-style summary zone. * **`row_density`**: Sets the row padding and vertical spacing. - `"standard"` (Default): Balanced 32px row height. - `"compact"`: Ultra-dense 24px row height (max visibility). - `"comfortable"`: Relaxed 40px row height. --- ## 6. Live Theme & Customization Example Below is a live interactive grid rendering in **Dark Mode** with pre-hidden variables (`hp`, `vs`), custom missing cell markers (`na_string = "—"`), and compact density preset: ```{r} library(dtsmartr) dtsmartr( data = mtcars, options = dtsmartr_options( theme = "dark", hidden_columns = c("hp", "vs"), na_string = "—", header_density = "minimal", row_density = "compact" ) ) ```