Skip to content

Releases: gadenbuie/countdown

[R] countdown v0.6.0

15 Nov 14:16
b63fe3c

Choose a tag to compare

Breaking changes

  • The first countdown() timer no longer provides global styles for all other
    countdown timers. Instead, use countdown_style() with the same style-related
    arguments to set global styles for all countdown timers. (#36)

New features and improvements

  • The countdown JavaScript implementation was entirely re-written as a custom
    <countdown-timer> element. This improves lifecycle management of the timer
    component, making it possible to use countdown timers with dynamic UI in
    Shiny apps. (#59)

  • Rewritten countdown timer CSS now uses CSS variables rather than a template
    rendered in R. This improves how countdown's dependencies are handled and
    makes it easier to customize and use countdown in other projects and
    settings. (#36)

  • Implemented emitting of native browser events alongside Shiny communication. (#37)

  • Added two new event types: "finished" when the timer completes its cycle
    and "warning" when it reaches the warning period. (#37)

  • Set class = "inline" in countdown() to create an inline, rather than
    absolute-positioned, countdown timer. (#36)

  • Set class = "no-controls" in countdown() to create a countdown timer
    without the controls. (#40)

Bug fixes

  • Fixed an issue where custom URLs for play_sound were not used for the timer
    end sound. (thanks @jannismain, #38)

  • Fixed countdown_fullscreen() not passing along class and start_immediately parameters. (#43)

Changes

  • Switched to using {bslib} to stylize the demo countdown shiny app. (#37)

  • Clarified play_sound documentation to emphasize custom sounds require the
    countdown clock to be embedded in a website, presentation, or Shiny app to
    be played due to JavaScript limitations on local files. (#44)

v0.4.0

20 Aug 12:58
ed61a5a

Choose a tag to compare

countdown 0.4.0

Release Post: countdown v0.4.0 – Now on CRAN!

New Features

  • {countdown} now uses {prismatic} for color calculations.

  • The JavaScript implementation of countdown has been completely rewritten. It
    now supports a wide range of new interactions:

    • Start, pause, and reset the timer (click, click again, double click).

    • + or - buttons to bump timer up or down.

    • Keyboard shortcuts: Space/Enter to start/stop, Escape to reset, and up/down
      arrows to bump timer.

    • The timers now work on mobile devices (in particular in xaringan slides).

  • countdown timers can now be used in or controlled by Shiny apps:

    • Use countdown_update() to update key initial timer settings.

    • Use countdown_action() to trigger common action: start, stop, reset,
      bump up or bump down.

    • State changes are reported back to the Shiny app, e.g. Shiny apps can
      use input$timer to receive event data from the timer with
      id = "timer".

    • countdown_shiny_example() runs a Shiny app that demonstrates key
      Shiny app features.

  • Timers can now start immediately by setting the argument
    start_immediately = TRUE. When TRUE, timers will start as soon as they
    are visible. This feature works in xaringan slides, Quarto slides and general
    HTML web pages (thanks @Dr-Joe-Roberts, @davidkane9, #12).

  • The countdown_app() now supports bookmarking, making it possible to share
    pre-configured timer URLs. This feature improves the usability of the
    timer available at https://apps.garrickadenbuie.com/countdown.

v0.3.5

25 Jan 15:53

Choose a tag to compare

Minor style adjustments

v0.3.3

02 Jun 18:53

Choose a tag to compare

  • Added .countdown-time class to <code> element of timer. Renamed .digits
    class to .countdown-digits. This ensures that it's possible to write CSS
    rules with high specificity values (#10).

  • Added style argument to countdown() for inlining CSS rules to the parent
    div of the timer.

countdown v0.3.0

01 Jun 18:15

Choose a tag to compare

  • Added a warning state to the coundown timer that is enabled by setting
    warn_when = N. The warning class is applied to the timer for the last N
    seconds, and the colors of this state are configured with the arguments with
    color_warning_ prefix (thanks @hadley, #5).

  • Added a new convenience function for full-screen (and stand-alone) countdown
    timers, countdown_fullscreen(). This function's defaults work best when
    called from RStudio, in xaringan slides it will still be necessary to fiddle
    with font_size, margin, and padding (thanks @hadley, #6).

  • Add countdown_app() to launch an interactive Shiny app with a full-screen
    countdown timer.