مكوّنات التخطيط
<Box>، <Text>، <ScrollBox>، <Modal>، <SplitPane>، <Stack>، <Grid>، <Spacer>، <Divider> و <Badge>.
تخطّط هذه العناصر الأساسية شبكة الخلايا باستخدام Yoga flexbox.
<Box>
حاوية التخطيط.
مباشر64×14 · booting Turbolog…tsx
<Box className="flex-row gap-2 p-1 border rounded"> <Box className="flex-col grow border rounded px-1 bg-surface"> <Text bold>Sidebar</Text> </Box> <Box className="flex-col grow border rounded px-1 border-accent"> <Text color="accent">Content</Text> </Box></Box>| Prop | الوصف |
|---|---|
className | أدوات تنسيق الخلايا |
border | single rounded double heavy dashed |
title | نص مضمّن في الحد العلوي |
bg / fg | لون الخلفية والنص |
overflow | hidden أو scroll |
<Text>
نص ضمن السطر. تتحول مكوّنات <Text> المتداخلة إلى عناصر span منسّقة.
<Text wrap="truncate-end"> <Text bold>Deployed</Text> to <Text color="accent">production</Text></Text>| Prop | الوصف |
|---|---|
color | لون النص |
bold italic underline dim | السمات |
wrap | wrap nowrap truncate-end |
<ScrollBox>
عمود قابل للتمرير. تثبّت الخاصية stickyScroll موضع التمرير في الأسفل مع ازدياد المحتوى.
مباشر60×12 · booting Turbolog…tsx
<ScrollBox stickyScroll focusable className="border rounded px-1" height={8}> {logs.map((line, i) => <Text key={i}>{line}</Text>)}</ScrollBox><Modal>
طبقة متراكبة في الوسط تعتّم ما تحتها وتحصر التركيز داخلها.
مباشر72×14 · booting Turbolog…tsx
<Modal title=" Commands " onClose={() => setOpen(false)} width={48}> <Select searchable autoFocus options={commands} onChange={run} /></Modal>Spacer و Divider و Badge
<Spacer /><Divider title="Deployments" /><Badge variant="success">READY</Badge><KeyHint keys="⌘K" label="search" />أدوات مساعدة للتخطيط
اختصارات لترتيبات flex الشائعة.
<Center> <Text>Nothing deployed yet</Text></Center><Stack gap={1} divider> <Overview /> <Deployments /></Stack><Grid columns={3} gap={1}> {metrics.map((m) => <Metric key={m.id} {...m} />)}</Grid><SplitPane>
لوحتان وفاصل. عند استخدام resizable، ينضم الفاصل إلى ترتيب التنقل بمفتاح Tab ويغيّر المفتاحان ← → موضعه (بمقدار خمس خلايا مع Shift).
<SplitPane defaultSize={0.3} resizable minSize={16}> <Sidebar /> <Content /></SplitPane>تأخذ الخاصية size قيمة كسرية (0.3) أو عددًا من الخلايا (24). يرتّب الإعداد direction="column" اللوحتين عموديًا.