@fabrica_communications/design-system 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -0
- package/package.json +91 -0
- package/src/app/components/page.tsx +19 -0
- package/src/app/favicon.ico +0 -0
- package/src/app/foundations/colors/page.tsx +11 -0
- package/src/app/foundations/page.tsx +11 -0
- package/src/app/foundations/typography/page.tsx +11 -0
- package/src/app/getting-started/page.tsx +11 -0
- package/src/app/globals.css +3 -0
- package/src/app/layout.tsx +61 -0
- package/src/app/page.tsx +994 -0
- package/src/components/shared/gap.tsx +103 -0
- package/src/components/shared/page-header.tsx +11 -0
- package/src/components/shared/page-top-button.tsx +27 -0
- package/src/components/ui/accordion.tsx +66 -0
- package/src/components/ui/alert-dialog.tsx +157 -0
- package/src/components/ui/aspect-ratio.tsx +11 -0
- package/src/components/ui/badge.tsx +46 -0
- package/src/components/ui/breadcrumb.tsx +109 -0
- package/src/components/ui/button.mdx +39 -0
- package/src/components/ui/button.stories.tsx +88 -0
- package/src/components/ui/button.tsx +53 -0
- package/src/components/ui/card.tsx +92 -0
- package/src/components/ui/carousel.tsx +241 -0
- package/src/components/ui/checkbox.tsx +32 -0
- package/src/components/ui/dialog.tsx +143 -0
- package/src/components/ui/field.tsx +248 -0
- package/src/components/ui/heading.tsx +51 -0
- package/src/components/ui/icon-definitions.ts +532 -0
- package/src/components/ui/icon.tsx +115 -0
- package/src/components/ui/input-group.tsx +170 -0
- package/src/components/ui/input.tsx +21 -0
- package/src/components/ui/label.tsx +24 -0
- package/src/components/ui/native-select.tsx +48 -0
- package/src/components/ui/pagination.tsx +127 -0
- package/src/components/ui/radio-group.tsx +45 -0
- package/src/components/ui/scroll-area.tsx +58 -0
- package/src/components/ui/section-container.tsx +24 -0
- package/src/components/ui/select.tsx +187 -0
- package/src/components/ui/separator.tsx +28 -0
- package/src/components/ui/skeleton.tsx +13 -0
- package/src/components/ui/sonner.tsx +40 -0
- package/src/components/ui/switch.mdx +20 -0
- package/src/components/ui/switch.stories.tsx +54 -0
- package/src/components/ui/switch.tsx +66 -0
- package/src/components/ui/table.tsx +119 -0
- package/src/components/ui/tabs.tsx +66 -0
- package/src/components/ui/text-link.tsx +72 -0
- package/src/components/ui/text.tsx +54 -0
- package/src/components/ui/textarea.tsx +18 -0
- package/src/components/ui/toggle.tsx +47 -0
- package/src/components/ui/tooltip.tsx +61 -0
- package/src/index.ts +37 -0
- package/src/lib/utils.ts +6 -0
- package/src/styles/globals.css +162 -0
- package/src/styles/variables.css +261 -0
- package/tokens/design-tokens.tokens.json +1652 -0
- package/tokens/design-tokens.tokens/344/270/213/345/261/244.json +1659 -0
- package/tokens//345/205/250/343/203/227/343/203/255/343/202/270/343/202/247/343/202/257/343/203/210/345/205/261/351/200/232_design-tokens.tokens.json +572 -0
package/src/app/page.tsx
ADDED
|
@@ -0,0 +1,994 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
Accordion,
|
|
5
|
+
AccordionContent,
|
|
6
|
+
AccordionItem,
|
|
7
|
+
AccordionTrigger,
|
|
8
|
+
} from "../components/ui/accordion"
|
|
9
|
+
import {
|
|
10
|
+
AlertDialog,
|
|
11
|
+
AlertDialogAction,
|
|
12
|
+
AlertDialogCancel,
|
|
13
|
+
AlertDialogContent,
|
|
14
|
+
AlertDialogDescription,
|
|
15
|
+
AlertDialogFooter,
|
|
16
|
+
AlertDialogHeader,
|
|
17
|
+
AlertDialogTitle,
|
|
18
|
+
AlertDialogTrigger,
|
|
19
|
+
} from "../components/ui/alert-dialog"
|
|
20
|
+
import { AspectRatio } from "../components/ui/aspect-ratio"
|
|
21
|
+
import { Badge } from "../components/ui/badge"
|
|
22
|
+
import {
|
|
23
|
+
Breadcrumb,
|
|
24
|
+
BreadcrumbItem,
|
|
25
|
+
BreadcrumbLink,
|
|
26
|
+
BreadcrumbList,
|
|
27
|
+
BreadcrumbPage,
|
|
28
|
+
BreadcrumbSeparator,
|
|
29
|
+
} from "../components/ui/breadcrumb"
|
|
30
|
+
import { Button } from "../components/ui/button"
|
|
31
|
+
import { Heading } from "../components/ui/heading"
|
|
32
|
+
import { SectionContainer } from "../components/ui/section-container"
|
|
33
|
+
import { Gap } from "@/components/shared/gap"
|
|
34
|
+
import {
|
|
35
|
+
Card,
|
|
36
|
+
CardContent,
|
|
37
|
+
CardDescription,
|
|
38
|
+
CardFooter,
|
|
39
|
+
CardHeader,
|
|
40
|
+
CardTitle,
|
|
41
|
+
} from "../components/ui/card"
|
|
42
|
+
import {
|
|
43
|
+
Carousel,
|
|
44
|
+
CarouselContent,
|
|
45
|
+
CarouselItem,
|
|
46
|
+
CarouselNext,
|
|
47
|
+
CarouselPrevious,
|
|
48
|
+
} from "../components/ui/carousel"
|
|
49
|
+
import { Checkbox } from "../components/ui/checkbox"
|
|
50
|
+
import {
|
|
51
|
+
Dialog,
|
|
52
|
+
DialogContent,
|
|
53
|
+
DialogDescription,
|
|
54
|
+
DialogFooter,
|
|
55
|
+
DialogHeader,
|
|
56
|
+
DialogTitle,
|
|
57
|
+
DialogTrigger,
|
|
58
|
+
} from "../components/ui/dialog"
|
|
59
|
+
import {
|
|
60
|
+
Field,
|
|
61
|
+
FieldContent,
|
|
62
|
+
FieldDescription,
|
|
63
|
+
FieldLabel,
|
|
64
|
+
} from "../components/ui/field"
|
|
65
|
+
import { Icon } from "../components/ui/icon"
|
|
66
|
+
import {
|
|
67
|
+
InputGroup,
|
|
68
|
+
InputGroupAddon,
|
|
69
|
+
InputGroupInput,
|
|
70
|
+
} from "../components/ui/input-group"
|
|
71
|
+
import { Input } from "../components/ui/input"
|
|
72
|
+
import { Label } from "../components/ui/label"
|
|
73
|
+
import {
|
|
74
|
+
NativeSelect,
|
|
75
|
+
NativeSelectOption,
|
|
76
|
+
} from "../components/ui/native-select"
|
|
77
|
+
import {
|
|
78
|
+
Select,
|
|
79
|
+
SelectContent,
|
|
80
|
+
SelectItem,
|
|
81
|
+
SelectTrigger,
|
|
82
|
+
SelectValue,
|
|
83
|
+
} from "../components/ui/select"
|
|
84
|
+
import {
|
|
85
|
+
Pagination,
|
|
86
|
+
PaginationContent,
|
|
87
|
+
PaginationEllipsis,
|
|
88
|
+
PaginationItem,
|
|
89
|
+
PaginationLink,
|
|
90
|
+
PaginationNext,
|
|
91
|
+
PaginationPrevious,
|
|
92
|
+
} from "../components/ui/pagination"
|
|
93
|
+
import { RadioGroup, RadioGroupItem } from "../components/ui/radio-group"
|
|
94
|
+
import { ScrollArea } from "../components/ui/scroll-area"
|
|
95
|
+
import { Separator } from "../components/ui/separator"
|
|
96
|
+
import { Skeleton } from "../components/ui/skeleton"
|
|
97
|
+
import { Switch } from "../components/ui/switch"
|
|
98
|
+
import { toast } from "sonner"
|
|
99
|
+
import {
|
|
100
|
+
Table,
|
|
101
|
+
TableBody,
|
|
102
|
+
TableCell,
|
|
103
|
+
TableHead,
|
|
104
|
+
TableHeader,
|
|
105
|
+
TableRow,
|
|
106
|
+
} from "../components/ui/table"
|
|
107
|
+
import { Tabs, TabsContent, TabsList, TabsTrigger } from "../components/ui/tabs"
|
|
108
|
+
import { Text } from "../components/ui/text"
|
|
109
|
+
import { TextLink } from "../components/ui/text-link"
|
|
110
|
+
import { Textarea } from "../components/ui/textarea"
|
|
111
|
+
import { Toggle } from "../components/ui/toggle"
|
|
112
|
+
import {
|
|
113
|
+
Tooltip,
|
|
114
|
+
TooltipContent,
|
|
115
|
+
TooltipTrigger,
|
|
116
|
+
} from "../components/ui/tooltip"
|
|
117
|
+
|
|
118
|
+
const sections = [
|
|
119
|
+
"Accordion",
|
|
120
|
+
"Alert Dialog",
|
|
121
|
+
"Aspect Ratio",
|
|
122
|
+
"Badge",
|
|
123
|
+
"Breadcrumb",
|
|
124
|
+
"Button",
|
|
125
|
+
"Card",
|
|
126
|
+
"Carousel",
|
|
127
|
+
"Checkbox",
|
|
128
|
+
"Dialog",
|
|
129
|
+
"Field",
|
|
130
|
+
"Gap",
|
|
131
|
+
"Heading",
|
|
132
|
+
"Icon",
|
|
133
|
+
"Input Group",
|
|
134
|
+
"Input",
|
|
135
|
+
"Label",
|
|
136
|
+
"Native Select",
|
|
137
|
+
"Pagination",
|
|
138
|
+
"Select",
|
|
139
|
+
"Radio Group",
|
|
140
|
+
"Scroll Area",
|
|
141
|
+
"Separator",
|
|
142
|
+
"Skeleton",
|
|
143
|
+
"Sonner",
|
|
144
|
+
"Switch",
|
|
145
|
+
"Table",
|
|
146
|
+
"Tabs",
|
|
147
|
+
"Text",
|
|
148
|
+
"Text Link",
|
|
149
|
+
"Textarea",
|
|
150
|
+
"Toggle",
|
|
151
|
+
"Tooltip",
|
|
152
|
+
]
|
|
153
|
+
|
|
154
|
+
function getSectionId(sectionName: string) {
|
|
155
|
+
return sectionName.toLowerCase().replace(/\s+/g, "-")
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export default function Home() {
|
|
159
|
+
return (
|
|
160
|
+
<main className="min-h-screen space-y-6 bg-(--usage-background) p-6">
|
|
161
|
+
<div id="navigation" className="bg-gray-200 p-5 sticky top-[10rem] z-30">
|
|
162
|
+
<Heading variant="h2">
|
|
163
|
+
コンポーネント一覧
|
|
164
|
+
</Heading>
|
|
165
|
+
<nav>
|
|
166
|
+
<Gap row wrap gap="sm">
|
|
167
|
+
{sections.map((section) => (
|
|
168
|
+
<TextLink key={section} href={`#${getSectionId(section)}`}>
|
|
169
|
+
{section}
|
|
170
|
+
</TextLink>
|
|
171
|
+
))}
|
|
172
|
+
</Gap>
|
|
173
|
+
</nav>
|
|
174
|
+
</div>
|
|
175
|
+
|
|
176
|
+
<SectionContainer id={getSectionId("Accordion")}>
|
|
177
|
+
<Heading variant="h3">
|
|
178
|
+
Accordion
|
|
179
|
+
</Heading>
|
|
180
|
+
<Accordion type="single" collapsible className="w-full">
|
|
181
|
+
<AccordionItem value="item-1">
|
|
182
|
+
<AccordionTrigger>セクション 1</AccordionTrigger>
|
|
183
|
+
<AccordionContent>
|
|
184
|
+
これはアコーディオンのデモです。開閉動作を確認してください。
|
|
185
|
+
</AccordionContent>
|
|
186
|
+
</AccordionItem>
|
|
187
|
+
<AccordionItem value="item-2">
|
|
188
|
+
<AccordionTrigger>セクション 2</AccordionTrigger>
|
|
189
|
+
<AccordionContent>
|
|
190
|
+
他のセクションも同様に動作します。
|
|
191
|
+
</AccordionContent>
|
|
192
|
+
</AccordionItem>
|
|
193
|
+
</Accordion>
|
|
194
|
+
</SectionContainer>
|
|
195
|
+
|
|
196
|
+
<SectionContainer id={getSectionId("Alert Dialog")}>
|
|
197
|
+
<Heading variant="h3">
|
|
198
|
+
Alert Dialog
|
|
199
|
+
</Heading>
|
|
200
|
+
<AlertDialog>
|
|
201
|
+
<AlertDialogTrigger asChild>
|
|
202
|
+
<Button variant="destructive">削除ダイアログを開く</Button>
|
|
203
|
+
</AlertDialogTrigger>
|
|
204
|
+
<AlertDialogContent>
|
|
205
|
+
<AlertDialogHeader>
|
|
206
|
+
<AlertDialogTitle>本当に削除しますか?</AlertDialogTitle>
|
|
207
|
+
<AlertDialogDescription>
|
|
208
|
+
この操作は取り消せません。対象のデータが完全に削除されます。
|
|
209
|
+
</AlertDialogDescription>
|
|
210
|
+
</AlertDialogHeader>
|
|
211
|
+
<AlertDialogFooter>
|
|
212
|
+
<AlertDialogCancel>キャンセル</AlertDialogCancel>
|
|
213
|
+
<AlertDialogAction>削除する</AlertDialogAction>
|
|
214
|
+
</AlertDialogFooter>
|
|
215
|
+
</AlertDialogContent>
|
|
216
|
+
</AlertDialog>
|
|
217
|
+
</SectionContainer>
|
|
218
|
+
|
|
219
|
+
<SectionContainer id={getSectionId("Aspect Ratio")}>
|
|
220
|
+
<Heading variant="h3">
|
|
221
|
+
Aspect Ratio
|
|
222
|
+
</Heading>
|
|
223
|
+
<AspectRatio
|
|
224
|
+
ratio={16 / 9}
|
|
225
|
+
className="flex items-center justify-center rounded-md border border-dashed border-(--usage-border) bg-(--usage-preview-bg)"
|
|
226
|
+
>
|
|
227
|
+
<span className="text-sm text-muted-foreground">
|
|
228
|
+
16:9 の枠に収まるコンテンツ
|
|
229
|
+
</span>
|
|
230
|
+
</AspectRatio>
|
|
231
|
+
</SectionContainer>
|
|
232
|
+
|
|
233
|
+
<SectionContainer id={getSectionId("Badge")}>
|
|
234
|
+
<Heading variant="h3">
|
|
235
|
+
Badge
|
|
236
|
+
</Heading>
|
|
237
|
+
<Gap row wrap gap="sm">
|
|
238
|
+
<Badge variant="default">Default</Badge>
|
|
239
|
+
<Badge variant="secondary">Secondary</Badge>
|
|
240
|
+
<Badge variant="destructive">Destructive</Badge>
|
|
241
|
+
<Badge variant="outline">Outline</Badge>
|
|
242
|
+
</Gap>
|
|
243
|
+
</SectionContainer>
|
|
244
|
+
|
|
245
|
+
<SectionContainer id={getSectionId("Breadcrumb")}>
|
|
246
|
+
<Heading variant="h3">
|
|
247
|
+
Breadcrumb
|
|
248
|
+
</Heading>
|
|
249
|
+
<Breadcrumb>
|
|
250
|
+
<BreadcrumbList>
|
|
251
|
+
<BreadcrumbItem>
|
|
252
|
+
<BreadcrumbLink href="#">ホーム</BreadcrumbLink>
|
|
253
|
+
</BreadcrumbItem>
|
|
254
|
+
<BreadcrumbSeparator />
|
|
255
|
+
<BreadcrumbItem>
|
|
256
|
+
<BreadcrumbLink href="#">ダッシュボード</BreadcrumbLink>
|
|
257
|
+
</BreadcrumbItem>
|
|
258
|
+
<BreadcrumbSeparator />
|
|
259
|
+
<BreadcrumbItem>
|
|
260
|
+
<BreadcrumbPage>設定</BreadcrumbPage>
|
|
261
|
+
</BreadcrumbItem>
|
|
262
|
+
</BreadcrumbList>
|
|
263
|
+
</Breadcrumb>
|
|
264
|
+
</SectionContainer>
|
|
265
|
+
|
|
266
|
+
<SectionContainer id={getSectionId("Button")}>
|
|
267
|
+
<Heading variant="h3">
|
|
268
|
+
Button
|
|
269
|
+
</Heading>
|
|
270
|
+
<div className="space-y-8">
|
|
271
|
+
<div>
|
|
272
|
+
<div className="mb-2 text-sm">Variant</div>
|
|
273
|
+
<Gap row wrap gap="sm">
|
|
274
|
+
<Button variant="default">Default</Button>
|
|
275
|
+
<Button variant="accent">Accent</Button>
|
|
276
|
+
<Button variant="neutral">Neutral</Button>
|
|
277
|
+
<Button variant="destructive">Destructive</Button>
|
|
278
|
+
</Gap>
|
|
279
|
+
</div>
|
|
280
|
+
<div>
|
|
281
|
+
<div className="mb-2 text-sm">Size</div>
|
|
282
|
+
<Gap row wrap gap="sm">
|
|
283
|
+
<Button size="default">Medium (M)</Button>
|
|
284
|
+
<Button size="sm">Small (S)</Button>
|
|
285
|
+
</Gap>
|
|
286
|
+
</div>
|
|
287
|
+
<div>
|
|
288
|
+
<div className="mb-2 text-sm">With Icon</div>
|
|
289
|
+
<Gap row wrap gap="sm">
|
|
290
|
+
<Button>
|
|
291
|
+
<Icon name="folder" />
|
|
292
|
+
フォルダ
|
|
293
|
+
</Button>
|
|
294
|
+
<Button variant="accent">
|
|
295
|
+
<Icon name="search" />
|
|
296
|
+
検索
|
|
297
|
+
</Button>
|
|
298
|
+
<Button variant="neutral">
|
|
299
|
+
<Icon name="plus" />
|
|
300
|
+
追加
|
|
301
|
+
</Button>
|
|
302
|
+
<Button variant="destructive">
|
|
303
|
+
削除
|
|
304
|
+
<Icon name="trashbox" />
|
|
305
|
+
</Button>
|
|
306
|
+
</Gap>
|
|
307
|
+
</div>
|
|
308
|
+
<div>
|
|
309
|
+
<div className="mb-2 text-sm">Icon Only</div>
|
|
310
|
+
<Gap row wrap gap="sm">
|
|
311
|
+
<Button size="icon">
|
|
312
|
+
<Icon name="search" />
|
|
313
|
+
</Button>
|
|
314
|
+
<Button size="icon-sm">
|
|
315
|
+
<Icon name="search" />
|
|
316
|
+
</Button>
|
|
317
|
+
<Button size="icon" variant="accent">
|
|
318
|
+
<Icon name="folder" />
|
|
319
|
+
</Button>
|
|
320
|
+
<Button size="icon-sm" variant="neutral">
|
|
321
|
+
<Icon name="plus" />
|
|
322
|
+
</Button>
|
|
323
|
+
</Gap>
|
|
324
|
+
</div>
|
|
325
|
+
<div>
|
|
326
|
+
<div className="mb-2 text-sm">Disabled</div>
|
|
327
|
+
<Gap row wrap gap="sm">
|
|
328
|
+
<Button disabled>Disabled</Button>
|
|
329
|
+
<Button variant="accent" disabled>
|
|
330
|
+
Disabled
|
|
331
|
+
</Button>
|
|
332
|
+
<Button variant="neutral" disabled>
|
|
333
|
+
Disabled
|
|
334
|
+
</Button>
|
|
335
|
+
<Button variant="destructive" disabled>
|
|
336
|
+
Disabled
|
|
337
|
+
</Button>
|
|
338
|
+
</Gap>
|
|
339
|
+
</div>
|
|
340
|
+
</div>
|
|
341
|
+
</SectionContainer>
|
|
342
|
+
|
|
343
|
+
<SectionContainer id={getSectionId("Card")}>
|
|
344
|
+
<Heading variant="h3">
|
|
345
|
+
Card
|
|
346
|
+
</Heading>
|
|
347
|
+
<Card>
|
|
348
|
+
<CardHeader>
|
|
349
|
+
<CardTitle>カードタイトル</CardTitle>
|
|
350
|
+
<CardDescription>カードの説明文です。</CardDescription>
|
|
351
|
+
</CardHeader>
|
|
352
|
+
<CardContent>カードの内容がここに表示されます。</CardContent>
|
|
353
|
+
<CardFooter>フッター</CardFooter>
|
|
354
|
+
</Card>
|
|
355
|
+
</SectionContainer>
|
|
356
|
+
|
|
357
|
+
<SectionContainer id={getSectionId("Carousel")}>
|
|
358
|
+
<Heading variant="h3">
|
|
359
|
+
Carousel
|
|
360
|
+
</Heading>
|
|
361
|
+
<Carousel className="w-full max-w-xs">
|
|
362
|
+
<CarouselContent>
|
|
363
|
+
<CarouselItem>
|
|
364
|
+
<div className="flex aspect-square items-center justify-center rounded-md border bg-muted p-6">
|
|
365
|
+
<span className="text-4xl font-semibold">1</span>
|
|
366
|
+
</div>
|
|
367
|
+
</CarouselItem>
|
|
368
|
+
<CarouselItem>
|
|
369
|
+
<div className="flex aspect-square items-center justify-center rounded-md border bg-muted p-6">
|
|
370
|
+
<span className="text-4xl font-semibold">2</span>
|
|
371
|
+
</div>
|
|
372
|
+
</CarouselItem>
|
|
373
|
+
<CarouselItem>
|
|
374
|
+
<div className="flex aspect-square items-center justify-center rounded-md border bg-muted p-6">
|
|
375
|
+
<span className="text-4xl font-semibold">3</span>
|
|
376
|
+
</div>
|
|
377
|
+
</CarouselItem>
|
|
378
|
+
</CarouselContent>
|
|
379
|
+
<CarouselPrevious />
|
|
380
|
+
<CarouselNext />
|
|
381
|
+
</Carousel>
|
|
382
|
+
</SectionContainer>
|
|
383
|
+
|
|
384
|
+
<SectionContainer id={getSectionId("Checkbox")}>
|
|
385
|
+
<Heading variant="h3">
|
|
386
|
+
Checkbox
|
|
387
|
+
</Heading>
|
|
388
|
+
<Gap gap="sm">
|
|
389
|
+
<div className="flex items-center gap-2">
|
|
390
|
+
<Checkbox id="checkbox-1" />
|
|
391
|
+
<Label htmlFor="checkbox-1">チェックボックス 1</Label>
|
|
392
|
+
</div>
|
|
393
|
+
<div className="flex items-center gap-2">
|
|
394
|
+
<Checkbox id="checkbox-2" defaultChecked />
|
|
395
|
+
<Label htmlFor="checkbox-2">チェックボックス 2</Label>
|
|
396
|
+
</div>
|
|
397
|
+
<div className="flex items-center gap-2">
|
|
398
|
+
<Checkbox id="checkbox-3" disabled />
|
|
399
|
+
<Label htmlFor="checkbox-3">無効化されたチェックボックス</Label>
|
|
400
|
+
</div>
|
|
401
|
+
</Gap>
|
|
402
|
+
</SectionContainer>
|
|
403
|
+
|
|
404
|
+
<SectionContainer id={getSectionId("Dialog")}>
|
|
405
|
+
<Heading variant="h3">
|
|
406
|
+
Dialog
|
|
407
|
+
</Heading>
|
|
408
|
+
<Dialog>
|
|
409
|
+
<DialogTrigger asChild>
|
|
410
|
+
<Button>ダイアログを開く</Button>
|
|
411
|
+
</DialogTrigger>
|
|
412
|
+
<DialogContent>
|
|
413
|
+
<DialogHeader>
|
|
414
|
+
<DialogTitle>ダイアログのタイトル</DialogTitle>
|
|
415
|
+
<DialogDescription>
|
|
416
|
+
ダイアログの説明文がここに表示されます。
|
|
417
|
+
</DialogDescription>
|
|
418
|
+
</DialogHeader>
|
|
419
|
+
<DialogFooter>
|
|
420
|
+
<Button variant="neutral">キャンセル</Button>
|
|
421
|
+
<Button>確認</Button>
|
|
422
|
+
</DialogFooter>
|
|
423
|
+
</DialogContent>
|
|
424
|
+
</Dialog>
|
|
425
|
+
</SectionContainer>
|
|
426
|
+
|
|
427
|
+
<SectionContainer id={getSectionId("Field")}>
|
|
428
|
+
<Heading variant="h3">
|
|
429
|
+
Field
|
|
430
|
+
</Heading>
|
|
431
|
+
<Field>
|
|
432
|
+
<FieldLabel>フィールドラベル</FieldLabel>
|
|
433
|
+
<FieldContent>
|
|
434
|
+
<Input placeholder="入力してください" />
|
|
435
|
+
<FieldDescription>補足説明がここに表示されます。</FieldDescription>
|
|
436
|
+
</FieldContent>
|
|
437
|
+
</Field>
|
|
438
|
+
</SectionContainer>
|
|
439
|
+
|
|
440
|
+
<SectionContainer id={getSectionId("Gap")}>
|
|
441
|
+
<Heading variant="h3">
|
|
442
|
+
Gap
|
|
443
|
+
</Heading>
|
|
444
|
+
<div className="space-y-8">
|
|
445
|
+
<div>
|
|
446
|
+
<div className="mb-2 text-sm">縦方向(デフォルト)</div>
|
|
447
|
+
<Gap gap="sm">
|
|
448
|
+
<div className="bg-muted rounded-md px-4 py-2 text-sm">アイテム 1</div>
|
|
449
|
+
<div className="bg-muted rounded-md px-4 py-2 text-sm">アイテム 2</div>
|
|
450
|
+
<div className="bg-muted rounded-md px-4 py-2 text-sm">アイテム 3</div>
|
|
451
|
+
</Gap>
|
|
452
|
+
</div>
|
|
453
|
+
<div>
|
|
454
|
+
<div className="mb-2 text-sm">横方向(row)</div>
|
|
455
|
+
<Gap row gap="sm">
|
|
456
|
+
<div className="bg-muted rounded-md px-4 py-2 text-sm">アイテム 1</div>
|
|
457
|
+
<div className="bg-muted rounded-md px-4 py-2 text-sm">アイテム 2</div>
|
|
458
|
+
<div className="bg-muted rounded-md px-4 py-2 text-sm">アイテム 3</div>
|
|
459
|
+
</Gap>
|
|
460
|
+
</div>
|
|
461
|
+
<div>
|
|
462
|
+
<div className="mb-2 text-sm">横方向+折り返し(row wrap)</div>
|
|
463
|
+
<Gap row wrap gap="sm">
|
|
464
|
+
<div className="bg-muted rounded-md px-4 py-2 text-sm">アイテム 1</div>
|
|
465
|
+
<div className="bg-muted rounded-md px-4 py-2 text-sm">アイテム 2</div>
|
|
466
|
+
<div className="bg-muted rounded-md px-4 py-2 text-sm">アイテム 3</div>
|
|
467
|
+
<div className="bg-muted rounded-md px-4 py-2 text-sm">アイテム 4</div>
|
|
468
|
+
<div className="bg-muted rounded-md px-4 py-2 text-sm">アイテム 5</div>
|
|
469
|
+
</Gap>
|
|
470
|
+
</div>
|
|
471
|
+
<div>
|
|
472
|
+
<div className="mb-2 text-sm">異なるgapサイズ</div>
|
|
473
|
+
<span className="text-sm">2xs</span>
|
|
474
|
+
<Gap gap="2xs">
|
|
475
|
+
<div className="bg-muted rounded-md px-3 py-1.5 text-xs">アイテム</div>
|
|
476
|
+
<div className="bg-muted rounded-md px-3 py-1.5 text-xs">アイテム</div>
|
|
477
|
+
</Gap>
|
|
478
|
+
<span className="text-sm">xs</span>
|
|
479
|
+
<Gap gap="xs">
|
|
480
|
+
<div className="bg-muted rounded-md px-3 py-1.5 text-xs">アイテム</div>
|
|
481
|
+
<div className="bg-muted rounded-md px-3 py-1.5 text-xs">アイテム</div>
|
|
482
|
+
</Gap>
|
|
483
|
+
<span className="text-sm">sm</span>
|
|
484
|
+
<Gap gap="sm">
|
|
485
|
+
<div className="bg-muted rounded-md px-3 py-1.5 text-xs">アイテム</div>
|
|
486
|
+
<div className="bg-muted rounded-md px-3 py-1.5 text-xs">アイテム</div>
|
|
487
|
+
</Gap>
|
|
488
|
+
<span className="text-sm">md</span>
|
|
489
|
+
<Gap gap="md">
|
|
490
|
+
<div className="bg-muted rounded-md px-3 py-1.5 text-xs">アイテム</div>
|
|
491
|
+
<div className="bg-muted rounded-md px-3 py-1.5 text-xs">アイテム</div>
|
|
492
|
+
</Gap>
|
|
493
|
+
<span className="text-sm">lg</span>
|
|
494
|
+
<Gap gap="lg">
|
|
495
|
+
<div className="bg-muted rounded-md px-3 py-1.5 text-xs">アイテム</div>
|
|
496
|
+
<div className="bg-muted rounded-md px-3 py-1.5 text-xs">アイテム</div>
|
|
497
|
+
</Gap>
|
|
498
|
+
</div>
|
|
499
|
+
</div>
|
|
500
|
+
</SectionContainer>
|
|
501
|
+
|
|
502
|
+
<SectionContainer id={getSectionId("Heading")}>
|
|
503
|
+
<Heading variant="h3">
|
|
504
|
+
Heading
|
|
505
|
+
</Heading>
|
|
506
|
+
<Gap gap="md">
|
|
507
|
+
<div>
|
|
508
|
+
<div className="mb-2 text-sm">page_title</div>
|
|
509
|
+
<Heading variant="page_title">ページタイトル</Heading>
|
|
510
|
+
</div>
|
|
511
|
+
<div>
|
|
512
|
+
<div className="mb-2 text-sm">h1</div>
|
|
513
|
+
<Heading variant="h1">見出し 1</Heading>
|
|
514
|
+
</div>
|
|
515
|
+
<div>
|
|
516
|
+
<div className="mb-2 text-sm">h2</div>
|
|
517
|
+
<Heading variant="h2">見出し 2</Heading>
|
|
518
|
+
</div>
|
|
519
|
+
<div>
|
|
520
|
+
<div className="mb-2 text-sm">h3</div>
|
|
521
|
+
<Heading variant="h3">見出し 3</Heading>
|
|
522
|
+
</div>
|
|
523
|
+
<div>
|
|
524
|
+
<div className="mb-2 text-sm">h4</div>
|
|
525
|
+
<Heading variant="h4">見出し 4</Heading>
|
|
526
|
+
</div>
|
|
527
|
+
<div>
|
|
528
|
+
<div className="mb-2 text-sm">h5</div>
|
|
529
|
+
<Heading variant="h5">見出し 5</Heading>
|
|
530
|
+
</div>
|
|
531
|
+
<div>
|
|
532
|
+
<div className="mb-2 text-sm">h6</div>
|
|
533
|
+
<Heading variant="h6" asChild>
|
|
534
|
+
<h6>
|
|
535
|
+
見出し 6
|
|
536
|
+
</h6>
|
|
537
|
+
</Heading>
|
|
538
|
+
</div>
|
|
539
|
+
</Gap>
|
|
540
|
+
</SectionContainer>
|
|
541
|
+
|
|
542
|
+
<SectionContainer id={getSectionId("Icon")}>
|
|
543
|
+
<Heading variant="h3">
|
|
544
|
+
Icon
|
|
545
|
+
</Heading>
|
|
546
|
+
<Gap row wrap gap="sm">
|
|
547
|
+
<Icon name="ai" />
|
|
548
|
+
<Icon name="archivebox" />
|
|
549
|
+
<Icon name="arrow-back-left" />
|
|
550
|
+
<Icon name="arrow-close" />
|
|
551
|
+
<Icon name="arrow-down" />
|
|
552
|
+
<Icon name="arrow-go-left" />
|
|
553
|
+
<Icon name="arrow-go-right" />
|
|
554
|
+
<Icon name="arrow-goup" />
|
|
555
|
+
<Icon name="arrow-left-neutral" />
|
|
556
|
+
<Icon name="arrow-left" />
|
|
557
|
+
<Icon name="arrow-open" />
|
|
558
|
+
<Icon name="arrow-right" />
|
|
559
|
+
<Icon name="arrow-up" />
|
|
560
|
+
<Icon name="back" />
|
|
561
|
+
<Icon name="bell" />
|
|
562
|
+
<Icon name="blanc" />
|
|
563
|
+
<Icon name="calculator" />
|
|
564
|
+
<Icon name="calendar" />
|
|
565
|
+
<Icon name="car" />
|
|
566
|
+
<Icon name="chain" />
|
|
567
|
+
<Icon name="change-search" />
|
|
568
|
+
<Icon name="change" />
|
|
569
|
+
<Icon name="checkmark" />
|
|
570
|
+
<Icon name="circle-cross" />
|
|
571
|
+
<Icon name="circle-minus" />
|
|
572
|
+
<Icon name="circle-plus" />
|
|
573
|
+
<Icon name="circle-settle" />
|
|
574
|
+
<Icon name="clip" />
|
|
575
|
+
<Icon name="clock" />
|
|
576
|
+
<Icon name="copy" />
|
|
577
|
+
<Icon name="cross" />
|
|
578
|
+
<Icon name="customer-management" />
|
|
579
|
+
<Icon name="dots-horizontal" />
|
|
580
|
+
<Icon name="dots-vertical-2line" />
|
|
581
|
+
<Icon name="dots-vertical" />
|
|
582
|
+
<Icon name="download" />
|
|
583
|
+
<Icon name="error" />
|
|
584
|
+
<Icon name="eye-off" />
|
|
585
|
+
<Icon name="eye" />
|
|
586
|
+
<Icon name="filter" />
|
|
587
|
+
<Icon name="folder-plus" />
|
|
588
|
+
<Icon name="folder" />
|
|
589
|
+
<Icon name="gantt" />
|
|
590
|
+
<Icon name="garage" />
|
|
591
|
+
<Icon name="good" />
|
|
592
|
+
<Icon name="graph" />
|
|
593
|
+
<Icon name="history" />
|
|
594
|
+
<Icon name="info" />
|
|
595
|
+
<Icon name="list-plus" />
|
|
596
|
+
<Icon name="list-settle" />
|
|
597
|
+
<Icon name="list" />
|
|
598
|
+
<Icon name="login" />
|
|
599
|
+
<Icon name="logout" />
|
|
600
|
+
<Icon name="mail" />
|
|
601
|
+
<Icon name="maximize" />
|
|
602
|
+
<Icon name="message" />
|
|
603
|
+
<Icon name="minimize" />
|
|
604
|
+
<Icon name="minus" />
|
|
605
|
+
<Icon name="money" />
|
|
606
|
+
<Icon name="multiple-documents" />
|
|
607
|
+
<Icon name="option-plus" />
|
|
608
|
+
<Icon name="padlock" />
|
|
609
|
+
<Icon name="pencil" />
|
|
610
|
+
<Icon name="play" />
|
|
611
|
+
<Icon name="plus" />
|
|
612
|
+
<Icon name="print" />
|
|
613
|
+
<Icon name="question" />
|
|
614
|
+
<Icon name="reload" />
|
|
615
|
+
<Icon name="search" />
|
|
616
|
+
<Icon name="send-outline" />
|
|
617
|
+
<Icon name="settings" />
|
|
618
|
+
<Icon name="share" />
|
|
619
|
+
<Icon name="sorting" />
|
|
620
|
+
<Icon name="spanner" />
|
|
621
|
+
<Icon name="star-outline" />
|
|
622
|
+
<Icon name="stop" />
|
|
623
|
+
<Icon name="tips" />
|
|
624
|
+
<Icon name="trashbox" />
|
|
625
|
+
<Icon name="user-plus" />
|
|
626
|
+
<Icon name="zoom" />
|
|
627
|
+
</Gap>
|
|
628
|
+
</SectionContainer>
|
|
629
|
+
|
|
630
|
+
<SectionContainer id={getSectionId("Input Group")}>
|
|
631
|
+
<Heading variant="h3">
|
|
632
|
+
Input Group
|
|
633
|
+
</Heading>
|
|
634
|
+
<InputGroup>
|
|
635
|
+
<InputGroupAddon>
|
|
636
|
+
<span>@</span>
|
|
637
|
+
</InputGroupAddon>
|
|
638
|
+
<InputGroupInput placeholder="username" />
|
|
639
|
+
</InputGroup>
|
|
640
|
+
</SectionContainer>
|
|
641
|
+
|
|
642
|
+
<SectionContainer id={getSectionId("Input")}>
|
|
643
|
+
<Heading variant="h3">
|
|
644
|
+
Input
|
|
645
|
+
</Heading>
|
|
646
|
+
<Gap gap="sm">
|
|
647
|
+
<Input placeholder="通常の入力欄" />
|
|
648
|
+
<Input type="email" placeholder="メールアドレス" />
|
|
649
|
+
<Input type="password" placeholder="パスワード" />
|
|
650
|
+
<Input disabled placeholder="無効化された入力欄" />
|
|
651
|
+
</Gap>
|
|
652
|
+
</SectionContainer>
|
|
653
|
+
|
|
654
|
+
<SectionContainer id={getSectionId("Label")}>
|
|
655
|
+
<Heading variant="h3">
|
|
656
|
+
Label
|
|
657
|
+
</Heading>
|
|
658
|
+
<Gap gap="sm">
|
|
659
|
+
<div>
|
|
660
|
+
<Label htmlFor="input-1">ラベル 1</Label>
|
|
661
|
+
<Input id="input-1" placeholder="入力してください" />
|
|
662
|
+
</div>
|
|
663
|
+
<div>
|
|
664
|
+
<Label htmlFor="input-2">ラベル 2</Label>
|
|
665
|
+
<Input id="input-2" placeholder="入力してください" />
|
|
666
|
+
</div>
|
|
667
|
+
</Gap>
|
|
668
|
+
</SectionContainer>
|
|
669
|
+
|
|
670
|
+
<SectionContainer id={getSectionId("Native Select")}>
|
|
671
|
+
<Heading variant="h3">
|
|
672
|
+
Native Select
|
|
673
|
+
</Heading>
|
|
674
|
+
<NativeSelect>
|
|
675
|
+
<NativeSelectOption value="">選択してください</NativeSelectOption>
|
|
676
|
+
<NativeSelectOption value="option1">オプション 1</NativeSelectOption>
|
|
677
|
+
<NativeSelectOption value="option2">オプション 2</NativeSelectOption>
|
|
678
|
+
<NativeSelectOption value="option3">オプション 3</NativeSelectOption>
|
|
679
|
+
</NativeSelect>
|
|
680
|
+
</SectionContainer>
|
|
681
|
+
|
|
682
|
+
<SectionContainer id={getSectionId("Select")}>
|
|
683
|
+
<Heading variant="h3">
|
|
684
|
+
Select
|
|
685
|
+
</Heading>
|
|
686
|
+
<Gap gap="sm">
|
|
687
|
+
<Select>
|
|
688
|
+
<SelectTrigger className="w-[180px]">
|
|
689
|
+
<SelectValue placeholder="選択してください" />
|
|
690
|
+
</SelectTrigger>
|
|
691
|
+
<SelectContent>
|
|
692
|
+
<SelectItem value="option1">オプション 1</SelectItem>
|
|
693
|
+
<SelectItem value="option2">オプション 2</SelectItem>
|
|
694
|
+
<SelectItem value="option3">オプション 3</SelectItem>
|
|
695
|
+
</SelectContent>
|
|
696
|
+
</Select>
|
|
697
|
+
<Select defaultValue="option2">
|
|
698
|
+
<SelectTrigger className="w-[180px]">
|
|
699
|
+
<SelectValue />
|
|
700
|
+
</SelectTrigger>
|
|
701
|
+
<SelectContent>
|
|
702
|
+
<SelectItem value="option1">オプション 1</SelectItem>
|
|
703
|
+
<SelectItem value="option2">オプション 2</SelectItem>
|
|
704
|
+
<SelectItem value="option3">オプション 3</SelectItem>
|
|
705
|
+
</SelectContent>
|
|
706
|
+
</Select>
|
|
707
|
+
<Select disabled>
|
|
708
|
+
<SelectTrigger className="w-[180px]">
|
|
709
|
+
<SelectValue placeholder="無効化されたセレクト" />
|
|
710
|
+
</SelectTrigger>
|
|
711
|
+
<SelectContent>
|
|
712
|
+
<SelectItem value="option1">オプション 1</SelectItem>
|
|
713
|
+
<SelectItem value="option2">オプション 2</SelectItem>
|
|
714
|
+
</SelectContent>
|
|
715
|
+
</Select>
|
|
716
|
+
</Gap>
|
|
717
|
+
</SectionContainer>
|
|
718
|
+
|
|
719
|
+
<SectionContainer id={getSectionId("Pagination")}>
|
|
720
|
+
<Heading variant="h3">
|
|
721
|
+
Pagination
|
|
722
|
+
</Heading>
|
|
723
|
+
<Pagination>
|
|
724
|
+
<PaginationContent>
|
|
725
|
+
<PaginationItem>
|
|
726
|
+
<PaginationPrevious href="#" />
|
|
727
|
+
</PaginationItem>
|
|
728
|
+
<PaginationItem>
|
|
729
|
+
<PaginationLink href="#" isActive>
|
|
730
|
+
1
|
|
731
|
+
</PaginationLink>
|
|
732
|
+
</PaginationItem>
|
|
733
|
+
<PaginationItem>
|
|
734
|
+
<PaginationLink href="#">2</PaginationLink>
|
|
735
|
+
</PaginationItem>
|
|
736
|
+
<PaginationItem>
|
|
737
|
+
<PaginationLink href="#">3</PaginationLink>
|
|
738
|
+
</PaginationItem>
|
|
739
|
+
<PaginationItem>
|
|
740
|
+
<PaginationEllipsis />
|
|
741
|
+
</PaginationItem>
|
|
742
|
+
<PaginationItem>
|
|
743
|
+
<PaginationNext href="#" />
|
|
744
|
+
</PaginationItem>
|
|
745
|
+
</PaginationContent>
|
|
746
|
+
</Pagination>
|
|
747
|
+
</SectionContainer>
|
|
748
|
+
|
|
749
|
+
<SectionContainer id={getSectionId("Radio Group")}>
|
|
750
|
+
<Heading variant="h3">
|
|
751
|
+
Radio Group
|
|
752
|
+
</Heading>
|
|
753
|
+
<RadioGroup defaultValue="option1">
|
|
754
|
+
<div className="flex items-center gap-2">
|
|
755
|
+
<RadioGroupItem value="option1" id="radio-1" />
|
|
756
|
+
<Label htmlFor="radio-1">オプション 1</Label>
|
|
757
|
+
</div>
|
|
758
|
+
<div className="flex items-center gap-2">
|
|
759
|
+
<RadioGroupItem value="option2" id="radio-2" />
|
|
760
|
+
<Label htmlFor="radio-2">オプション 2</Label>
|
|
761
|
+
</div>
|
|
762
|
+
<div className="flex items-center gap-2">
|
|
763
|
+
<RadioGroupItem value="option3" id="radio-3" disabled />
|
|
764
|
+
<Label htmlFor="radio-3" className="opacity-50">
|
|
765
|
+
無効化されたオプション
|
|
766
|
+
</Label>
|
|
767
|
+
</div>
|
|
768
|
+
</RadioGroup>
|
|
769
|
+
</SectionContainer>
|
|
770
|
+
|
|
771
|
+
<SectionContainer id={getSectionId("Scroll Area")}>
|
|
772
|
+
<Heading variant="h3">
|
|
773
|
+
Scroll Area
|
|
774
|
+
</Heading>
|
|
775
|
+
<ScrollArea className="h-32 w-full rounded-md border border-(--usage-border) p-4">
|
|
776
|
+
<div className="space-y-2">
|
|
777
|
+
{Array.from({ length: 10 }).map((_, i) => (
|
|
778
|
+
<div key={i} className="text-sm">
|
|
779
|
+
スクロール可能なコンテンツ {i + 1}
|
|
780
|
+
</div>
|
|
781
|
+
))}
|
|
782
|
+
</div>
|
|
783
|
+
</ScrollArea>
|
|
784
|
+
</SectionContainer>
|
|
785
|
+
|
|
786
|
+
<SectionContainer id={getSectionId("Separator")}>
|
|
787
|
+
<Heading variant="h3">
|
|
788
|
+
Separator
|
|
789
|
+
</Heading>
|
|
790
|
+
<div className="space-y-4">
|
|
791
|
+
<div>
|
|
792
|
+
<div className="mb-2 text-sm">水平セパレーター</div>
|
|
793
|
+
<Separator />
|
|
794
|
+
</div>
|
|
795
|
+
<div className="flex h-5 items-center gap-4">
|
|
796
|
+
<span className="text-sm">左</span>
|
|
797
|
+
<Separator orientation="vertical" />
|
|
798
|
+
<span className="text-sm">右</span>
|
|
799
|
+
</div>
|
|
800
|
+
</div>
|
|
801
|
+
</SectionContainer>
|
|
802
|
+
|
|
803
|
+
<SectionContainer id={getSectionId("Skeleton")}>
|
|
804
|
+
<Heading variant="h3">
|
|
805
|
+
Skeleton
|
|
806
|
+
</Heading>
|
|
807
|
+
<div className="space-y-4">
|
|
808
|
+
<div className="space-y-2">
|
|
809
|
+
<Skeleton className="h-4 w-[250px]" />
|
|
810
|
+
<Skeleton className="h-4 w-[200px]" />
|
|
811
|
+
</div>
|
|
812
|
+
<Skeleton className="h-24 w-full" />
|
|
813
|
+
</div>
|
|
814
|
+
</SectionContainer>
|
|
815
|
+
|
|
816
|
+
<SectionContainer id={getSectionId("Sonner")}>
|
|
817
|
+
<Heading variant="h3">
|
|
818
|
+
Sonner
|
|
819
|
+
</Heading>
|
|
820
|
+
<Gap row wrap gap="sm">
|
|
821
|
+
<Button
|
|
822
|
+
onClick={() => toast.success("成功しました!")}
|
|
823
|
+
>
|
|
824
|
+
成功トースト
|
|
825
|
+
</Button>
|
|
826
|
+
<Button
|
|
827
|
+
onClick={() => toast.error("エラーが発生しました")}
|
|
828
|
+
variant="destructive"
|
|
829
|
+
>
|
|
830
|
+
エラートースト
|
|
831
|
+
</Button>
|
|
832
|
+
<Button
|
|
833
|
+
onClick={() => toast.info("情報をお知らせします")}
|
|
834
|
+
variant="neutral"
|
|
835
|
+
>
|
|
836
|
+
情報トースト
|
|
837
|
+
</Button>
|
|
838
|
+
<Button
|
|
839
|
+
onClick={() => toast.warning("警告です")}
|
|
840
|
+
variant="neutral"
|
|
841
|
+
>
|
|
842
|
+
警告トースト
|
|
843
|
+
</Button>
|
|
844
|
+
</Gap>
|
|
845
|
+
</SectionContainer>
|
|
846
|
+
|
|
847
|
+
<SectionContainer id={getSectionId("Switch")}>
|
|
848
|
+
<Heading variant="h3">
|
|
849
|
+
Switch
|
|
850
|
+
</Heading>
|
|
851
|
+
<Gap gap="sm">
|
|
852
|
+
<div className="flex items-center gap-2">
|
|
853
|
+
<Switch id="switch-1" />
|
|
854
|
+
<Label htmlFor="switch-1">スイッチ 1</Label>
|
|
855
|
+
</div>
|
|
856
|
+
<div className="flex items-center gap-2">
|
|
857
|
+
<Switch id="switch-2" defaultChecked />
|
|
858
|
+
<Label htmlFor="switch-2">スイッチ 2(デフォルトON)</Label>
|
|
859
|
+
</div>
|
|
860
|
+
<div className="flex items-center gap-2">
|
|
861
|
+
<Switch id="switch-3" disabled />
|
|
862
|
+
<Label htmlFor="switch-3" className="opacity-50">
|
|
863
|
+
無効化されたスイッチ
|
|
864
|
+
</Label>
|
|
865
|
+
</div>
|
|
866
|
+
</Gap>
|
|
867
|
+
</SectionContainer>
|
|
868
|
+
|
|
869
|
+
<SectionContainer id={getSectionId("Table")}>
|
|
870
|
+
<Heading variant="h3">
|
|
871
|
+
Table
|
|
872
|
+
</Heading>
|
|
873
|
+
<Table>
|
|
874
|
+
{/* <TableCaption>サンプルテーブル</TableCaption> */}
|
|
875
|
+
<TableHeader>
|
|
876
|
+
<TableRow>
|
|
877
|
+
<TableHead>名前</TableHead>
|
|
878
|
+
<TableHead>ステータス</TableHead>
|
|
879
|
+
<TableHead>メール</TableHead>
|
|
880
|
+
</TableRow>
|
|
881
|
+
</TableHeader>
|
|
882
|
+
<TableBody>
|
|
883
|
+
<TableRow>
|
|
884
|
+
<TableCell>田中太郎</TableCell>
|
|
885
|
+
<TableCell>アクティブ</TableCell>
|
|
886
|
+
<TableCell>tanaka@example.com</TableCell>
|
|
887
|
+
</TableRow>
|
|
888
|
+
<TableRow>
|
|
889
|
+
<TableCell>佐藤花子</TableCell>
|
|
890
|
+
<TableCell>アクティブ</TableCell>
|
|
891
|
+
<TableCell>sato@example.com</TableCell>
|
|
892
|
+
</TableRow>
|
|
893
|
+
<TableRow>
|
|
894
|
+
<TableCell>鈴木一郎</TableCell>
|
|
895
|
+
<TableCell>非アクティブ</TableCell>
|
|
896
|
+
<TableCell>suzuki@example.com</TableCell>
|
|
897
|
+
</TableRow>
|
|
898
|
+
</TableBody>
|
|
899
|
+
</Table>
|
|
900
|
+
</SectionContainer>
|
|
901
|
+
|
|
902
|
+
<SectionContainer id={getSectionId("Tabs")}>
|
|
903
|
+
<Heading variant="h3">
|
|
904
|
+
Tabs
|
|
905
|
+
</Heading>
|
|
906
|
+
<Tabs defaultValue="tab1">
|
|
907
|
+
<TabsList>
|
|
908
|
+
<TabsTrigger value="tab1">タブ 1</TabsTrigger>
|
|
909
|
+
<TabsTrigger value="tab2">タブ 2</TabsTrigger>
|
|
910
|
+
<TabsTrigger value="tab3">タブ 3</TabsTrigger>
|
|
911
|
+
</TabsList>
|
|
912
|
+
<TabsContent value="tab1">
|
|
913
|
+
タブ 1 のコンテンツがここに表示されます。
|
|
914
|
+
</TabsContent>
|
|
915
|
+
<TabsContent value="tab2">
|
|
916
|
+
タブ 2 のコンテンツがここに表示されます。
|
|
917
|
+
</TabsContent>
|
|
918
|
+
<TabsContent value="tab3">
|
|
919
|
+
タブ 3 のコンテンツがここに表示されます。
|
|
920
|
+
</TabsContent>
|
|
921
|
+
</Tabs>
|
|
922
|
+
</SectionContainer>
|
|
923
|
+
|
|
924
|
+
<SectionContainer id={getSectionId("Text")}>
|
|
925
|
+
<Heading variant="h3">
|
|
926
|
+
Text
|
|
927
|
+
</Heading>
|
|
928
|
+
<Gap gap="sm">
|
|
929
|
+
<Text size="xs">Extra Small Text</Text>
|
|
930
|
+
<Text size="sm">Small Text</Text>
|
|
931
|
+
<Text size="base">Base Text</Text>
|
|
932
|
+
<Text size="lg">Large Text</Text>
|
|
933
|
+
<Text size="xl">Extra Large Text</Text>
|
|
934
|
+
<Text size="2xl">2X Large Text</Text>
|
|
935
|
+
</Gap>
|
|
936
|
+
</SectionContainer>
|
|
937
|
+
|
|
938
|
+
<SectionContainer id={getSectionId("Text Link")}>
|
|
939
|
+
<Heading variant="h3">
|
|
940
|
+
Text Link
|
|
941
|
+
</Heading>
|
|
942
|
+
<Gap gap="sm">
|
|
943
|
+
<TextLink href="#">通常のリンク</TextLink>
|
|
944
|
+
<TextLink href="#" border="underline">
|
|
945
|
+
下線付きリンク
|
|
946
|
+
</TextLink>
|
|
947
|
+
<TextLink href="#" icon="arrow-right" iconPosition="right">
|
|
948
|
+
アイコン付きリンク
|
|
949
|
+
</TextLink>
|
|
950
|
+
</Gap>
|
|
951
|
+
</SectionContainer>
|
|
952
|
+
|
|
953
|
+
<SectionContainer id={getSectionId("Textarea")}>
|
|
954
|
+
<Heading variant="h3">
|
|
955
|
+
Textarea
|
|
956
|
+
</Heading>
|
|
957
|
+
<Gap gap="sm">
|
|
958
|
+
<Textarea placeholder="テキストエリアに入力してください" />
|
|
959
|
+
<Textarea
|
|
960
|
+
placeholder="無効化されたテキストエリア"
|
|
961
|
+
disabled
|
|
962
|
+
/>
|
|
963
|
+
</Gap>
|
|
964
|
+
</SectionContainer>
|
|
965
|
+
|
|
966
|
+
<SectionContainer id={getSectionId("Toggle")}>
|
|
967
|
+
<Heading variant="h3">
|
|
968
|
+
Toggle
|
|
969
|
+
</Heading>
|
|
970
|
+
<Gap row wrap gap="sm">
|
|
971
|
+
<Toggle>Toggle</Toggle>
|
|
972
|
+
<Toggle variant="outline">Outline Toggle</Toggle>
|
|
973
|
+
<Toggle size="sm">Small</Toggle>
|
|
974
|
+
<Toggle size="lg">Large</Toggle>
|
|
975
|
+
</Gap>
|
|
976
|
+
</SectionContainer>
|
|
977
|
+
|
|
978
|
+
<SectionContainer id={getSectionId("Tooltip")}>
|
|
979
|
+
<Heading variant="h3">
|
|
980
|
+
Tooltip
|
|
981
|
+
</Heading>
|
|
982
|
+
<Tooltip>
|
|
983
|
+
<TooltipTrigger asChild>
|
|
984
|
+
<Button variant="neutral">ホバーしてください</Button>
|
|
985
|
+
</TooltipTrigger>
|
|
986
|
+
<TooltipContent>
|
|
987
|
+
<p>これはツールチップです</p>
|
|
988
|
+
</TooltipContent>
|
|
989
|
+
</Tooltip>
|
|
990
|
+
</SectionContainer>
|
|
991
|
+
|
|
992
|
+
</main>
|
|
993
|
+
)
|
|
994
|
+
}
|