Launch Week Day 1: Socket for Jira Is Now Available.Learn More
Socket
Book a DemoSign in
Socket

@smarthr/patternomaly

Package Overview
Dependencies
Maintainers
25
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@smarthr/patternomaly

Easily generate patterns for use in data graphics

latest
smarthr
Source
npmnpm
Version
2.0.0
Version published
Weekly downloads
620
38.08%
Maintainers
25
Weekly downloads
 
Created
Source

Patternomaly

Easily generate patterns for use in data graphics.

Pattern example

But why?

Color-blindness, that's why.

This library came about as part of an issue in Chart.js.

Usage

pnpm install patternomaly

⚠️ テスト実行時の注意事項

背景: セキュリティ要件によりpnpmの、minimumReleaseAge設定のためNodeバージョンを最新に更新しています。しかし、canvasパッケージ(テスト用)は何らかの事情によりpnpm installでは内部パッケージのビルドができないため、canvasのみ npm install を使用しています:

# メインの依存関係をpnpmでインストール
pnpm install

# canvasパッケージのみnpmで個別インストール(一時的な回避策)
cd node_modules/canvas
npm install

# テスト実行
pnpm test

Generate a single canvas pattern

pattern.draw('square', '#1f77b4');

Generate an array of canvas patterns

pattern.generate([
  '#1f77b4',
  '#ff7f0e',
  '#2ca02c',
  '#d62728'
]);

Available Patterns

There are currently 21 pattern variants available. When using the generate method (above) patterns will be 'randomly' assigned.

It is however possible to provide specific patterns using the draw method.

datasets: [{
  data: [
    300, 50, 100, 210, 140
  ],
  backgroundColor: [
    pattern.draw('square', '#1f77b4'),
    pattern.draw('circle', '#ff7f0e'),
    pattern.draw('diamond', '#2ca02c'),
    pattern.draw('zigzag-horizontal', '#17becf'),
    pattern.draw('triangle', 'rgb(255, 99, 132, 0.4)') // with opacity
  ]
}]

Pattern Keys

  • plus
  • cross
  • dash
  • cross-dash
  • dot
  • dot-dash
  • disc
  • ring
  • line
  • line-vertical
  • weave
  • zigzag
  • zigzag-vertical
  • diagonal
  • diagonal-right-left
  • square
  • box
  • triangle
  • triangle-inverted
  • diamond
  • diamond-box
Pattern example

Thanks to obedm503 for generating the example pattern image.

Development

⚠️ 開発前の注意: canvasパッケージを個別にインストールしてください(上記のセキュリティ注意事項を参照)。

To run the examples locally:

pnpm run serve

This will:

  • Build the library
  • Copy the built files to the examples directory
  • Start a local server at http://localhost:3000

Available examples:

  • chart-types.html - Chart.js integration examples
  • optional.html - Pattern toggle functionality
  • patterns.html - All available patterns display
  • compare.html - Pattern vs color comparison
  • scaling.html - Pattern scaling examples
  • single.html - Single pattern demo

Providing a Pattern Alternative

In order to provide an alternative view for visually impaired viewers it's a good idea to provide a patterned alternative.

See the pattern option example page for a simple implementation of a pattern toggle switch for Chart.js.

Typescript / Angular

A typings file is included in this package. Just insert import {draw, generate} from 'patternomaly' in the header of your .ts file. Still you have to add the javascript file to your build e.g. in the scripts array in angular.cli.json e.g. "scripts": ["node_modules/patternomaly/dist/patternomaly.js"].

Keywords

pattern

FAQs

Package last updated on 25 Sep 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts