open-index/open-npm huggingface dataset:
npm package: @sam-senior/infinite-scroll
Description: ***Como usar***
Latest version: 1.0.3

# Infinite scroll
***Como usar***

Importe o `infinite-scroll` para o projeto e adicione a tag `<sam-infinite-scroll>` no HTML.

**Parâmetros**

 1. `list`: Para este parâmetro deve ser passado um lista a ser iterada, retornando um template.
 2. `template`: Deve ser passado um `ng-template` contendo o HTML , é possível obter o contexto através da variável `let-'contexto'`.
 3. `totalElements`: Número máximo de elementos que contém a lista.
 4. `endOfElementsLabel`: Label a ser exibida que não existir mais elementos na lista.
 5. `styleClass`: utilizar para passagem de classes CSS para dentro do container.

**Retornos**

 1. `scrollBottom`: sempre que chegar ao final da página, é emitido um evento para que uma nova busca seja realizada e atualizado o valor do parâmetro `list`.

**Exemplo de implementação .html**

    <sam-infinite-scroll [list]="people" styleClass="ui-g-3"
    [template]="`template`"(scrollBottom)="onScrollBottom()"
    [totalElements]="totalElements" endOfElementsLabel="Sem elementos">
	    <ng-template `#template` let-person>
		    <span>{{person.roleObject}}</span>
		</ng-template>
	</sam-infinite-scroll>

**Exemplo de implementação .ts**

    export  class  PersonCardComponent  implements  OnInit {
	    public people: [...];
	    public totalElements = 50;
	     
	    public onScrollBottom() {
		    request....subscribe(peoples => {
			    this.totalElements += peoples.length;
			    this.peoples.concat(peoples);
			});
		}
	}
npm package: @sam-senior/phone-mask
Description: ***Como usar***
Latest version: 1.0.0

# Phone mask
***Como usar***

Importe o `phone-mask` para o projeto e adicione a tag `<sam-phone-mask>` no HTML.

**Parâmetros**

 1. `formControlName`: Devido ao componente implementar a interface `ControlValueAcessor` é possível vincular diretamente com a API de Forms do Angular.
 2. `inputId`: Id referente ao elemento HTML.
 3. `placeholder`: Placeholder a ser exibido no elemento.
 4. `disabled`: Parâmetro para desabilitar o elemento, também é possível pela API de Forms do Angular.
 5. `styleClass`: utilizar para passagem de classes CSS para dentro do container.

**Exemplo de implementação .html**

    <sam-phone-mask formControlName="number" 
	    placeholder="{{'sam.lobby.visitor_form_number_placeholder' | translate}}"
	    inputId="number">
    </sam-phone-mask>
npm package: @sam-senior/photo
Description: ***Como usar***
Latest version: 1.2.9


# Photo

***Como usar***

Importe o `photo` para o projeto e adicione a tag `<sam-photo>` no HTML.

**Parâmetros:**

1. `photo`: Base64, com a foto a ser exibida.
2. `photoSize`: String SDS, default `medium`.
3. `maxPhotoSize`: Tamanho em MB da foto, default 1 MB.
4. `photoWidth`: Largura de exibição da imagem, default 670.
5. `photoHeight`: Altura de exibição da imagem, default 400.
6. `canPhotoUpload`Boolean, informando ao componente se deve permitir upload, default `true`.
7. `canPhotoCapture`: Boolean, informando ao componente se deve permitir captura de foto, default `true`.
8. `cropperTitle`: Título a ser exibido no componente cropper da SDS, default `Recortar`.
9. `cropperActionCancel`: Título a ser exibido no botão de fechamento da modal cropper SDS, default `Cancelar`.
10. `cropperActionCrop`: Título a ser exibido no botão de cortar da modal cropper SDS, default `Recortar`.
11. `cameraDialogLabel`: Título a ser exibido na modal de captura de foto, default `Captura`.
12. `cameraDialogCaptureLabel`: Título a ser exibido no botão da modal de captura de foto, default `Capturar`.
13. `selectPhotoTypeLabel`: Título a ser exibido na modal de seleção de tipo da foto (upload/captura), default `Selecionar imagem`.
14. `selectUploadTypeLabel`: Título a ser exibido na modal de seleção de tipo da foto, ação upload, default `Upload`.
15. `selectUploadTypeDescription`: Título a ser exibido na modal de seleção de tipo da foto, descrição da ação upload, default `Selecione uma imagem do seu computador`.
16. `selectCaptureTypeLabel`: Título a ser exibido na modal de seleção de tipo de foto, ação captura, default `Capturar`.
17. `selectCaptureTypeLabelDescription`: Título a ser exibido na modal de seleção de tipo de foto, descrição de ação captura, default `Capture uma imagem do seu dispositivo`.
18. `dialogCancelLabel`: Título a ser exibido nos modais na ação cancelar, default `cancelar`.

**Retornos:**

1. `photoCrop`: Quando a imagem é recortada.
2. `openCamera`: Quando a câmera é aberta.
3. `closeCamera`: Quando a câmera é finalizada.
4. `cameraError`: Sera disparado um evento quando ocorrer erros na câmera.
5. `invalidPhotoSize`: Sera disparado um evento quando a foto for maior que o tamanho padrão.

***Exemplo de implementação .html***

	  <sam-photo [(ngModel)]="photo"></sam-photo>

***

Também é possível utilizar pela API de FORMS do angular.

***
npm package: @sam-senior/photo-capture
Description: ***Como usar***
Latest version: 1.2.4

# Photo Capture
***Como usar***

Importe o `photo-capture` para o projeto e adicione a tag `<sam-photo-capture>` no HTML.

**Parâmetros:**

 1. `width`:  Largura que a imagem terá após a captura.
 2. `height`: Altura que a imagem terá após a captura.
 
 **Retornos:**
 
 3. `error`: Caso ocorra erro ao abrir a câmera ou na captura será emitido um evento neste output.
 4. `open`: Emite um evento quando a câmera abrir.
 5. `photoTake`: Emite um evento quando a foto for capturada. É possível obter o blob através do `$event` do Angular.

***Serviço `PhotoCaptureService`:***

 1. `start()`: Inicia a câmera.
 2. `onStart()`:Retorna um `observable` que emite um evento toda vez que a câmera inicia.
 3. `stop()`: Finaliza a câmera.
 4. `onStop()`: Retorna um `observable` que emite um evento toda vez que a câmera finaliza.
 5. `takePhoto()`: Captura uma imagem e finaliza a câmera.
 6. `onPhotoTaken()`: Retorna um `observable` que emite um evento toda vez que a foto for capturada.
 7. `getKey()`: Retorna a `chave` que identifica qual componente está em uso.
 8. `getVideoElement()`: Retorna o `HTMLVideoElement` da câmera.

***Exemplo de implementação .html***

    <sam-photo-capture [width]="500"
	    [height]="400" (photoTake)="onPhotoTake($event)">
    </sam-photo-capture>
***Exemplo de implementação .ts***

	constructor(
		private  photoCaptureService:  PhotoCaptureService
	) { }
	
	ngAfterViewInit() {
		this.photoCaptureService.start();
	}

	public photoCapture() {
		this.photoCaptureService.takePhoto();
	}
	
	public onPhotoTake(event) {
		// implementação
	}
npm package: @sam-senior/sam-utils
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.13.
Latest version: 2.0.4

# SamUtils

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.13.

## Code scaffolding

Run `ng generate component component-name --project sam-utils` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project sam-utils`.
> Note: Don't forget to add `--project sam-utils` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build sam-utils` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build sam-utils`, go to the dist folder `cd dist/sam-utils` and run `npm publish`.

## Running unit tests

Run `ng test sam-utils` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
npm package: @sam-senior/virtual-keyboard
Description: ***Como usar***
Latest version: 1.0.3

# Virtual-Keyboard
***Como usar***

Importe o `virtual-keyboard` para o projeto e adicione a diretiva `samVirtualKeyboard` em um input.

**Instalação**
1. Instalar o jQuery: `npm i jquery`.
2. Adicionar ao `angular.json`, `projects > architect > build > options`, os seguintes styles e scripts:
    "styles": [
        "node_modules/virtual-keyboard/dist/css/keyboard.min.css"
    ],
    "scripts": [
        "node_modules/jquery/dist/jquery.js",
        "node_modules/virtual-keyboard/dist/js/jquery.keyboard.js",
        "node_modules/virtual-keyboard/dist/js/jquery.keyboard.extension-all.min.js"
    ],
3. Adicionar ao `style.scss`, a seguinte importação:
    @import '../node_modules/@seniorbr/sam-styles/sass/_all.scss';

**Parâmetros**

 1. `keyboardPosition`: Aceita dois valores, `relative` ou `bottom`. Default `bottom`.
 2. `keyboardType`: Aceita dois valores, `email` ou `alphanumeric`. Default `email`.
 3. `activateKeyboard`: Flag para informar se deve abrir o teclado. Default `true`
 4. `showOnFocus`: Flag para abrir quando focar no input, Default `true`.

**Exemplo de implementação .html**

    <input type="text" samVirtualKeyboard keyboardType="alphanumeric">
npm package: @sam-senior/zebra-printer
Description: ***Como usar***
Latest version: 1.0.3


# Zebra printer

***Como usar***

Importe o `sam-zebra-printer-service` para o projeto e utilizar o serviço SamZebraPrinterService.
```
export class TestPrintComponent {
  constructor(private SamZebraPrinter: SamZebraPrinterService) {}

  public async print() {
    await this.SamZebraPrinter.printTest();
  }
}
```