@rhapsodic/bem-classnames-vue

Vue 3 composables for @rhapsodic/bem-classnames
1,612
Install
npm install @rhapsodic/bem-classnames-vue
Latest Version:2.1.0
Vue:3
License:MIT
Last Updated:Oct 24, 2026
Links: GitHub  ·  npm
Maintainer: intelrug

BEM classnames

A TypeScript utility for generating BEM modifier class names from component props.

Installation

With pnpm

pnpm add @rhapsodic/bem-classnames

Or, with npm

npm install @rhapsodic/bem-classnames

Or, with yarn

yarn add @rhapsodic/bem-classnames

Or, with bun

bun add @rhapsodic/bem-classnames

Quick start

import { bmc, flag } from '@rhapsodic/bem-classnames';

const buttonClasses = bmc('button', {
  size: true,
  variant: true,
  isDisabled: flag('state', 'disabled'),
});

const classes = buttonClasses({
  size: 'large',
  variant: 'primary',
  isDisabled: true,
});
// ['button', 'button_size_large', 'button_variant_primary', 'button_state_disabled']

Documentation

Learn more on the Documentation

Agent skills

This repository includes provider-agnostic agent skills in skills.

Install them directly from GitHub:

npx skills add rhapsodic-dev/bem-classnames --all

They can also be installed as a package:

pnpm add -D @rhapsodic/bem-classnames-skills skills-npm

Add skills-npm to the consuming project's prepare script:

{
  "scripts": {
    "prepare": "skills-npm"
  }
}

License

MIT License

Related Packages

vueuse-temporals

Date related composables for atmosphere-ui

1,676 1
@alvarosabu/ui

UI Library for my personal projects

14,634 5
@orbisk/vue-use-media-recorder

🪝 Vue Composable around MediaRecorder API

12,546 2
@cyklang/vue3

Vue 3 composables for CYKLang

11,797
@teamnovu/kit-composables

A collection of composables

5,342 2

Version History

Version Released Vue License
2.1.0 ^3.5.0 MIT
2.0.3 ^3.5.0 MIT