npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@callpromn/rtc-kit

v0.0.3

Published

CallPro Web Components Kit for Web

Readme

RTC Kit UI

npm version npm downloads License

Энэхүү sdk нь Real-time communication (RTC) програм бүтээхэд зориулсан Web Components-ийн иж бүрэн сан юм. TypeScript хэлээр бичигдсэн бөгөөд бүх вэб фреймворкуудад хялбараар интеграцлах боломжтой.

Онцлогууд - Features

Фреймворк хараат бус - React, Vue, Angular эсвэл vanilla JavaScript зэрэг хэл болон сангууд дээр ажиллана. 🎨 Загвар солих боломжтой - "Dark mode" бүхий дизайний сонголттой. 🔧 TypeScript дэмжлэг - Хувьсагч болон фунлкцуудын typescript type-ууд тодорхойлогдсон. 🚀 Хамаарал байхгүй - Хөнгөн бөгөөд хурдан ачаалах.

Суулгах - Installation

npm install @callpromn/rtc-kit

Хурдан эхлэх - Quick Start

Vanilla JavaScript/HTML

<!DOCTYPE html>
<html>
<head>
    <script type="module">
        import '@callpromn/rtc-kit';
    </script>
</head>
<body>
    <!-- Дуудлагын товчлуур - Call Button -->
    <call-button to-phone-number="+1234567890" theme="dark"></call-button>
    
    <!-- Дугаар оруулах numpad -->
    <rtc-numpad theme="dark" max-length="10"></rtc-numpad>
    
    <!-- Дугаар харуулах талбар - Number Display Field -->
    <number-field phone-number="123456789" theme="dark"></number-field>
</body>
</html>

Module Bundlers-ийн хамт (Webpack, Vite, гэх мэт)

import '@callpromn/rtc-kit';

// Бүх компонентууд custom element-ээр ашиглах боломжтой
const callButton = document.createElement('call-button');
callButton.setAttribute('to-phone-number', '+1234567890');
document.body.appendChild(callButton);

Компонентууд - Components

📞 Дуудлагын товчлуур - Call Button

Default дизайнтай товчлуураар гадагшаа дуудлага хийх.

<call-button 
    to-phone-number="+1234567890" 
    theme="dark"
    disabled="false">
</call-button>

Атрибутууд - Attributes

  • to-phone-number - Залгах утасны дугаар
  • theme - Light болон Dark mode ("light" | "dark")
  • disabled - Товчлуурыг идэвхгүй болгох ("true" | "false")
  • style - Тусгай CSS загвар

✅ Accept button

Ирж буй дуудлагыг хүлээн авах товчлуур.

<accept-button theme="dark"></accept-button>

Атрибутууд - Attributes

  • theme - Харагдах загвар ("light" | "dark")
  • disabled - Товчлуурыг идэвхгүй болгох
  • style - Тусгай CSS загвар

❌ Decline button

Ирж буй дуудлагыг таслах товчлуур.

<decline-button theme="dark"></decline-button>

Атрибутууд - Attributes

  • theme - Харагдах загвар ("light" | "dark")
  • disabled - Товчлуурыг идэвхгүй болгох
  • style - Тусгай CSS загвар

📞 End button

Идэвхтэй буюу явагдаж байгаа дуудлагыг дуусгах товчлуур.

<end-button theme="dark"></end-button>

Атрибутууд:

  • theme - Харагдах загвар ("light" | "dark")
  • disabled - Товчлуурыг идэвхгүй болгох
  • style - Тусгай CSS загвар

🎙️ Mic button

Дуудлагын үеэр микрофоныг асаах/унтраах.

<mic-button theme="dark"></mic-button>

Атрибутууд - Attributes

  • theme - Харагдах загвар ("light" | "dark")
  • disabled - Товчлуурыг идэвхгүй болгох
  • muted - Анхны дуугүй төлөв
  • style - Тусгай CSS загвар

🔢 Numpad

Утасны дугаар оруулахад зориулсан интерактив тоон самбар.

<rtc-numpad 
    phone-number="" 
    max-length="10"
    theme="dark">
</rtc-numpad>

Атрибутууд - Attributes

  • phone-number - Одоогийн утасны дугаарын утга
  • max-length - Оронын хамгийн их тоо (анхдагч: 8)
  • theme - Харагдах загвар ("light" | "dark")
  • style - Тусгай CSS загвар

Events:

  • number-click - Тоо дарагдах үед гарна
    numpad.addEventListener('number-click', (event) => {
        console.log('Дарагдсан:', event.detail.value);
        console.log('Одоогийн дугаар:', event.detail.phoneNumber);
    });

Аргууд - Functions

  • getPhoneNumber() - Одоогийн утасны дугаарыг авах
  • setPhoneNumber(value) - Утасны дугаарыг програмчлалаар тохируулах
  • clearPhoneNumber() - Утасны дугаарыг арилгах

📱 Number field

Гараас оруулсан утасны дугаарыг харуулах талбар.

<number-field 
    phone-number="1234567890"
    theme="dark">
</number-field>

Атрибутууд - Attributes

  • phone-number - Харуулах утасны дугаар
  • theme - Харагдах загвар ("light" | "dark")
  • style - Тусгай CSS загвар

⌫ Number delete button

Дугаар устгах товчлуур.

<number-delete-button 
    phone-number="123456"
    theme="dark">
</number-delete-button>

Атрибутууд - Attributes

  • phone-number - Одоогийн утасны дугаар (төлөв удирдахад)
  • theme - Харагдах загвар ("light" | "dark")
  • disabled - Устгах тоо байхгүй үед идэвхгүй болгох
  • style - Тусгай CSS загвар

Загвар

Бүх компонентууд Light болон Dark mode-ийг дэмждэг:

<!-- Хар загвар (анхдагч) -->
<call-button theme="dark"></call-button>

<!-- Цагаан загвар -->
<call-button theme="light"></call-button>

Тусгай загвар

CSS-ын style атрибут ашиглан компонентынхоо загварыг солих боломжтой:

<call-button 
    style="
        --button-bg: #ff6b6b; 
        --button-color: white;
        border-radius: 8px;
    ">
</call-button>

Компонент загварын жишээнүүд

Call button-ны загвар

<!-- Тусгай Call button загвар -->
<call-button 
    style="
        background-color: #007bff;
        width: 80px;
        height: 80px;
        border-radius: 50%;
        box-shadow: 0 4px 20px rgba(0, 123, 255, 0.4);
    "
    theme="dark">
</call-button>

Numpad-ны загвар

<!-- Numpad-ны загвар -->
<rtc-numpad 
    style="
        width: 200px;
        height: 250px;
        background: #f8f9fa;
        border-radius: 16px;
        border: 2px solid #e9ecef;
    "
    theme="light">
</rtc-numpad>

Number field-ны загвар

<!-- Number field-ны загвар -->
<number-field 
    style="
        background: rgba(255, 255, 255, 0.05);
        border: 2px solid #007bff;
        border-radius: 12px;
        padding: 16px 20px;
        font-size: 24px;
        font-weight: 600;
        color: #007bff;
        text-align: center;
        min-height: 60px;
        backdrop-filter: blur(10px);
    "
    phone-number="123456789"
    theme="dark">
</number-field>

Advanced Usage

Бүрэн диалер бүтээх

<div class="phone-dialer">
    <!-- Дугаар харуулах -->
    <number-field id="numberDisplay" phone-number="" theme="dark"></number-field>
    
    <!-- Numpad -->
    <rtc-numpad id="numpad" theme="dark" max-length="15"></rtc-numpad>
    
    <!-- Controller -->
    <div class="controls">
        <number-delete-button id="deleteBtn" theme="dark"></number-delete-button>
        <call-button id="callBtn" theme="dark"></call-button>
    </div>
</div>

<script>
    const numpad = document.getElementById('numpad');
    const numberDisplay = document.getElementById('numberDisplay');
    const callBtn = document.getElementById('callBtn');
    const deleteBtn = document.getElementById('deleteBtn');
    
    // Дугаар оруулах
    numpad.addEventListener('number-click', (event) => {
        const phoneNumber = event.detail.phoneNumber;
        numberDisplay.setAttribute('phone-number', phoneNumber);
        callBtn.setAttribute('to-phone-number', phoneNumber);
        deleteBtn.setAttribute('phone-number', phoneNumber);
    });
    
    // Дугаар устгах
    deleteBtn.addEventListener('click', () => {
        const currentNumber = numpad.getPhoneNumber();
        const newNumber = currentNumber.slice(0, -1);
        numpad.setPhoneNumber(newNumber);
        numberDisplay.setAttribute('phone-number', newNumber);
        callBtn.setAttribute('to-phone-number', newNumber);
    });
</script>

Browser Support

  • ✅ Chrome 67+
  • ✅ Firefox 63+
  • ✅ Safari 13.1+
  • ✅ Edge 79+

TypeScript дэмжлэг

Бүрэн TypeScript type тодорхойлолт багтсан:

import '@callpromn/rtc-kit';

// Type-safe элемент үүсгэх
const callButton = document.createElement('call-button') as HTMLElement & {
    'to-phone-number': string;
    theme: 'light' | 'dark';
    disabled: boolean;
};

Фреймворк интеграци - Framework integration

Эдгээр нь vanilla Web Components боловч бүх томоохон фреймворкуудтай хялбарханаар ажиллана:

Лиценз - License

Энэ төсөл нь CallPro LLC-ийн өмчийн програм хангамж юм. Дэлгэрэнгүй мэдээллийг LICENSE.txt-ээс үзнэ үү.

Дэмжлэг - Support


Made with ❤️ by CallPro LLC