الحزم
كل حزم بيلاجيك UI
اثنتا عشرة حزمة تقرأ نفس الرموز ونفس الثيمات. ثبّت pelagic لتحصل على كل شيء، أو اختر حزمة منصّتك فقط — مدير الحزم الذي تختاره يُحفَظ لكل أوامر التثبيت.
pelagic
npm كل شيء النظام كاملاً في تثبيت واحد
7 منصّات في حزمة واحدة
حزمة واحدة تضم كل شيء: مكونات لكل إطار، رسوم بيانية، ثلاثي الأبعاد، أيقونات، رسوم توضيحية، محرّك الثيمات والحركة والصوت. أُطر العمل اعتماديات اختيارية، فلا يُحمَّل إلا ما تستورده.
- الإصدار
- 0.1.0
- حجم التنزيل
- 624 kB
- الحجم بعد التثبيت
- 2.8 MB
- الرخصة
- MIT
- الاعتماديات المطلوبة
- react · vue · @angular/core · svelte · astro · react-native · three · (all optional)
التثبيت
npm i pelagic الاستخدام
import 'pelagic/style.css';
import { Button, DataTable, swal } from 'pelagic/react';
import { SearchIcon } from 'pelagic/icons/react';
import { createTheme, applyCustomTheme } from 'pelagic/core/theme';
applyCustomTheme(createTheme({ primary: '#ff6a00' })); يتضمن
- مدخل لكل إطار عمل
- CSS الأساسي والرموز ومحرّك الثيمات
- الأيقونات والرسوم التوضيحية
- مكونات ثلاثية الأبعاد WebGL
مسارات التصدير
| المسار | المحتوى |
|---|---|
pelagic/style.css | أنماط كل المكونات والثيمات |
pelagic/react | مكونات React |
pelagic/vue | مكونات Vue 3 |
pelagic/angular | مكونات Angular المستقلة |
pelagic/svelte | مكونات Svelte 5 |
pelagic/astro/components/* | مكونات Astro |
pelagic/react-native | مكونات React Native |
pelagic/three | ثلاثي الأبعاد WebGL |
pelagic/icons/* | أيقونات لكل إطار |
pelagic/illustrations/* | رسوم توضيحية لكل إطار |
pelagic/core/* | الثيمات وتفضيلات الوصول والحركة والصوت والرموز |
@pelagic-ui/react
npm React 18 / 19 المجموعة الأكثر اكتمالاً
171 مكوّناً
الكتالوج الكامل: النماذج، المدخلات المتقدمة، جدول البيانات، النوافذ، القوائم، الوسائط، الرسوم البيانية، الحركة، المعالج، التنبيهات والإشعارات. كل مكوّن يتبع نمط WAI-ARIA ومُختبر بـ axe.
- الإصدار
- 0.1.0
- حجم التنزيل
- 182 kB
- الحجم بعد التثبيت
- 749 kB
- الرخصة
- MIT
- الاعتماديات المطلوبة
- react ^18 || ^19 · react-dom
التثبيت
npm i @pelagic-ui/react @pelagic-ui/core الاستخدام
import '@pelagic-ui/core/style.css';
import { Button, Input, toast, Toaster } from '@pelagic-ui/react';
export function App() {
return (
<>
<Input label="Project name" defaultValue="pelagic-app" />
<Button onClick={() => toast.success('Deployed')}>Deploy</Button>
<Toaster />
</>
);
} يتضمن
- جدول البيانات والشجرة والتمرير الافتراضي
- 13 نوعاً من الرسوم البيانية سهلة الوصول
- محرّك الحركة والمعالج
- swal() و toast() و15 مؤشر تحميل
مسارات التصدير
| المسار | المحتوى |
|---|---|
@pelagic-ui/react | المكونات والخطافات (useConfirm و useDialog) و swal و toast |
@pelagic-ui/vue
npm Vue 3 v-model في كل مكان
33 مكوّناً
مكونات مبنية على Composition API مع v-model في كل حقل، وخصائص مكتوبة الأنواع، وفتحات (slots) للخلايا والحالات الفارغة والتذييلات.
- الإصدار
- 0.1.0
- حجم التنزيل
- 17 kB
- الحجم بعد التثبيت
- 93 kB
- الرخصة
- MIT
- الاعتماديات المطلوبة
- vue ^3.4
التثبيت
npm i @pelagic-ui/vue @pelagic-ui/core الاستخدام
<script setup lang="ts">
import '@pelagic-ui/core/style.css';
import { ref } from 'vue';
import { Button, Input, Switch } from '@pelagic-ui/vue';
const name = ref('pelagic-app');
const previews = ref(true);
</script>
<template>
<Input v-model="name" label="Project name" />
<Switch v-model="previews" label="Preview deployments" />
<Button>Deploy</Button>
</template> يتضمن
- نماذج مع v-model
- جدول بيانات بفتحات للخلايا
- نافذة ودرج وتلميح
- لوحة إمكانية الوصول
مسارات التصدير
| المسار | المحتوى |
|---|---|
@pelagic-ui/vue | المكونات ووحدة الصوت |
@pelagic-ui/angular
npm Angular 20–22 مستقلة، إشارات، نماذج
39 مكوّناً وموجّهاً
مكونات وموجّهات مستقلة مبنية على الإشارات (signals). الحقول تطبّق ControlValueAccessor فتعمل مع النماذج التفاعلية والقوالب.
- الإصدار
- 0.1.0
- حجم التنزيل
- 61 kB
- الحجم بعد التثبيت
- 359 kB
- الرخصة
- MIT
- الاعتماديات المطلوبة
- @angular/core 20–22 · @angular/common · @angular/forms
التثبيت
npm i @pelagic-ui/angular @pelagic-ui/core الاستخدام
import { Component } from '@angular/core';
import { PELAGIC_UI } from '@pelagic-ui/angular';
@Component({
selector: 'app-deploy',
imports: [PELAGIC_UI],
template: `
<pl-input label="Project name" [(value)]="name" />
<button plButton (click)="deploy()">Deploy</button>`,
})
export class DeployComponent {
name = 'pelagic-app';
deploy() {}
} يتضمن
- موجّه plButton
- حقول للنماذج التفاعلية
- جدول بيانات بقوالب للخلايا
- حزمة الاستيراد PELAGIC_UI
مسارات التصدير
| المسار | المحتوى |
|---|---|
@pelagic-ui/angular | مكونات Pl* و PELAGIC_UI وأدوات الثيم |
@pelagic-ui/svelte
npm Svelte 5 مكونات مبنية على Runes
33 مكوّناً
مكونات Svelte 5 مكتوبة بالـ runes. bind:value في كل حقل، ومقاطع (snippets) للمحتوى المخصص، وإجراءات للتلميحات وحبس التركيز.
- الإصدار
- 0.1.0
- حجم التنزيل
- 13 kB
- الحجم بعد التثبيت
- 42 kB
- الرخصة
- MIT
- الاعتماديات المطلوبة
- svelte ^5
التثبيت
npm i @pelagic-ui/svelte @pelagic-ui/core الاستخدام
<script lang="ts">
import { Button, Input, Switch } from '@pelagic-ui/svelte';
let name = $state('pelagic-app');
let previews = $state(true);
</script>
<Input bind:value={name} label="Project name" />
<Switch bind:checked={previews} label="Preview deployments" />
<Button>Deploy</Button> يتضمن
- نماذج مع bind:value
- جدول بيانات وترقيم صفحات
- نافذة ودرج
- هياكل تحميل جاهزة
مسارات التصدير
| المسار | المحتوى |
|---|---|
@pelagic-ui/svelte | المكونات والإجراءات والصوت |
@pelagic-ui/astro
npm Astro 5 بلا JavaScript افتراضياً
34 مكوّناً
مكونات تُعرض على الخادم ولا ترسل JavaScript إلا عند الحاجة. التبويبات والمفاتيح والنوافذ تعمل ببضع مئات من البايتات. هذا الموقع مبني بها.
- الإصدار
- 0.1.0
- حجم التنزيل
- 14 kB
- الحجم بعد التثبيت
- 41 kB
- الرخصة
- MIT
- الاعتماديات المطلوبة
- astro ^5
التثبيت
npm i @pelagic-ui/astro @pelagic-ui/core الاستخدام
---
import '@pelagic-ui/core/style.css';
import ThemeScript from '@pelagic-ui/astro/components/ThemeScript';
import Button from '@pelagic-ui/astro/components/Button';
---
<html lang="en">
<head><ThemeScript /></head>
<body><Button>Deploy</Button></body>
</html> يتضمن
- ThemeScript (بلا وميض للثيم الخاطئ)
- جدول بيانات مرتّب على الخادم
- تبويبات ونافذة وإشعارات
- لوحة إمكانية الوصول
مسارات التصدير
| المسار | المحتوى |
|---|---|
@pelagic-ui/astro/components/* | ملف .astro لكل مكوّن |
@pelagic-ui/react-native
npm React Native / Expo نفس الواجهة، عناصر أصلية
31 مكوّناً
مكونات أصلية بنفس أسماء وخصائص حزم الويب، وبنفس الرموز. أدوار قارئ الشاشة وأهداف لمس 48dp ودعم النص الكبير مدمجة.
- الإصدار
- 0.1.0
- حجم التنزيل
- 13 kB
- الحجم بعد التثبيت
- 51 kB
- الرخصة
- MIT
- الاعتماديات المطلوبة
- react · react-native
التثبيت
npm i @pelagic-ui/react-native @pelagic-ui/core الاستخدام
import { PelagicProvider, Button, Input } from '@pelagic-ui/react-native';
export default function App() {
return (
<PelagicProvider mode="system" accent="violet">
<Input label="Project name" defaultValue="pelagic-app" />
<Button title="Deploy" onPress={deploy} />
</PelagicProvider>
);
} يتضمن
- PelagicProvider مع كل الثيمات
- نماذج وجدول بيانات
- نافذة ودرج وإشعار
- دعم RTL عبر I18nManager
مسارات التصدير
| المسار | المحتوى |
|---|---|
@pelagic-ui/react-native | المكونات و PelagicProvider و usePelagicTheme |
pelagic_ui
pub.dev Flutter 3.24+ Flutter خالص بلا اعتماديات
30+ عنصراً
عناصر مولّدة من نفس مصدر الرموز للويب، فيبدو تطبيق Flutter وتطبيق الويب متطابقين. الدلالات وأهداف 48×48 وتقليل الحركة و RTL مدمجة.
- الإصدار
- 0.1.0
- حجم التنزيل
- —
- الحجم بعد التثبيت
- 194 kB
- الرخصة
- MIT
- الاعتماديات المطلوبة
- Flutter SDK ≥ 3.24 · Dart ≥ 3.5
التثبيت
flutter pub add pelagic_ui الاستخدام
import 'package:flutter/material.dart';
import 'package:pelagic_ui/pelagic_ui.dart';
void main() => runApp(const PelagicApp(title: 'Pelagic', home: Deploy()));
class Deploy extends StatelessWidget {
const Deploy({super.key});
@override
Widget build(BuildContext context) => Column(children: [
const PelagicInput(label: 'Project name'),
PelagicButton(label: 'Deploy', onPressed: () {}),
]);
} يتضمن
- PelagicApp مع كل الثيمات
- نماذج وتبويبات وأكورديون
- جدول بيانات قابل للترتيب
- رسوم أعمدة وخطوط
مسارات التصدير
| المسار | المحتوى |
|---|---|
package:pelagic_ui/pelagic_ui.dart | العناصر و PelagicApp و PelagicTheme والرموز |
@pelagic-ui/three
npm WebGL · React ثلاثي أبعاد يتبع الثيم
6 مكونات WebGL
مشاهد three.js تتبع الثيم: كرة أرضية، رسوم بيانية ثلاثية الأبعاد، جسيمات وعارض نماذج. تتوقف خارج الشاشة، وتعرض إطاراً ثابتاً عند تقليل الحركة، ولها بديل دون WebGL.
- الإصدار
- 0.1.0
- حجم التنزيل
- 13 kB
- الحجم بعد التثبيت
- 46 kB
- الرخصة
- MIT
- الاعتماديات المطلوبة
- react · react-dom · three ≥ 0.160
التثبيت
npm i @pelagic-ui/three three الاستخدام
import { Globe3D } from '@pelagic-ui/three';
<Globe3D
label="Our offices"
markers={[{ lat: 24.7, lng: 46.7, label: 'Riyadh' }]}
/> يتضمن
- Globe3D و Chart3D
- عارض النماذج (glTF)
- جسيمات وأشكال عائمة
- تحميل three.js عند الحاجة
مسارات التصدير
| المسار | المحتوى |
|---|---|
@pelagic-ui/three | Scene3D و Globe3D و Chart3D و ModelViewer … |
@pelagic-ui/icons
npm كل الأطر 239 أيقونة أصلية ثنائية اللون
239 أيقونة
أيقونات أصلية على شبكة 24px بأنماط الخط والثنائي والمصمت. مكونات قابلة للتجزئة لكل إطار، ومكوّن ويب، وملف SVG مجمّع. الأسهم تنعكس في RTL.
- الإصدار
- 0.1.0
- حجم التنزيل
- 85 kB
- الحجم بعد التثبيت
- 594 kB
- الرخصة
- MIT
- الاعتماديات المطلوبة
- react · vue · svelte · @angular/core · astro · react-native-svg (optional)
التثبيت
npm i @pelagic-ui/icons الاستخدام
import { SearchIcon, BellIcon } from '@pelagic-ui/icons/react';
<SearchIcon />
<BellIcon variant="duotone" size={20} title="Notifications" /> يتضمن
- خطي وثنائي ومصمت
- React و Vue و Svelte و Angular و Astro و RN
- مكوّن ويب و sprite.svg
- عناوين سهلة الوصول
مسارات التصدير
| المسار | المحتوى |
|---|---|
@pelagic-ui/icons/react | مكونات React |
@pelagic-ui/icons/vue · /svelte · /angular · /astro | محوّلات الأطر |
@pelagic-ui/icons/react-native | مكونات react-native-svg |
@pelagic-ui/icons/element | مكوّن الويب <pelagic-icon> |
@pelagic-ui/icons/sprite.svg | ملف SVG مجمّع |
@pelagic-ui/icons/css | أنماط أساسية اختيارية |
@pelagic-ui/illustrations
npm كل الأطر حالات فارغة تطابق ثيمك
24 رسماً توضيحياً
24 مشهداً أصلياً — لا بيانات، لا نتائج، غير متصل، 404، نجاح وغيرها — مرسومة بمتغيرات CSS فتتلوّن مع كل ثيم ولون علامة.
- الإصدار
- 0.1.0
- حجم التنزيل
- 27 kB
- الحجم بعد التثبيت
- 197 kB
- الرخصة
- MIT
- الاعتماديات المطلوبة
- react · vue · svelte · @angular/core · react-native-svg (optional)
التثبيت
npm i @pelagic-ui/illustrations الاستخدام
import { EmptyState } from '@pelagic-ui/react';
import { NoResultsIllustration } from '@pelagic-ui/illustrations/react';
<EmptyState
illustration={<NoResultsIllustration />}
title="No results"
description="Try a different search."
/> يتضمن
- 24 مشهداً قابلاً للتلوين
- يتكامل مع EmptyState
- مكوّن ويب و SVG خام
- بلا اعتماديات
مسارات التصدير
| المسار | المحتوى |
|---|---|
@pelagic-ui/illustrations | illustrationToSvg() والبيانات |
@pelagic-ui/illustrations/react · /vue · /svelte · /angular · /astro | محوّلات الأطر |
@pelagic-ui/illustrations/native | React Native |
@pelagic-ui/illustrations/svg/* | ملفات SVG خام |
@pelagic-ui/core
npm مستقلة عن الأطر الرموز و CSS والمحرّكات
21 ثيماً مدمجاً
الأساس المشترك لكل الحزم: رموز التصميم، CSS لكل المكونات، 21 ثيماً، createTheme() لألوان العلامة، أوضاع العرض لإمكانية الوصول، محرّك الحركة ومحرّك الصوت.
- الإصدار
- 0.1.0
- حجم التنزيل
- 202 kB
- الحجم بعد التثبيت
- 666 kB
- الرخصة
- MIT
- الاعتماديات المطلوبة
- none
التثبيت
npm i @pelagic-ui/core الاستخدام
import '@pelagic-ui/core/style.css';
import { applyTheme, createTheme, applyCustomTheme } from '@pelagic-ui/core/theme';
import { applyA11yPrefs } from '@pelagic-ui/core/a11y-prefs';
applyTheme({ mode: 'dark', accent: 'teal', shape: 'round' });
applyCustomTheme(createTheme({ primary: '#ff6a00' }));
applyA11yPrefs({ fontScale: 1.25, motion: 'reduce' }); يتضمن
- style.css (65 kB مضغوطاً)
- createTheme() مع فحوص WCAG
- أوضاع العرض data-a11y-*
- محرّكا الحركة والصوت
مسارات التصدير
| المسار | المحتوى |
|---|---|
@pelagic-ui/core/style.css | أنماط كل المكونات والثيمات |
@pelagic-ui/core/theme | applyTheme و createTheme وحساب التباين |
@pelagic-ui/core/a11y-prefs | أوضاع العرض ومولّد اللوحة |
@pelagic-ui/core/motion | animate والنوابض والخطوط الزمنية و FLIP |
@pelagic-ui/core/sound | 18 صوتاً مركّباً للواجهة |
@pelagic-ui/core/tokens | الرموز بصيغة JS / TS |
@pelagic-ui/core/a11y | حبس التركيز والمعرّفات والمُعلِن |
مقارنة سريعة
أي حزمة تحتاج؟ اختر حسب منصّتك.
| الحزمة | المنصّة | العدد | حجم التنزيل | التثبيت |
|---|---|---|---|---|
| pelagic | كل شيء | 7 منصّات في حزمة واحدة | 624 kB | npm i pelagic |
| @pelagic-ui/react | React 18 / 19 | 171 مكوّناً | 182 kB | npm i @pelagic-ui/react @pelagic-ui/core |
| @pelagic-ui/vue | Vue 3 | 33 مكوّناً | 17 kB | npm i @pelagic-ui/vue @pelagic-ui/core |
| @pelagic-ui/angular | Angular 20–22 | 39 مكوّناً وموجّهاً | 61 kB | npm i @pelagic-ui/angular @pelagic-ui/core |
| @pelagic-ui/svelte | Svelte 5 | 33 مكوّناً | 13 kB | npm i @pelagic-ui/svelte @pelagic-ui/core |
| @pelagic-ui/astro | Astro 5 | 34 مكوّناً | 14 kB | npm i @pelagic-ui/astro @pelagic-ui/core |
| @pelagic-ui/react-native | React Native / Expo | 31 مكوّناً | 13 kB | npm i @pelagic-ui/react-native @pelagic-ui/core |
| pelagic_ui | Flutter 3.24+ | 30+ عنصراً | — | flutter pub add pelagic_ui |
| @pelagic-ui/three | WebGL · React | 6 مكونات WebGL | 13 kB | npm i @pelagic-ui/three three |
| @pelagic-ui/icons | كل الأطر | 239 أيقونة | 85 kB | npm i @pelagic-ui/icons |
| @pelagic-ui/illustrations | كل الأطر | 24 رسماً توضيحياً | 27 kB | npm i @pelagic-ui/illustrations |
| @pelagic-ui/core | مستقلة عن الأطر | 21 ثيماً مدمجاً | 202 kB | npm i @pelagic-ui/core |
الأحجام مقيسة من بناء 0.1.0 باستخدام npm pack؛ حجم Flutter هو شيفرة Dart في lib/.