@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,146 @@
1
+ # Preview Card
2
+
3
+ A card that displays contextual content when hovering a link.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @lglab/compose-ui
9
+ ```
10
+
11
+ ## Import
12
+
13
+ ```tsx
14
+ import { PreviewCardRoot, PreviewCardTrigger, PreviewCardPortal, PreviewCardBackdrop, PreviewCardPositioner, PreviewCardPopup, PreviewCardArrow } from '@lglab/compose-ui'
15
+ ```
16
+
17
+ ## Examples
18
+
19
+ ### Basic
20
+
21
+ ```tsx
22
+ import {
23
+ PreviewCardArrow,
24
+ PreviewCardPopup,
25
+ PreviewCardPortal,
26
+ PreviewCardPositioner,
27
+ PreviewCardRoot,
28
+ PreviewCardTrigger,
29
+ } from '@lglab/compose-ui/preview-card'
30
+
31
+ export default function DefaultExample() {
32
+ return (
33
+ <p className='text-sm'>
34
+ The{' '}
35
+ <PreviewCardRoot>
36
+ <PreviewCardTrigger href='https://en.wikipedia.org/wiki/Nile'>
37
+ Nile
38
+ </PreviewCardTrigger>
39
+ <PreviewCardPortal>
40
+ <PreviewCardPositioner>
41
+ <PreviewCardPopup className='space-y-2'>
42
+ <PreviewCardArrow />
43
+ <img
44
+ src='https://images.unsplash.com/photo-1680356217112-dad9300ce49d?q=80&w=448&h=300'
45
+ alt='Satellite image of the Nile'
46
+ className='w-full rounded'
47
+ />
48
+ <p className='text-sm'>
49
+ The Nile is a major north-flowing river in northeastern Africa. It is the
50
+ longest river in Africa and is among the longest in the world.
51
+ </p>
52
+ </PreviewCardPopup>
53
+ </PreviewCardPositioner>
54
+ </PreviewCardPortal>
55
+ </PreviewCardRoot>{' '}
56
+ is the longest river in Africa.
57
+ </p>
58
+ )
59
+ }
60
+ ```
61
+
62
+ ### Custom Delay
63
+
64
+ ```tsx
65
+ import {
66
+ PreviewCardArrow,
67
+ PreviewCardPopup,
68
+ PreviewCardPortal,
69
+ PreviewCardPositioner,
70
+ PreviewCardRoot,
71
+ PreviewCardTrigger,
72
+ } from '@lglab/compose-ui/preview-card'
73
+
74
+ export default function WithDelayExample() {
75
+ return (
76
+ <p className='text-sm'>
77
+ Read about{' '}
78
+ <PreviewCardRoot>
79
+ <PreviewCardTrigger
80
+ href='https://en.wikipedia.org/wiki/Machine_learning'
81
+ delay={300}
82
+ closeDelay={200}
83
+ >
84
+ machine learning
85
+ </PreviewCardTrigger>
86
+ <PreviewCardPortal>
87
+ <PreviewCardPositioner>
88
+ <PreviewCardPopup className='space-y-2'>
89
+ <PreviewCardArrow />
90
+ <p className='text-sm font-semibold'>Machine Learning</p>
91
+ <p className='text-sm text-muted-foreground'>
92
+ Machine learning is a branch of artificial intelligence that focuses on
93
+ building applications that learn from data and improve their accuracy over
94
+ time.
95
+ </p>
96
+ </PreviewCardPopup>
97
+ </PreviewCardPositioner>
98
+ </PreviewCardPortal>
99
+ </PreviewCardRoot>{' '}
100
+ to understand AI better.
101
+ </p>
102
+ )
103
+ }
104
+ ```
105
+
106
+ ### Sides
107
+
108
+ ```tsx
109
+ import {
110
+ PreviewCardArrow,
111
+ PreviewCardPopup,
112
+ PreviewCardPortal,
113
+ PreviewCardPositioner,
114
+ PreviewCardRoot,
115
+ PreviewCardTrigger,
116
+ } from '@lglab/compose-ui/preview-card'
117
+
118
+ export default function SidesExample() {
119
+ const sides = ['top', 'right', 'bottom', 'left'] as const
120
+
121
+ return (
122
+ <div className='flex flex-wrap gap-4'>
123
+ {sides.map((side) => (
124
+ <PreviewCardRoot key={side}>
125
+ <PreviewCardTrigger className='text-sm' href='#'>
126
+ {side}
127
+ </PreviewCardTrigger>
128
+ <PreviewCardPortal>
129
+ <PreviewCardPositioner side={side}>
130
+ <PreviewCardPopup>
131
+ <PreviewCardArrow />
132
+ <p className='text-sm'>Preview card positioned on the {side}</p>
133
+ </PreviewCardPopup>
134
+ </PreviewCardPositioner>
135
+ </PreviewCardPortal>
136
+ </PreviewCardRoot>
137
+ ))}
138
+ </div>
139
+ )
140
+ }
141
+ ```
142
+
143
+ ## Resources
144
+
145
+ - [Base UI Preview Card Documentation](https://base-ui.com/react/components/preview-card)
146
+ - [API Reference](https://base-ui.com/react/components/preview-card#api-reference)
@@ -0,0 +1,60 @@
1
+ # Progress
2
+
3
+ The progressbar range widget indicates that a request has been received and the application is making progress toward completing the requested action.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @lglab/compose-ui
9
+ ```
10
+
11
+ ## Import
12
+
13
+ ```tsx
14
+ import { ProgressRoot, ProgressTrack, ProgressIndicator, ProgressValue, ProgressLabel } from '@lglab/compose-ui'
15
+ ```
16
+
17
+ ## Examples
18
+
19
+ ### Basic
20
+
21
+ ```tsx
22
+ import {
23
+ ProgressIndicator,
24
+ ProgressLabel,
25
+ ProgressRoot,
26
+ ProgressTrack,
27
+ ProgressValue,
28
+ } from '@lglab/compose-ui/progress'
29
+ import * as React from 'react'
30
+
31
+ export default function BasicExample() {
32
+ const [value, setValue] = React.useState(20)
33
+
34
+ React.useEffect(() => {
35
+ const interval = setInterval(() => {
36
+ setValue((current) => Math.min(100, Math.round(current + Math.random() * 25)))
37
+ }, 1000)
38
+ return () => clearInterval(interval)
39
+ }, [])
40
+
41
+ return (
42
+ <ProgressRoot className='w-full max-w-md mx-auto text-sm font-medium ' value={value}>
43
+ <div className='flex items-center justify-between mb-2'>
44
+ <ProgressLabel>
45
+ {value < 100 ? 'Uploading file...' : 'File uploaded'}
46
+ </ProgressLabel>
47
+ <ProgressValue />
48
+ </div>
49
+ <ProgressTrack>
50
+ <ProgressIndicator />
51
+ </ProgressTrack>
52
+ </ProgressRoot>
53
+ )
54
+ }
55
+ ```
56
+
57
+ ## Resources
58
+
59
+ - [Base UI Progress Documentation](https://base-ui.com/react/components/progress)
60
+ - [API Reference](https://base-ui.com/react/components/progress#api-reference)
@@ -0,0 +1,105 @@
1
+ # Radio Group
2
+
3
+ Provides shared state to a series of radio buttons.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @lglab/compose-ui
9
+ ```
10
+
11
+ ## Import
12
+
13
+ ```tsx
14
+ import { RadioGroupRoot } from '@lglab/compose-ui'
15
+ ```
16
+
17
+ ## Examples
18
+
19
+ ### Default
20
+
21
+ ```tsx
22
+ import { RadioIndicator, RadioRoot } from '@lglab/compose-ui/radio'
23
+ import { RadioGroupRoot } from '@lglab/compose-ui/radio-group'
24
+ import * as React from 'react'
25
+
26
+ export default function DefaultExample() {
27
+ const id = React.useId()
28
+ const [value, setValue] = React.useState<string>('fuji')
29
+
30
+ return (
31
+ <RadioGroupRoot aria-labelledby={id} value={value} onValueChange={setValue}>
32
+ <div className='text-sm font-medium text-foreground' id={id}>
33
+ Best apple
34
+ </div>
35
+
36
+ <label className='flex items-center gap-2 text-sm'>
37
+ <RadioRoot value='fuji'>
38
+ <RadioIndicator />
39
+ </RadioRoot>
40
+ Fuji
41
+ </label>
42
+
43
+ <label className='flex items-center gap-2 text-sm'>
44
+ <RadioRoot value='gala'>
45
+ <RadioIndicator />
46
+ </RadioRoot>
47
+ Gala
48
+ </label>
49
+
50
+ <label className='flex items-center gap-2 text-sm'>
51
+ <RadioRoot value='granny-smith'>
52
+ <RadioIndicator />
53
+ </RadioRoot>
54
+ Granny Smith
55
+ </label>
56
+ </RadioGroupRoot>
57
+ )
58
+ }
59
+ ```
60
+
61
+ ### With Field
62
+
63
+ ```tsx
64
+ import {
65
+ FieldDescription,
66
+ FieldItem,
67
+ FieldLabel,
68
+ FieldRoot,
69
+ } from '@lglab/compose-ui/field'
70
+ import { FieldsetLegend, FieldsetRoot } from '@lglab/compose-ui/fieldset'
71
+ import { RadioIndicator, RadioRoot } from '@lglab/compose-ui/radio'
72
+ import { RadioGroupRoot } from '@lglab/compose-ui/radio-group'
73
+
74
+ const fruits = [
75
+ { value: 'apple', label: 'Apple' },
76
+ { value: 'banana', label: 'Banana' },
77
+ { value: 'orange', label: 'Orange' },
78
+ ]
79
+
80
+ export default function WithFieldExample() {
81
+ return (
82
+ <FieldRoot name='fruit'>
83
+ <FieldsetRoot render={<RadioGroupRoot />}>
84
+ <FieldsetLegend>Favorite Fruit</FieldsetLegend>
85
+ {fruits.map((fruit) => (
86
+ <FieldItem key={fruit.value}>
87
+ <FieldLabel>
88
+ <RadioRoot value={fruit.value}>
89
+ <RadioIndicator />
90
+ </RadioRoot>
91
+ {fruit.label}
92
+ </FieldLabel>
93
+ </FieldItem>
94
+ ))}
95
+ </FieldsetRoot>
96
+ <FieldDescription>Select your favorite fruit.</FieldDescription>
97
+ </FieldRoot>
98
+ )
99
+ }
100
+ ```
101
+
102
+ ## Resources
103
+
104
+ - [Base UI Radio Group Documentation](https://base-ui.com/react/components/radio-group)
105
+ - [API Reference](https://base-ui.com/react/components/radio-group#api-reference)
@@ -0,0 +1,132 @@
1
+ # Scroll Area
2
+
3
+ A native scroll container with custom scrollbars for consistent styling across browsers.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @lglab/compose-ui
9
+ ```
10
+
11
+ ## Import
12
+
13
+ ```tsx
14
+ import { ScrollAreaRoot, ScrollAreaViewport, ScrollAreaContent, ScrollAreaScrollbar, ScrollAreaThumb, ScrollAreaCorner } from '@lglab/compose-ui'
15
+ ```
16
+
17
+ ## Examples
18
+
19
+ ### Vertical Scroll
20
+
21
+ ```tsx
22
+ import {
23
+ ScrollAreaContent,
24
+ ScrollAreaRoot,
25
+ ScrollAreaScrollbar,
26
+ ScrollAreaThumb,
27
+ ScrollAreaViewport,
28
+ } from '@lglab/compose-ui/scroll-area'
29
+
30
+ export default function VerticalScrollExample() {
31
+ return (
32
+ <ScrollAreaRoot className='h-72 w-full rounded-md border'>
33
+ <ScrollAreaViewport>
34
+ <ScrollAreaContent className='p-4'>
35
+ <div className='space-y-4'>
36
+ {Array.from({ length: 20 }).map((_, i) => (
37
+ <p key={i}>
38
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam euismod,
39
+ nisi vel consectetur interdum, nisl nunc egestas nunc.
40
+ </p>
41
+ ))}
42
+ </div>
43
+ </ScrollAreaContent>
44
+ </ScrollAreaViewport>
45
+ <ScrollAreaScrollbar orientation='vertical'>
46
+ <ScrollAreaThumb />
47
+ </ScrollAreaScrollbar>
48
+ </ScrollAreaRoot>
49
+ )
50
+ }
51
+ ```
52
+
53
+ ### Horizontal Scroll
54
+
55
+ ```tsx
56
+ import {
57
+ ScrollAreaContent,
58
+ ScrollAreaRoot,
59
+ ScrollAreaScrollbar,
60
+ ScrollAreaThumb,
61
+ ScrollAreaViewport,
62
+ } from '@lglab/compose-ui/scroll-area'
63
+
64
+ export default function HorizontalScrollExample() {
65
+ return (
66
+ <ScrollAreaRoot className='w-full rounded-md border'>
67
+ <ScrollAreaViewport>
68
+ <ScrollAreaContent className='p-4'>
69
+ <div className='flex gap-4'>
70
+ {Array.from({ length: 15 }).map((_, i) => (
71
+ <div
72
+ key={i}
73
+ className='flex h-24 w-32 shrink-0 items-center justify-center rounded-md bg-muted text-sm font-medium'
74
+ >
75
+ Item {i + 1}
76
+ </div>
77
+ ))}
78
+ </div>
79
+ </ScrollAreaContent>
80
+ </ScrollAreaViewport>
81
+ <ScrollAreaScrollbar orientation='horizontal'>
82
+ <ScrollAreaThumb />
83
+ </ScrollAreaScrollbar>
84
+ </ScrollAreaRoot>
85
+ )
86
+ }
87
+ ```
88
+
89
+ ### Both Scrollbars
90
+
91
+ ```tsx
92
+ import {
93
+ ScrollAreaContent,
94
+ ScrollAreaCorner,
95
+ ScrollAreaRoot,
96
+ ScrollAreaScrollbar,
97
+ ScrollAreaThumb,
98
+ ScrollAreaViewport,
99
+ } from '@lglab/compose-ui/scroll-area'
100
+
101
+ export default function BothScrollbarsExample() {
102
+ return (
103
+ <ScrollAreaRoot className='h-72 w-full rounded-md border'>
104
+ <ScrollAreaViewport>
105
+ <ScrollAreaContent className='p-4'>
106
+ <div className='w-[800px] space-y-4'>
107
+ {Array.from({ length: 20 }).map((_, i) => (
108
+ <p key={i} className='text-sm whitespace-nowrap'>
109
+ {i + 1}. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam
110
+ euismod, nisi vel consectetur interdum, nisl nunc egestas nunc, vel
111
+ consectetur nisl nunc egestas nunc.
112
+ </p>
113
+ ))}
114
+ </div>
115
+ </ScrollAreaContent>
116
+ </ScrollAreaViewport>
117
+ <ScrollAreaScrollbar orientation='vertical'>
118
+ <ScrollAreaThumb />
119
+ </ScrollAreaScrollbar>
120
+ <ScrollAreaScrollbar orientation='horizontal'>
121
+ <ScrollAreaThumb />
122
+ </ScrollAreaScrollbar>
123
+ <ScrollAreaCorner />
124
+ </ScrollAreaRoot>
125
+ )
126
+ }
127
+ ```
128
+
129
+ ## Resources
130
+
131
+ - [Base UI Scroll Area Documentation](https://base-ui.com/react/components/scroll-area)
132
+ - [API Reference](https://base-ui.com/react/components/scroll-area#api-reference)