JSPM

juvo-rafa-library

2.1.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q28686F
  • License MIT

A comprehensive Angular component library featuring real-world components and validators extracted from the Juvo Rafa backoffice application. Now with improved select components and bug fixes.

Package Exports

  • juvo-rafa-library
  • juvo-rafa-library/package.json

Readme

Juvo Rafa Library v2.1.0

Complete Angular component library with all real-world components and validators extracted from the Juvo Rafa backoffice application.

🚀 Features

  • Complete Component Suite: All backoffice components now available
  • Production-Ready: Battle-tested components from real enterprise applications
  • Comprehensive Validators: Network and device validation utilities
  • Standalone Components: Modern Angular architecture with standalone components
  • TypeScript Support: Full TypeScript definitions and documentation
  • Zero Dependencies: Only requires Angular as peer dependency

📦 Installation

npm install juvo-rafa-library

🎯 Components

Action Components

JuvoButtonActionComponent

Button group component for form actions.

import { JuvoButtonActionComponent } from 'juvo-rafa-library';

Loading Components

JuvoLoadingComponent

Flexible loading indicator with overlay support.

JuvoScreenLoadingComponent

Screen-wide loading overlay for blocking interactions during operations.

import { JuvoLoadingComponent, JuvoScreenLoadingComponent } from 'juvo-rafa-library';

Form Components

JuvoInputComponent

Comprehensive input component supporting text, email, password, number, textarea, and select inputs.

import { JuvoInputComponent } from 'juvo-rafa-library';

// Basic usage
<juvo-input
  label="Full Name"
  placeholder="Enter your full name"
  [(ngModel)]="name">
</juvo-input>

// Select dropdown
<juvo-input
  type="select"
  label="Country"
  [options]="countryOptions"
  [(ngModel)]="selectedCountry">
</juvo-input>

Data Display Components

JuvoListComponent

Simple list component for displaying tabular data with basic functionality.

JuvoTableComponent

Comprehensive table component with pagination, sorting, selection, and actions.

import { JuvoListComponent, JuvoTableComponent } from 'juvo-rafa-library';

// Table example
<juvo-table
  [data$]="tableData$"
  [columns]="[
    { key: 'id', label: 'ID', width: '80px' },
    { key: 'name', label: 'Name', sortable: true },
    { key: 'email', label: 'Email', sortable: true },
    { key: 'actions', label: 'Actions', type: 'actions' }
  ]"
  [paginator]="true"
  [rows]="10"
  (rowSelected)="onRowSelected($event)">
</juvo-table>

JuvoTabMenuComponent

Horizontal tab navigation component with icons, badges, and multiple variants.

import { JuvoTabMenuComponent } from 'juvo-rafa-library';

<juvo-tab-menu
  [items]="[
    { id: 'overview', label: 'Overview', icon: '📊' },
    { id: 'users', label: 'Users', icon: '👥', badge: '12' },
    { id: 'settings', label: 'Settings', icon: '⚙️' }
  ]"
  [activeItemId]="currentTab"
  variant="pills"
  (tabChange)="handleTabChange($event)">
</juvo-tab-menu>

Feedback Components

JuvoNotificationComponent

Flexible notification system with different types and positions.

JuvoConfirmationDialogComponent

Modal confirmation dialog for critical actions.

import { JuvoNotificationComponent, JuvoConfirmationDialogComponent } from 'juvo-rafa-library';

// Notification
<juvo-notification
  type="success"
  title="Operation successful"
  message="The item was saved successfully."
  [duration]="5000">
</juvo-notification>

// Confirmation Dialog
<juvo-confirmation-dialog
  *ngIf="showDialog"
  header="Delete Item"
  message="Are you sure you want to delete this item?"
  (actionAcceptTriggered)="onConfirm()"
  (actionCancelTriggered)="onCancel()">
</juvo-confirmation-dialog>

File Upload Components

JuvoImagePickerComponent

Drag-and-drop image picker with preview and validation.

import { JuvoImagePickerComponent } from 'juvo-rafa-library';

<juvo-image-picker
  [multiple]="true"
  [maxFiles]="5"
  [showPreview]="true"
  acceptedTypes="image/*"
  (filesSelected)="onFilesSelected($event)">
</juvo-image-picker>

🔧 Validators

Network Validators

import { 
  ipAddressValidator,
  macAddressValidator,
  portValidator,
  serialPortValidator 
} from 'juvo-rafa-library';

// Form usage
this.form = this.fb.group({
  serverIp: ['', [Validators.required, ipAddressValidator()]],
  macAddress: ['', [Validators.required, macAddressValidator()]],
  port: ['', [Validators.required, portValidator()]],
  serialPort: ['', [Validators.required, serialPortValidator()]]
});

Available Validators:

  • ipAddressValidator() - Validates IPv4 addresses
  • macAddressValidator() - Validates MAC addresses (colon/hyphen format)
  • portValidator() - Validates network ports (0-65535)
  • serialPortValidator() - Validates serial port names (Windows/Linux/macOS)

📄 Complete Component List

Component Description Version
JuvoButtonActionComponent Form action buttons 2.0.0+
JuvoLoadingComponent Loading indicator 2.0.0+
JuvoScreenLoadingComponent Screen overlay loading 2.1.0+
JuvoInputComponent Form input component 2.1.0+
JuvoListComponent Data list display 2.1.0+
JuvoTableComponent Data table with features 2.1.0+
JuvoTabMenuComponent Tab navigation 2.1.0+
JuvoNotificationComponent Notification system 2.1.0+
JuvoConfirmationDialogComponent Confirmation dialog 2.1.0+
JuvoImagePickerComponent File upload component 2.1.0+

🔄 Migration Guide

From v2.0.x to v2.1.0

Version 2.1.0 adds all remaining backoffice components without breaking changes.

New Components:

  • JuvoScreenLoadingComponent
  • JuvoInputComponent
  • JuvoListComponent
  • JuvoTableComponent
  • JuvoTabMenuComponent
  • JuvoNotificationComponent
  • JuvoConfirmationDialogComponent
  • JuvoImagePickerComponent

No Breaking Changes - All existing components remain unchanged.

📱 Browser Support

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

🤝 Contributing

This library contains components extracted from the Juvo Rafa backoffice application. Components are maintained and updated based on real-world usage patterns.

📄 License

MIT License. See LICENSE file for details.


Built with ❤️ by the Juvo Rafa Team

Complete backoffice component suite now available!