Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
@coscom/coscom-ui
Advanced tools
Coscom UI is a lightweight UI components library made for internal usage. It offers a set of easily customisable components and doesnt depend on any specific style or CSS framework.
Coscom UI is a lightweight UI components library for VueJS made for internal use. It offers a set of easily customisable components and doesn't depend on any specific style or CSS framework. More components will be added in the future.
Coscom UI is available at npm.
# Using npm
npm install @coscom/coscom-ui
# Using yarn
yarn add @coscom/coscom-ui
# npm run build:lib
it create dist folder with all components exported
# npm run generate
it creates .output/public to output to any static hosting
# npm run preview
Generates a single html page with all available components.
You can run different commands depending on the target :
# target: server (default value)
nuxt dev - Launch the development server.
nuxt build - Build and optimize your application with webpack for production.
nuxt start - Start the production server (after running nuxt build). Use it for Node.js hosting like Heroku, Digital Ocean, etc.
# target: static
nuxt dev - Launch the development server.
nuxt generate - Build the application (if needed), generate every route as a HTML file and statically export to dist/ directory (used for static hosting).
nuxt start - serve the dist/ directory like your static hosting would do (Netlify, Vercel, Surge, etc), great for testing before deploying.
## Plugin
Coscom UI plugin is required to be installed with the **use** function to set up the default [configuration](https://coscom-ui.org/theming).
```javascript
import { createApp } from 'vue';
import Coscom from 'coscom/config';
const app = createApp(App);
app.use(Coscom);
Note: the documentation source code is in the docs
directory, it serves as the demo as well.
Coscom UI has two theming has modes; styled or unstyled.
Styled Mode
No dependency on a specific CSS framework/library but you can easily integrate the components with one of them because they are fully customizable in different ways.
// theme
import 'coscom-ui/resources/themes/skyblue-light/theme.css';
Unstyled Mode
Unstyled mode is disabled by default for all components. Using the Coscom UI plugin during installation, set unstyled
as true to enable it globally.
import { createApp } from 'vue';
import Coscom from 'coscom/config';
const app = createApp(App);
app.use(Coscom, { unstyled: true });
Each component can be imported individually so that you only bundle what you use. Import path is available in the documentation of the corresponding component.
import Button from '@coscom-ui/button';
import Editor from '@coscom/coscom-ui/editor';
import Toast from '@coscom/coscom-ui/toast';
const app = createApp(App);
app.component('Button', Button);
app.component('Editor', Editor);
app.component('Toast', Toast);
Component prop names are described as camel case throughout the documentation however kebab-case is also fully supported. Events on the other hand should always be kebab-case.
<Dialog :showHeader="false"></Dialog>
<!-- can be written as -->
<Dialog :show-header="false"></Dialog>
Whether to install the Coscom UI plugin, defaults to true. Disable this option if you prefer to configure Coscom UI manually e.g. with a Nuxt plugin.
coscom: {
useCoscom: true;
}
The names of the components, directives and composables to import and register are provided using the include property. When the value is ignored or set using the * alias, all of the components, directives and composables are registered respectively.
coscomui: {
components: {
include: ['Button', 'DataTable']
},
directives: {
include: ['Ripple', 'Tooltip']
},
composables: {
include: ['useStyle']
}
}
In styled mode, the theme can be defined at Nuxt configuration with the css property. Note that this only applies to styled mode, in unstyled mode a theme file is not required as styling is done externally.
export default defineNuxtConfig({
css: ['coscom-ui/resources/themes/light-blue/theme.css']
});
FAQs
Coscom UI is a lightweight UI components library made for internal usage. It offers a set of easily customisable components and doesnt depend on any specific style or CSS framework.
The npm package @coscom/coscom-ui receives a total of 272 weekly downloads. As such, @coscom/coscom-ui popularity was classified as not popular.
We found that @coscom/coscom-ui demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.