pkgdown/extra-head.html

Skip to contents

bs4Dashkit 0.3.0

Branding and layout

  • Added dash_brand_options() and dash_titles_from() so shared brand configuration can be reused across app families without growing each dash_titles() call.

  • Added prototype top-navigation support with use_dash_topnav() and use_bs4Dashkit_core(layout = "topnav"). The sidebar menu remains the source of truth and is mirrored into the navbar so bs4TabItems(), input$sidebar, updateTabItems(), and bookmarking can keep using native bs4Dash wiring.

  • Top-navigation tabs can now be aligned left, center, or right with align / topnav_align, and spaced with gap / topnav_gap.

  • Added dash_topnav_options() so production apps can pass one compact topnav = ... object to use_bs4Dashkit_core(layout = "topnav") instead of a long run of topnav_* arguments.

  • Top-navigation mode now includes an animated active underline, mobile hamburger behavior, optional pill and compact tab styles, optional More overflow, centered title auto-compact/hide behavior, keyboard navigation, optional active page-title sync, a Shiny click event at input$bs4dashkit_topnav, and a debug outline mode.

  • use_bs4Dashkit_core() and use_dash_sidebar_behavior() now accept explicit CSS lengths for topbar_h, collapsed_w, and expanded_w, such as "56px", "4.25rem", and "270px". Existing numeric values remain supported with their historical default units.

  • Removed the digest import; scoped brand CSS now uses a tiny internal ID counter.

Documentation and examples

  • Updated README, vignettes, packaged examples, and pkgdown reference navigation to show the complete navbar item helpers and top-navigation prototype as the preferred API.

  • Updated examples to avoid wrapping helpers that already return navbar <li> elements.

Testing

  • Added regression coverage for complete navbar item helpers, navbar validation messages, CSS-unit sidebar dimensions, reusable brand options, status badges, core helper layout selection, and top-navigation dependency injection.

bs4Dashkit 0.2.1

  • Hardened generated JavaScript by encoding dynamic sidebar brand strings as JSON literals.

  • Added validation for CSS values used in theme, brand, and sidebar helpers before they are emitted into HTML/style blocks.

  • Reused sidebar dimension validation for direct use_dash_sidebar_behavior() calls.

  • Removed unused package metadata and cleaned unnecessary source comments.

  • Added regression tests for JavaScript escaping, CSS validation, and direct sidebar dimension validation.

  • Added a packaged hardening regression example app that exercises JavaScript label escaping, CSS validation, sidebar dimensions, runtime DOM tracing, and visual theme fixtures.

bs4Dashkit 0.2.0

CRAN release: 2026-04-21

Ergonomics and discoverability

  • 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.

Documentation and package polish

  • 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

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

bs4Dashkit 0.1.0

CRAN release: 2026-03-10

Initial release