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

Flowbite হলো Tailwind CSS-এর উপর ভিত্তি করে তৈরি একটি ওপেন-সোর্স UI কম্পোনেন্ট লাইব্রেরি এবং ফ্রন্ট-এন্ড ফ্রেমওয়ার্ক। এর লক্ষ্য হলো Tailwind-এর ইউটিলিটি ক্লাস ব্যবহার করে তৈরি প্রস্তুত ওয়েব কম্পোনেন্টের একটি সেট প্রদান করার মাধ্যমে ওয়েবসাইট ডেভেলপমেন্টের গতি বাড়ানো, যাতে ডেভেলপাররা প্রতিটি এলিমেন্ট শুরু থেকে না লিখে বিদ্যমান প্যাটার্ন থেকে ইন্টারফেস তৈরি করতে পারেন। **ইনস্টলেশন এবং ব্যবহার** npm-এর মাধ্যমে (`npm install flowbite`) এই লাইব্রেরিটি বিদ্যমান Tailwind CSS প্রজেক্টে প্লাগইন হিসেবে যুক্ত করা যায়। ডকুমেন্টেশনে বর্ণিত সেটআপ প্রক্রিয়ায় মূল CSS ফাইলে Flowbite থিম ভেরিয়েবল ইমপোর্ট করা, প্লাগইন রেজিস্টার করা, node_modules-এর ভেতরে সোর্স ফাইল কনফিগার করা এবং ইন্টারঅ্যাক্টিভ এলিমেন্টগুলোর জন্য বান্ডেল করা জাভাস্ক্রিপ্ট লোড করার কথা বলা হয়েছে। README-তে ডিফল্ট, মিনিমাল, এন্টারপ্রাইজ, প্লেফুল এবং মোনো সহ বেশ কিছু বিল্ট-ইন থিমের উল্লেখ আছে, যার প্রতিটির সাথে নির্দিষ্ট ওয়েব ফন্ট যুক্ত। দ্রুত ব্যবহারের জন্য একটি CDN রুটের বর্ণনাও দেওয়া হয়েছে যার মাধ্যমে মিনিফাইড CSS এবং JS পেজে যুক্ত করা যায়। **ইন্টারঅ্যাকশন মডেল** ইন্টারঅ্যাক্টিভ কম্পোনেন্টগুলো মূলত ডাটা-অ্যাট্রিবিউট ইন্টারফেস দ্বারা চালিত হয়: `data-modal-target` এবং `data-modal-toggle`-এর মতো অ্যাট্রিবিউটগুলো কোনো কাস্টম স্ক্রিপ্টিং ছাড়াই ট্রিগার এলিমেন্টগুলোকে কম্পোনেন্টের সাথে যুক্ত করে এবং অধিকাংশ ডকুমেন্টেশন উদাহরণ এই কৌশল অনুসরণ করে। আরও নিয়ন্ত্রণের জন্য, একটি `initFlowbite()` ফাংশন (অথবা `initDropdowns` এবং `initModals`-এর মতো ক্যাটাগরি-ভিত্তিক হেল্পার) Vue এবং Nuxt-এর মতো ফ্রেমওয়ার্কগুলোকে ইভেন্ট লিসেনারগুলো নিজেরাই রেজিস্টার করার সুযোগ দেয়। **প্রোগ্রাম্যাটিক এবং টাইপড API** এই প্যাকেজটি ESM এবং CJS উভয়ই সমর্থন করে এমন জাভাস্ক্রিপ্ট ক্লাস হিসেবে কম্পোনেন্টগুলো প্রকাশ করে। উদাহরণস্বরূপ, একটি মোডাল প্লেসমেন্ট, ব্যাকড্রপ বিহেভিয়ার এবং `onShow`, `onHide` ও `onToggle`-এর মতো কলব্যাক অপশন দিয়ে ইনস্ট্যানশিয়েট করা যেতে পারে। TypeScript টাইপ ডিক্লারেশন প্রদান করা হয়েছে, যার মধ্যে `ModalOptions` এবং `ModalInterface`-এর মতো ইন্টারফেস অন্তর্ভুক্ত, যাতে অপশন অবজেক্ট এবং ইনস্ট্যান্সগুলোকে টাইপ করা যায়। **কম্পোনেন্ট ক্যাটালগ** README-তে বিস্তৃত পরিসরের কম্পোনেন্টের তালিকা দেওয়া হয়েছে, যার মধ্যে রয়েছে অ্যালার্ট, ব্যাজ, ব্রেডক্রাম্বস, বাটন এবং বাটন গ্রুপ, কার্ড, ড্রপডাউন, ফর্ম, লিস্ট গ্রুপ, টাইপোগ্রাফি, মোডাল, ট্যাব, নেভবার, প্যাগিনেশন, টাইমলাইন, প্রগ্রেস বার, টেবিল, টোস্ট, টুলটিপ, ডেটপিকার, স্পিনার, ফুটার, অ্যাকর্ডিয়ন, সাইডবার, ক্যারোসেল, অবতার, রেটিং এবং বিভিন্ন ধরণের ফর্ম ইনপুট (ইনপুট ফিল্ড, ফাইল ইনপুট, সার্চ ইনপুট, সিলেক্ট, টেক্সট এরিয়া, চেকবক্স, রেডিও, টগল, রেঞ্জ স্লাইডার)। **ফ্রেমওয়ার্ক এবং প্ল্যাটফর্ম সাপোর্ট** Flowbite UI কম্পোনেন্টগুলোতে নেটিভ RTL সাপোর্ট রয়েছে, যা `dir="rtl"` অ্যাট্রিবিউটের মাধ্যমে সক্রিয় করা হয়। React, Vue, Svelte, Angular এবং Qwik-এর জন্য কমিউনিটি-মেইনটেইনড স্ট্যান্ডঅ্যালোন লাইব্রেরি বিদ্যমান। Next.js, Remix, Nuxt, Astro, MeteorJS, Gatsby, SolidJS এবং Qwik-এর মতো ফ্রেমওয়ার্ক এবং Laravel, Symfony, Ruby on Rails 7, Phoenix (Elixir), Django এবং Flask-এর মতো ব্যাক-এন্ড ফ্রেমওয়ার্কের জন্য ইন্টিগ্রেশন গাইড দেওয়া হয়েছে, কারণ এই লাইব্রেরিটি ভ্যানিলা জাভাস্ক্রিপ্টের উপর নির্ভরশীল। **সংশ্লিষ্ট রিসোর্স** প্রজেক্টটি একই ইকোসিস্টেমের অতিরিক্ত রিসোর্সগুলোর দিকে নির্দেশ করে: একটি Figma ডিজাইন সিস্টেম, প্রিফ্যাব্রিকেটেড "Flowbite Blocks" সেকশন, একটি আইকন সেট এবং একটি GPT অ্যাসিস্ট্যান্ট। ওপেন-সোর্স প্যাকেজের পাশাপাশি একটি বাণিজ্যিক Pro ভার্সন অফার করা হয় এবং রিপোজিটরিটিতে ডিসকর্ড এবং npm ডাউনলোড/ভার্সন ব্যাজের মতো কমিউনিটি চ্যানেলের লিঙ্ক দেওয়া আছে। লাইসেন্স হিসেবে MIT উল্লেখ করা হয়েছে।