@mcp-elements/css 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/LICENSE +21 -0
- package/base.css +88 -0
- package/components/accordion.css +24 -0
- package/components/ai-badge.css +17 -0
- package/components/alert.css +25 -0
- package/components/avatar.css +11 -0
- package/components/badge.css +10 -0
- package/components/button.css +21 -0
- package/components/card.css +20 -0
- package/components/chat-bubble.css +47 -0
- package/components/chips.css +28 -0
- package/components/counter.css +22 -0
- package/components/dialog.css +26 -0
- package/components/drawer.css +39 -0
- package/components/dropdown-menu.css +28 -0
- package/components/feedback.css +33 -0
- package/components/input.css +16 -0
- package/components/loader.css +23 -0
- package/components/mcp-app-frame.css +12 -0
- package/components/mcp-consent-dialog.css +51 -0
- package/components/mcp-resource-browser.css +42 -0
- package/components/mcp-scope-inspector.css +49 -0
- package/components/mcp-server-status.css +56 -0
- package/components/mcp-tool-call.css +96 -0
- package/components/mcp-tool-form.css +28 -0
- package/components/password-input.css +17 -0
- package/components/popover.css +5 -0
- package/components/progress.css +8 -0
- package/components/prompt-input.css +30 -0
- package/components/select.css +52 -0
- package/components/separator.css +11 -0
- package/components/skeleton.css +10 -0
- package/components/source-card.css +28 -0
- package/components/streaming-text.css +53 -0
- package/components/suggestion-chips.css +23 -0
- package/components/switch.css +30 -0
- package/components/tabs.css +18 -0
- package/components/textarea.css +12 -0
- package/components/toast.css +46 -0
- package/components/tooltip.css +17 -0
- package/package.json +20 -0
- package/themes/dark.css +3 -0
- package/themes/default.css +3 -0
- package/themes/glass.css +113 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Mayur Rawte
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/base.css
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/* Design tokens for mcp-elements. Import tailwindcss separately in your project. */
|
|
2
|
+
|
|
3
|
+
@custom-variant dark (&:where([data-theme=dark], [data-theme=dark] *));
|
|
4
|
+
|
|
5
|
+
@theme {
|
|
6
|
+
/* Semantic color tokens (OKLCH for perceptual uniformity) */
|
|
7
|
+
--color-background: oklch(1 0 0);
|
|
8
|
+
--color-foreground: oklch(0.145 0 0);
|
|
9
|
+
--color-primary: oklch(0.205 0.042 265.755);
|
|
10
|
+
--color-primary-foreground: oklch(0.985 0 0);
|
|
11
|
+
--color-secondary: oklch(0.97 0.001 286.375);
|
|
12
|
+
--color-secondary-foreground: oklch(0.205 0.042 265.755);
|
|
13
|
+
--color-accent: oklch(0.97 0.001 286.375);
|
|
14
|
+
--color-accent-foreground: oklch(0.205 0.042 265.755);
|
|
15
|
+
--color-muted: oklch(0.97 0.001 286.375);
|
|
16
|
+
--color-muted-foreground: oklch(0.556 0.019 286);
|
|
17
|
+
--color-destructive: oklch(0.577 0.245 27.325);
|
|
18
|
+
--color-destructive-foreground: oklch(0.985 0 0);
|
|
19
|
+
--color-border: oklch(0.922 0.004 286.32);
|
|
20
|
+
--color-input: oklch(0.922 0.004 286.32);
|
|
21
|
+
--color-ring: oklch(0.708 0.028 256);
|
|
22
|
+
--color-card: oklch(1 0 0);
|
|
23
|
+
--color-card-foreground: oklch(0.145 0 0);
|
|
24
|
+
--color-popover: oklch(1 0 0);
|
|
25
|
+
--color-popover-foreground: oklch(0.145 0 0);
|
|
26
|
+
--color-overlay: oklch(0 0 0 / 0.8);
|
|
27
|
+
|
|
28
|
+
/* Radius scale */
|
|
29
|
+
--radius-sm: 0.25rem;
|
|
30
|
+
--radius-md: calc(var(--radius-sm) + 0.125rem);
|
|
31
|
+
--radius-lg: calc(var(--radius-sm) + 0.25rem);
|
|
32
|
+
--radius-xl: calc(var(--radius-sm) + 0.5rem);
|
|
33
|
+
|
|
34
|
+
/* Animation tokens */
|
|
35
|
+
--animate-accordion-down: accordion-down 0.2s ease-out;
|
|
36
|
+
--animate-accordion-up: accordion-up 0.2s ease-out;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@keyframes accordion-down {
|
|
40
|
+
from { height: 0; }
|
|
41
|
+
to { height: var(--radix-accordion-content-height, auto); }
|
|
42
|
+
}
|
|
43
|
+
@keyframes accordion-up {
|
|
44
|
+
from { height: var(--radix-accordion-content-height, auto); }
|
|
45
|
+
to { height: 0; }
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* Base reset */
|
|
49
|
+
@layer base {
|
|
50
|
+
*,
|
|
51
|
+
*::before,
|
|
52
|
+
*::after {
|
|
53
|
+
border-color: var(--color-border);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
body {
|
|
57
|
+
background-color: var(--color-background);
|
|
58
|
+
color: var(--color-foreground);
|
|
59
|
+
-webkit-font-smoothing: antialiased;
|
|
60
|
+
-moz-osx-font-smoothing: grayscale;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/* Dark theme overrides */
|
|
65
|
+
@layer base {
|
|
66
|
+
[data-theme='dark'] {
|
|
67
|
+
--color-background: oklch(0.145 0 0);
|
|
68
|
+
--color-foreground: oklch(0.985 0 0);
|
|
69
|
+
--color-primary: oklch(0.985 0 0);
|
|
70
|
+
--color-primary-foreground: oklch(0.205 0.042 265.755);
|
|
71
|
+
--color-secondary: oklch(0.269 0.007 286.033);
|
|
72
|
+
--color-secondary-foreground: oklch(0.985 0 0);
|
|
73
|
+
--color-muted: oklch(0.269 0.007 286.033);
|
|
74
|
+
--color-muted-foreground: oklch(0.708 0.014 285.823);
|
|
75
|
+
--color-accent: oklch(0.269 0.007 286.033);
|
|
76
|
+
--color-accent-foreground: oklch(0.985 0 0);
|
|
77
|
+
--color-destructive: oklch(0.704 0.191 22.216);
|
|
78
|
+
--color-destructive-foreground: oklch(0.985 0 0);
|
|
79
|
+
--color-border: oklch(0.269 0.007 286.033);
|
|
80
|
+
--color-input: oklch(0.269 0.007 286.033);
|
|
81
|
+
--color-ring: oklch(0.442 0.017 285.786);
|
|
82
|
+
--color-card: oklch(0.205 0.015 286);
|
|
83
|
+
--color-card-foreground: oklch(0.985 0 0);
|
|
84
|
+
--color-popover: oklch(0.205 0.015 286);
|
|
85
|
+
--color-popover-foreground: oklch(0.985 0 0);
|
|
86
|
+
--color-overlay: oklch(0 0 0 / 0.8);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-accordion-item {
|
|
3
|
+
@apply border-b;
|
|
4
|
+
}
|
|
5
|
+
.mcpe-accordion-trigger {
|
|
6
|
+
@apply flex w-full flex-1 items-center justify-between py-4 text-sm font-medium
|
|
7
|
+
text-left transition-all cursor-pointer hover:underline active:bg-muted/50;
|
|
8
|
+
}
|
|
9
|
+
.mcpe-accordion-trigger[aria-expanded='true'] .mcpe-accordion-chevron {
|
|
10
|
+
@apply rotate-180;
|
|
11
|
+
}
|
|
12
|
+
.mcpe-accordion-chevron {
|
|
13
|
+
@apply h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200;
|
|
14
|
+
}
|
|
15
|
+
.mcpe-accordion-content {
|
|
16
|
+
@apply overflow-hidden text-sm;
|
|
17
|
+
}
|
|
18
|
+
.mcpe-accordion-content[hidden] {
|
|
19
|
+
display: none;
|
|
20
|
+
}
|
|
21
|
+
.mcpe-accordion-content:not([hidden]) {
|
|
22
|
+
@apply pb-4 pt-0;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-ai-badge {
|
|
3
|
+
@apply inline-flex items-center gap-1.5 rounded-full px-2.5 py-0.5 text-xs font-medium
|
|
4
|
+
[&_svg]:size-3 [&_svg]:shrink-0;
|
|
5
|
+
}
|
|
6
|
+
.mcpe-ai-badge-default {
|
|
7
|
+
background: linear-gradient(135deg, oklch(0.541 0.281 293.009 / 0.15), oklch(0.627 0.265 303.9 / 0.15));
|
|
8
|
+
@apply text-[oklch(0.641_0.181_293.009)] border border-[oklch(0.541_0.281_293.009_/_0.2)];
|
|
9
|
+
}
|
|
10
|
+
.mcpe-ai-badge-prominent {
|
|
11
|
+
background: linear-gradient(135deg, oklch(0.541 0.281 293.009), oklch(0.627 0.265 303.9));
|
|
12
|
+
@apply text-white shadow-sm;
|
|
13
|
+
}
|
|
14
|
+
.mcpe-ai-badge-subtle {
|
|
15
|
+
@apply border border-[oklch(0.541_0.281_293.009_/_0.3)] text-[oklch(0.641_0.181_293.009)] bg-transparent;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-alert {
|
|
3
|
+
@apply relative w-full rounded-lg border px-4 py-3 text-sm
|
|
4
|
+
[&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4
|
|
5
|
+
[&>svg]:text-foreground [&>svg~*]:pl-7;
|
|
6
|
+
}
|
|
7
|
+
.mcpe-alert-default {
|
|
8
|
+
@apply bg-background text-foreground;
|
|
9
|
+
}
|
|
10
|
+
.mcpe-alert-destructive {
|
|
11
|
+
@apply border-destructive/50 text-destructive [&>svg]:text-destructive;
|
|
12
|
+
}
|
|
13
|
+
.mcpe-alert-success {
|
|
14
|
+
@apply border-green-500/50 text-green-600 [&>svg]:text-green-600;
|
|
15
|
+
}
|
|
16
|
+
.mcpe-alert-warning {
|
|
17
|
+
@apply border-yellow-500/50 text-yellow-600 [&>svg]:text-yellow-600;
|
|
18
|
+
}
|
|
19
|
+
.mcpe-alert-title {
|
|
20
|
+
@apply mb-1 font-medium leading-none tracking-tight;
|
|
21
|
+
}
|
|
22
|
+
.mcpe-alert-description {
|
|
23
|
+
@apply text-sm [&_p]:leading-relaxed;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-avatar {
|
|
3
|
+
@apply relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full;
|
|
4
|
+
}
|
|
5
|
+
.mcpe-avatar-image {
|
|
6
|
+
@apply aspect-square h-full w-full object-cover;
|
|
7
|
+
}
|
|
8
|
+
.mcpe-avatar-fallback {
|
|
9
|
+
@apply flex h-full w-full items-center justify-center rounded-full bg-muted text-sm font-medium text-muted-foreground;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-badge {
|
|
3
|
+
@apply inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold
|
|
4
|
+
transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2;
|
|
5
|
+
}
|
|
6
|
+
.mcpe-badge-default { @apply border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80; }
|
|
7
|
+
.mcpe-badge-secondary { @apply border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80; }
|
|
8
|
+
.mcpe-badge-outline { @apply text-foreground; }
|
|
9
|
+
.mcpe-badge-destructive { @apply border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80; }
|
|
10
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-btn {
|
|
3
|
+
@apply inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium
|
|
4
|
+
whitespace-nowrap transition-all cursor-pointer active:scale-[0.98]
|
|
5
|
+
focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring
|
|
6
|
+
disabled:pointer-events-none disabled:opacity-50
|
|
7
|
+
[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0;
|
|
8
|
+
}
|
|
9
|
+
/* Variants */
|
|
10
|
+
.mcpe-btn-primary { @apply bg-primary text-primary-foreground shadow hover:bg-primary/90; }
|
|
11
|
+
.mcpe-btn-secondary { @apply bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80; }
|
|
12
|
+
.mcpe-btn-outline { @apply border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground; }
|
|
13
|
+
.mcpe-btn-ghost { @apply hover:bg-accent hover:text-accent-foreground; }
|
|
14
|
+
.mcpe-btn-destructive { @apply bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90; }
|
|
15
|
+
.mcpe-btn-link { @apply text-primary underline-offset-4 hover:underline; }
|
|
16
|
+
/* Sizes */
|
|
17
|
+
.mcpe-btn-sm { @apply h-8 rounded-md px-3 text-xs; }
|
|
18
|
+
.mcpe-btn-md { @apply h-9 px-4 py-2; }
|
|
19
|
+
.mcpe-btn-lg { @apply h-10 rounded-md px-8; }
|
|
20
|
+
.mcpe-btn-icon { @apply h-9 w-9; }
|
|
21
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-card {
|
|
3
|
+
@apply rounded-xl border bg-card text-card-foreground shadow;
|
|
4
|
+
}
|
|
5
|
+
.mcpe-card-header {
|
|
6
|
+
@apply flex flex-col space-y-1.5 p-6;
|
|
7
|
+
}
|
|
8
|
+
.mcpe-card-title {
|
|
9
|
+
@apply font-semibold leading-none tracking-tight;
|
|
10
|
+
}
|
|
11
|
+
.mcpe-card-description {
|
|
12
|
+
@apply text-sm text-muted-foreground;
|
|
13
|
+
}
|
|
14
|
+
.mcpe-card-content {
|
|
15
|
+
@apply p-6 pt-0;
|
|
16
|
+
}
|
|
17
|
+
.mcpe-card-footer {
|
|
18
|
+
@apply flex items-center p-6 pt-0;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-chat-bubble {
|
|
3
|
+
@apply flex gap-2.5 max-w-[80%];
|
|
4
|
+
}
|
|
5
|
+
.mcpe-chat-bubble-user {
|
|
6
|
+
@apply flex-row-reverse self-end;
|
|
7
|
+
}
|
|
8
|
+
.mcpe-chat-bubble-ai {
|
|
9
|
+
@apply flex-row self-start;
|
|
10
|
+
}
|
|
11
|
+
.mcpe-chat-bubble-avatar {
|
|
12
|
+
@apply h-8 w-8 shrink-0 rounded-full object-cover;
|
|
13
|
+
}
|
|
14
|
+
.mcpe-chat-bubble-content {
|
|
15
|
+
@apply rounded-2xl px-4 py-2.5 text-sm leading-relaxed;
|
|
16
|
+
}
|
|
17
|
+
.mcpe-chat-bubble-user .mcpe-chat-bubble-content {
|
|
18
|
+
@apply bg-primary text-primary-foreground rounded-br-md;
|
|
19
|
+
}
|
|
20
|
+
.mcpe-chat-bubble-ai .mcpe-chat-bubble-content {
|
|
21
|
+
@apply bg-secondary text-secondary-foreground rounded-bl-md;
|
|
22
|
+
}
|
|
23
|
+
.mcpe-chat-bubble-timestamp {
|
|
24
|
+
@apply block text-xs text-muted-foreground mt-1 px-1;
|
|
25
|
+
}
|
|
26
|
+
.mcpe-chat-bubble-user .mcpe-chat-bubble-timestamp {
|
|
27
|
+
@apply text-right;
|
|
28
|
+
}
|
|
29
|
+
.mcpe-chat-bubble-typing {
|
|
30
|
+
@apply flex items-center gap-1 px-4 py-3 rounded-2xl bg-secondary rounded-bl-md;
|
|
31
|
+
}
|
|
32
|
+
.mcpe-chat-bubble-typing-dot {
|
|
33
|
+
@apply h-1.5 w-1.5 rounded-full bg-muted-foreground/60;
|
|
34
|
+
animation: mcpe-chat-bounce 1.4s ease-in-out infinite both;
|
|
35
|
+
}
|
|
36
|
+
.mcpe-chat-bubble-typing-dot:nth-child(2) {
|
|
37
|
+
animation-delay: 0.16s;
|
|
38
|
+
}
|
|
39
|
+
.mcpe-chat-bubble-typing-dot:nth-child(3) {
|
|
40
|
+
animation-delay: 0.32s;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@keyframes mcpe-chat-bounce {
|
|
45
|
+
0%, 80%, 100% { transform: translateY(0); }
|
|
46
|
+
40% { transform: translateY(-4px); }
|
|
47
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-chips {
|
|
3
|
+
@apply flex flex-wrap gap-1.5;
|
|
4
|
+
}
|
|
5
|
+
.mcpe-chip {
|
|
6
|
+
@apply inline-flex items-center gap-1 rounded-md border px-2.5 py-0.5 text-xs font-medium
|
|
7
|
+
transition-colors cursor-default;
|
|
8
|
+
}
|
|
9
|
+
.mcpe-chip-default {
|
|
10
|
+
@apply bg-secondary text-secondary-foreground hover:bg-secondary/80;
|
|
11
|
+
}
|
|
12
|
+
.mcpe-chip-primary {
|
|
13
|
+
@apply border-transparent bg-primary text-primary-foreground hover:bg-primary/80;
|
|
14
|
+
}
|
|
15
|
+
.mcpe-chip-outline {
|
|
16
|
+
@apply border-border text-foreground;
|
|
17
|
+
}
|
|
18
|
+
.mcpe-chip-destructive {
|
|
19
|
+
@apply border-transparent bg-destructive text-destructive-foreground;
|
|
20
|
+
}
|
|
21
|
+
.mcpe-chip-removable {
|
|
22
|
+
@apply cursor-pointer;
|
|
23
|
+
}
|
|
24
|
+
.mcpe-chip-remove {
|
|
25
|
+
@apply ml-0.5 inline-flex h-3.5 w-3.5 items-center justify-center rounded-full
|
|
26
|
+
opacity-60 hover:opacity-100 transition-opacity;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-counter {
|
|
3
|
+
@apply inline-flex items-center;
|
|
4
|
+
}
|
|
5
|
+
.mcpe-counter-button {
|
|
6
|
+
@apply inline-flex h-9 w-9 items-center justify-center rounded-md border border-input
|
|
7
|
+
bg-transparent text-sm font-medium shadow-sm transition-colors cursor-pointer
|
|
8
|
+
hover:bg-accent hover:text-accent-foreground
|
|
9
|
+
focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring
|
|
10
|
+
disabled:pointer-events-none disabled:opacity-50;
|
|
11
|
+
}
|
|
12
|
+
.mcpe-counter-input {
|
|
13
|
+
@apply h-9 w-14 border-y border-input bg-transparent text-center text-sm
|
|
14
|
+
focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring;
|
|
15
|
+
}
|
|
16
|
+
.mcpe-counter-button:first-child {
|
|
17
|
+
@apply rounded-r-none;
|
|
18
|
+
}
|
|
19
|
+
.mcpe-counter-button:last-child {
|
|
20
|
+
@apply rounded-l-none;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-dialog-overlay {
|
|
3
|
+
@apply fixed inset-0 z-50 bg-[var(--color-overlay)];
|
|
4
|
+
}
|
|
5
|
+
.mcpe-dialog-content {
|
|
6
|
+
@apply fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2
|
|
7
|
+
gap-4 border bg-background p-6 shadow-lg duration-200 sm:rounded-lg;
|
|
8
|
+
}
|
|
9
|
+
.mcpe-dialog-header {
|
|
10
|
+
@apply flex flex-col space-y-1.5 text-center sm:text-left;
|
|
11
|
+
}
|
|
12
|
+
.mcpe-dialog-footer {
|
|
13
|
+
@apply flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2;
|
|
14
|
+
}
|
|
15
|
+
.mcpe-dialog-title {
|
|
16
|
+
@apply text-lg font-semibold leading-none tracking-tight;
|
|
17
|
+
}
|
|
18
|
+
.mcpe-dialog-description {
|
|
19
|
+
@apply text-sm text-muted-foreground;
|
|
20
|
+
}
|
|
21
|
+
.mcpe-dialog-close {
|
|
22
|
+
@apply absolute right-4 top-4 rounded-sm opacity-70 transition-opacity
|
|
23
|
+
hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2
|
|
24
|
+
disabled:pointer-events-none;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-drawer-overlay {
|
|
3
|
+
@apply fixed inset-0 z-50 bg-[var(--color-overlay)];
|
|
4
|
+
}
|
|
5
|
+
.mcpe-drawer-content {
|
|
6
|
+
@apply fixed z-50 bg-background shadow-lg transition-transform duration-300 ease-in-out;
|
|
7
|
+
}
|
|
8
|
+
.mcpe-drawer-content-right {
|
|
9
|
+
@apply inset-y-0 right-0 h-full w-3/4 max-w-sm border-l;
|
|
10
|
+
}
|
|
11
|
+
.mcpe-drawer-content-left {
|
|
12
|
+
@apply inset-y-0 left-0 h-full w-3/4 max-w-sm border-r;
|
|
13
|
+
}
|
|
14
|
+
.mcpe-drawer-content-top {
|
|
15
|
+
@apply inset-x-0 top-0 border-b;
|
|
16
|
+
}
|
|
17
|
+
.mcpe-drawer-content-bottom {
|
|
18
|
+
@apply inset-x-0 bottom-0 border-t;
|
|
19
|
+
}
|
|
20
|
+
.mcpe-drawer-header {
|
|
21
|
+
@apply flex flex-col space-y-1.5 p-4;
|
|
22
|
+
}
|
|
23
|
+
.mcpe-drawer-footer {
|
|
24
|
+
@apply flex flex-col-reverse gap-2 p-4 sm:flex-row sm:justify-end;
|
|
25
|
+
}
|
|
26
|
+
.mcpe-drawer-title {
|
|
27
|
+
@apply text-lg font-semibold leading-none tracking-tight;
|
|
28
|
+
}
|
|
29
|
+
.mcpe-drawer-description {
|
|
30
|
+
@apply text-sm text-muted-foreground;
|
|
31
|
+
}
|
|
32
|
+
.mcpe-drawer-close {
|
|
33
|
+
@apply absolute right-4 top-4 rounded-sm opacity-70 transition-opacity
|
|
34
|
+
hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2;
|
|
35
|
+
}
|
|
36
|
+
.mcpe-drawer-body {
|
|
37
|
+
@apply flex-1 overflow-y-auto p-4;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-dropdown-menu-content {
|
|
3
|
+
@apply z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1
|
|
4
|
+
text-popover-foreground shadow-md;
|
|
5
|
+
}
|
|
6
|
+
.mcpe-dropdown-menu-item {
|
|
7
|
+
@apply relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5
|
|
8
|
+
text-sm outline-none transition-colors;
|
|
9
|
+
}
|
|
10
|
+
.mcpe-dropdown-menu-item-active {
|
|
11
|
+
@apply bg-accent text-accent-foreground;
|
|
12
|
+
}
|
|
13
|
+
.mcpe-dropdown-menu-item[aria-disabled='true'] {
|
|
14
|
+
@apply pointer-events-none opacity-50;
|
|
15
|
+
}
|
|
16
|
+
.mcpe-dropdown-menu-separator {
|
|
17
|
+
@apply -mx-1 my-1 h-px bg-muted;
|
|
18
|
+
}
|
|
19
|
+
.mcpe-dropdown-menu-label {
|
|
20
|
+
@apply px-2 py-1.5 text-sm font-semibold;
|
|
21
|
+
}
|
|
22
|
+
.mcpe-dropdown-menu-shortcut {
|
|
23
|
+
@apply ml-auto text-xs tracking-widest opacity-60;
|
|
24
|
+
}
|
|
25
|
+
.mcpe-dropdown-menu-item-icon {
|
|
26
|
+
@apply mr-2 h-4 w-4;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-feedback {
|
|
3
|
+
@apply inline-flex items-center gap-0.5;
|
|
4
|
+
}
|
|
5
|
+
.mcpe-feedback-btn {
|
|
6
|
+
@apply inline-flex items-center justify-center h-8 w-8 rounded-md transition-colors
|
|
7
|
+
hover:bg-accent cursor-pointer border-0 bg-transparent text-muted-foreground
|
|
8
|
+
[&_svg]:size-4 [&_svg]:shrink-0;
|
|
9
|
+
}
|
|
10
|
+
.mcpe-feedback-btn-selected {
|
|
11
|
+
@apply ring-1 ring-ring;
|
|
12
|
+
}
|
|
13
|
+
.mcpe-feedback-btn-up.mcpe-feedback-btn-selected {
|
|
14
|
+
@apply text-emerald-500 bg-emerald-500/10 hover:bg-emerald-500/15;
|
|
15
|
+
}
|
|
16
|
+
.mcpe-feedback-btn-down.mcpe-feedback-btn-selected {
|
|
17
|
+
@apply text-destructive bg-destructive/10 hover:bg-destructive/15;
|
|
18
|
+
}
|
|
19
|
+
.mcpe-feedback-separator {
|
|
20
|
+
@apply inline-block w-px h-4 bg-border mx-1;
|
|
21
|
+
}
|
|
22
|
+
.mcpe-feedback-form {
|
|
23
|
+
@apply flex gap-2 items-center mt-2;
|
|
24
|
+
}
|
|
25
|
+
.mcpe-feedback-input {
|
|
26
|
+
@apply flex-1 rounded-md border border-input bg-background px-3 py-1.5 text-sm
|
|
27
|
+
placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring;
|
|
28
|
+
}
|
|
29
|
+
.mcpe-feedback-submit {
|
|
30
|
+
@apply rounded-md bg-primary text-primary-foreground px-3 py-1.5 text-sm font-medium
|
|
31
|
+
cursor-pointer hover:bg-primary/90 transition-colors;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-input {
|
|
3
|
+
@apply flex h-9 w-full rounded-md border border-input px-3 py-1 text-base
|
|
4
|
+
shadow-sm transition-colors
|
|
5
|
+
file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground
|
|
6
|
+
placeholder:text-muted-foreground
|
|
7
|
+
focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background
|
|
8
|
+
disabled:cursor-not-allowed disabled:opacity-50
|
|
9
|
+
md:text-sm;
|
|
10
|
+
background-color: var(--color-background);
|
|
11
|
+
color: var(--color-foreground);
|
|
12
|
+
}
|
|
13
|
+
.mcpe-input::placeholder {
|
|
14
|
+
color: var(--color-muted-foreground);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-loader {
|
|
3
|
+
@apply inline-block animate-spin rounded-full border-2 border-current border-t-transparent;
|
|
4
|
+
}
|
|
5
|
+
.mcpe-loader-sm {
|
|
6
|
+
@apply h-4 w-4;
|
|
7
|
+
}
|
|
8
|
+
.mcpe-loader-md {
|
|
9
|
+
@apply h-6 w-6;
|
|
10
|
+
}
|
|
11
|
+
.mcpe-loader-lg {
|
|
12
|
+
@apply h-8 w-8;
|
|
13
|
+
}
|
|
14
|
+
.mcpe-loader-xl {
|
|
15
|
+
@apply h-12 w-12;
|
|
16
|
+
}
|
|
17
|
+
.mcpe-loader-muted {
|
|
18
|
+
@apply text-muted-foreground;
|
|
19
|
+
}
|
|
20
|
+
.mcpe-loader-primary {
|
|
21
|
+
@apply text-primary;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-mcp-app-frame {
|
|
3
|
+
@apply block w-full rounded-xl overflow-hidden;
|
|
4
|
+
border: 1px solid var(--color-border);
|
|
5
|
+
background-color: var(--color-card);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.mcpe-mcp-app-frame iframe {
|
|
9
|
+
@apply block w-full;
|
|
10
|
+
border: none;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-mcp-consent-dialog-server {
|
|
3
|
+
@apply flex items-center gap-3 pb-4;
|
|
4
|
+
border-bottom: 1px solid var(--color-border);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.mcpe-mcp-consent-dialog-icon {
|
|
8
|
+
@apply h-10 w-10 rounded-lg overflow-hidden flex items-center justify-center text-lg font-bold shrink-0;
|
|
9
|
+
background-color: var(--color-accent);
|
|
10
|
+
color: var(--color-accent-foreground);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.mcpe-mcp-consent-dialog-server-name {
|
|
14
|
+
@apply font-semibold text-base;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.mcpe-mcp-consent-dialog-server-meta {
|
|
18
|
+
@apply text-xs;
|
|
19
|
+
color: var(--color-muted-foreground);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.mcpe-mcp-consent-dialog-scopes {
|
|
23
|
+
@apply flex flex-col gap-2 py-3;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.mcpe-mcp-consent-dialog-scope-item {
|
|
27
|
+
@apply flex items-start gap-2 rounded-lg p-3;
|
|
28
|
+
background-color: var(--color-muted);
|
|
29
|
+
border: 1px solid var(--color-border);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.mcpe-mcp-consent-dialog-scope-resource {
|
|
33
|
+
@apply font-mono text-xs font-semibold;
|
|
34
|
+
color: var(--color-primary);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.mcpe-mcp-consent-dialog-scope-perms {
|
|
38
|
+
@apply flex flex-wrap gap-1 mt-0.5;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.mcpe-mcp-consent-dialog-scope-perm {
|
|
42
|
+
@apply rounded px-1.5 py-0.5 text-[10px] font-medium font-mono uppercase;
|
|
43
|
+
background-color: var(--color-secondary);
|
|
44
|
+
color: var(--color-secondary-foreground);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.mcpe-mcp-consent-dialog-actions {
|
|
48
|
+
@apply flex gap-2 pt-2;
|
|
49
|
+
border-top: 1px solid var(--color-border);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-mcp-resource-browser {
|
|
3
|
+
@apply flex flex-col gap-1;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.mcpe-mcp-resource-browser-item {
|
|
7
|
+
@apply flex items-center gap-3 rounded-lg px-3 py-2.5 cursor-pointer transition-colors;
|
|
8
|
+
border: 1px solid transparent;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.mcpe-mcp-resource-browser-item:hover {
|
|
12
|
+
background-color: var(--color-accent);
|
|
13
|
+
border-color: var(--color-border);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.mcpe-mcp-resource-browser-item-selected {
|
|
17
|
+
background-color: var(--color-accent);
|
|
18
|
+
border-color: var(--color-ring);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.mcpe-mcp-resource-browser-icon {
|
|
22
|
+
@apply h-8 w-8 rounded-md flex items-center justify-center text-xs font-mono shrink-0;
|
|
23
|
+
background-color: var(--color-muted);
|
|
24
|
+
color: var(--color-muted-foreground);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.mcpe-mcp-resource-browser-name {
|
|
28
|
+
@apply text-sm font-medium truncate;
|
|
29
|
+
flex: 1;
|
|
30
|
+
min-width: 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.mcpe-mcp-resource-browser-type {
|
|
34
|
+
@apply text-xs font-mono shrink-0;
|
|
35
|
+
color: var(--color-muted-foreground);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.mcpe-mcp-resource-browser-empty {
|
|
39
|
+
@apply py-8 text-center text-sm;
|
|
40
|
+
color: var(--color-muted-foreground);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mcpe-mcp-scope-inspector {
|
|
3
|
+
@apply flex flex-col gap-1;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.mcpe-mcp-scope-inspector-item {
|
|
7
|
+
@apply rounded-lg overflow-hidden;
|
|
8
|
+
border: 1px solid var(--color-border);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.mcpe-mcp-scope-inspector-trigger {
|
|
12
|
+
@apply flex w-full items-center justify-between px-4 py-3 text-left;
|
|
13
|
+
background-color: var(--color-card);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.mcpe-mcp-scope-inspector-trigger:hover {
|
|
17
|
+
background-color: var(--color-accent);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.mcpe-mcp-scope-inspector-resource {
|
|
21
|
+
@apply font-mono text-sm font-medium;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.mcpe-mcp-scope-inspector-perms {
|
|
25
|
+
@apply flex items-center gap-1;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.mcpe-mcp-scope-inspector-perm {
|
|
29
|
+
@apply rounded px-1.5 py-0.5 text-[10px] font-mono font-medium uppercase;
|
|
30
|
+
background-color: var(--color-secondary);
|
|
31
|
+
color: var(--color-secondary-foreground);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.mcpe-mcp-scope-inspector-chevron {
|
|
35
|
+
@apply h-4 w-4 shrink-0 transition-transform duration-200;
|
|
36
|
+
color: var(--color-muted-foreground);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.mcpe-mcp-scope-inspector-chevron-open {
|
|
40
|
+
transform: rotate(180deg);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.mcpe-mcp-scope-inspector-body {
|
|
44
|
+
@apply px-4 py-3 text-sm;
|
|
45
|
+
background-color: var(--color-muted);
|
|
46
|
+
color: var(--color-muted-foreground);
|
|
47
|
+
border-top: 1px solid var(--color-border);
|
|
48
|
+
}
|
|
49
|
+
}
|