All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
- Draft a new release since the previous one did not include the type update
- Extend strokeLinecap to support "butt" option
- Fix README on both packages and sync up versions
- The animating path is visible when the animation is over on Android. To fix it we check if the elapsed time is equal the duration
- Upgrade use-elapsed-time to fix an issue where the newStartAt was not respected
- Accept a new argument from
onCompletethat can control the initialRemainingTime
- Move types close to the web and mobile packages since TypeScript can not reexport submodules. Issue microsoft/TypeScript#8305
- Add README to mobile package
- Add README for web package so it shows in NPM
- The Web and Mobile packages are now written in TypeScript
- PNPM is now used as package manager as well as to handle the monorepo
- Webpack is replaced by Esbuild to bundle the code and run dev server
- PropTypes are no longer required as peerDependencies. The component relays on the TypeScript types
- New prop
updateIntervalis added to control how often the timer should be updated - New prop
colorsTimeis added to handle the times when a color should switch to the next color. This was part of thecolorsprop before - New prop
isSmoothColorTransitionindicates if the colors should smoothly transition to the next color or just change the color when the time comes - New event handler
onUpdatewill fire every time the time changes - Reduce overall bundle size and provide module export for the Web package
- IE is no longer supported
colorsprop now is either: Single color in any valid color format or URL to a gradient; Array of colors in HEX format. At least 2 colors should be provided.- Gradient is no longer supported out of the box and
isLinearGradientandgradientUniqueKeyare now deprecated. The gradient can be set from outside of the component. Please refer to the recipes section. ariaLabelandrenderAriaTimeare also deprecated. Refer to the recipes section to check how this can be implemented.childrenprop now accepts only a render function and it does not take a React component as a children
- The Mobile package does not rely on
AnimatedPathto animate the SVG path but instead it uses the animation event loop fromuse-elapsed-time. Thus now both packages - web and mobile share the same core logic to animate the path. Performance comparison shows that the later approach is much more performant.
2.5.4 (2021-08-29)
Note: Version bump only for package countdown-circle-timer-monorepo
2.5.3 (2021-05-13)
- web: upgrade use-elapsed-time to 2.1.8 (9eb0166)
2.5.2 (2021-04-28)
2.5.1 (2021-03-25)
- mobile: react-native ignore pattern in tests (16cf3cc)
2.5.0 (2021-02-15)
- change from or to null operator and other fixes suggested in PR. (2e79ed3)
- the issue of stroke overflowing when trailStrokeWidth is different from strokeWidth (b3d3aab)
- Add inner and outer stroke width prop to timer. (bdc35a7)
- add snapshots for trailStrokeWidth for web also (ce12b54)
- add test for trailStrokeWidth mobile (67542b1)
2.4.0 (2021-01-15)
- web: put the browser list to the correct file (2e4d510)
- web: add browser list to package.json (a88c8c8)
2.3.12 (2021-01-14)
- web: support for IE11 (201f996)
2.3.11 (2021-01-10)
Note: Version bump only for package countdown-circle-timer-monorepo
2.3.10 (2020-10-11)
2.3.9 (2020-09-06)
2.3.8 (2020-08-29)
- mobile: add correct dependencies in hooks (9d77921)
- minutes formatting in recipes on Readme page (acab4c8)
- add eslint plugin:react-hooks (288320f)
Note: Configure Github action to release using Lerna. No changes on component code.
Note: Configure Github action to release using Lerna. No changes on component code.
Note: Configure Github action to release using Lerna. No changes on component code.
Note: Configure Github action to release using Lerna. No changes on component code.
2.3.3 (2020-07-21)
Note: An attempt to configure Lerna to create Github releases. No changes on component code.
2.3.2 (2020-07-21)
Note: An attempt to configure Lerna to create Github releases. No changes on component code.
2.3.1 (2020-07-21)
Note: An attempt to configure Lerna to create Github releases. No changes on component code.
- web, mobile: allow passing string as a single color to colors prop (f5ba08c)
Implemented enhancements:
- Make the repo monorepo handled by Lerna
- Breaking changes:
- Remove the old
startAtprop. The recommended prop to use isinitialRemainingTimeinstead. - Remove
marginstyles from the wrapper and all svg styles durationSecondsis renamed to justduration. The duration is still in secondsrenderTimeprop is now deprecated. Reactchildrenshould be used instead. Thechildrenprop accepts a render function or a component whereremainingTimeandelapsedTimeare passed as props.renderAriaTimeprop will receive as an argument an object with theremainingTimeandelapsedTime
- Remove the old
Implemented enhancements:
- Refactor internal logic to prep the code for monorepo
- Remove
path.getTotalLength()dependency and add logic to calculate the path length - Improve test coverage
- Add Prettier
Bug fixes:
- Fix an issue in Firefox where the progress bar does not get to 0
Implemented enhancements:
- Add GitHub workflow to report test coverage and build status
- Add a new badge for weekly downloads
Implemented enhancements:
- Replace
startAtwithinitialRemainingTime. UsingstartAtin the context of countdown is confusing startAtcan be used until the next major release for backward compatibilityinitialRemainingTimesets the initial remaining time when the countdown starts
Implemented enhancements:
- Add TypeScript type definitions
Implemented enhancements:
- Add test coverage
Implemented enhancements:
- Add
a11ysupport by exposing two additional propsariaLabelandrenderAriaTime
Implemented enhancements:
- Replace custom hook that handles animation loop with useElapsedTime
- Add Changelog file