1.2.0 • Published 9 months ago

@kumdotdev/countdown-timer v1.2.0

Weekly downloads
-
License
ISC
Repository
github
Last release
9 months ago

Countdown Timer Web Component

Vanilla JS one-file Web Component dependency free and framework agnostic. No build required. Use it as is.

Demo

Visit the demo page for usage examples.

Install

npm i @kumdotdev/countdown-timer

React/Next.js

'use client';
import { useEffect } from 'react';

export const MyComponent = () => {
  useEffect(() => {
    import('@kumdotdev/countdown-timer/countdown-timer.js');
    return () => {};
  }, []);
};

return (
  <>
    <countdown-timer
      date='2028-01-01T23:42:00.000+01:00'
      alarm='86400'
    ></countdown-timer>
  </>
);

Import

CDN

<script async type="module" src="https://unpkg.com/@kumdotdev/countdown-timer/countdown-timer.js"></script>

Local install

<script async type="module" src="/node_modules/@kumdotdev/countdown-timer/countdown-timer.js"></script>

Import as module

<script type="module">
  import '/node_modules/@kumdotdev/countdown-timer/countdown-timer.js';
  // ...
</script>

Usage

Use ISO 8601 date format to provide the desired enddate!

The shorter version 2024-01-01T23:42 should work also.

<countdown-timer
  date="2024-01-01T23:42:00.000+01:00">
</countdown-timer>

Language support

English, French and German provided. You can add more languages to L10N constant. Defaults to english language.

Attributes

AttributeDescription
alarmOptional Time left in seconds to begin with pulsating the timer
dateISO 8601 date for desired countdown target date

Styling

CSS-VariableDescription or additional infoDefault
--cdt-digit-font-sizeSize of the timer digits. Use inherit to inherit from parent element's font-size2rem
--cdt-digit-font-familyOn the demo page the counter used monospace familyinherit
--cdt-digit-font-weightAnother useful values could be 400 (normal)700
--cdt-digit-text-color#fefefe
--cdt-digit-box-colorYou can set the box color to transparent to omit the colored digit box#111
--cdt-digit-box-min-widthYou can set the box min width. Useful when not using monspace font.fit-content
--cdt-label-font-sizeThe font size of the label beneath the digits0.75rem

Defaults

:root {
  --cdt-digit-font-size: 2rem;
  --cdt-digit-font-family: inherit;
  --cdt-digit-font-weight: 700;
  --cdt-digit-text-color: #fefefe;
  --cdt-digit-box-color: #111;
  --cdt-digit-box-min-width: fit-content;
  --cdt-label-font-size: 0.75rem;
}
1.2.0

9 months ago

1.1.0

3 years ago

1.0.0

3 years ago