Skip to content

Map of SVG elements to allowed attributes

License

Notifications You must be signed in to change notification settings

wooorm/svg-element-attributes

Repository files navigation

svg-element-attributes

Build Coverage Downloads Size

Map of SVG elements to allowed attributes.

Contents

What is this?

This is a map of tag names to lists of allowed attributes. Global attributes are stored at the special tag name *. All attributes from SVG 1.1, SVG Tiny 1.2, and SVG 2 are included.

👉 Note: Includes deprecated attributes.

👉 Note: ARIA (role, aria-*), event (ev:event, on*), or xml:* and xlink:* attributes are not included.

When should I use this?

You can use this to figure out if certain attributes are allowed on certain SVG elements.

Install

This package is ESM only. In Node.js (version 16+), install with npm:

npm install svg-element-attributes

In Deno with esm.sh:

import {svgElementAttributes} from 'https://esm.sh/svg-element-attributes@2'

In browsers with esm.sh:

<script type="module">
  import {svgElementAttributes} from 'https://esm.sh/svg-element-attributes@2?bundle'
</script>

Use

import {svgElementAttributes} from 'svg-element-attributes'

console.log(svgElementAttributes['*'])
console.log(svgElementAttributes.circle)

Yields:

[
  'about',
  'class',
  'content',
  'datatype',
  'id',
  'lang',
  'property',
  'rel',
  'resource',
  'rev',
  'tabindex',
  'typeof' ]
[
  'alignment-baseline',
  'baseline-shift',
  'clip',
  'clip-path',
  'clip-rule',
  // …
  'transform',
  'unicode-bidi',
  'visibility',
  'word-spacing',
  'writing-mode' ]

API

This package exports the identifier svgElementAttributes. There is no default export.

It exports no TypeScript types.

svgElementAttributes

Map of SVG elements to allowed attributes (Record<string, Array<string>>).

Compatibility

This projects is compatible with maintained versions of Node.js.

When we cut a new major release, we drop support for unmaintained versions of Node. This means we try to keep the current release line, svg-element-attributes@2, compatible with Node.js 12.

Security

This package is safe.

Related

Contribute

Yes please! See How to Contribute to Open Source.

License

MIT © Titus Wormer