bocins

UI components for Vue 3
3,700 1
Install
npm install bocins
Latest Version:3.0.1
Vue:3
License:ISC
Last Updated:Oct 14, 2026
Links: GitHub  ·  npm
Maintainer: markusand

Bocins

Collection of reusable UI components for Vue 3 that can be used standalone or combined together to create flexible and customized interfaces. The term bocins is derived from catalan and means small bits or pieces of something.

Explore all components in Storybook.

bocins

NPM NPM NPM Netlify Status

Get started

Install the library

npm i bocins

By default, Lucide icons are used. To load icons from a custom path (e.g., a CDN), configure the icon path before importing components:

// main.ts
import { config } from 'bocins';

// Configure icon path BEFORE using any components
config.iconPath = 'https://cdn.example.com/icons'; // CDN
config.iconPath = '/my-custom-icons'; // Custom local path

Import styles in your app entry point file or in your styles entry point

// main.ts
import 'bocins/dist/index.css';

// main.css
@import 'bocins/dist/index.css';

You can customize the theme using CSS custom properties and extending some base styles. See the full list of available custom properties in the Theming reference or in the Storybook docs.

:root {
  font-size: 16px;
  font-family: system-ui, Arial, sans-serif;

  color-scheme: light dark;

  --bg-color: light-dark(#f8f8f8, #333);
  --text-color: light-dark(#333, #efefec);
  --error-color: #d33;
  --accent-color: #39f;
  --btn-color: var(--accent-color);
}

body {
  background-color: var(--bg-color);
  color: var(--text-color);
}

.btn[delete] { --color: var(--error-color); }

.switch {
  --on-color: lightgreen;
  --off-color: var(--error-color);
}

Usage

Import and use components directly in your vue files

<template>
  <Selector v-model="user" :options="store.users">
    <template #default="{ item: user }">
      <Avatar :src="user.avatar" :name="user.name" />
      {{ user.name }}
    </template>
  </Selector>
</template>

<script setup lang="ts">
import { ref } from 'vue';
import { Selector, Avatar } from 'bocins';
import store, { type User } from './store';

const user = ref<User>();
</script>

<style scoped>
.avatar { --size: 1.5rem; }
</style>

Claude Code Skill

A Claude Code skill is available in skills/use-bocins-ui/ to help AI assistants follow Bocins best practices when working in projects that use this library. It enforces correct import patterns, component usage, styling conventions, and composition patterns.

Related Packages

seeroad-ui

seeroad project ui library

3,733
ui
smart-ui

High Quality Mobile UI Componets by Vue.js 2.

1,883 11
ui
hea-ui

hea-ui is a h5 ui component for vue

1,520 14
ui
canna-ui-vue

shims-vue.d.ts declare module 'canna-ui-vue'

674
ui

Version History

Version Released Vue License
3.0.1 ^3.3.0 ISC
3.0.0 ^3.3.0 ISC
2.8.5 ^3.3.0 ISC
2.8.4 ^3.3.0 ISC
2.8.3 ^3.3.0 ISC
Pre-releases (7)
Version Released Vue License
3.0.0-rc.5 ^3.3.0 ISC
3.0.0-rc.4 ^3.3.0 ISC
3.0.0-rc.3 ^3.3.0 ISC
3.0.0-rc.2 ^3.3.0 ISC
3.0.0-rc.1 ^3.3.0 ISC