প্রকল্প সম্পর্কে

Ark UI হলো Chakra UI টিম দ্বারা রক্ষণাবেক্ষণ করা একটি ওপেন-সোর্স, হেডলেস কম্পোনেন্ট লাইব্রেরি। এটি ডিজাইন সিস্টেম এবং ওয়েব অ্যাপ্লিকেশন তৈরির জন্য আনস্টাইলড লজিক এবং অ্যাক্সেসিবিলিটি লেয়ার সরবরাহ করে, যার ফলে সমস্ত ভিজ্যুয়াল স্টাইলিং ডেভেলপারদের হাতে থাকে। **মূল পদ্ধতি** এই প্রজেক্টটি কম্পোনেন্টের আচরণকে তার বাহ্যিক রূপ থেকে আলাদা করে। প্রতিটি কম্পোনেন্ট কোনো ডিফল্ট স্টাইল ছাড়াই আসে, যাতে টিমগুলো Tailwind, Panda CSS, Emotion বা Styled Components-এর মতো CSS-in-JS সমাধান, CSS Modules অথবা সাধারণ CSS ব্যবহার করতে পারে। এর লক্ষ্য হলো ডিজাইন-সিস্টেম লেখকদের প্রেজেন্টেশনের ওপর পূর্ণ নিয়ন্ত্রণ দেওয়া এবং একই সাথে পরীক্ষিত ইন্টারঅ্যাকশন ও অ্যাক্সেসিবিলিটি আচরণ নিশ্চিত করা। **আর্কিটেকচার** কম্পোনেন্ট লজিক Zag.js ফাইনাইট স্টেট মেশিনের ওপর ভিত্তি করে তৈরি। README অনুযায়ী, এটি প্রেডিক্টেবল এবং টাইপ-সেফ স্টেট ট্রানজিশন, সহজ টেস্টিং ও ডিবাগিং এবং কম এজ-কেস নিশ্চিত করে। একই কম্পোনেন্ট আচরণ React, Solid, Vue এবং Svelte-এর জন্য আলাদা প্যাকেজের মাধ্যমে প্রদান করা হয়, যাতে একটি ডিজাইন সিস্টেম লজিক পুনরায় না লিখে বিভিন্ন ফ্রেমওয়ার্কে একটি একক API সারফেস শেয়ার করতে পারে। এই প্যাকেজগুলো TypeScript দ্বারা সম্পূর্ণ টাইপড। **অ্যাক্সেসিবিলিটি** README-তে উল্লেখ করা হয়েছে যে, কম্পোনেন্টগুলো WAI-ARIA ডিজাইন প্যাটার্ন অনুসরণ করে এবং সহায়ক প্রযুক্তির মাধ্যমে পরীক্ষিত। এর দাবি করা বৈশিষ্ট্যগুলোর মধ্যে রয়েছে যথাযথ ARIA অ্যাট্রিবিউট এবং রোল, কিবোর্ড নেভিগেশন, ফোকাস ম্যানেজমেন্ট, স্ক্রিন-রিডার অ্যানাউন্সমেন্ট এবং RTL সাপোর্ট। **কম্পোনেন্টসমূহ** Ark UI ৪৫টিরও বেশি কম্পোনেন্ট অফার করে, যা মোটামুটিভাবে নিম্নোক্তভাবে বিভক্ত: - লেআউট এবং নেভিগেশন: Accordion, Tabs, Splitter, Steps, Tree View, Tour - ওভারলে: Dialog, Popover, Tooltip, Hover Card, Bottom Sheet, Floating Panel - ফর্ম এবং ইনপুট: Checkbox, Radio Group, Select, Combobox, Number Input, Pin Input, Tags Input, Editable, File Upload, Color Picker, Date Picker, Password Input, Signature Pad, Slider, Angle Slider, Rating Group, Switch, Toggle এবং Toggle Group - ডেটা ডিসপ্লে: Avatar, Highlight, Progress, QR Code, Format, JSON Tree View, Marquee - ইউটিলিটি: Carousel, Clipboard, Collapsible, Field এবং Fieldset, Menu, Pagination, Portal, Presence, Scroll Area, Segment Group, Timer, Toast, Client Only, Download Trigger, Focus Trap, Frame, Collection, Listbox **ইনস্টলেশন এবং ব্যবহার** প্রতিটি ফ্রেমওয়ার্কের নিজস্ব npm প্যাকেজ রয়েছে (`@ark-ui/react`, `@ark-ui/solid`, `@ark-ui/vue`, `@ark-ui/svelte`)। কম্পোনেন্টগুলো আলাদাভাবে ইমপোর্ট করা হয়, যেমন `@ark-ui/react/dialog`, এবং Root, Trigger, Backdrop, Positioner, Content, Title, Description এবং CloseTrigger-এর মতো প্রিমিটিভ থেকে তৈরি করা হয়। README-তে একটি Dialog উদাহরণ দেখানো হয়েছে যা চারটি ফ্রেমওয়ার্কেই প্রায় অভিন্ন মার্কআপের মাধ্যমে রেন্ডার করা হয়েছে। **ইকোসিস্টেম** Ark UI হলো Chakra UI v3-এর ভিত্তি, এবং README-তে Park UI এবং Tark UI-এর কথা উল্লেখ করা হয়েছে যা এর ওপর ভিত্তি করে তৈরি স্টাইলড কম্পোনেন্ট সেট। একটি আলাদা ইন্টিগ্রেশন ফোল্ডারে AI-সহায়ক ডেভেলপমেন্টের জন্য একটি MCP সার্ভার দেওয়া হয়েছে। **ডকুমেন্টেশন এবং কমিউনিটি** গাইড, কম্পোনেন্ট-ভিত্তিক API রেফারেন্স, উদাহরণ এবং স্টাইলিং রেসিপি ark-ui.com-এ পাওয়া যায়। প্রজেক্টটির একটি ডিসকর্ড কমিউনিটি, ফিচার রিকোয়েস্টের জন্য একটি পাবলিক Canny রোডম্যাপ এবং একটি ব্লগ রয়েছে। কন্ট্রিবিউটিং গাইডের মাধ্যমে অবদান গ্রহণ করা হয় এবং ডকুমেন্টেশন, ডিসকর্ড ও গিটহাব ইস্যুজের মাধ্যমে সাপোর্ট প্রদান করা হয়। ডেভেলপমেন্ট Open Collective-এর মাধ্যমে অর্থায়ন করা হয় এবং প্রজেক্টটি MIT লাইসেন্সের অধীনে রিলিজ করা হয়েছে।