UI components for the Data Portal team.
NB: Zoa is in alpha and is subject to frequent API changes with no prior notification or appropriate semantic version change.
Zoa is designed for use with Vue 3.
npm i @nhm-data/zoa
See the storybook for more details on specific components.
The components can either be registered globally:
// main.js
import {createApp} from 'vue'
import App from './App.vue'
import {Zoa} from '@nhm-data/zoa';
import '@nhm-data/zoa/theme';
const app = createApp(App)
app.use(Zoa)
app.mount('#app')
<!-- Component.vue -->
<template>
<zoa-button label="Submit"/>
</template>
Or imported manually into individual components:
<!-- Component.vue -->
<template>
<zoa-button label="Submit"/>
</template>
<script setup>
import { ZoaButton } from '@nhm-data/zoa';
import '@nhm-data/zoa/theme';
</script>
Inputs (other than the button and toggle button) are used via the <zoa-input>
(or <ZoaInput>
) component:
<template>
<zoa-input zoa-type="checkbox" label="Checkbox" :options="{ name: 'chkbox', delay: '200' }"/>
<zoa-input zoa-type="textbox" label="Textbox" :options="{ placeholder: 'this is a placeholder' }"/>
</template>
<script setup>
import { ZoaInput } from '@nhm-data/zoa';
</script>