nitrostack 1.0.71 → 1.0.73
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/dist/auth/api-key.js.map +1 -1
- package/dist/auth/client.js.map +1 -1
- package/dist/auth/index.d.ts +2 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +3 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/middleware.d.ts +1 -1
- package/dist/auth/middleware.d.ts.map +1 -1
- package/dist/auth/middleware.js.map +1 -1
- package/dist/auth/secure-secret.d.ts +136 -0
- package/dist/auth/secure-secret.d.ts.map +1 -0
- package/dist/auth/secure-secret.js +182 -0
- package/dist/auth/secure-secret.js.map +1 -0
- package/dist/auth/server-metadata.d.ts.map +1 -1
- package/dist/auth/server-metadata.js.map +1 -1
- package/dist/auth/simple-jwt.d.ts +100 -14
- package/dist/auth/simple-jwt.d.ts.map +1 -1
- package/dist/auth/simple-jwt.js +19 -9
- package/dist/auth/simple-jwt.js.map +1 -1
- package/dist/auth/token-store.js +1 -1
- package/dist/auth/token-store.js.map +1 -1
- package/dist/auth/token-validation.js +1 -1
- package/dist/auth/token-validation.js.map +1 -1
- package/dist/cli/commands/build.js +1 -1
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/generate-types.js +12 -12
- package/dist/cli/commands/generate-types.js.map +1 -1
- package/dist/cli/commands/generate.d.ts +8 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +13 -12
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/init.js +1 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts +10 -0
- package/dist/cli/commands/upgrade.d.ts.map +1 -0
- package/dist/cli/commands/upgrade.js +221 -0
- package/dist/cli/commands/upgrade.js.map +1 -0
- package/dist/cli/index.js +7 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/app-decorator.d.ts +4 -3
- package/dist/core/app-decorator.d.ts.map +1 -1
- package/dist/core/app-decorator.js +67 -28
- package/dist/core/app-decorator.js.map +1 -1
- package/dist/core/builders.d.ts +19 -7
- package/dist/core/builders.d.ts.map +1 -1
- package/dist/core/builders.js +15 -8
- package/dist/core/builders.js.map +1 -1
- package/dist/core/component.d.ts +8 -8
- package/dist/core/component.d.ts.map +1 -1
- package/dist/core/component.js +3 -2
- package/dist/core/component.js.map +1 -1
- package/dist/core/config-module.d.ts +11 -4
- package/dist/core/config-module.d.ts.map +1 -1
- package/dist/core/config-module.js +1 -1
- package/dist/core/config-module.js.map +1 -1
- package/dist/core/decorators/cache.decorator.d.ts +9 -9
- package/dist/core/decorators/cache.decorator.d.ts.map +1 -1
- package/dist/core/decorators/cache.decorator.js +3 -3
- package/dist/core/decorators/cache.decorator.js.map +1 -1
- package/dist/core/decorators/health-check.decorator.d.ts +3 -3
- package/dist/core/decorators/health-check.decorator.d.ts.map +1 -1
- package/dist/core/decorators/health-check.decorator.js +2 -2
- package/dist/core/decorators/health-check.decorator.js.map +1 -1
- package/dist/core/decorators/rate-limit.decorator.d.ts +5 -4
- package/dist/core/decorators/rate-limit.decorator.d.ts.map +1 -1
- package/dist/core/decorators/rate-limit.decorator.js +3 -3
- package/dist/core/decorators/rate-limit.decorator.js.map +1 -1
- package/dist/core/decorators.d.ts +47 -29
- package/dist/core/decorators.d.ts.map +1 -1
- package/dist/core/decorators.js +9 -9
- package/dist/core/decorators.js.map +1 -1
- package/dist/core/di/container.d.ts +21 -4
- package/dist/core/di/container.d.ts.map +1 -1
- package/dist/core/di/container.js +11 -7
- package/dist/core/di/container.js.map +1 -1
- package/dist/core/di/injectable.decorator.d.ts +5 -3
- package/dist/core/di/injectable.decorator.d.ts.map +1 -1
- package/dist/core/di/injectable.decorator.js.map +1 -1
- package/dist/core/errors.d.ts +4 -4
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js.map +1 -1
- package/dist/core/events/event-emitter.d.ts +3 -3
- package/dist/core/events/event-emitter.d.ts.map +1 -1
- package/dist/core/events/event-emitter.js.map +1 -1
- package/dist/core/events/event.decorator.d.ts +5 -5
- package/dist/core/events/event.decorator.d.ts.map +1 -1
- package/dist/core/events/event.decorator.js +10 -6
- package/dist/core/events/event.decorator.js.map +1 -1
- package/dist/core/events/log-emitter.d.ts +7 -1
- package/dist/core/events/log-emitter.d.ts.map +1 -1
- package/dist/core/events/log-emitter.js.map +1 -1
- package/dist/core/filters/exception-filter.decorator.d.ts +5 -5
- package/dist/core/filters/exception-filter.decorator.d.ts.map +1 -1
- package/dist/core/filters/exception-filter.decorator.js +3 -3
- package/dist/core/filters/exception-filter.decorator.js.map +1 -1
- package/dist/core/filters/exception-filter.interface.d.ts +14 -5
- package/dist/core/filters/exception-filter.interface.d.ts.map +1 -1
- package/dist/core/guards/apikey.guard.d.ts +1 -1
- package/dist/core/guards/apikey.guard.d.ts.map +1 -1
- package/dist/core/guards/guard.interface.d.ts +1 -1
- package/dist/core/guards/guard.interface.d.ts.map +1 -1
- package/dist/core/guards/jwt.guard.d.ts +1 -1
- package/dist/core/guards/jwt.guard.d.ts.map +1 -1
- package/dist/core/guards/oauth.guard.d.ts +1 -1
- package/dist/core/guards/oauth.guard.d.ts.map +1 -1
- package/dist/core/guards/use-guards.decorator.d.ts +3 -3
- package/dist/core/guards/use-guards.decorator.d.ts.map +1 -1
- package/dist/core/guards/use-guards.decorator.js +1 -1
- package/dist/core/guards/use-guards.decorator.js.map +1 -1
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/interceptors/interceptor.decorator.d.ts +4 -4
- package/dist/core/interceptors/interceptor.decorator.d.ts.map +1 -1
- package/dist/core/interceptors/interceptor.decorator.js +2 -2
- package/dist/core/interceptors/interceptor.decorator.js.map +1 -1
- package/dist/core/interceptors/interceptor.interface.d.ts +3 -3
- package/dist/core/interceptors/interceptor.interface.d.ts.map +1 -1
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/middleware/middleware.decorator.d.ts +4 -4
- package/dist/core/middleware/middleware.decorator.d.ts.map +1 -1
- package/dist/core/middleware/middleware.decorator.js +2 -2
- package/dist/core/middleware/middleware.decorator.js.map +1 -1
- package/dist/core/middleware/middleware.interface.d.ts +3 -3
- package/dist/core/middleware/middleware.interface.d.ts.map +1 -1
- package/dist/core/module.d.ts +33 -14
- package/dist/core/module.d.ts.map +1 -1
- package/dist/core/module.js +11 -6
- package/dist/core/module.js.map +1 -1
- package/dist/core/oauth-module.d.ts +9 -3
- package/dist/core/oauth-module.d.ts.map +1 -1
- package/dist/core/oauth-module.js +4 -3
- package/dist/core/oauth-module.js.map +1 -1
- package/dist/core/pipes/pipe.decorator.d.ts +14 -5
- package/dist/core/pipes/pipe.decorator.d.ts.map +1 -1
- package/dist/core/pipes/pipe.decorator.js +2 -2
- package/dist/core/pipes/pipe.decorator.js.map +1 -1
- package/dist/core/pipes/pipe.interface.d.ts +9 -4
- package/dist/core/pipes/pipe.interface.d.ts.map +1 -1
- package/dist/core/prompt.d.ts +13 -4
- package/dist/core/prompt.d.ts.map +1 -1
- package/dist/core/prompt.js +2 -2
- package/dist/core/prompt.js.map +1 -1
- package/dist/core/resource.d.ts +7 -2
- package/dist/core/resource.d.ts.map +1 -1
- package/dist/core/resource.js +2 -2
- package/dist/core/resource.js.map +1 -1
- package/dist/core/server.d.ts +49 -3
- package/dist/core/server.d.ts.map +1 -1
- package/dist/core/server.js +61 -34
- package/dist/core/server.js.map +1 -1
- package/dist/core/tool.d.ts +44 -16
- package/dist/core/tool.d.ts.map +1 -1
- package/dist/core/tool.js +19 -6
- package/dist/core/tool.js.map +1 -1
- package/dist/core/transports/discovery-http-server.d.ts +7 -1
- package/dist/core/transports/discovery-http-server.d.ts.map +1 -1
- package/dist/core/transports/discovery-http-server.js.map +1 -1
- package/dist/core/transports/http-server.d.ts +2 -2
- package/dist/core/transports/http-server.d.ts.map +1 -1
- package/dist/core/transports/http-server.js +1 -1
- package/dist/core/transports/http-server.js.map +1 -1
- package/dist/core/transports/streamable-http.d.ts +4 -4
- package/dist/core/transports/streamable-http.d.ts.map +1 -1
- package/dist/core/transports/streamable-http.js +1 -1
- package/dist/core/transports/streamable-http.js.map +1 -1
- package/dist/core/types.d.ts +87 -15
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/widgets/widget-registry.d.ts +2 -2
- package/dist/core/widgets/widget-registry.d.ts.map +1 -1
- package/dist/core/widgets/widget-registry.js +1 -1
- package/dist/core/widgets/widget-registry.js.map +1 -1
- package/dist/testing/index.d.ts +44 -17
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +5 -8
- package/dist/testing/index.js.map +1 -1
- package/dist/ui-next/index.d.ts +1 -1
- package/dist/ui-next/index.d.ts.map +1 -1
- package/dist/ui-next/index.js.map +1 -1
- package/dist/widgets/hooks/useWidgetSDK.d.ts +5 -5
- package/dist/widgets/runtime/WidgetLayout.js.map +1 -1
- package/dist/widgets/sdk.d.ts +5 -5
- package/dist/widgets/sdk.d.ts.map +1 -1
- package/dist/widgets/sdk.js.map +1 -1
- package/package.json +1 -1
- package/src/studio/app/api/auth/fetch-metadata/route.ts +3 -2
- package/src/studio/app/api/auth/register-client/route.ts +3 -2
- package/src/studio/app/api/chat/route.ts +33 -17
- package/src/studio/app/api/health/checks/route.ts +5 -4
- package/src/studio/app/api/init/route.ts +3 -2
- package/src/studio/app/api/ping/route.ts +3 -2
- package/src/studio/app/api/prompts/[name]/route.ts +4 -3
- package/src/studio/app/api/prompts/route.ts +3 -2
- package/src/studio/app/api/resources/[...uri]/route.ts +3 -2
- package/src/studio/app/api/resources/route.ts +3 -2
- package/src/studio/app/api/roots/route.ts +3 -2
- package/src/studio/app/api/sampling/route.ts +3 -2
- package/src/studio/app/api/tools/[name]/call/route.ts +3 -2
- package/src/studio/app/api/tools/route.ts +4 -3
- package/src/studio/app/api/widget-examples/route.ts +5 -4
- package/src/studio/app/auth/callback/page.tsx +9 -8
- package/src/studio/app/chat/page.tsx +1535 -468
- package/src/studio/app/chat/page.tsx.backup +1046 -187
- package/src/studio/app/globals.css +361 -191
- package/src/studio/app/health/page.tsx +73 -77
- package/src/studio/app/layout.tsx +9 -11
- package/src/studio/app/logs/page.tsx +31 -32
- package/src/studio/app/page.tsx +136 -232
- package/src/studio/app/prompts/page.tsx +115 -97
- package/src/studio/app/resources/page.tsx +115 -124
- package/src/studio/app/settings/page.tsx +1083 -127
- package/src/studio/app/tools/page.tsx +343 -0
- package/src/studio/components/EnlargeModal.tsx +76 -65
- package/src/studio/components/LogMessage.tsx +6 -6
- package/src/studio/components/MarkdownRenderer.tsx +246 -349
- package/src/studio/components/Sidebar.tsx +165 -210
- package/src/studio/components/SplashScreen.tsx +109 -0
- package/src/studio/components/ToolCard.tsx +50 -41
- package/src/studio/components/VoiceOrbOverlay.tsx +475 -0
- package/src/studio/components/WidgetErrorBoundary.tsx +48 -0
- package/src/studio/components/WidgetRenderer.tsx +169 -211
- package/src/studio/components/ops/OpsCanvas.tsx +748 -0
- package/src/studio/components/ops/OpsNodeDetailPanel.tsx +150 -0
- package/src/studio/components/ops/OpsSummaryBar.tsx +90 -0
- package/src/studio/components/ops/index.ts +5 -0
- package/src/studio/components/ops/nodes/BaseNode.tsx +65 -0
- package/src/studio/components/ops/nodes/LLMCallNode.tsx +34 -0
- package/src/studio/components/ops/nodes/LLMResponseNode.tsx +33 -0
- package/src/studio/components/ops/nodes/ToolCallNode.tsx +30 -0
- package/src/studio/components/ops/nodes/ToolResultNode.tsx +43 -0
- package/src/studio/components/ops/nodes/UserPromptNode.tsx +34 -0
- package/src/studio/components/ops/nodes/WidgetRenderNode.tsx +23 -0
- package/src/studio/components/ops/nodes/index.ts +8 -0
- package/src/studio/components/tools/ToolsCanvas.tsx +327 -0
- package/src/studio/lib/api.ts +61 -42
- package/src/studio/lib/http-client-transport.ts +2 -2
- package/src/studio/lib/llm-service.ts +126 -47
- package/src/studio/lib/mcp-client.ts +9 -6
- package/src/studio/lib/ops-store.ts +427 -0
- package/src/studio/lib/ops-tracker.ts +416 -0
- package/src/studio/lib/ops-types.ts +164 -0
- package/src/studio/lib/store.ts +23 -11
- package/src/studio/lib/types.ts +228 -38
- package/src/studio/lib/widget-loader.ts +2 -2
- package/src/studio/package-lock.json +3303 -0
- package/src/studio/package.json +3 -1
- package/src/studio/public/NitroStudio Isotype Color.png +0 -0
- package/src/studio/tailwind.config.ts +63 -17
- package/templates/typescript-oauth/src/modules/flights/flights.prompts.ts +19 -22
- package/dist/cli/build-widgets.mjs +0 -165
- package/src/studio/app/auth/page.tsx +0 -560
- package/src/studio/app/ping/page.tsx +0 -209
|
@@ -1,110 +1,152 @@
|
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600&display=swap');
|
|
2
|
+
|
|
1
3
|
@tailwind base;
|
|
2
4
|
@tailwind components;
|
|
3
5
|
@tailwind utilities;
|
|
4
6
|
|
|
7
|
+
@layer utilities {
|
|
8
|
+
.animate-spin-slow {
|
|
9
|
+
animation: spin 3s linear infinite;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
5
13
|
@layer base {
|
|
6
14
|
:root {
|
|
7
|
-
/*
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
15
|
+
/* MCP Brand - Light Mode Palette */
|
|
16
|
+
/* Background */
|
|
17
|
+
--background: 246 247 250;
|
|
18
|
+
/* #F5F6FA - canvas */
|
|
19
|
+
--foreground: 234 8 9;
|
|
20
|
+
/* #121217 - slateInk */
|
|
12
21
|
--card: 0 0% 100%;
|
|
22
|
+
/* #FFFFFF - white */
|
|
23
|
+
--card-foreground: 234 8 9;
|
|
24
|
+
/* #121217 */
|
|
25
|
+
|
|
26
|
+
/* Primary: CoolMint */
|
|
27
|
+
--primary: 173 60% 44%;
|
|
28
|
+
/* #2AB5A5 */
|
|
29
|
+
--primary-foreground: 0 0% 100%;
|
|
13
30
|
/* #FFFFFF */
|
|
14
|
-
|
|
15
|
-
/*
|
|
16
|
-
--
|
|
31
|
+
|
|
32
|
+
/* Secondary/Accent: SignalBlue */
|
|
33
|
+
--secondary: 217 89% 61%;
|
|
34
|
+
/* #3B82F6 */
|
|
35
|
+
--secondary-foreground: 0 0% 100%;
|
|
17
36
|
/* #FFFFFF */
|
|
18
|
-
|
|
19
|
-
/*
|
|
20
|
-
--
|
|
21
|
-
/* #
|
|
22
|
-
--
|
|
23
|
-
/* #
|
|
24
|
-
|
|
25
|
-
/*
|
|
26
|
-
--
|
|
27
|
-
/* #
|
|
28
|
-
--
|
|
29
|
-
/* #F1F5F9 */
|
|
30
|
-
--muted-foreground: 215.4 16.3% 46.9%;
|
|
31
|
-
/* #64748B */
|
|
32
|
-
--accent: 217 91% 60%;
|
|
33
|
-
/* #3B9FFF - Nitrocloud Blue */
|
|
34
|
-
--accent-foreground: 222.2 84% 4.9%;
|
|
35
|
-
/* #020617 */
|
|
36
|
-
--destructive: 0 84.2% 60.2%;
|
|
37
|
-
/* #EF4444 */
|
|
38
|
-
--destructive-foreground: 0 0% 100%;
|
|
37
|
+
|
|
38
|
+
/* Muted */
|
|
39
|
+
--muted: 225 12% 95%;
|
|
40
|
+
/* #EEF0F6 - border subtle */
|
|
41
|
+
--muted-foreground: 231 10% 38%;
|
|
42
|
+
/* #5F6475 - text secondary */
|
|
43
|
+
|
|
44
|
+
/* Accent: Steel */
|
|
45
|
+
--accent: 188 25% 40%;
|
|
46
|
+
/* #4D777F */
|
|
47
|
+
--accent-foreground: 0 0% 100%;
|
|
39
48
|
/* #FFFFFF */
|
|
40
|
-
|
|
41
|
-
/*
|
|
42
|
-
--
|
|
43
|
-
/* #
|
|
44
|
-
--ring: 217 91% 60%;
|
|
45
|
-
/* #3B9FFF - Nitrocloud Blue */
|
|
46
|
-
--radius: 0.75rem;
|
|
47
|
-
/* 12px - Global default */
|
|
48
|
-
--success: 142.1 76.2% 36.3%;
|
|
49
|
-
/* #22C55E */
|
|
49
|
+
|
|
50
|
+
/* Status Colors */
|
|
51
|
+
--success: 173 60% 44%;
|
|
52
|
+
/* #2AB5A5 - coolMint */
|
|
50
53
|
--warning: 38 92% 50%;
|
|
51
54
|
/* #F59E0B */
|
|
52
|
-
--
|
|
53
|
-
/* #
|
|
55
|
+
--error: 0 84% 60%;
|
|
56
|
+
/* #EF4444 */
|
|
57
|
+
--info: 184 100% 34%;
|
|
58
|
+
/* #0A9CA9 */
|
|
59
|
+
|
|
60
|
+
/* Destructive (maps to error) */
|
|
61
|
+
--destructive: 0 84% 60%;
|
|
62
|
+
/* #EF4444 */
|
|
63
|
+
--destructive-foreground: 0 0% 100%;
|
|
64
|
+
/* #FFFFFF */
|
|
65
|
+
|
|
66
|
+
/* Borders */
|
|
67
|
+
--border: 228 29% 91%;
|
|
68
|
+
/* #E6E8F0 - border soft */
|
|
69
|
+
--input: 228 29% 91%;
|
|
70
|
+
/* #E6E8F0 */
|
|
71
|
+
--ring: 173 60% 44%;
|
|
72
|
+
/* #2AB5A5 - coolMint focus */
|
|
54
73
|
|
|
55
|
-
/*
|
|
56
|
-
--
|
|
57
|
-
/*
|
|
58
|
-
|
|
59
|
-
/*
|
|
74
|
+
/* Radius: 4px default */
|
|
75
|
+
--radius: 0.25rem;
|
|
76
|
+
/* 4px */
|
|
77
|
+
|
|
78
|
+
/* Popover */
|
|
79
|
+
--popover: 0 0% 100%;
|
|
80
|
+
/* #FFFFFF */
|
|
81
|
+
--popover-foreground: 234 8 9;
|
|
82
|
+
/* #121217 */
|
|
60
83
|
}
|
|
61
84
|
|
|
62
85
|
.dark {
|
|
63
|
-
/*
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
/* #3B9FFF */
|
|
102
|
-
--success: 142.1 70.6% 45.3%;
|
|
103
|
-
/* #10B981 */
|
|
86
|
+
/* MCP Brand - Dark Mode Palette */
|
|
87
|
+
/* Background */
|
|
88
|
+
--background: 228 30% 6%;
|
|
89
|
+
/* #0E0F14 - base */
|
|
90
|
+
--foreground: 240 6% 92%;
|
|
91
|
+
/* #E9E9F0 - text primary */
|
|
92
|
+
--card: 240 7% 11%;
|
|
93
|
+
/* #1B1B20 - surface */
|
|
94
|
+
--card-foreground: 240 6% 92%;
|
|
95
|
+
/* #E9E9F0 */
|
|
96
|
+
|
|
97
|
+
/* Primary: CoolMint (same as light) */
|
|
98
|
+
--primary: 173 60% 44%;
|
|
99
|
+
/* #2AB5A5 */
|
|
100
|
+
--primary-foreground: 0 0% 100%;
|
|
101
|
+
/* #FFFFFF */
|
|
102
|
+
|
|
103
|
+
/* Secondary/Accent: SignalBlue (same as light) */
|
|
104
|
+
--secondary: 217 89% 61%;
|
|
105
|
+
/* #3B82F6 */
|
|
106
|
+
--secondary-foreground: 0 0% 100%;
|
|
107
|
+
/* #FFFFFF */
|
|
108
|
+
|
|
109
|
+
/* Muted */
|
|
110
|
+
--muted: 0 12% 17%;
|
|
111
|
+
/* #312626 - border panel */
|
|
112
|
+
--muted-foreground: 243 17% 75%;
|
|
113
|
+
/* #B4B4CC - text muted */
|
|
114
|
+
|
|
115
|
+
/* Accent: Steel */
|
|
116
|
+
--accent: 188 25% 40%;
|
|
117
|
+
/* #4D777F */
|
|
118
|
+
--accent-foreground: 0 0% 100%;
|
|
119
|
+
/* #FFFFFF */
|
|
120
|
+
|
|
121
|
+
/* Status Colors (same as light) */
|
|
122
|
+
--success: 173 60% 44%;
|
|
123
|
+
/* #2AB5A5 */
|
|
104
124
|
--warning: 38 92% 50%;
|
|
105
125
|
/* #F59E0B */
|
|
106
|
-
--
|
|
107
|
-
/* #
|
|
126
|
+
--error: 0 84% 60%;
|
|
127
|
+
/* #EF4444 */
|
|
128
|
+
--info: 184 100% 34%;
|
|
129
|
+
/* #0A9CA9 */
|
|
130
|
+
|
|
131
|
+
/* Destructive */
|
|
132
|
+
--destructive: 0 84% 60%;
|
|
133
|
+
/* #EF4444 */
|
|
134
|
+
--destructive-foreground: 0 0% 100%;
|
|
135
|
+
/* #FFFFFF */
|
|
136
|
+
|
|
137
|
+
/* Borders */
|
|
138
|
+
--border: 0 12% 17%;
|
|
139
|
+
/* #312626 */
|
|
140
|
+
--input: 0 12% 17%;
|
|
141
|
+
/* #312626 */
|
|
142
|
+
--ring: 173 60% 44%;
|
|
143
|
+
/* #2AB5A5 */
|
|
144
|
+
|
|
145
|
+
/* Popover */
|
|
146
|
+
--popover: 240 7% 11%;
|
|
147
|
+
/* #1B1B20 */
|
|
148
|
+
--popover-foreground: 240 6% 92%;
|
|
149
|
+
/* #E9E9F0 */
|
|
108
150
|
}
|
|
109
151
|
|
|
110
152
|
* {
|
|
@@ -113,41 +155,63 @@
|
|
|
113
155
|
|
|
114
156
|
body {
|
|
115
157
|
@apply bg-background text-foreground;
|
|
116
|
-
font-family: '
|
|
117
|
-
font-
|
|
158
|
+
font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
159
|
+
font-size: 16px;
|
|
160
|
+
line-height: 150%;
|
|
161
|
+
font-weight: 400;
|
|
118
162
|
-webkit-font-smoothing: antialiased;
|
|
119
163
|
-moz-osx-font-smoothing: grayscale;
|
|
120
164
|
}
|
|
121
165
|
|
|
122
|
-
|
|
123
|
-
pre,
|
|
124
|
-
.font-mono {
|
|
125
|
-
font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
|
|
126
|
-
}
|
|
127
|
-
|
|
166
|
+
/* Typography Scale - MCP Branding */
|
|
128
167
|
h1,
|
|
129
168
|
h2,
|
|
130
|
-
h3
|
|
169
|
+
h3 {
|
|
170
|
+
font-family: 'Space Grotesk', sans-serif;
|
|
171
|
+
}
|
|
172
|
+
|
|
131
173
|
h4,
|
|
132
174
|
h5,
|
|
133
175
|
h6 {
|
|
134
|
-
|
|
176
|
+
font-family: 'IBM Plex Sans', sans-serif;
|
|
135
177
|
}
|
|
136
178
|
|
|
137
179
|
h1 {
|
|
138
|
-
|
|
180
|
+
font-size: 48px;
|
|
181
|
+
line-height: 125%;
|
|
182
|
+
font-weight: 700;
|
|
183
|
+
/* Bold */
|
|
139
184
|
}
|
|
140
185
|
|
|
141
186
|
h2 {
|
|
142
|
-
|
|
187
|
+
font-size: 36px;
|
|
188
|
+
line-height: 130%;
|
|
189
|
+
font-weight: 600;
|
|
190
|
+
/* SemiBold */
|
|
143
191
|
}
|
|
144
192
|
|
|
145
193
|
h3 {
|
|
146
|
-
|
|
194
|
+
font-size: 28px;
|
|
195
|
+
line-height: 135%;
|
|
196
|
+
font-weight: 500;
|
|
197
|
+
/* Medium */
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
h4 {
|
|
201
|
+
font-size: 16px;
|
|
202
|
+
line-height: 150%;
|
|
203
|
+
font-weight: 500;
|
|
204
|
+
/* Medium */
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
code,
|
|
208
|
+
pre,
|
|
209
|
+
.font-mono {
|
|
210
|
+
font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
|
|
147
211
|
}
|
|
148
212
|
}
|
|
149
213
|
|
|
150
|
-
/*
|
|
214
|
+
/* MCP Scrollbar */
|
|
151
215
|
::-webkit-scrollbar {
|
|
152
216
|
width: 10px;
|
|
153
217
|
height: 10px;
|
|
@@ -177,15 +241,25 @@
|
|
|
177
241
|
transition-duration: 150ms;
|
|
178
242
|
}
|
|
179
243
|
|
|
180
|
-
/*
|
|
244
|
+
/* MCP Component System */
|
|
181
245
|
@layer components {
|
|
246
|
+
|
|
247
|
+
/* Cards - 4px radius per MCP */
|
|
248
|
+
.card {
|
|
249
|
+
@apply rounded border bg-card text-card-foreground;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
/* Light mode shadow */
|
|
182
253
|
.card {
|
|
183
|
-
|
|
184
|
-
|
|
254
|
+
box-shadow: 0px 1px 3px rgba(240, 100, 49, 0.08);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.dark .card {
|
|
258
|
+
box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.07);
|
|
185
259
|
}
|
|
186
260
|
|
|
187
261
|
.card-hover {
|
|
188
|
-
@apply card hover:
|
|
262
|
+
@apply card hover:border-primary/50;
|
|
189
263
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
190
264
|
}
|
|
191
265
|
|
|
@@ -193,44 +267,73 @@
|
|
|
193
267
|
transform: translateY(-2px);
|
|
194
268
|
}
|
|
195
269
|
|
|
270
|
+
/* Light mode medium shadow on hover */
|
|
271
|
+
.card-hover:hover {
|
|
272
|
+
box-shadow: 0px 4px 12px rgba(240, 100, 49, 0.11);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.dark .card-hover:hover {
|
|
276
|
+
box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.10);
|
|
277
|
+
}
|
|
278
|
+
|
|
196
279
|
.card-interactive {
|
|
197
280
|
@apply card-hover cursor-pointer;
|
|
198
281
|
}
|
|
199
282
|
|
|
200
|
-
/*
|
|
283
|
+
/* MCP Button System */
|
|
201
284
|
.btn {
|
|
202
|
-
@apply inline-flex items-center justify-center gap-2 rounded
|
|
285
|
+
@apply inline-flex items-center justify-center gap-2 rounded text-sm font-medium;
|
|
286
|
+
@apply ring-offset-background transition-all;
|
|
287
|
+
@apply focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2;
|
|
288
|
+
@apply disabled:pointer-events-none disabled:opacity-50;
|
|
203
289
|
padding: 0.625rem 1.25rem;
|
|
290
|
+
border-radius: 4px;
|
|
291
|
+
/* MCP 4px */
|
|
204
292
|
}
|
|
205
293
|
|
|
206
294
|
.btn-primary {
|
|
207
|
-
|
|
208
|
-
color: hsl(var(--primary-foreground));
|
|
209
|
-
@apply shadow-sm hover:opacity-90;
|
|
295
|
+
@apply bg-primary text-primary-foreground;
|
|
210
296
|
}
|
|
211
297
|
|
|
212
|
-
.btn-
|
|
213
|
-
|
|
214
|
-
color: hsl(var(--secondary-foreground));
|
|
215
|
-
@apply border hover:opacity-80;
|
|
298
|
+
.btn-primary:hover:not(:disabled) {
|
|
299
|
+
@apply opacity-90;
|
|
216
300
|
}
|
|
217
301
|
|
|
218
|
-
.btn-
|
|
219
|
-
|
|
220
|
-
|
|
302
|
+
.btn-primary {
|
|
303
|
+
box-shadow: 0px 1px 3px rgba(240, 100, 49, 0.08);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
.dark .btn-primary {
|
|
307
|
+
box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.07);
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
/* Focus ring: 2px as per MCP */
|
|
311
|
+
.btn-primary:focus-visible {
|
|
312
|
+
@apply ring-2 ring-primary ring-offset-2;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
.btn-secondary {
|
|
316
|
+
@apply bg-secondary text-secondary-foreground;
|
|
221
317
|
}
|
|
222
318
|
|
|
223
|
-
.btn-
|
|
224
|
-
|
|
319
|
+
.btn-secondary:hover:not(:disabled) {
|
|
320
|
+
@apply opacity-90;
|
|
225
321
|
}
|
|
226
322
|
|
|
227
323
|
.btn-outline {
|
|
228
|
-
background
|
|
229
|
-
@apply border border-input hover:bg-accent;
|
|
324
|
+
@apply bg-background border border-input;
|
|
230
325
|
}
|
|
231
326
|
|
|
232
|
-
.btn-outline:hover {
|
|
233
|
-
|
|
327
|
+
.btn-outline:hover:not(:disabled) {
|
|
328
|
+
@apply bg-accent text-accent-foreground;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
.btn-ghost {
|
|
332
|
+
@apply bg-transparent;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
.btn-ghost:hover:not(:disabled) {
|
|
336
|
+
@apply bg-accent text-accent-foreground;
|
|
234
337
|
}
|
|
235
338
|
|
|
236
339
|
.btn-sm {
|
|
@@ -243,9 +346,13 @@
|
|
|
243
346
|
padding: 0.75rem 1.5rem;
|
|
244
347
|
}
|
|
245
348
|
|
|
246
|
-
/*
|
|
349
|
+
/* MCP Badge System - 999px pill radius */
|
|
247
350
|
.badge {
|
|
248
|
-
@apply inline-flex items-center
|
|
351
|
+
@apply inline-flex items-center text-xs font-semibold transition-colors;
|
|
352
|
+
border-radius: 999px;
|
|
353
|
+
/* MCP pill */
|
|
354
|
+
padding: 6px 12px;
|
|
355
|
+
/* MCP spec */
|
|
249
356
|
}
|
|
250
357
|
|
|
251
358
|
.badge-primary {
|
|
@@ -253,44 +360,53 @@
|
|
|
253
360
|
}
|
|
254
361
|
|
|
255
362
|
.badge-secondary {
|
|
256
|
-
|
|
257
|
-
color: hsl(var(--secondary-foreground));
|
|
363
|
+
@apply bg-secondary/10 text-secondary ring-1 ring-inset ring-secondary/20;
|
|
258
364
|
}
|
|
259
365
|
|
|
260
366
|
.badge-success {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
@apply bg-emerald-500/10 text-emerald-400 ring-emerald-500/20;
|
|
367
|
+
background-color: hsl(var(--success) / 0.1);
|
|
368
|
+
color: hsl(var(--success));
|
|
369
|
+
@apply ring-1 ring-inset;
|
|
370
|
+
ring-color: hsl(var(--success) / 0.2);
|
|
266
371
|
}
|
|
267
372
|
|
|
268
373
|
.badge-warning {
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
@apply bg-amber-500/10 text-amber-400 ring-amber-500/20;
|
|
374
|
+
background-color: hsl(var(--warning) / 0.1);
|
|
375
|
+
color: hsl(var(--warning));
|
|
376
|
+
@apply ring-1 ring-inset;
|
|
377
|
+
ring-color: hsl(var(--warning) / 0.2);
|
|
274
378
|
}
|
|
275
379
|
|
|
276
380
|
.badge-error {
|
|
277
|
-
|
|
381
|
+
background-color: hsl(var(--error) / 0.1);
|
|
382
|
+
color: hsl(var(--error));
|
|
383
|
+
@apply ring-1 ring-inset;
|
|
384
|
+
ring-color: hsl(var(--error) / 0.2);
|
|
278
385
|
}
|
|
279
386
|
|
|
280
|
-
.
|
|
281
|
-
|
|
387
|
+
.badge-info {
|
|
388
|
+
background-color: hsl(var(--info) / 0.1);
|
|
389
|
+
color: hsl(var(--info));
|
|
390
|
+
@apply ring-1 ring-inset;
|
|
391
|
+
ring-color: hsl(var(--info) / 0.2);
|
|
282
392
|
}
|
|
283
393
|
|
|
284
|
-
/*
|
|
394
|
+
/* MCP Input System */
|
|
285
395
|
.input {
|
|
286
|
-
@apply flex h-10 w-full
|
|
396
|
+
@apply flex h-10 w-full border border-input bg-background px-3 py-2 text-sm;
|
|
397
|
+
@apply ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium;
|
|
398
|
+
@apply placeholder:text-muted-foreground;
|
|
399
|
+
@apply focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-0;
|
|
400
|
+
@apply disabled:cursor-not-allowed disabled:opacity-50;
|
|
401
|
+
border-radius: 4px;
|
|
402
|
+
/* MCP 4px */
|
|
287
403
|
}
|
|
288
404
|
|
|
289
405
|
.textarea {
|
|
290
406
|
@apply input min-h-[80px] resize-y;
|
|
291
407
|
}
|
|
292
408
|
|
|
293
|
-
/*
|
|
409
|
+
/* Status Indicators */
|
|
294
410
|
.status-dot {
|
|
295
411
|
@apply relative flex h-3 w-3 rounded-full;
|
|
296
412
|
}
|
|
@@ -301,31 +417,31 @@
|
|
|
301
417
|
}
|
|
302
418
|
|
|
303
419
|
.status-connected {
|
|
304
|
-
|
|
420
|
+
background-color: hsl(var(--success));
|
|
305
421
|
}
|
|
306
422
|
|
|
307
423
|
.status-connected::before {
|
|
308
|
-
|
|
424
|
+
background-color: hsl(var(--success));
|
|
309
425
|
}
|
|
310
426
|
|
|
311
427
|
.status-connecting {
|
|
312
|
-
|
|
428
|
+
background-color: hsl(var(--warning));
|
|
313
429
|
}
|
|
314
430
|
|
|
315
431
|
.status-connecting::before {
|
|
316
|
-
|
|
432
|
+
background-color: hsl(var(--warning));
|
|
317
433
|
}
|
|
318
434
|
|
|
319
435
|
.status-disconnected {
|
|
320
|
-
|
|
436
|
+
background-color: hsl(var(--error));
|
|
321
437
|
}
|
|
322
438
|
|
|
323
439
|
.status-disconnected::before {
|
|
324
|
-
|
|
440
|
+
background-color: hsl(var(--error));
|
|
325
441
|
animation: none;
|
|
326
442
|
}
|
|
327
443
|
|
|
328
|
-
/*
|
|
444
|
+
/* Loading States */
|
|
329
445
|
.skeleton {
|
|
330
446
|
@apply animate-pulse rounded-md bg-muted;
|
|
331
447
|
}
|
|
@@ -350,22 +466,32 @@
|
|
|
350
466
|
}
|
|
351
467
|
}
|
|
352
468
|
|
|
353
|
-
/*
|
|
469
|
+
/* MCP Animations */
|
|
354
470
|
@keyframes fadeIn {
|
|
355
471
|
from {
|
|
356
472
|
opacity: 0;
|
|
357
|
-
transform: translateY(8px);
|
|
358
473
|
}
|
|
359
474
|
|
|
360
475
|
to {
|
|
361
476
|
opacity: 1;
|
|
362
|
-
transform: translateY(0);
|
|
363
477
|
}
|
|
364
478
|
}
|
|
365
479
|
|
|
366
|
-
@keyframes
|
|
480
|
+
@keyframes slideInRight {
|
|
481
|
+
from {
|
|
482
|
+
transform: translateX(100%);
|
|
483
|
+
opacity: 0;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
to {
|
|
487
|
+
transform: translateX(0);
|
|
488
|
+
opacity: 1;
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
@keyframes slideInLeft {
|
|
367
493
|
from {
|
|
368
|
-
transform: translateX(-
|
|
494
|
+
transform: translateX(-100%);
|
|
369
495
|
opacity: 0;
|
|
370
496
|
}
|
|
371
497
|
|
|
@@ -375,6 +501,18 @@
|
|
|
375
501
|
}
|
|
376
502
|
}
|
|
377
503
|
|
|
504
|
+
@keyframes slideIn {
|
|
505
|
+
from {
|
|
506
|
+
transform: translateY(20px);
|
|
507
|
+
opacity: 0;
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
to {
|
|
511
|
+
transform: translateY(0);
|
|
512
|
+
opacity: 1;
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
|
|
378
516
|
@keyframes scaleIn {
|
|
379
517
|
from {
|
|
380
518
|
opacity: 0;
|
|
@@ -399,45 +537,32 @@
|
|
|
399
537
|
animation: scaleIn 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
400
538
|
}
|
|
401
539
|
|
|
402
|
-
/*
|
|
403
|
-
.
|
|
404
|
-
background: linear-gradient(
|
|
405
|
-
hsl(var(--nitrocloud-gradient-start)),
|
|
406
|
-
hsl(var(--nitrocloud-gradient-end)));
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
.nitrocloud-text-gradient {
|
|
410
|
-
background: linear-gradient(135deg,
|
|
411
|
-
hsl(var(--nitrocloud-gradient-start)),
|
|
412
|
-
hsl(var(--nitrocloud-gradient-end)));
|
|
413
|
-
-webkit-background-clip: text;
|
|
414
|
-
-webkit-text-fill-color: transparent;
|
|
415
|
-
background-clip: text;
|
|
540
|
+
/* MCP Gradients */
|
|
541
|
+
.mcp-gradient-surface {
|
|
542
|
+
background: linear-gradient(180deg, #FFFFFF 0%, #F5F6FA 100%);
|
|
416
543
|
}
|
|
417
544
|
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
box-shadow: 0 0 24px rgba(59, 159, 255, 0.15),
|
|
421
|
-
0 0 12px rgba(59, 159, 255, 0.1);
|
|
545
|
+
.dark .mcp-gradient-surface {
|
|
546
|
+
background: linear-gradient(180deg, #1B1B20 0%, #0E0F14 100%);
|
|
422
547
|
}
|
|
423
548
|
|
|
424
|
-
.
|
|
425
|
-
|
|
426
|
-
0 0 16px rgba(59, 159, 255, 0.15);
|
|
549
|
+
.mcp-gradient-action {
|
|
550
|
+
background: linear-gradient(135deg, #3B82F6 0%, #2AB5A5 100%);
|
|
427
551
|
}
|
|
428
552
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
553
|
+
.mcp-text-gradient {
|
|
554
|
+
background: linear-gradient(135deg, #3B82F6 0%, #2AB5A5 100%);
|
|
555
|
+
-webkit-background-clip: text;
|
|
556
|
+
-webkit-text-fill-color: transparent;
|
|
557
|
+
background-clip: text;
|
|
433
558
|
}
|
|
434
559
|
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
560
|
+
/* Focus Styles */
|
|
561
|
+
.focus-ring {
|
|
562
|
+
@apply focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background;
|
|
438
563
|
}
|
|
439
564
|
|
|
440
|
-
/*
|
|
565
|
+
/* Hover Effects */
|
|
441
566
|
.hover-lift {
|
|
442
567
|
transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
|
|
443
568
|
box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
@@ -445,13 +570,15 @@
|
|
|
445
570
|
|
|
446
571
|
.hover-lift:hover {
|
|
447
572
|
transform: translateY(-4px);
|
|
448
|
-
box-shadow: 0 12px 24px -4px rgba(0, 0, 0, 0.12),
|
|
449
|
-
0 8px 16px -4px rgba(0, 0, 0, 0.08);
|
|
450
573
|
}
|
|
451
574
|
|
|
452
|
-
/*
|
|
453
|
-
.
|
|
454
|
-
|
|
575
|
+
/* Light mode */
|
|
576
|
+
.hover-lift:hover {
|
|
577
|
+
box-shadow: 0px 8px 28px rgba(240, 100, 49, 0.14);
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
.dark .hover-lift:hover {
|
|
581
|
+
box-shadow: 0px 8px 28px rgba(0, 0, 0, 0.15);
|
|
455
582
|
}
|
|
456
583
|
|
|
457
584
|
/* Prose/Content Styles */
|
|
@@ -461,8 +588,22 @@
|
|
|
461
588
|
|
|
462
589
|
.prose :where(code):not(:where([class~="not-prose"] *)) {
|
|
463
590
|
@apply relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm;
|
|
591
|
+
|
|
592
|
+
/* Removed nested definition */
|
|
464
593
|
}
|
|
465
594
|
|
|
595
|
+
.animate-slide-in-right {
|
|
596
|
+
opacity: 0;
|
|
597
|
+
/* Ensure it starts invisible for the delay */
|
|
598
|
+
animation: slideInRight 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
|
599
|
+
animation-delay: 0.1s;
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
.animate-slide-in-left {
|
|
603
|
+
animation: slideInLeft 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
|
|
466
607
|
.prose :where(code):not(:where([class~="not-prose"] *))::before,
|
|
467
608
|
.prose :where(code):not(:where([class~="not-prose"] *))::after {
|
|
468
609
|
content: '';
|
|
@@ -483,4 +624,33 @@
|
|
|
483
624
|
|
|
484
625
|
.empty-state-description {
|
|
485
626
|
@apply text-sm text-muted-foreground max-w-md;
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
/* Run App Slide-Up Animation */
|
|
630
|
+
@keyframes slideUpOverlay {
|
|
631
|
+
from {
|
|
632
|
+
transform: translateY(100%);
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
to {
|
|
636
|
+
transform: translateY(0%);
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
@keyframes slideDownOverlay {
|
|
641
|
+
from {
|
|
642
|
+
transform: translateY(0%);
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
to {
|
|
646
|
+
transform: translateY(100%);
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
.animate-slide-up-overlay {
|
|
651
|
+
animation: slideUpOverlay 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
.animate-slide-down-overlay {
|
|
655
|
+
animation: slideDownOverlay 0.3s cubic-bezier(0.32, 0, 0.67, 0) forwards;
|
|
486
656
|
}
|