React 19 · ٨ ك.ب مضغوطة · بلا اعتماديات
الهيكل
تحت أداتك.
أشرطة أيقونات على الأطراف، ومناطق قابلة لتغيير الحجم حول مركزٍ يخصّك أنت، وتخطيط يبقى بعد إعادة التحميل. بلا واجهة في الأسفل، وقابل لإعادة التلوين في الأعلى.
حيّ الآن. اسحب الفواصل بين الأسطح، أو انقر أيقونة في الشريط أو اسحبها إلى نصف آخر، أو غيّر حجم النافذة.
أربع طرق للبدء
كل مثال يعمل في متصفحك وشيفرته كاملة أمامك. ابدأ بالأقرب إلى حاجتك.
import { Panels, Panel } from '@pasquelin/panels'
import '@pasquelin/panels/styles.css'
<Panels <PanelId >>
<Panel <PanelId > id="files" zone="left" title="Files" >
<FileTree />
</Panel >
<Panel <PanelId > id="notes" zone="right" opens={380}>
<Notes />
</Panel >
<Panels.Center >
<YourApp />
</Panels.Center >
</Panels >
نصيحة. اللوحات التي تتشارك المنطقة والنصف تتناوب، والشريط ينقلك بينها. امنح إحداها النصف الثانوي لتظهر أسفل الأولى بدل أن تحلّ محلّها. وهنا يمكن سحب أيقونات الشريط من نصف إلى آخر.
افتح الحد الأدنى →
function Layout() {
return (
<Panels <PanelId >>
<Panel <PanelId > id="sites" zone="left" title="Sites" >
<SiteList />
</Panel >
<Panels.Center >
<Outlet />
</Panels.Center >
</Panels >
)
}
نصيحة. صرّح باللوحات في مسار التخطيط، فوق المخرج. لو صُرّح بها في كل صفحة لأُزيلت مع كل تنقل وفقدت ما تحمله.
افتح React Router →
import { DockviewCenter } from '@pasquelin/panels/dockview'
<Panels.Center >
<DockviewCenter
documents={{ editor: Editor }}
empty={NothingOpen}
onReady={setApi}
/>
</Panels.Center >
نصيحة. استوردها من مدخل dockview كي لا يقع وزنها إلا على المشاريع التي تريد الألسنة. اللوحة لا تدخل المركز أبدًا: للمستند اسم، وللّوحة أيقونة.
افتح ألسنة المستندات →
.pnl-root {
--pnl-chassis : #2e2b26;
--pnl-panel : #1b1916;
--pnl-accent : #d99a2b;
--pnl-radius : 12px;
--pnl-rail : 60px;
}
نصيحة. اضبط لون التمييز على أي عنصر أعلى، فيرث الهيكل هويتك بدل أن يفرض هويته. تريد أبعد من ذلك؟ كل قطعة مُصدَّرة وقابلة للاستبدال وحدها.
افتح إعادة التلوين →
الواجهة كاملة
ليست كبيرة، وهذا هو المقصود. ستة أمور تكفي.
التصريح
اللوحة واصف: أين تُعلَّق، وما اسمها، وما الذي ترسمه.
<Panel id="files" zone="left" title="Files" icon={<Icon />}>
<FileTree />
</Panel >
التحكم
خطّاف واحد لكل ترويسة أو اختصار أو قائمة تحتاج التأثير في اللوحات.
const { reveal, close, toggle, isShown } = usePanels<PanelId >()
إعادة الترتيب
خاصية واحدة، فيسحب القارئ أيقونة من الشريط إلى النصف الآخر. ويُحفَظ المكان الذي يختاره مع بقية التخطيط.
<Panels <PanelId > draggablePanels>
التحكم من خارج React
أنشئ المخزن بنفسك، فيستطيع مقبس أو قائمة نظام أو عامل خلفي فتح لوحة.
const store = createPanelsStore<PanelId >()
socket.on('alert' , () => store.getState().show('alerts' ))
إعادة التلوين
كل قيمة خاصية مخصّصة. اضبط لون التمييز فتتبعه الأشرطة.
.pnl-root {
--pnl-panel : #101418;
--pnl-accent : #47965c;
--pnl-radius : 10px;
}
أو خذ المنطق وحده
المكوّنات مبنية على خطّافات لا ترسم شيئًا. ارسم إطارك أنت فوقها.
const zone = useZone('left' )
useContainerFit(ref)