2.5.0 • Published 9 days ago

@wwtdev/bsds-components-vue3 v2.5.0

Weekly downloads
-
License
-
Repository
github
Last release
9 days ago

BSDS Components Library

Installation & Usage

npm install --save @wwtdev/bsds-components-vue3

Vue App Setup

Add the following to your main.js file to import styles:

/* Blue Steel Styles
 @wwtdev/bsds-css and @wwtdev/bsds-icons-vue3
 will be installed as dependencies of this package
*/
import '@wwtdev/bsds-components-vue3/components.css'
import '@wwtdev/bsds-icons-vue3/lib/style.css' // see note below re ^2.0.6

Note that the CSS framework is included in @wwtdev/bsds-components-vue3/components.css, along with a few additional styles needed for the Vue components. This means that you do not need to import @wwtdev/bsds-css/dist/wwt-bsds.min.css separately.*

*Starting from v2.0.6, the icon styles are also included in @wwtdev/bsds-components-vue3/components.css. This means that you do not need to import @wwtdev/bsds-icons-vue3/lib/style.css separately, either.

If you're using Tailwind in your project, see additional instructions below.

Migration from v1

  1. Remove the @wwtdev/bsds-components package, as this Vue 3 package no longer depends on a base web component library.
  2. This package no longer provides or requires a Vue plugin, so remove any imports / logic related to that.
  3. These components no longer render custom element tags (e.g., <bs-input-field> is now <div data-component="bs-input-field">), so if you have any CSS rules or DOM-related logic that relied on the previous version's custom element tag selectors, you'll need to update those accordingly.

Nuxt App Setup

Add the following to your nuxt.config.js file to import styles:

export default defineNuxtConfig({
  ...
  css: [
    '@wwtdev/bsds-components-vue3/components.css',
    '@wwtdev/bsds-icons-vue3/lib/style.css'
  ],
  ...
})

Usage

<script setup>
import { BsButton } from '@wwtdev/bsds-components-vue3'
import { BsIconCaretRight } from '@wwtdev/bsds-icons-vue3'
</script>

<template>
  <div>
    <BsButton>Hello World!</BsButton>
    <BsIconCaretRight />
  </div>
</template>

Usage with Tailwind

If you're using Tailwind in your project, you'll need to take additional steps as follows:

1. Add the WWT Preset to the Tailwind config.

For new projects, we recommend that you use the provided config file as a preset. When setting up the tailwind.config.js file, import the WWT preset from the CSS Framework package. Note that wwt-bsds-preset.js sets config.corePlugins.preflight: false by default; we do this to apply our style resets instead of the Tailwind resets.

/* tailwind.config.js */

module.exports = {
  presets: [require('@wwtdev/bsds-css/dist/wwt-bsds-preset.js')]
};

While the foregoing setup is our recommended method, we have still put in effort to ensure that wwt-bsds-preset.js works as a base configuration in conjunction with the tailwind defaults and reset as well. So this should still work as an alternative if needed, though it is not the focus/priority of our project:

/* tailwind.config.js */

const wwtConfig = require('@wwtdev/bsds-css/dist/wwt-bsds-preset.js')
module.exports = {
  ...wwtConfig,
  corePlugins: { preflight: false }
};

2. Tailwind CSS Directives

To prevent conflicts with our CSS Framework, only include the base and utilities directives.

Since our CSS has its own reset and default styles, we prevent Tailwind's base reset styles from loading, via a setting in our WWT Preset. The only styles that will be used from base are Tailwind CSS variables, which are needed in order to ensure all Tailwind classes work as expected.

/* src/styles/tailwind.css */

@tailwind base;
@tailwind utilities;

Once you have completed the Tailwind installation steps, you can use the classes generated from the preset.

3. App setup w/ Tailwind and BSDS Styles

Vue example:

/* src/main.js */

// Blue Steel Styles
import '@wwtdev/bsds-components-vue3/components.css'
import '@wwtdev/bsds-icons-vue3/lib/style.css' // separate icon styles not needed from v2.0.6

// TW
import './styles/tailwind.css'

Nuxt example:

/* nuxt.config.js */

export default defineNuxtConfig({
  ...
  css: [
    '@wwtdev/bsds-components-vue3/components.css',
    '@wwtdev/bsds-icons-vue3/lib/style.css', // separate icon styles not needed from v2.0.6
    '~/assets/styles/tailwind.css',
  ]
})

4. Dark Mode-compatible "semantic" color utilities

We've extended the TW theme with color utilities that will automatically adjust when using dark mode. These classes require the CSS custom properties defined in the global stylesheet (wwt-bsds.css). If you're not bringing that stylesheet in, either disregard these classes or manually include the properties from tokens.css and global.css in your project.

2.5.0

9 days ago

2.4.0

20 days ago

2.3.6

26 days ago

2.3.5

1 month ago

2.3.4

1 month ago

2.3.2

2 months ago

2.3.3

2 months ago

2.3.1

2 months ago

2.3.0

2 months ago

2.2.0

2 months ago

2.1.4

2 months ago

2.1.5

2 months ago

2.1.3

3 months ago

2.1.2

3 months ago

2.1.1

3 months ago

2.1.0

3 months ago

2.0.10

4 months ago

2.0.9

4 months ago

2.0.8

4 months ago

2.0.7

4 months ago

2.0.6

4 months ago

2.0.5

4 months ago

2.0.4

4 months ago

2.0.3

4 months ago

2.0.2

4 months ago

2.0.1

4 months ago

2.0.0

4 months ago

1.16.5

5 months ago

1.16.4

5 months ago

1.16.3

5 months ago

1.16.2

5 months ago

1.16.1

5 months ago

1.16.0

5 months ago

1.15.15

5 months ago

1.15.14

5 months ago

1.15.12

5 months ago

1.15.13

5 months ago

1.15.0

6 months ago

1.14.1

7 months ago

1.14.0

7 months ago

1.13.1

7 months ago

1.13.0

7 months ago

1.12.0

7 months ago

1.15.4

5 months ago

1.15.3

6 months ago

1.15.2

6 months ago

1.15.1

6 months ago

1.15.10

5 months ago

1.15.8

5 months ago

1.6.4

9 months ago

1.15.11

5 months ago

1.15.7

5 months ago

1.9.0

8 months ago

1.8.1

8 months ago

1.6.3

9 months ago

1.15.6

5 months ago

1.8.0

8 months ago

1.6.2

10 months ago

1.15.5

5 months ago

1.7.0

8 months ago

1.6.1

10 months ago

1.5.2

10 months ago

1.6.0

10 months ago

1.5.1

10 months ago

1.5.0

10 months ago

1.4.0

10 months ago

1.15.9

5 months ago

1.6.5

9 months ago

1.11.0

7 months ago

1.10.0

7 months ago

1.2.0

12 months ago

1.1.0

12 months ago

1.3.0

11 months ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago

0.3.0

1 year ago

0.2.0

1 year ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.3

2 years ago