open-index/open-npm huggingface dataset:
npm package: @mycujoo/tslint-config-mycujoo-base
Description: TSLint base configuration file for @mycujoo
Author: mycujoo.tv
Latest version: 1.0.0

# eslint-config-mycujoo-base

## Introduction

This is the base ESLint configuration file used at mycujoo.

It is based on [Airbnb's config](https://www.npmjs.com/package/eslint-config-airbnb-base).

## Installation

### NPM

```
npm install --save-dev eslint@latest eslint-plugin-import@latest @mycujoo/eslint-config-mycujoo-base
```

### Yarn

```
yarn add --exact --dev eslint@latest eslint-plugin-import@latest @mycujoo/eslint-config-mycujoo-base
```

### Your `.eslintrc`

To add the rules to your `.eslintrc`, extend the file with the package in the following manner:

```
{
  "extends": ["@mycujoo/mycujoo-base"]
}
```

Example:
```
{
  "extends": [
    "@mycujoo/mycujoo-base"
  ],
  "env": {
    "node": true,
    "jest": true
  }
}
```
npm package: @mycuppa/core
Description: Core utilities and types for Cuppa framework
Author: Cuppa Platform Team
Latest version: 0.0.0

# @mycuppa/core

Essential utilities, types, and helpers that form the foundation of the Cuppa framework.

## Installation

```bash
npm install @mycuppa/core
# or
pnpm add @mycuppa/core
# or
yarn add @mycuppa/core
```

## Features

- 🎯 **Type Utilities** - Advanced TypeScript helpers for better type safety
- 🛠️ **Utility Functions** - Common functions for everyday tasks
- ⚡ **Performance Utilities** - Debounce and throttle functions
- 📝 **Logger** - Structured logging with configurable levels
- 🔑 **ID Generation** - Generate unique identifiers with prefixes

## Quick Start

```typescript
import {
  isDefined,
  deepMerge,
  debounce,
  createLogger,
  generateId,
} from '@mycuppa/core'

// Type-safe null checks
const value: string | null = getValue()
if (isDefined(value)) {
  console.log(value.toUpperCase())
}

// Deep merge objects
const config = deepMerge(defaults, custom)

// Debounce function calls
const search = debounce((query: string) => {
  console.log('Searching...', query)
}, 300)

// Create logger
const logger = createLogger({
  level: 'info',
  prefix: 'App',
})
logger.info('Application started')

// Generate unique IDs
const userId = generateId('user') // 'user-k2j9f8x1-a3b4c5d6'
```

## API Reference

### Type Checking

- `isDefined<T>(value)` - Type-safe check for non-null/undefined values
- `isPlainObject(value)` - Check if value is a plain object

### Object Manipulation

- `deepMerge(target, source)` - Deep merge two objects

### Performance

- `debounce(fn, delay)` - Create debounced function
- `throttle(fn, limit)` - Create throttled function
- `sleep(ms)` - Async sleep utility

### Utilities

- `generateId(prefix?)` - Generate unique IDs

### Logger

```typescript
const logger = createLogger({
  level: 'info', // 'debug' | 'info' | 'warn' | 'error'
  prefix: 'App',
  timestamp: true,
})

logger.debug('Debug message')
logger.info('Info message')
logger.warn('Warning message')
logger.error('Error message')
```

## TypeScript Support

Full TypeScript support with type definitions included:

```typescript
import type { DeepPartial, LogLevel, CuppaConfig } from '@mycuppa/core'
```

## Documentation

For detailed documentation, visit:
- [Core Package Overview](https://cuppa-web-docs.vercel.app/docs/core)
- [Utilities Guide](https://cuppa-web-docs.vercel.app/docs/core/utilities)
- [Logger Guide](https://cuppa-web-docs.vercel.app/docs/core/logger)

## License

MIT
npm package: @mycuppa/plugin
Description: Plugin system for Cuppa framework
Author: Cuppa Platform Team
Latest version: 0.0.0

# @mycuppa/plugin

Extensible plugin system for Cuppa applications.

## Installation

```bash
npm install @mycuppa/plugin @mycuppa/core
# or
pnpm add @mycuppa/plugin @mycuppa/core
```

## Quick Start

```typescript
import { createPlugin, registerPlugin } from '@mycuppa/plugin'

// Create a plugin
const analyticsPlugin = createPlugin({
  name: 'analytics',
  version: '1.0.0',
  install(cuppa) {
    cuppa.on('page:view', (data) => {
      console.log('Page viewed:', data)
    })
  },
})

// Register plugin
registerPlugin(analyticsPlugin)

// Use plugin API
cuppa.emit('page:view', { path: '/home' })
```

## Creating Plugins

```typescript
import { createPlugin } from '@mycuppa/plugin'

export const myPlugin = createPlugin({
  name: 'my-plugin',
  version: '1.0.0',

  install(cuppa, options) {
    // Add methods
    cuppa.myMethod = () => {
      console.log('Custom method')
    }

    // Register lifecycle hooks
    cuppa.on('init', () => {
      console.log('App initialized')
    })

    // Add global utilities
    cuppa.utils.myUtil = () => 'utility function'
  },
})
```

## Features

- 🔌 **Easy Extension** - Simple plugin API
- 🎯 **Type-Safe** - Full TypeScript support
- 🔄 **Lifecycle Hooks** - Tap into application lifecycle
- 📦 **Composable** - Combine multiple plugins
- 🛠️ **Plugin Registry** - Manage installed plugins

## Documentation

For detailed documentation, visit:
- [Plugin Overview](https://cuppa-web-docs.vercel.app/docs/plugin)
- [Creating Plugins](https://cuppa-web-docs.vercel.app/docs/plugin/creating)
- [Plugin Hooks](https://cuppa-web-docs.vercel.app/docs/plugin/hooks)

## License

MIT
npm package: @mycuppa/router
Description: Client-side routing for Cuppa framework
Author: Cuppa Platform Team
Latest version: 0.0.0

# @mycuppa/router

Type-safe client-side routing for React applications.

## Installation

```bash
npm install @mycuppa/router react react-dom
# or
pnpm add @mycuppa/router react react-dom
```

## Quick Start

```typescript
import { createRouter, Link, useRouter } from '@mycuppa/router'

// Create router
const router = createRouter({
  mode: 'history',
  routes: [
    {
      path: '/',
      handler: () => import('./pages/Home'),
    },
    {
      path: '/about',
      handler: () => import('./pages/About'),
    },
    {
      path: '/users/:id',
      handler: () => import('./pages/User'),
    },
  ],
})

// Navigate programmatically
router.push('/about')
router.replace('/login')
router.back()

// Use in components
function Navigation() {
  const router = useRouter()

  return (
    <nav>
      <Link to="/">Home</Link>
      <Link to="/about">About</Link>
      <button onClick={() => router.push('/contact')}>Contact</button>
    </nav>
  )
}
```

## Features

- 🎯 **Type-Safe** - Full TypeScript support with route parameters
- ⚡ **Code Splitting** - Lazy load routes for better performance
- 🔄 **History API** - Support for both history and hash routing
- 📱 **Nested Routes** - Build complex route hierarchies
- 🔐 **Route Guards** - Protect routes with authentication

## Documentation

For detailed documentation, visit:
- [Router Overview](https://cuppa-web-docs.vercel.app/docs/router)
- [Routes Guide](https://cuppa-web-docs.vercel.app/docs/router/routes)
- [Navigation Guide](https://cuppa-web-docs.vercel.app/docs/router/navigation)

## License

MIT
npm package: @mycuppa/ui
Description: React UI component library for Cuppa framework
Author: Cuppa Platform Team
Latest version: 0.0.0

# @mycuppa/ui

React UI component library with accessible, customizable components.

## Installation

```bash
npm install @mycuppa/ui react react-dom
# or
pnpm add @mycuppa/ui react react-dom
# or
yarn add @mycuppa/ui react react-dom
```

## Features

- 🎨 **Customizable** - Theme with CSS variables
- ♿ **Accessible** - WAI-ARIA compliant components
- 📱 **Responsive** - Mobile-first design
- 🎯 **Type-Safe** - Full TypeScript support
- 🌙 **Dark Mode** - Built-in dark mode support

## Quick Start

```tsx
import { Button, Card, Input, Container } from '@mycuppa/ui'

function App() {
  return (
    <Container>
      <Card>
        <Card.Header>
          <h2>Welcome to Cuppa</h2>
        </Card.Header>
        <Card.Body>
          <Input label="Email" type="email" placeholder="Enter your email" />
          <Button variant="primary">Get Started</Button>
        </Card.Body>
      </Card>
    </Container>
  )
}
```

## Components

### Button

```tsx
<Button variant="primary" size="medium" onClick={handleClick}>
  Click Me
</Button>
```

**Variants:** `primary`, `secondary`, `outline`, `ghost`
**Sizes:** `small`, `medium`, `large`

### Card

```tsx
<Card>
  <Card.Header>Title</Card.Header>
  <Card.Body>Content</Card.Body>
  <Card.Footer>Footer</Card.Footer>
</Card>
```

### Input

```tsx
<Input
  label="Email"
  type="email"
  value={email}
  onChange={(e) => setEmail(e.target.value)}
  error={error}
  required
/>
```

### Container

```tsx
<Container maxWidth="lg">Content</Container>
```

**Max Widths:** `sm`, `md`, `lg`, `xl`, `full`

### Select

```tsx
<Select
  label="Country"
  options={[
    { value: 'us', label: 'United States' },
    { value: 'ca', label: 'Canada' },
  ]}
  onChange={setValue}
/>
```

### Modal

```tsx
<Modal isOpen={isOpen} onClose={() => setIsOpen(false)} title="Confirm">
  <p>Are you sure?</p>
  <Button onClick={handleConfirm}>Confirm</Button>
</Modal>
```

### Spinner

```tsx
<Spinner size="medium" color="primary" />
```

## Theming

Customize with CSS variables:

```css
:root {
  --cuppa-primary: #007bff;
  --cuppa-secondary: #6c757d;
  --cuppa-font-family: system-ui, sans-serif;
  --cuppa-border-radius: 4px;
  --cuppa-spacing-unit: 8px;
}
```

### Dark Mode

```css
[data-theme='dark'] {
  --cuppa-bg: #1a1a1a;
  --cuppa-text: #ffffff;
  --cuppa-primary: #66b2ff;
}
```

```tsx
// Toggle dark mode
document.documentElement.setAttribute('data-theme', 'dark')
```

## Accessibility

All components follow WAI-ARIA guidelines:

- ✅ Keyboard navigation
- ✅ Screen reader support
- ✅ Focus management
- ✅ WCAG AA color contrast

## TypeScript Support

Full TypeScript support included:

```typescript
import type { ButtonVariant, InputProps, CardProps } from '@mycuppa/ui'
```

## Documentation

For detailed documentation, visit:
- [UI Package Overview](https://cuppa-web-docs.vercel.app/docs/ui)
- [Component Reference](https://cuppa-web-docs.vercel.app/docs/ui/components)
- [Theming Guide](https://cuppa-web-docs.vercel.app/docs/ui/theming)

## License

MIT
npm package: @mycure/logger
Description: ## **Installation and Usage**
Author: John Leonard Tubig
Latest version: 0.1.0

# Mycure's Ng Logger

## **Installation and Usage**

install the module and its peer deps

```sh
yarn add @mycure/logger
```

import the module in the root module

```javascript
// in src/app/app.module.ts

import { LoggerModule } from '@mycure/logger';

@NgModule({
  imports: [
    BrowserModule,
    LoggerModule
  ],
  // ...declarables, bootsrap, providers
})
export class AppModule {}
```

## **Features**

### Components

### Enums

### Models

### Services
npm package: @mycure/sdk
Description: mycure sdk-web
Author: John Leonard Tubig
Latest version: 5.9.2

# Mycure sdk-web

## Installation and Usage

```sh
$ yarn add firebase socket.io-client @mycure/sdk
```

```javascript
import sdk from '@mycure/sdk';
import socket from 'socket.io-client';
// import { connect as socket } from 'nativescript-socketio'; // for nativescript
import firebase from 'firebase';

// initialize the sdk
sdk.initilize('http://mcv4.herokuapp.com', {
  socket,
  firebaseApp: firebase.initializeApp({ // <-- pass already initialized firebaseApp
    // ...config here
  })
});

// observe the current user
sdk.auth().currentUser$.subscribe(console.log);

// signin
await sdk.auth().signin('local', { email: 'test@mycure.md', password: 'password' })
```
npm package: @mycure/sdk-vue
Description: mycure sdk-web vue bindings
Author: John Leonard Tubig
Latest version: 4.15.1-alpha.29

# Mycure sdk-web Vue bindings

## Installation

```sh
$ cd <project-directory>>
$ yarn add vue vuex vue-router firebase @mycure/{sdk,sdk-vue}
```

## Usage

```javascript
import Vue from 'vue';
import Vuex from 'vuex';
import VueRouter from 'vue-router';
import sdk from '@mycure/sdk-vue';

const store = new Vuex();
const router = new VueRouter();

// initialize the sdk
const config = {
  store,
  router,
  firebaseConfig: { ...config }
  // ...other configs
};

Vue.use(sdk, config)
```

```javascript
// routes
export const routes = [
  {
    path: '/',
    // no lazy loading (above-the-fold)
    component: require('../statics/Home').default,
    meta: { onLogin: '/dash' } // will be redirected to 'dash' when currentUser != null
  },
  {
    path: '/dash',
    children: require('../dash/routes').routes,
    component: () => import(/* webpackChunkName: 'dash' */ '../dash'),
    meta: { requiresAuth: true, onLogout: '/', signinUsingQueryToken: 'token', force: false } // needs currentUser != null; if currentUser == null, redirect to '/'; if has query token, signInUsingCustomToken using the token in query key 'token'. if force, signInUsingCustomToken even if already signed in
  },
  {
    path: '*',
    redirect: '/'
  }
];
```

```html
// dash/index.vue
<template lang="pug">
  v-layout(column)
    //- navbar
    v-btn(@click="signout" color="red" dark) signout

    //- content
    v-content
      //- isLoggedIn and currentUserId will also be injected to every component
      h1.display-1 CurrentUser's id: {{ currentUserId }}
      
      //- footer
      v-footer
        span footer here
</template>

<script>
export default {
  mounted () {
    // isLoggedIn and currentUserId will also be injected to every component
    console.log('currentUserId:', this.currentUserId);
  },
  methods: {
    signout () {
      // the core sdk will be injected in this.$mc of all components
      this.$mc.auth().signout();
    }
  }
};
</script>

// statics/Home.vue
<template lang="pug">
  v-layout(row)
    v-btn(:loading="loading" @click="signin" color="primary") signin test
</template>

<script>
export default {
  data: () => ({ loading: false }),
  mounted () {
    this.sub = this.$mc.auth().currentUser$.subscribe(() => {
      this.loading = false;
    });
  },
  beforeDestroy () {
    if (this.sub) this.sub.unsubscribe();
  },
  methods: {
    signin () {
      this.loading = true;
      this.$mc.auth().signin('local', { email: 'test@mycure.md', password: 'password' });
    }
  }
};
</script>
```
npm package: @mycure/vue-jitsi-meet
Description: Vue component for Jitsi Meet Web Integration via IFrame
Author: Ian Isaac Emnace, Jofferson Tiquez
Latest version: 0.0.8

# vue-jitsi-meet ![Deploy](https://github.com/mycurelabs/vue-jitsi-meet/workflows/Deploy/badge.svg)

Vue component for Jitsi Meet Web Integration via IFrame.

> **NOTE:** Always refer to the official [Jitsi Meet IFrame API Docs](https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-iframe).

### [GitBook Documentation](https://oss.mycure.md/v/vue-jitsi-meet/)

Made with :heart: by Joff Tiquez
npm package: @mycure/vue-wysiwyg
Description: A simple wysiwyg editor for Vue.js by MYCURE Inc.
Author: Jofferson R Tiquez
Latest version: 1.3.0

# Vue Wysiwyg

![npm bundle size](https://img.shields.io/bundlephobia/min/@mycure/vue-wysiwyg?style=flat-square) ![npm](https://img.shields.io/npm/v/@mycure/vue-wysiwyg?style=flat-square) ![npm](https://img.shields.io/npm/dw/@mycure/vue-wysiwyg?style=flat-square)

A simple wysiwyg editor for Vue.js by [MYCURE Inc.](https://mycure.md)

**[Demo](https://mycurelabs.github.io/vue-wysiwyg/)**

### Install

**NPM**

```bash
$ npm install @mycure/vue-wysiwyg
```

**Yarn**

```bash
$ yarn add @mycure/vue-wysiwyg
```

**CDN**

```html
<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
<script src="https://unpkg.com/@mycure/vue-wysiwyg/dist/mc-wysiwyg.js"></script>
<script>
  Vue.use(McWysiwyg.default);
  new Vue({
    el: '#app',
  });
</script>
```

### Usage

**As a global plugin**
```javascript
import Vue from 'vue';
import VueWysiwyg from '@mycure/vue-wysiwyg';

Vue.use(VueWysiwyg);
```

**As a local component**
```html
<template>
  <div>
    <mc-wysiwyg v-model="html"></mc-wysiwyg>
  </div>
</template>

<script>
import { McWysiwyg } from '@mycure/vue-wysiwyg';
export default {
  components: {
    McWysiwyg
  },
  data () {
    return {
      html: ''
    }
  }
}
</script>
```

### Props

**`height`** - `Number` - Sets the `min-height` of the editor container.

```html
<mc-wysiwyg v-model="html" :height="500"></mc-wysiwyg>
```

**`hide`** - `Object` - Pass the object property `hide` to hide certain features in the editor. 

**Sample**

In example below, `strikethrough` and `table` will be hidden.

```html
<template>
  <div>
    <mc-wysiwyg v-model="html" :hide="hide"></mc-wysiwyg>
  </div>
</template>

<script>
import { McWysiwyg } from '@mycure/vue-wysiwyg';
export default {
  components: {
    McWysiwyg
  },
  data () {
    return {
      html: '',
      hide: {
        strikethrough: true,
        table: true
      }
    }
  }
}
```

**`hide` Properties**

| property | type | default |
| -------- | ---- | ------- |
| bold | Boolean | false |
| italic | Boolean | false |
| underline | Boolean | false |
| strikethrough | Boolean | false |
| heading | Boolean | false |
| alignLeft | Boolean | false |
| alignCenter | Boolean | false |
| alignRight | Boolean | false |
| ol | Boolean | false |
| ul | Boolean | false |
| url | Boolean | false |
| table | Boolean | false |
| indent | Boolean | false |
| outdent | Boolean | false |

### Incoming Features

For feature request please create a [new issue](https://github.com/mycurelabs/vue-wysiwyg/issues/new).

- [ ] Add image
- [x] Height props
- [x] Configuration to show/hide features
- [ ] Custom font
- [ ] Paragraph
- [ ] Quote
- [ ] Code
- [ ] Custom HTML
npm package: @mycv/f8-notification
Description: Using the Notifications API
Author: sondn
Latest version: 1.0.1

# @mycv/f8-notification

> Using the Notifications API

[![NPM](https://img.shields.io/npm/v/@mycv/f8-notification.svg)](https://www.npmjs.com/package/@mycv/f8-notification) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @mycv/f8-notification

// or

yarn add @mycv/f8-notification
```

## Usage

```jsx
import React, { useEffect } from 'react';

import { initNotifications, notify } from '@mycv/f8-notification';

function Example() {
  
  useEffect(() => {
    // request after 3 seconds
    initNotifications({ cooldown: 3000 });
  }, []);

  const showNotification = () => {
    notify('Your title', { body: 'Your message.' });
  }

  return null;
  
}
```

## License

MIT © [sondn](https://github.com/sondnpt00343)
# f8-notification
npm package: @mycv/mycv-api
Description: Promise based HTTP client for the browser
Author: sondn
Latest version: 1.0.7

# @mycv/mycv-api

> Promise based HTTP client for the browser

[![NPM](https://img.shields.io/npm/v/@mycv/mycv-api.svg)](https://www.npmjs.com/package/@mycv/mycv-api) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @mycv/mycv-api
```

## Usage

```jsx
import React, { Component } from 'react'

import MyComponent from '@mycv/mycv-api'

class Example extends Component {
  render () {
    return (
      <MyComponent />
    )
  }
}
```

## License

MIT © [sondn](https://github.com/sondnpt00343)
# mycv-api
npm package: @mycv/mycv-grid
Description: >
Author: sondn
Latest version: 1.1.2

# @mycv/mycv-grid

> 

[![NPM](https://img.shields.io/npm/v/@mycv/mycv-grid.svg)](https://www.npmjs.com/package/@mycv/mycv-grid) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @mycv/mycv-grid
```

## Usage

```jsx
import React, { Component } from 'react'

import MyComponent from '@mycv/mycv-grid'

class Example extends Component {
  render () {
    return (
      <MyComponent />
    )
  }
}
```

## License

MIT © [sondn](https://github.com/sondnpt00343)
npm package: @mycv/mycv-logger
Description: >
Author: sondn
Latest version: 1.0.2

# @mycv/mycv-logger

> 

[![NPM](https://img.shields.io/npm/v/@mycv/mycv-logger.svg)](https://www.npmjs.com/package/@mycv/mycv-logger) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @mycv/mycv-logger
```

## Usage

```jsx
import React, { Component } from 'react'

import MyComponent from '@mycv/mycv-logger'

class Example extends Component {
  render () {
    return (
      <MyComponent />
    )
  }
}
```

## License

MIT © [sondn](https://github.com/sondnpt00343)
npm package: @mycv/mycv-predicates
Description: >
Author: sondn
Latest version: 1.0.0

# @mycv/mycv-predicates

> 

[![NPM](https://img.shields.io/npm/v/@mycv/mycv-predicates.svg)](https://www.npmjs.com/package/@mycv/mycv-predicates) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @mycv/mycv-predicates
```

## Usage

```jsx
import React, { Component } from 'react'

import MyComponent from '@mycv/mycv-predicates'

class Example extends Component {
  render () {
    return (
      <MyComponent />
    )
  }
}
```

## License

MIT © [sondn](https://github.com/sondn)
npm package: @mycv/mycv-settings
Description: Promise based HTTP client for the browser
Author: sondn
Latest version: 1.0.3

# @mycv/mycv-settings

> Promise based HTTP client for the browser

[![NPM](https://img.shields.io/npm/v/@mycv/mycv-settings.svg)](https://www.npmjs.com/package/@mycv/mycv-settings) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @mycv/mycv-settings
```

## Usage

```jsx
import React, { Component } from 'react'

import MyComponent from '@mycv/mycv-settings'

class Example extends Component {
  render () {
    return (
      <MyComponent />
    )
  }
}
```

## License

MIT © [sondn](https://github.com/sondnpt00343)
# mycv-socket-cluster
npm package: @mycv/mycv-socket-cluster
Description: Promise based HTTP client for the browser
Author: sondn
Latest version: 1.0.3

# @mycv/mycv-socket-cluster

> Promise based HTTP client for the browser

[![NPM](https://img.shields.io/npm/v/@mycv/mycv-socket-cluster.svg)](https://www.npmjs.com/package/@mycv/mycv-socket-cluster) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @mycv/mycv-socket-cluster
```

## Usage

```jsx
import React, { Component } from 'react'

import MyComponent from '@mycv/mycv-socket-cluster'

class Example extends Component {
  render () {
    return (
      <MyComponent />
    )
  }
}
```

## License

MIT © [sondn](https://github.com/sondnpt00343)
# mycv-socket-cluster
npm package: @mycv/mycv-sso
Description: >
Author: sondnpt00343
Latest version: 1.0.3

# @mycv/mycv-sso

> 

[![NPM](https://img.shields.io/npm/v/@mycv/mycv-sso.svg)](https://www.npmjs.com/package/@mycv/mycv-sso) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @mycv/mycv-sso
```

## Usage

```jsx
import React, { Component } from 'react'

import MyComponent from '@mycv/mycv-sso'

class Example extends Component {
  render () {
    return (
      <MyComponent />
    )
  }
}
```

## License

MIT © [sondnpt00343](https://github.com/sondnpt00343)
# mycv-sso