@lglab/compose-ui-mcp 0.0.1

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.
Files changed (48) hide show
  1. package/README.md +11 -0
  2. package/dist/assets/llms/accordion.md +184 -0
  3. package/dist/assets/llms/alert-dialog.md +306 -0
  4. package/dist/assets/llms/autocomplete.md +756 -0
  5. package/dist/assets/llms/avatar.md +166 -0
  6. package/dist/assets/llms/badge.md +478 -0
  7. package/dist/assets/llms/button.md +238 -0
  8. package/dist/assets/llms/card.md +264 -0
  9. package/dist/assets/llms/checkbox-group.md +158 -0
  10. package/dist/assets/llms/checkbox.md +83 -0
  11. package/dist/assets/llms/collapsible.md +165 -0
  12. package/dist/assets/llms/combobox.md +1255 -0
  13. package/dist/assets/llms/context-menu.md +371 -0
  14. package/dist/assets/llms/dialog.md +592 -0
  15. package/dist/assets/llms/drawer.md +437 -0
  16. package/dist/assets/llms/field.md +74 -0
  17. package/dist/assets/llms/form.md +1931 -0
  18. package/dist/assets/llms/input.md +47 -0
  19. package/dist/assets/llms/menu.md +484 -0
  20. package/dist/assets/llms/menubar.md +804 -0
  21. package/dist/assets/llms/meter.md +181 -0
  22. package/dist/assets/llms/navigation-menu.md +187 -0
  23. package/dist/assets/llms/number-field.md +243 -0
  24. package/dist/assets/llms/pagination.md +514 -0
  25. package/dist/assets/llms/popover.md +206 -0
  26. package/dist/assets/llms/preview-card.md +146 -0
  27. package/dist/assets/llms/progress.md +60 -0
  28. package/dist/assets/llms/radio-group.md +105 -0
  29. package/dist/assets/llms/scroll-area.md +132 -0
  30. package/dist/assets/llms/select.md +276 -0
  31. package/dist/assets/llms/separator.md +49 -0
  32. package/dist/assets/llms/skeleton.md +96 -0
  33. package/dist/assets/llms/slider.md +161 -0
  34. package/dist/assets/llms/switch.md +101 -0
  35. package/dist/assets/llms/table.md +1325 -0
  36. package/dist/assets/llms/tabs.md +327 -0
  37. package/dist/assets/llms/textarea.md +38 -0
  38. package/dist/assets/llms/toast.md +349 -0
  39. package/dist/assets/llms/toggle-group.md +261 -0
  40. package/dist/assets/llms/toggle.md +161 -0
  41. package/dist/assets/llms/toolbar.md +148 -0
  42. package/dist/assets/llms/tooltip.md +486 -0
  43. package/dist/assets/llms-full.txt +14515 -0
  44. package/dist/assets/llms.txt +65 -0
  45. package/dist/index.d.mts +1 -0
  46. package/dist/index.mjs +161 -0
  47. package/dist/index.mjs.map +1 -0
  48. package/package.json +54 -0
@@ -0,0 +1,804 @@
1
+ # Menubar
2
+
3
+ A horizontal menu bar with dropdown menus for application commands and options.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @lglab/compose-ui
9
+ ```
10
+
11
+ ## Import
12
+
13
+ ```tsx
14
+ import { MenubarRoot, MenubarMenu, MenubarTrigger, MenubarPortal, MenubarPositioner, MenubarPopup, MenubarArrow, MenubarItem, MenubarSeparator, MenubarGroup, MenubarGroupLabel, MenubarRadioGroup, MenubarRadioItem, MenubarRadioItemIndicator, MenubarRadioItemLabel, MenubarCheckboxItem, MenubarCheckboxItemIndicator, MenubarCheckboxItemLabel, MenubarSubmenuTrigger, MenubarSubmenuRoot } from '@lglab/compose-ui'
15
+ ```
16
+
17
+ ## Examples
18
+
19
+ ### Basic
20
+
21
+ ```tsx
22
+ import {
23
+ MenubarItem,
24
+ MenubarMenu,
25
+ MenubarPopup,
26
+ MenubarPortal,
27
+ MenubarPositioner,
28
+ MenubarRoot,
29
+ MenubarSeparator,
30
+ MenubarTrigger,
31
+ } from '@lglab/compose-ui/menubar'
32
+
33
+ export default function DefaultExample() {
34
+ return (
35
+ <MenubarRoot>
36
+ <MenubarMenu>
37
+ <MenubarTrigger>File</MenubarTrigger>
38
+ <MenubarPortal>
39
+ <MenubarPositioner>
40
+ <MenubarPopup>
41
+ <MenubarItem>New</MenubarItem>
42
+ <MenubarItem>Open</MenubarItem>
43
+ <MenubarItem>Save</MenubarItem>
44
+ <MenubarSeparator />
45
+ <MenubarItem>Print</MenubarItem>
46
+ </MenubarPopup>
47
+ </MenubarPositioner>
48
+ </MenubarPortal>
49
+ </MenubarMenu>
50
+ <MenubarMenu>
51
+ <MenubarTrigger>Edit</MenubarTrigger>
52
+ <MenubarPortal>
53
+ <MenubarPositioner>
54
+ <MenubarPopup>
55
+ <MenubarItem>Undo</MenubarItem>
56
+ <MenubarItem>Redo</MenubarItem>
57
+ <MenubarSeparator />
58
+ <MenubarItem>Cut</MenubarItem>
59
+ <MenubarItem>Copy</MenubarItem>
60
+ <MenubarItem>Paste</MenubarItem>
61
+ </MenubarPopup>
62
+ </MenubarPositioner>
63
+ </MenubarPortal>
64
+ </MenubarMenu>
65
+ <MenubarMenu>
66
+ <MenubarTrigger>View</MenubarTrigger>
67
+ <MenubarPortal>
68
+ <MenubarPositioner>
69
+ <MenubarPopup>
70
+ <MenubarItem>Zoom In</MenubarItem>
71
+ <MenubarItem>Zoom Out</MenubarItem>
72
+ <MenubarSeparator />
73
+ <MenubarItem>Full Screen</MenubarItem>
74
+ </MenubarPopup>
75
+ </MenubarPositioner>
76
+ </MenubarPortal>
77
+ </MenubarMenu>
78
+ </MenubarRoot>
79
+ )
80
+ }
81
+ ```
82
+
83
+ ### With Icons
84
+
85
+ ```tsx
86
+ import {
87
+ MenubarItem,
88
+ MenubarMenu,
89
+ MenubarPopup,
90
+ MenubarPortal,
91
+ MenubarPositioner,
92
+ MenubarRoot,
93
+ MenubarSeparator,
94
+ MenubarTrigger,
95
+ } from '@lglab/compose-ui/menubar'
96
+ import {
97
+ Copy,
98
+ EyeIcon,
99
+ FileIcon,
100
+ FolderOpen,
101
+ Maximize,
102
+ Printer,
103
+ Redo,
104
+ Save,
105
+ Scissors,
106
+ SquarePen,
107
+ Undo,
108
+ ZoomIn,
109
+ ZoomOut,
110
+ } from 'lucide-react'
111
+
112
+ export default function WithIconsExample() {
113
+ return (
114
+ <MenubarRoot>
115
+ <MenubarMenu>
116
+ <MenubarTrigger>
117
+ <FileIcon className='size-4' />
118
+ File
119
+ </MenubarTrigger>
120
+ <MenubarPortal>
121
+ <MenubarPositioner>
122
+ <MenubarPopup>
123
+ <MenubarItem>
124
+ <FileIcon className='size-4' />
125
+ New
126
+ </MenubarItem>
127
+ <MenubarItem>
128
+ <FolderOpen className='size-4' />
129
+ Open
130
+ </MenubarItem>
131
+ <MenubarItem>
132
+ <Save className='size-4' />
133
+ Save
134
+ </MenubarItem>
135
+ <MenubarSeparator />
136
+ <MenubarItem>
137
+ <Printer className='size-4' />
138
+ Print
139
+ </MenubarItem>
140
+ </MenubarPopup>
141
+ </MenubarPositioner>
142
+ </MenubarPortal>
143
+ </MenubarMenu>
144
+ <MenubarMenu>
145
+ <MenubarTrigger>
146
+ <SquarePen className='size-4' />
147
+ Edit
148
+ </MenubarTrigger>
149
+ <MenubarPortal>
150
+ <MenubarPositioner>
151
+ <MenubarPopup>
152
+ <MenubarItem>
153
+ <Undo className='size-4' />
154
+ Undo
155
+ </MenubarItem>
156
+ <MenubarItem>
157
+ <Redo className='size-4' />
158
+ Redo
159
+ </MenubarItem>
160
+ <MenubarSeparator />
161
+ <MenubarItem>
162
+ <Scissors className='size-4' />
163
+ Cut
164
+ </MenubarItem>
165
+ <MenubarItem>
166
+ <Copy className='size-4' />
167
+ Copy
168
+ </MenubarItem>
169
+ </MenubarPopup>
170
+ </MenubarPositioner>
171
+ </MenubarPortal>
172
+ </MenubarMenu>
173
+ <MenubarMenu>
174
+ <MenubarTrigger>
175
+ <EyeIcon className='size-4' />
176
+ View
177
+ </MenubarTrigger>
178
+ <MenubarPortal>
179
+ <MenubarPositioner>
180
+ <MenubarPopup>
181
+ <MenubarItem>
182
+ <ZoomIn className='size-4' />
183
+ Zoom In
184
+ </MenubarItem>
185
+ <MenubarItem>
186
+ <ZoomOut className='size-4' />
187
+ Zoom Out
188
+ </MenubarItem>
189
+ <MenubarSeparator />
190
+ <MenubarItem>
191
+ <Maximize className='size-4' />
192
+ Full Screen
193
+ </MenubarItem>
194
+ </MenubarPopup>
195
+ </MenubarPositioner>
196
+ </MenubarPortal>
197
+ </MenubarMenu>
198
+ </MenubarRoot>
199
+ )
200
+ }
201
+ ```
202
+
203
+ ### With Arrow
204
+
205
+ ```tsx
206
+ import {
207
+ MenubarArrow,
208
+ MenubarItem,
209
+ MenubarMenu,
210
+ MenubarPopup,
211
+ MenubarPortal,
212
+ MenubarPositioner,
213
+ MenubarRoot,
214
+ MenubarSeparator,
215
+ MenubarTrigger,
216
+ } from '@lglab/compose-ui/menubar'
217
+
218
+ export default function WithArrowExample() {
219
+ return (
220
+ <MenubarRoot>
221
+ <MenubarMenu>
222
+ <MenubarTrigger>File</MenubarTrigger>
223
+ <MenubarPortal>
224
+ <MenubarPositioner>
225
+ <MenubarPopup>
226
+ <MenubarArrow />
227
+ <MenubarItem>New</MenubarItem>
228
+ <MenubarItem>Open</MenubarItem>
229
+ <MenubarItem>Save</MenubarItem>
230
+ <MenubarSeparator />
231
+ <MenubarItem>Print</MenubarItem>
232
+ </MenubarPopup>
233
+ </MenubarPositioner>
234
+ </MenubarPortal>
235
+ </MenubarMenu>
236
+ <MenubarMenu>
237
+ <MenubarTrigger>Edit</MenubarTrigger>
238
+ <MenubarPortal>
239
+ <MenubarPositioner>
240
+ <MenubarPopup>
241
+ <MenubarArrow />
242
+ <MenubarItem>Undo</MenubarItem>
243
+ <MenubarItem>Redo</MenubarItem>
244
+ <MenubarSeparator />
245
+ <MenubarItem>Cut</MenubarItem>
246
+ <MenubarItem>Copy</MenubarItem>
247
+ <MenubarItem>Paste</MenubarItem>
248
+ </MenubarPopup>
249
+ </MenubarPositioner>
250
+ </MenubarPortal>
251
+ </MenubarMenu>
252
+ </MenubarRoot>
253
+ )
254
+ }
255
+ ```
256
+
257
+ ### Submenu
258
+
259
+ ```tsx
260
+ import {
261
+ MenubarItem,
262
+ MenubarMenu,
263
+ MenubarPopup,
264
+ MenubarPortal,
265
+ MenubarPositioner,
266
+ MenubarRoot,
267
+ MenubarSeparator,
268
+ MenubarSubmenuRoot,
269
+ MenubarSubmenuTrigger,
270
+ MenubarTrigger,
271
+ } from '@lglab/compose-ui/menubar'
272
+ import { ChevronRight } from 'lucide-react'
273
+
274
+ export default function SubmenuExample() {
275
+ return (
276
+ <MenubarRoot>
277
+ <MenubarMenu>
278
+ <MenubarTrigger>File</MenubarTrigger>
279
+ <MenubarPortal>
280
+ <MenubarPositioner>
281
+ <MenubarPopup>
282
+ <MenubarItem>New</MenubarItem>
283
+ <MenubarItem>Open</MenubarItem>
284
+ <MenubarItem>Save</MenubarItem>
285
+ <MenubarSubmenuRoot>
286
+ <MenubarSubmenuTrigger>
287
+ Export
288
+ <ChevronRight className='size-4' />
289
+ </MenubarSubmenuTrigger>
290
+ <MenubarPortal>
291
+ <MenubarPositioner side='right' sideOffset={4}>
292
+ <MenubarPopup>
293
+ <MenubarItem>PDF</MenubarItem>
294
+ <MenubarItem>PNG</MenubarItem>
295
+ <MenubarItem>SVG</MenubarItem>
296
+ </MenubarPopup>
297
+ </MenubarPositioner>
298
+ </MenubarPortal>
299
+ </MenubarSubmenuRoot>
300
+ <MenubarSeparator />
301
+ <MenubarItem>Print</MenubarItem>
302
+ </MenubarPopup>
303
+ </MenubarPositioner>
304
+ </MenubarPortal>
305
+ </MenubarMenu>
306
+ <MenubarMenu>
307
+ <MenubarTrigger>Edit</MenubarTrigger>
308
+ <MenubarPortal>
309
+ <MenubarPositioner>
310
+ <MenubarPopup>
311
+ <MenubarItem>Undo</MenubarItem>
312
+ <MenubarItem>Redo</MenubarItem>
313
+ <MenubarSeparator />
314
+ <MenubarItem>Cut</MenubarItem>
315
+ <MenubarItem>Copy</MenubarItem>
316
+ <MenubarItem>Paste</MenubarItem>
317
+ </MenubarPopup>
318
+ </MenubarPositioner>
319
+ </MenubarPortal>
320
+ </MenubarMenu>
321
+ </MenubarRoot>
322
+ )
323
+ }
324
+ ```
325
+
326
+ ### Checkbox Items
327
+
328
+ ```tsx
329
+ import {
330
+ MenubarCheckboxItem,
331
+ MenubarCheckboxItemIndicator,
332
+ MenubarCheckboxItemLabel,
333
+ MenubarItem,
334
+ MenubarMenu,
335
+ MenubarPopup,
336
+ MenubarPortal,
337
+ MenubarPositioner,
338
+ MenubarRoot,
339
+ MenubarSeparator,
340
+ MenubarTrigger,
341
+ } from '@lglab/compose-ui/menubar'
342
+ import { Check } from 'lucide-react'
343
+ import * as React from 'react'
344
+
345
+ export default function CheckboxItemsExample() {
346
+ const [showToolbar, setShowToolbar] = React.useState(true)
347
+ const [showSidebar, setShowSidebar] = React.useState(false)
348
+ const [showStatusBar, setShowStatusBar] = React.useState(true)
349
+
350
+ return (
351
+ <MenubarRoot>
352
+ <MenubarMenu>
353
+ <MenubarTrigger>File</MenubarTrigger>
354
+ <MenubarPortal>
355
+ <MenubarPositioner>
356
+ <MenubarPopup>
357
+ <MenubarItem>New</MenubarItem>
358
+ <MenubarItem>Open</MenubarItem>
359
+ <MenubarItem>Save</MenubarItem>
360
+ </MenubarPopup>
361
+ </MenubarPositioner>
362
+ </MenubarPortal>
363
+ </MenubarMenu>
364
+ <MenubarMenu>
365
+ <MenubarTrigger>Edit</MenubarTrigger>
366
+ <MenubarPortal>
367
+ <MenubarPositioner>
368
+ <MenubarPopup>
369
+ <MenubarItem>Undo</MenubarItem>
370
+ <MenubarItem>Redo</MenubarItem>
371
+ <MenubarSeparator />
372
+ <MenubarItem>Cut</MenubarItem>
373
+ <MenubarItem>Copy</MenubarItem>
374
+ <MenubarItem>Paste</MenubarItem>
375
+ </MenubarPopup>
376
+ </MenubarPositioner>
377
+ </MenubarPortal>
378
+ </MenubarMenu>
379
+ <MenubarMenu>
380
+ <MenubarTrigger>View</MenubarTrigger>
381
+ <MenubarPortal>
382
+ <MenubarPositioner>
383
+ <MenubarPopup>
384
+ <MenubarCheckboxItem checked={showToolbar} onCheckedChange={setShowToolbar}>
385
+ <MenubarCheckboxItemIndicator>
386
+ <Check className='size-3.5' />
387
+ </MenubarCheckboxItemIndicator>
388
+ <MenubarCheckboxItemLabel>Show Toolbar</MenubarCheckboxItemLabel>
389
+ </MenubarCheckboxItem>
390
+ <MenubarCheckboxItem checked={showSidebar} onCheckedChange={setShowSidebar}>
391
+ <MenubarCheckboxItemIndicator>
392
+ <Check className='size-3.5' />
393
+ </MenubarCheckboxItemIndicator>
394
+ <MenubarCheckboxItemLabel>Show Sidebar</MenubarCheckboxItemLabel>
395
+ </MenubarCheckboxItem>
396
+ <MenubarCheckboxItem
397
+ checked={showStatusBar}
398
+ onCheckedChange={setShowStatusBar}
399
+ >
400
+ <MenubarCheckboxItemIndicator>
401
+ <Check className='size-3.5' />
402
+ </MenubarCheckboxItemIndicator>
403
+ <MenubarCheckboxItemLabel>Show Status Bar</MenubarCheckboxItemLabel>
404
+ </MenubarCheckboxItem>
405
+ <MenubarSeparator />
406
+ <MenubarItem>Zoom In</MenubarItem>
407
+ <MenubarItem>Zoom Out</MenubarItem>
408
+ </MenubarPopup>
409
+ </MenubarPositioner>
410
+ </MenubarPortal>
411
+ </MenubarMenu>
412
+ </MenubarRoot>
413
+ )
414
+ }
415
+ ```
416
+
417
+ ### Radio Group
418
+
419
+ ```tsx
420
+ import {
421
+ MenubarItem,
422
+ MenubarMenu,
423
+ MenubarPopup,
424
+ MenubarPortal,
425
+ MenubarPositioner,
426
+ MenubarRadioGroup,
427
+ MenubarRadioItem,
428
+ MenubarRadioItemIndicator,
429
+ MenubarRadioItemLabel,
430
+ MenubarRoot,
431
+ MenubarSeparator,
432
+ MenubarTrigger,
433
+ } from '@lglab/compose-ui/menubar'
434
+ import { Check } from 'lucide-react'
435
+ import * as React from 'react'
436
+
437
+ export default function RadioGroupExample() {
438
+ const [zoom, setZoom] = React.useState('100')
439
+
440
+ return (
441
+ <MenubarRoot>
442
+ <MenubarMenu>
443
+ <MenubarTrigger>File</MenubarTrigger>
444
+ <MenubarPortal>
445
+ <MenubarPositioner>
446
+ <MenubarPopup>
447
+ <MenubarItem>New</MenubarItem>
448
+ <MenubarItem>Open</MenubarItem>
449
+ <MenubarItem>Save</MenubarItem>
450
+ </MenubarPopup>
451
+ </MenubarPositioner>
452
+ </MenubarPortal>
453
+ </MenubarMenu>
454
+ <MenubarMenu>
455
+ <MenubarTrigger>Edit</MenubarTrigger>
456
+ <MenubarPortal>
457
+ <MenubarPositioner>
458
+ <MenubarPopup>
459
+ <MenubarItem>Undo</MenubarItem>
460
+ <MenubarItem>Redo</MenubarItem>
461
+ <MenubarSeparator />
462
+ <MenubarItem>Cut</MenubarItem>
463
+ <MenubarItem>Copy</MenubarItem>
464
+ <MenubarItem>Paste</MenubarItem>
465
+ </MenubarPopup>
466
+ </MenubarPositioner>
467
+ </MenubarPortal>
468
+ </MenubarMenu>
469
+ <MenubarMenu>
470
+ <MenubarTrigger>View</MenubarTrigger>
471
+ <MenubarPortal>
472
+ <MenubarPositioner>
473
+ <MenubarPopup>
474
+ <MenubarRadioGroup value={zoom} onValueChange={setZoom}>
475
+ <MenubarRadioItem value='50'>
476
+ <MenubarRadioItemIndicator>
477
+ <Check className='size-3.5' />
478
+ </MenubarRadioItemIndicator>
479
+ <MenubarRadioItemLabel>50%</MenubarRadioItemLabel>
480
+ </MenubarRadioItem>
481
+ <MenubarRadioItem value='75'>
482
+ <MenubarRadioItemIndicator>
483
+ <Check className='size-3.5' />
484
+ </MenubarRadioItemIndicator>
485
+ <MenubarRadioItemLabel>75%</MenubarRadioItemLabel>
486
+ </MenubarRadioItem>
487
+ <MenubarRadioItem value='100'>
488
+ <MenubarRadioItemIndicator>
489
+ <Check className='size-3.5' />
490
+ </MenubarRadioItemIndicator>
491
+ <MenubarRadioItemLabel>100%</MenubarRadioItemLabel>
492
+ </MenubarRadioItem>
493
+ <MenubarRadioItem value='125'>
494
+ <MenubarRadioItemIndicator>
495
+ <Check className='size-3.5' />
496
+ </MenubarRadioItemIndicator>
497
+ <MenubarRadioItemLabel>125%</MenubarRadioItemLabel>
498
+ </MenubarRadioItem>
499
+ <MenubarRadioItem value='150'>
500
+ <MenubarRadioItemIndicator>
501
+ <Check className='size-3.5' />
502
+ </MenubarRadioItemIndicator>
503
+ <MenubarRadioItemLabel>150%</MenubarRadioItemLabel>
504
+ </MenubarRadioItem>
505
+ </MenubarRadioGroup>
506
+ <MenubarSeparator />
507
+ <MenubarItem>Full Screen</MenubarItem>
508
+ </MenubarPopup>
509
+ </MenubarPositioner>
510
+ </MenubarPortal>
511
+ </MenubarMenu>
512
+ </MenubarRoot>
513
+ )
514
+ }
515
+ ```
516
+
517
+ ### Ghost
518
+
519
+ ```tsx
520
+ import {
521
+ MenubarItem,
522
+ MenubarMenu,
523
+ MenubarPopup,
524
+ MenubarPortal,
525
+ MenubarPositioner,
526
+ MenubarRoot,
527
+ MenubarTrigger,
528
+ } from '@lglab/compose-ui/menubar'
529
+
530
+ export default function GhostExample() {
531
+ return (
532
+ <MenubarRoot>
533
+ <MenubarMenu>
534
+ <MenubarTrigger variant='ghost'>File</MenubarTrigger>
535
+ <MenubarPortal>
536
+ <MenubarPositioner>
537
+ <MenubarPopup>
538
+ <MenubarItem>New</MenubarItem>
539
+ <MenubarItem>Open</MenubarItem>
540
+ <MenubarItem>Save</MenubarItem>
541
+ </MenubarPopup>
542
+ </MenubarPositioner>
543
+ </MenubarPortal>
544
+ </MenubarMenu>
545
+ <MenubarMenu>
546
+ <MenubarTrigger variant='ghost'>Edit</MenubarTrigger>
547
+ <MenubarPortal>
548
+ <MenubarPositioner>
549
+ <MenubarPopup>
550
+ <MenubarItem>Undo</MenubarItem>
551
+ <MenubarItem>Redo</MenubarItem>
552
+ </MenubarPopup>
553
+ </MenubarPositioner>
554
+ </MenubarPortal>
555
+ </MenubarMenu>
556
+ <MenubarMenu>
557
+ <MenubarTrigger variant='ghost'>View</MenubarTrigger>
558
+ <MenubarPortal>
559
+ <MenubarPositioner>
560
+ <MenubarPopup>
561
+ <MenubarItem>Zoom In</MenubarItem>
562
+ <MenubarItem>Zoom Out</MenubarItem>
563
+ </MenubarPopup>
564
+ </MenubarPositioner>
565
+ </MenubarPortal>
566
+ </MenubarMenu>
567
+ </MenubarRoot>
568
+ )
569
+ }
570
+ ```
571
+
572
+ ### Sizes
573
+
574
+ ```tsx
575
+ import {
576
+ MenubarItem,
577
+ MenubarMenu,
578
+ MenubarPopup,
579
+ MenubarPortal,
580
+ MenubarPositioner,
581
+ MenubarRoot,
582
+ MenubarTrigger,
583
+ } from '@lglab/compose-ui/menubar'
584
+ import { EyeIcon, FileIcon, SquarePen } from 'lucide-react'
585
+
586
+ export default function SizesExample() {
587
+ return (
588
+ <div className='flex flex-col gap-4'>
589
+ <div className='flex flex-wrap items-center gap-2'>
590
+ <MenubarRoot>
591
+ <MenubarMenu>
592
+ <MenubarTrigger size='sm'>File</MenubarTrigger>
593
+ <MenubarPortal>
594
+ <MenubarPositioner>
595
+ <MenubarPopup>
596
+ <MenubarItem>New</MenubarItem>
597
+ <MenubarItem>Open</MenubarItem>
598
+ <MenubarItem>Save</MenubarItem>
599
+ </MenubarPopup>
600
+ </MenubarPositioner>
601
+ </MenubarPortal>
602
+ </MenubarMenu>
603
+ <MenubarMenu>
604
+ <MenubarTrigger size='sm'>Edit</MenubarTrigger>
605
+ <MenubarPortal>
606
+ <MenubarPositioner>
607
+ <MenubarPopup>
608
+ <MenubarItem>Undo</MenubarItem>
609
+ <MenubarItem>Redo</MenubarItem>
610
+ </MenubarPopup>
611
+ </MenubarPositioner>
612
+ </MenubarPortal>
613
+ </MenubarMenu>
614
+ </MenubarRoot>
615
+
616
+ <MenubarRoot>
617
+ <MenubarMenu>
618
+ <MenubarTrigger size='default'>File</MenubarTrigger>
619
+ <MenubarPortal>
620
+ <MenubarPositioner>
621
+ <MenubarPopup>
622
+ <MenubarItem>New</MenubarItem>
623
+ <MenubarItem>Open</MenubarItem>
624
+ <MenubarItem>Save</MenubarItem>
625
+ </MenubarPopup>
626
+ </MenubarPositioner>
627
+ </MenubarPortal>
628
+ </MenubarMenu>
629
+ <MenubarMenu>
630
+ <MenubarTrigger size='default'>Edit</MenubarTrigger>
631
+ <MenubarPortal>
632
+ <MenubarPositioner>
633
+ <MenubarPopup>
634
+ <MenubarItem>Undo</MenubarItem>
635
+ <MenubarItem>Redo</MenubarItem>
636
+ </MenubarPopup>
637
+ </MenubarPositioner>
638
+ </MenubarPortal>
639
+ </MenubarMenu>
640
+ </MenubarRoot>
641
+
642
+ <MenubarRoot>
643
+ <MenubarMenu>
644
+ <MenubarTrigger size='lg'>File</MenubarTrigger>
645
+ <MenubarPortal>
646
+ <MenubarPositioner>
647
+ <MenubarPopup>
648
+ <MenubarItem>New</MenubarItem>
649
+ <MenubarItem>Open</MenubarItem>
650
+ <MenubarItem>Save</MenubarItem>
651
+ </MenubarPopup>
652
+ </MenubarPositioner>
653
+ </MenubarPortal>
654
+ </MenubarMenu>
655
+ <MenubarMenu>
656
+ <MenubarTrigger size='lg'>Edit</MenubarTrigger>
657
+ <MenubarPortal>
658
+ <MenubarPositioner>
659
+ <MenubarPopup>
660
+ <MenubarItem>Undo</MenubarItem>
661
+ <MenubarItem>Redo</MenubarItem>
662
+ </MenubarPopup>
663
+ </MenubarPositioner>
664
+ </MenubarPortal>
665
+ </MenubarMenu>
666
+ </MenubarRoot>
667
+ </div>
668
+ <div className='flex flex-wrap items-center gap-2'>
669
+ <MenubarRoot>
670
+ <MenubarMenu>
671
+ <MenubarTrigger size='icon-sm'>
672
+ <FileIcon className='size-3.5' />
673
+ </MenubarTrigger>
674
+ <MenubarPortal>
675
+ <MenubarPositioner>
676
+ <MenubarPopup>
677
+ <MenubarItem>New</MenubarItem>
678
+ <MenubarItem>Open</MenubarItem>
679
+ <MenubarItem>Save</MenubarItem>
680
+ </MenubarPopup>
681
+ </MenubarPositioner>
682
+ </MenubarPortal>
683
+ </MenubarMenu>
684
+ <MenubarMenu>
685
+ <MenubarTrigger size='icon-sm'>
686
+ <SquarePen className='size-3.5' />
687
+ </MenubarTrigger>
688
+ <MenubarPortal>
689
+ <MenubarPositioner>
690
+ <MenubarPopup>
691
+ <MenubarItem>Undo</MenubarItem>
692
+ <MenubarItem>Redo</MenubarItem>
693
+ </MenubarPopup>
694
+ </MenubarPositioner>
695
+ </MenubarPortal>
696
+ </MenubarMenu>
697
+ <MenubarMenu>
698
+ <MenubarTrigger size='icon-sm'>
699
+ <EyeIcon className='size-3.5' />
700
+ </MenubarTrigger>
701
+ <MenubarPortal>
702
+ <MenubarPositioner>
703
+ <MenubarPopup>
704
+ <MenubarItem>Zoom In</MenubarItem>
705
+ <MenubarItem>Zoom Out</MenubarItem>
706
+ </MenubarPopup>
707
+ </MenubarPositioner>
708
+ </MenubarPortal>
709
+ </MenubarMenu>
710
+ </MenubarRoot>
711
+ <MenubarRoot>
712
+ <MenubarMenu>
713
+ <MenubarTrigger size='icon'>
714
+ <FileIcon />
715
+ </MenubarTrigger>
716
+ <MenubarPortal>
717
+ <MenubarPositioner>
718
+ <MenubarPopup>
719
+ <MenubarItem>New</MenubarItem>
720
+ <MenubarItem>Open</MenubarItem>
721
+ <MenubarItem>Save</MenubarItem>
722
+ </MenubarPopup>
723
+ </MenubarPositioner>
724
+ </MenubarPortal>
725
+ </MenubarMenu>
726
+ <MenubarMenu>
727
+ <MenubarTrigger size='icon'>
728
+ <SquarePen />
729
+ </MenubarTrigger>
730
+ <MenubarPortal>
731
+ <MenubarPositioner>
732
+ <MenubarPopup>
733
+ <MenubarItem>Undo</MenubarItem>
734
+ <MenubarItem>Redo</MenubarItem>
735
+ </MenubarPopup>
736
+ </MenubarPositioner>
737
+ </MenubarPortal>
738
+ </MenubarMenu>
739
+ <MenubarMenu>
740
+ <MenubarTrigger size='icon'>
741
+ <EyeIcon />
742
+ </MenubarTrigger>
743
+ <MenubarPortal>
744
+ <MenubarPositioner>
745
+ <MenubarPopup>
746
+ <MenubarItem>Zoom In</MenubarItem>
747
+ <MenubarItem>Zoom Out</MenubarItem>
748
+ </MenubarPopup>
749
+ </MenubarPositioner>
750
+ </MenubarPortal>
751
+ </MenubarMenu>
752
+ </MenubarRoot>
753
+ <MenubarRoot>
754
+ <MenubarMenu>
755
+ <MenubarTrigger size='icon-lg'>
756
+ <FileIcon />
757
+ </MenubarTrigger>
758
+ <MenubarPortal>
759
+ <MenubarPositioner>
760
+ <MenubarPopup>
761
+ <MenubarItem>New</MenubarItem>
762
+ <MenubarItem>Open</MenubarItem>
763
+ <MenubarItem>Save</MenubarItem>
764
+ </MenubarPopup>
765
+ </MenubarPositioner>
766
+ </MenubarPortal>
767
+ </MenubarMenu>
768
+ <MenubarMenu>
769
+ <MenubarTrigger size='icon-lg'>
770
+ <SquarePen />
771
+ </MenubarTrigger>
772
+ <MenubarPortal>
773
+ <MenubarPositioner>
774
+ <MenubarPopup>
775
+ <MenubarItem>Undo</MenubarItem>
776
+ <MenubarItem>Redo</MenubarItem>
777
+ </MenubarPopup>
778
+ </MenubarPositioner>
779
+ </MenubarPortal>
780
+ </MenubarMenu>
781
+ <MenubarMenu>
782
+ <MenubarTrigger size='icon-lg'>
783
+ <EyeIcon />
784
+ </MenubarTrigger>
785
+ <MenubarPortal>
786
+ <MenubarPositioner>
787
+ <MenubarPopup>
788
+ <MenubarItem>Zoom In</MenubarItem>
789
+ <MenubarItem>Zoom Out</MenubarItem>
790
+ </MenubarPopup>
791
+ </MenubarPositioner>
792
+ </MenubarPortal>
793
+ </MenubarMenu>
794
+ </MenubarRoot>
795
+ </div>
796
+ </div>
797
+ )
798
+ }
799
+ ```
800
+
801
+ ## Resources
802
+
803
+ - [Base UI Menubar Documentation](https://base-ui.com/react/components/menubar)
804
+ - [API Reference](https://base-ui.com/react/components/menubar#api-reference)