@ixnode/simple-clock
TypeScript icon, indicating that this package has built-in type declarations

1.0.7 • Public • Published

@ixnode/simple-clock

Release npm version TypeScript MIT License

A simple, customizable, and responsive clock component for React.

🚀 Features

  • Customizable size and color
  • Supports both digital and analog clocks
  • Displays date, time zone and milliseconds
  • Configurable 12-hour and 24-hour formats
  • Lightweight and built with TypeScript
  • Build on top with storybook

📦 Installation

npm install @ixnode/simple-clock

or

yarn add @ixnode/simple-clock

🔧 Usage

Basic Usage

Basic clock.

import React from 'react';
import { Clock } from '@ixnode/simple-clock';
import '@ixnode/simple-clock/dist/styles.css';

const App = () => (
    <Clock size="large" color="blue" showDate={true} showBorder={true} showTimeZone={true} />
);

export default App;

More complex usage

Analog clock.

import React from 'react';
import { Clock } from '@ixnode/simple-clock';
import '@ixnode/simple-clock/dist/styles.css';

const App = () => (
    <Clock color={'default'} size={'small'} isAnalog={true} timeZone={"Europe/Berlin"} locale={"de-DE"} />
);

export default App;

🔧 Props

Prop Type Default Description
color 'default'|'red'|'green'|'blue' 'default' Sets the color of the clock.
size 'small'|'medium'|'large' 'medium' Sets the size of the clock.
showBorder boolean false Whether to show a border around the clock.
use24HourFormat boolean true Use 24-hour format (true) or AM/PM (false).
showTenths boolean false Show tenth of a second?
isAnalog boolean false Show an analog clock?
showDate boolean false Show date?
showTimeZone boolean false Should a timezone be displayed?
timeZoneType 'short'|'long' 'short' Which type of timezone should be displayed?
locale string 'en-US' Which locale should be displayed?
timeZone string 'UTC' Which time zone should be displayed?

Common locales (locale)

timeZone is used with the Intl.DateTimeFormat API:

Locale Description
en-US English (United States)
en-GB English (United Kingdom)
de-DE German (Germany)
es-ES Spanish (Spain)
fr-FR French (France)
it-IT Italian (Italy)
nl-NL Dutch (Netherlands)
pl-PL Polish (Poland)
pt-BR Portuguese (Brazil)
ru-RU Russian (Russia)
sv-SE Swedish (Sweden)
zh-CN Chinese (Simplified, China)
zh-TW Chinese (Traditional, Taiwan)

Common Time Zone Formats and Examples (timeZone)

timeZone is used with the Intl.DateTimeFormat API:

1. Common Time Zone Strings (IANA-TZ Format)

These strings are based on the IANA Time Zone Database, which defines time zones used worldwide:

Time Zone Description
UTC Coordinated Universal Time
America/New_York Eastern Standard Time (EST)
Europe/Berlin Central European Time (CET)
Asia/Tokyo Japan Standard Time (JST)
Australia/Sydney Australian Eastern Time (AET)
Africa/Cairo East Africa Time (EAT)
Pacific/Auckland New Zealand Standard Time (NZST)

2. Short Time Zone Formats (Offset-based)

These formats use the offset from UTC in hours and minutes. Examples:

Time Zone Description
GMT Greenwich Mean Time
+02:00 Two hours ahead of UTC
-05:00 Five hours behind UTC

3. Abbreviated Time Zone Codes

Note: These are not supported by the Intl API and are not standardized. However, many abbreviations are commonly used in practice, such as:

Abbreviation Description
PST Pacific Standard Time (UTC-8)
CET Central European Time (UTC+1)
IST Indian Standard Time (UTC+5:30)

🛠 Development

Building the Project

To build the project locally:

npm run build

Running Storybook

View and develop components in isolation:

npm run storybook

Open: http://localhost:6006/

Storybook

📦 Publishing to npm

Build the project

npm run build

Verify the build

node dist/index.js

Bump the version

Update the version in the package.json, e.g., from 1.0.0 to 1.0.1, to create a new release:

npm version patch

Alternatively:

  • Use npm version minor for new features.
  • Use npm version major for breaking changes.

Publish the package

npm publish --access public

Verify the publication

Check the package on npm: https://www.npmjs.com/package/@ixnode/simple-clock.

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

Authors

🌟 Contributing

Contributions are welcome! Feel free to submit issues or pull requests to improve this project.

🤝 Acknowledgments

Special thanks to the open-source community for providing amazing tools like React, TypeScript, and Storybook.

Package Sidebar

Install

npm i @ixnode/simple-clock

Weekly Downloads

51

Version

1.0.7

License

MIT

Unpacked Size

846 kB

Total Files

55

Last publish

Collaborators

  • ixnode