@iso-safety-signs/vue

Accessible Vue 3 components for all ISO 7010 safety signs — fully typed, zero runtime dependencies beyond Vue
11,134 2
Install
npm install @iso-safety-signs/vue
Latest Version:1.0.3
Vue:3
License:MIT
Last Updated:Oct 20, 2026
Links: GitHub  ·  npm
Maintainer: kwhatever

@iso-safety-signs/vue

Vue 3 components (inline SVG) for all ISO 7010 workplace safety signs. Tree-shakeable, fully accessible, zero runtime dependencies beyond Vue.

npm License: MIT


Installation

npm install @iso-safety-signs/vue
# or
yarn add @iso-safety-signs/vue

Usage

Named components (generated)

<script setup>
import { E001EmergencyExit, W001FlammableMaterial } from '@iso-safety-signs/vue';
</script>

<template>
  <E001EmergencyExit :width="64" />
  <W001FlammableMaterial :width="64" title="Flammable material" />
</template>

Dynamic rendering by ID

Use SignById when the ID comes from data rather than being known at compile time:

<script setup>
import { SignById } from '@iso-safety-signs/vue';
defineProps<{ signId: string }>();
</script>

<template>
  <SignById :id="signId" :width="120" />
</template>

Returns null for unrecognised IDs.


Props

Prop Type Default Description
width number | string SVG intrinsic width Width of the <svg> element
height number | string SVG intrinsic height Height of the <svg> element
title string Sign name Accessible title (<title> inside SVG)
description string Sign description Accessible description (<desc> inside SVG)

SignById also requires:

Prop Type Description
id string Sign slug ID, e.g. "e001-emergency-exit-left-hand"

Accessibility

Every component renders with role="img" and aria-labelledby pointing to <title> and <desc> elements injected inside the SVG. Passing an aria-label attribute labels the <svg> directly instead. Ids are unique per instance (via useId() on Vue 3.5+), so the same sign can appear any number of times on a page.


License

MIT © Karl Norling

Related Packages

@bitrix24/b24icons-vue

Bitrix24 SVG icons for development web-applications for Vue

43,035 6
@bitrix24/b24icons-nuxt

Bitrix24 SVG icons for development web-applications for Nuxt

32,486 6
dls-icons-vue

DLS icons for Vue.

12,718
dls-icons-data

Icon data for DLS icons.

10,195
dls-icons-vue-3

DLS icons for Vue.

3,559

Version History

Version Released License
1.0.3 MIT
1.0.2 MIT
1.0.1 MIT
1.0.0 MIT