open-index/open-npm huggingface dataset:
npm package: @lightfunnels/ui
Description: ### Why Choose Our Library?
Latest version: 0.3.9


## lightfunnels/ui

### Why Choose Our Library?

- no js configuration needed - only css variables
- all classnames are declared globally and customizable
- all classnames are prefixed with lfui- to avoid naming collision with other packages or your css
- quickest way to use a ui library
- classnames naming convention .lfui-\[AlertBody\]_\[default\]
- online theme playground (comming soon)

https://www.figma.com/design/BpMDUCZALHfhKf5Qsm5VfR/Weblib?node-id=1-108&node-type=canvas&t=Q7puAiPbscPAgfaK-0

to do:
ekxQ9LepnX3mEe
ErFmOGC
TODO <- code
deal with badge components


avoid overflow:hidden and z-index
never use css nesting
don´t use css condition:
	.lfui-dropdownItem:not(.lfui-dropdownItem_active):hover {
	  background-color: var(--interaction-color);
	}
dont use interfaces

recheck
	opacity
	zindex
	colors
npm package: @lighthouseapps/egg-oauth2
Description: > Javascript oauth2 server
Author: Alvaro Silveira
Latest version: 1.0.4

# oauth2-server
> Javascript oauth2 server

### Usage
```Javascript
  const {
    EggOAuth2
  } = require('oauth2-server');

  class OAuth2Model {
    constructor(ctx) {
      this.ctx = ctx;
    }

    getClient(id: String, secret: String): Client {}

    getUser(email: String, password: String): User {}

    getAuthorizationCode(code: String): AuthorizationCode {}

    getAccessToken(token: String): AccessToken {}

    getRefreshToken(token: String): RefreshToken {}

    saveAuthorizationCode(code: AuthorizationCode, client: Client, user: User): AuthorizationCode {}

    saveToken(token: Token, client: Client, user: User): Token {}

    revokeAuthorizationCode(code: AuthorizationCode): Boolean {}

    revokeToken(token: Token): Boolean {}
  }

  const oauth2 = new EggOAuth2(OAuth2Model, {
    grants: [
      'password',
      'authorization_code'
    ]
  });

  /*** MODELS ***/
  // Client = { id, secret, grants, ... }
  // User = { id, email, name, ... }
  // AuthorizationCode = { code , expires_at, user: User, client: Client }
  // AccessToken = { access_token, access_token_expires_at, scope, user: User, client: Client }
  // RefreshToken = { refresh_token, refresh_token_expires_at, scope, user: User, client: Client }
  // Token = { ...AccessToken, ...RefreshToken }

  /*** MIDDLEWARES ***/
  // oauth2.token - access_token/refresh_token
  // oauth2.authenticate - check bearer token
  // oauth2.authorize - authorization_code
```
npm package: @lighthouseapps/oauth2-client
Description: > Javascript oauth2 client
Author: Alvaro Silveira
Latest version: 1.0.10

# oauth2-client
> Javascript oauth2 client

### Usage
```Javascript
import OAuth2Client from './lib/OAuth2Client';
import AsyncStorage from '@react-native-community/async-storage';

class ReactNativeOAuth2Model {
  constructor(navigation) {
    this.navigation = navigation;
  }

  createCode() {}

  createCodeToken() {}

  createPasswordToken() {}

  refreshToken() {}

  signout() {}
}

class ReactNativeOAuth2 {
  initialize(model, options = {}) {
    this.client = new OAuth2Client(model, {
      ...options,
      Storage: AsyncStorage
    });
  }

  getToken() {
    return this.client.getToken();
  }

  signinWithPassword() {
    return this.client.signinWithPassword(...arguments);
  }

  signinWithAuthorizationCode() {
    return this.client.signinWithAuthorizationCode(...arguments);
  }

  signout() {
    return this.client.signout();
  }
}

class WebOAuth2 {
  initialize(model, options = {}) {
    this.client = new OAuth2Client(model, {
      ...options,
      Storage: localStorage
    });
  }

  getToken() {
    return this.client.getToken();
  }

  signinWithPassword() {
    return this.client.signinWithPassword(...arguments);
  }

  signinWithAuthorizationCode() {
    return this.client.signinWithAuthorizationCode(...arguments);
  }

  signout() {
    return this.client.signout();
  }
}

const oauth2 = new ReactNativeOAuth2();

oauth2.initialize(new ReactNativeOAuth2Model(this.props.navigation));
```
npm package: @lighthouseapps/oauth2-server
Description: > Javascript oauth2 server
Author: Alvaro Silveira
Latest version: 1.0.3

# oauth2-server
> Javascript oauth2 server

### Usage
```Javascript
  const {
    EggOAuth2
  } = require('oauth2-server');

  class OAuth2Model {
    constructor(ctx) {
      this.ctx = ctx;
    }

    getClient(id: String, secret: String): Client {}

    getUser(email: String, password: String): User {}

    getAuthorizationCode(code: String): AuthorizationCode {}

    getAccessToken(token: String): AccessToken {}

    getRefreshToken(token: String): RefreshToken {}

    saveAuthorizationCode(code: AuthorizationCode, client: Client, user: User): AuthorizationCode {}

    saveToken(token: Token, client: Client, user: User): Token {}

    revokeAuthorizationCode(code: AuthorizationCode): Boolean {}

    revokeToken(token: Token): Boolean {}
  }

  const oauth2 = new EggOAuth2(OAuth2Model, {
    grants: [
      'password',
      'authorization_code'
    ]
  });

  /*** MODELS ***/
  // Client = { id, secret, grants, ... }
  // User = { id, email, name, ... }
  // AuthorizationCode = { code , expires_at, user: User, client: Client }
  // AccessToken = { access_token, access_token_expires_at, scope, user: User, client: Client }
  // RefreshToken = { refresh_token, refresh_token_expires_at, scope, user: User, client: Client }
  // Token = { ...AccessToken, ...RefreshToken }

  /*** MIDDLEWARES ***/
  // oauth2.token - access_token/refresh_token
  // oauth2.authenticate - check bearer token
  // oauth2.authorize - authorization_code
```