JSPM

@rmx-ui/ui-library-core

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9
  • Score
    100M100P100Q46541F
  • License MIT

Modern atomic design component library built with Stencil.js - Tree-shakeable, framework-agnostic web components for React, Vue, Angular, and Vanilla JS

Package Exports

  • @rmx-ui/ui-library-core
  • @rmx-ui/ui-library-core/angular
  • @rmx-ui/ui-library-core/cdn
  • @rmx-ui/ui-library-core/components
  • @rmx-ui/ui-library-core/dist/components/my-component.js
  • @rmx-ui/ui-library-core/dist/components/ui-button.js
  • @rmx-ui/ui-library-core/dist/components/ui-card-content.js
  • @rmx-ui/ui-library-core/dist/components/ui-card-header.js
  • @rmx-ui/ui-library-core/dist/components/ui-card-title.js
  • @rmx-ui/ui-library-core/dist/components/ui-card.js
  • @rmx-ui/ui-library-core/dist/components/ui-input.js
  • @rmx-ui/ui-library-core/dist/ui-library/ui-library.css
  • @rmx-ui/ui-library-core/jsx
  • @rmx-ui/ui-library-core/loader
  • @rmx-ui/ui-library-core/react
  • @rmx-ui/ui-library-core/react/jsx
  • @rmx-ui/ui-library-core/vue

Readme

๐ŸŽจ UI Library Ecosystem - Complete Boilerplate

Production-ready boilerplate for building modern component libraries with atomic design principles.

npm version License: MIT

๐Ÿš€ Quick Start

# Core library with tree-shaking
npm install @rmx-ui/ui-library-core

# Framework-specific wrappers
npm install @rmx-ui/ui-library-react    # React
npm install @rmx-ui/ui-library-vue      # Vue  
npm install @rmx-ui/ui-library-angular  # Angular

CDN Usage (For prototyping)

<!-- CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@rmx-ui/ui-library-core@latest/dist/cdn/ui-library.css">

<!-- JavaScript -->
<script src="https://cdn.jsdelivr.net/npm/@rmx-ui/ui-library-core@latest/dist/cdn/ui-library.min.js"></script>

<!-- Use components -->
<ui-avatar src="avatar.jpg" size="lg"></ui-avatar>
<contact-cell name="John Doe" email="john@example.com"></contact-cell>

๐Ÿ“ฆ Usage Examples

React

import React from 'react';
import { UiAvatar, ContactCell } from '@rmx-ui/ui-library-react';

function App() {
  return (
    <div>
      <UiAvatar src="avatar.jpg" size="lg" />
      <ContactCell name="John Doe" email="john@example.com" />
    </div>
  );
}

Vue

<template>
  <div>
    <ui-avatar src="avatar.jpg" size="lg" />
    <contact-cell name="John Doe" email="john@example.com" />
  </div>
</template>

<script setup>
import { UiAvatar, ContactCell } from '@rmx-ui/ui-library-vue';
</script>

Angular

import { Component } from '@angular/core';

@Component({
  template: `
    <ui-avatar src="avatar.jpg" size="lg"></ui-avatar>
    <contact-cell name="John Doe" email="john@example.com"></contact-cell>
  `
})
export class AppComponent {}

๐Ÿ—๏ธ Atomic Design Architecture

๐Ÿ”ธ Atoms (Basic building blocks)

  • ui-avatar - User avatars with multiple fallback options
  • ui-icon - SVG icon system
  • status-badge - Status indicators
  • status-icon - Status icons
  • ui-text - Typography component

๐Ÿงฌ Molecules (Component combinations)

  • contact-cell - Contact information display
  • contact-info-cell - Interactive contact info
  • order-id-cell - Order IDs with notifications
  • status-cell - Status display cells
  • table-header-cell - Sortable table headers

๐Ÿฆ  Organisms (Complex components)

  • repair-orders-table - Complete data tables
  • table-header - Table header rows
  • table-row - Table data rows

โœจ Features

  • ๐ŸŒณ Tree-shaking support - Import only what you need
  • ๐Ÿ“ฑ Framework agnostic - React, Vue, Angular, Vanilla JS
  • ๐ŸŽจ Atomic design - Scalable component architecture
  • ๐Ÿ“ฆ Multiple distributions - NPM, CDN, ESM, CJS
  • ๐Ÿ”ท TypeScript first - Full type safety
  • ๐ŸŽญ Shadow DOM - Encapsulated styles
  • ๐Ÿ“– Storybook - Interactive documentation
  • ๐Ÿงช Fully tested - Unit and E2E tests
  • ๐Ÿš€ Production ready - Used in real applications

๐Ÿ“‹ Browser Support

  • Chrome 61+
  • Firefox 63+
  • Safari 10.1+
  • Edge 79+

๐Ÿ› ๏ธ Development

This is a complete boilerplate for building your own component library:

# Clone the repository
git clone https://github.com/lvelitoruiz/mfl-boilerplate.git

# Install dependencies
npm install

# Start development servers
npm run start

# Build for production
npm run build:all

Available Services

๐Ÿ“š Documentation

๐Ÿค Contributing

Contributions are welcome! Please read our Contributing Guide first.

๐Ÿ“„ License

MIT ยฉ RMX UI Library


๐ŸŽฏ Using This as a Boilerplate

This repository serves as a complete boilerplate for building component libraries. To adapt it for your own project:

1. Change Organization/Scope

Update package.json files to use your scope:

{
  "name": "@your-org/ui-library-core"
}

2. Update Branding

  • Replace "RMX UI" with your library name
  • Update README.md, package.json descriptions
  • Customize design tokens in /core/ui-library/src/tokens/

3. Customize Components

  • Modify existing components in /core/ui-library/src/components/
  • Follow atomic design principles
  • Update stories in Storybook

4. Deploy Your Library

# Build everything
npm run build:all

# Publish to NPM
npm publish --access public

๐Ÿ”„ Migration from RMX UI

If you're migrating from @rmx-ui/* packages:

# Old
npm install @rmx-ui/ui-library-core

# New (your packages)
npm install @your-org/ui-library-core

The API remains the same, only the package names change.

๐ŸŒŸ Showcase

Built with this boilerplate:

  • RMX UI Library - The original implementation
  • Your library here! (Submit a PR to be featured)

๐Ÿ”ง Development Commands

Each package can be developed and published independently while sharing the same core web components.