عن المشروع
تعد Carbon Components Svelte مكتبة مكونات لإطار عمل Svelte تقوم بتطبيق Carbon Design System، وهو نظام التصميم مفتوح المصدر الذي تديره IBM. وفقاً لملف README، توفر المكتبة أكثر من 90 مكوناً تتراوح من المدخلات إلى جداول البيانات، وخمس سمات مدمجة (اثنتان فاتحتان وثلاث داكنة)، وواجهة برمجة تطبيقات TypeScript مكتوبة بالكامل تغطي الخصائص والأحداث والفتحات (slots)، وتهدف إلى تحقيق معايير إمكانية الوصول WCAG 2.1 AA مع دعم لوحة المفاتيح وقارئات الشاشة.
يمكن تحميل التنسيقات إما كملفات CSS مجمعة مسبقاً أو عن طريق استيراد SCSS مباشرة من حزمة carbon-components الرئيسية، والتي يصفها ملف README بأنها المسار الأكثر كفاءة لأنه يمكن التخلص من أنماط المكونات غير المستخدمة. يتم توفير خمس ورقات أنماط للسمات: white (الفاتحة الافتراضية)، g10 (فاتحة)، g80، g90 و g100 (داكنة)، بالإضافة إلى حزمة all.css التي تحمل السمات الخمس باستخدام خصائص CSS المخصصة. يتم تنفيذ التنسيق الديناميكي عن طريق استيراد all.css وتعيين سمة theme على عنصر html، سواء في علامات التوصيف أو من خلال السكربت؛ كما يتوفر مكون Theme للتبديل التفاعلي.
يتم استيراد المكونات من الحزمة داخل كتلة سكريبت Svelte، ويوجه ملف README القراء إلى موقع توثيق المشروع للحصول على تفاصيل واجهة برمجة تطبيقات المكونات.
يشمل النظام البيئي الأوسع Carbon Icons Svelte التي تحتوي على أكثر من 2,700 أيقونة بأربعة أحجام (16 و 20 و 24 و 32 بكسل) يتم اختيارها عبر خاصية size؛ و Carbon Pictograms Svelte التي تضم أكثر من 1,500 رسم توضيحي مخصص للحالات الفارغة، وعمليات التهيئة، وأقسام الـ hero، وتنبيهات الميزات، بحجم افتراضي 64 بكسل؛ و Carbon Charts Svelte التي تحتوي على أكثر من 25 مخططاً مدعوماً بـ d3؛ و Carbon Preprocess Svelte، الموصوفة بأنها تبعية تطوير اختيارية.
توفر Carbon Preprocess Svelte تحسينين: optimizeImports وهو معالج مسبق لـ Svelte يعيد كتابة استيرادات barrel من حزم المكونات والأيقونات والرسوم التوضيحية إلى مسارات ملفات Svelte المصدرية، وهو ما يذكر ملف README أنه يمكن أن يسرع أوقات التجميع في مراحل التطوير والإنتاج مع الحفاظ على ميزة الإكمال التلقائي في IDE. أما optimizeCss فهو ملحق لـ Vite و Rollup يقوم بإزالة أنماط Carbon غير المستخدمة وقت البناء؛ ويعرض ملف README مثالاً حيث تنخفض ورقة الأنماط المبنية من حوالي 606 كيلوبايت إلى حوالي 53 كيلوبايت، ويشير إلى أن الإصدار 0.85.0 أو أحدث من المكتبة مطلوب. تتوفر مقتطفات تكوين لـ Vite و SvelteKit و Rollup و Webpack، كما يتضمن المستودع مشاريع نموذجية لكل منها.
يتم إنشاء تعريفات TypeScript باستخدام sveld. كما يتم نشر التوثيق في نصوص بسيطة صديقة لنماذج اللغات الكبيرة (LLM): فهرس مكونات llms.txt حيث يرتبط كل إدخال بمستند Markdown خاص بالمكون، وملف llms-full.txt يحتوي على التوثيق الكامل، مع توفر مستند Markdown لأي مكون عن طريق إضافة .md إلى عنوان URL الخاص به.
المشروع مرخص بموجب Apache 2.0 ويسرد إرشادات المساهمة وسجل التغييرات. ويكشف ملف README أن الحزمة تستخدم IBM Telemetry لجمع بيانات قياسية مجهولة الهوية في بيئات CI، وأن تثبيتها كتبعية يعد موافقة على هذا الجمع، ويوجه إلى توثيق IBM لإلغاء الاشتراك وللحصول على تفاصيل البيانات التي يتم جمعها.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.