dash_titles() now accepts simple
shiny::icon() inputs in addition to character icon names,
and emits a more targeted error when icon= receives an
unsupported object.
Added sidebar brand text controls for collapsed and expanded
states: collapsed_text_size,
expanded_text_size, collapsed_text_weight, and
expanded_text_weight.
Added bs4dashkit_theme_presets() to list shipped
theme presets and improved unknown-preset errors to enumerate valid
choices.
Polished the built-in theme presets so they style navbar,
sidebar, footer, link, and status colors more coherently, and extended
bs4dashkit_theme_presets(values = TRUE) to expose the
shipped preset tokens for inspection and customization.
Added bs4dashkit_example_app() as a minimal runnable
example of the recommended dash_titles() +
use_bs4Dashkit_core() workflow.
Added bs4dashkit_demo_app() plus a packaged
inst/examples/real-shiny-app/app.R example for
interactively testing sidebar brand states, hover-expand behavior,
presets, navbar controls, and footer styling together. The packaged
example now contains the full standalone app code directly.
Added inst/examples/sidebar-smoke-test/app.R as a
minimal sidebar verification app and
inst/examples/test-all/app.R as a heavier end-to-end stress
test for branding, sidebar, navbar, theme, and footer features.
Refined sidebar brand state handling so hover-expanded sidebars
use the expanded text rules consistently, brand_text is
treated as the default expanded label, and icon-requested states fall
back more gracefully when no icon is supplied.
Fixed reactive sidebar mode updates by clearing stale collapsed/expanded body classes before applying the current mode and cleaning up old observers and hover listeners before installing new ones.
Fixed collapsed and expanded sidebar text sizing and weight
controls so live updates consistently win over AdminLTE defaults, and
centered the collapsed "text-only" label layout.
Allowed brand_text = NULL for fully icon-only brands
when both sidebar states are "icon-only" and an icon or
image brand is supplied, with a browser-title fallback warning when
app_name is omitted.
Improved dash_nav_title() centering so the title
stays visually centered as the viewport and surrounding navbar content
change, and added left/center/right alignment controls to the
interactive demo.
Updated README and vignettes to match the shipped API:
removed references to the non-existent
dash_nav_logout_button()
aligned documentation with the current preset names
"professional", "modern", and
"dark-lite"
clarified preset discoverability and the recommended body-level
placement of use_bs4Dashkit_core()
clarified how brand_text,
collapsed_text, and expanded_text interact
across collapsed, hover-expanded, and expanded sidebar states
documented the textless icon-only brand path, the automatic
sidebar mirroring of bs4DashNavbar(title = ttl$brand), and
the shipped example apps for smoke testing and full feature
testing
Expanded test coverage for:
icon normalization in dash_titles()
targeted validation errors for invalid icon objects
collapsed and expanded sidebar brand text styling controls
sidebar mode class resets and cleanup of reactive hover/state listeners
theme preset discovery and preset validation errors
the exported minimal example app helper
Added dash_titles() as a unified constructor for
brand and sidebar configuration. Returns $app_name,
$brand, and $deps for placement in
bs4DashPage(), bs4DashNavbar(), and
bs4DashBody().
Added use_bs4Dashkit_core() as the recommended entry
point for injecting dependencies, applying a theme preset, and
configuring sidebar behavior.
Added theme support via CSS custom properties:
Presets: "professional", "modern", and
"dark-lite"
use_dash_theme() for direct CSS variable
overrides
use_dash_theme_preset() for applying named
presets
bs4dashkit_theme_presets() for inspecting available
presets
Added configurable sidebar brand modes:
“icon-only”, "icon-text", and
"text-only"
Independent configuration for collapsed and expanded states
Added use_dash_sidebar_behavior() for configurable collapsed width, expanded width, and topbar height.
Added use_dash_sidebar_brand_divider() for optional
brand/menu separation.
Added brand visual effects ("glow",
"shimmer", "emboss") and two-color gradients
via dash_titles().
Added support for image-based brand icons via
icon_img and icon_shape.
Added navbar utilities:
dash_nav_title()
dash_nav_item()
dash_nav_refresh_button()
dash_nav_help_button()
dash_user_menu()
Added dash_footer()with independently positional
logo and text elements.
Added global options:
bs4Dashkit.sidebar.collapsed
bs4Dashkit.sidebar.expanded
bs4Dashkit.brand_divider
bs4Dashkit.theme_preset
bs4Dashkit.accent