rds_ssm_connect 2.0.0 → 2.0.2

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.
@@ -1,253 +0,0 @@
1
- <script>
2
- import { trapFocus } from './utils.js'
3
-
4
- const { prerequisites = [], onDismiss, onOpenUrl } = $props()
5
-
6
- function handleKeydown(e) {
7
- if (e.key === 'Escape') {
8
- onDismiss?.()
9
- }
10
- }
11
- </script>
12
-
13
- <!-- svelte-ignore a11y_no_noninteractive_element_interactions -->
14
- <div class="prerequisites-modal" role="dialog" aria-label="Missing prerequisites" tabindex="-1" onkeydown={handleKeydown}>
15
- <div class="modal-content" use:trapFocus>
16
- <div class="modal-header">
17
- <div class="warning-icon">
18
- <svg width="24" height="24" viewBox="0 0 24 24" fill="none">
19
- <path d="M12 9v4M12 17h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
20
- </svg>
21
- </div>
22
- <h2>Missing Prerequisites</h2>
23
- <p>The following tools are required to use this app:</p>
24
- </div>
25
-
26
- <div class="prerequisites-list">
27
- {#each prerequisites as prereq}
28
- <div class="prereq-item" class:installed={prereq.installed} class:missing={!prereq.installed}>
29
- <div class="prereq-status">
30
- {#if prereq.installed}
31
- <svg width="20" height="20" viewBox="0 0 20 20" fill="none">
32
- <path d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" fill="currentColor"/>
33
- </svg>
34
- {:else}
35
- <svg width="20" height="20" viewBox="0 0 20 20" fill="none">
36
- <path d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" fill="currentColor"/>
37
- </svg>
38
- {/if}
39
- </div>
40
- <div class="prereq-info">
41
- <div class="prereq-name">{prereq.name}</div>
42
- {#if prereq.installed}
43
- <div class="prereq-version">{prereq.version || 'Installed'}</div>
44
- {:else}
45
- <div class="prereq-actions">
46
- {#if prereq.installCommand}
47
- <code class="install-command">{prereq.installCommand}</code>
48
- {/if}
49
- <button class="link-btn" onclick={() => onOpenUrl?.(prereq.installUrl)}>
50
- Installation Guide
51
- <svg width="12" height="12" viewBox="0 0 12 12" fill="none">
52
- <path d="M3.5 8.5l5-5M8.5 3.5H4.5M8.5 3.5v4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
53
- </svg>
54
- </button>
55
- </div>
56
- {/if}
57
- </div>
58
- </div>
59
- {/each}
60
- </div>
61
-
62
- <div class="modal-footer">
63
- <button class="btn-continue" onclick={onDismiss}>
64
- Continue Anyway
65
- </button>
66
- </div>
67
- </div>
68
- </div>
69
-
70
- <style>
71
- .prerequisites-modal {
72
- position: fixed;
73
- inset: 0;
74
- background: rgba(0, 0, 0, 0.8);
75
- backdrop-filter: blur(4px);
76
- display: flex;
77
- align-items: center;
78
- justify-content: center;
79
- z-index: 100;
80
- padding: 24px;
81
- }
82
-
83
- .modal-content {
84
- background: rgba(26, 26, 46, 0.85);
85
- -webkit-backdrop-filter: var(--glass-blur-heavy);
86
- backdrop-filter: var(--glass-blur-heavy);
87
- border: 1px solid var(--glass-border);
88
- border-radius: 20px;
89
- padding: 28px;
90
- max-width: 440px;
91
- width: 100%;
92
- box-shadow: var(--glass-inner-glow), var(--glass-shadow);
93
- animation: slideUp 0.3s ease-out;
94
- }
95
-
96
- @keyframes slideUp {
97
- from {
98
- opacity: 0;
99
- transform: translateY(20px);
100
- }
101
- to {
102
- opacity: 1;
103
- transform: translateY(0);
104
- }
105
- }
106
-
107
- .modal-header {
108
- text-align: center;
109
- margin-bottom: 24px;
110
- }
111
-
112
- .warning-icon {
113
- width: 48px;
114
- height: 48px;
115
- background: rgba(251, 191, 36, 0.15);
116
- border-radius: 12px;
117
- display: flex;
118
- align-items: center;
119
- justify-content: center;
120
- color: #fbbf24;
121
- margin: 0 auto 16px;
122
- }
123
-
124
- .modal-header h2 {
125
- margin: 0 0 8px;
126
- font-size: 1.25rem;
127
- font-weight: 600;
128
- color: #e4e4e7;
129
- }
130
-
131
- .modal-header p {
132
- margin: 0;
133
- font-size: 0.875rem;
134
- color: #9e9ea7;
135
- }
136
-
137
- .prerequisites-list {
138
- display: flex;
139
- flex-direction: column;
140
- gap: 12px;
141
- margin-bottom: 24px;
142
- }
143
-
144
- .prereq-item {
145
- display: flex;
146
- gap: 12px;
147
- padding: 14px;
148
- background: rgba(255, 255, 255, 0.03);
149
- border: 1px solid rgba(255, 255, 255, 0.06);
150
- border-radius: 12px;
151
- }
152
-
153
- .prereq-item.installed {
154
- border-color: rgba(34, 197, 94, 0.2);
155
- }
156
-
157
- .prereq-item.missing {
158
- border-color: rgba(239, 68, 68, 0.2);
159
- background: rgba(239, 68, 68, 0.05);
160
- }
161
-
162
- .prereq-status {
163
- flex-shrink: 0;
164
- width: 24px;
165
- height: 24px;
166
- display: flex;
167
- align-items: center;
168
- justify-content: center;
169
- }
170
-
171
- .prereq-item.installed .prereq-status {
172
- color: #22c55e;
173
- }
174
-
175
- .prereq-item.missing .prereq-status {
176
- color: #ef4444;
177
- }
178
-
179
- .prereq-info {
180
- flex: 1;
181
- min-width: 0;
182
- }
183
-
184
- .prereq-name {
185
- font-weight: 500;
186
- color: #e4e4e7;
187
- margin-bottom: 4px;
188
- }
189
-
190
- .prereq-version {
191
- font-size: 0.75rem;
192
- color: #22c55e;
193
- }
194
-
195
- .prereq-actions {
196
- display: flex;
197
- flex-direction: column;
198
- gap: 8px;
199
- }
200
-
201
- .install-command {
202
- font-size: 0.75rem;
203
- background: rgba(0, 0, 0, 0.3);
204
- padding: 6px 10px;
205
- border-radius: 6px;
206
- color: #a5b4fc;
207
- font-family: ui-monospace, monospace;
208
- }
209
-
210
- .link-btn {
211
- display: inline-flex;
212
- align-items: center;
213
- gap: 4px;
214
- font-size: 0.75rem;
215
- color: #6366f1;
216
- background: none;
217
- border: none;
218
- padding: 0;
219
- cursor: pointer;
220
- text-decoration: none;
221
- }
222
-
223
- .link-btn:hover {
224
- color: #818cf8;
225
- text-decoration: underline;
226
- }
227
-
228
- .modal-footer {
229
- display: flex;
230
- justify-content: center;
231
- }
232
-
233
- .btn-continue {
234
- padding: 12px 24px;
235
- font-size: 0.875rem;
236
- font-weight: 500;
237
- color: #a1a1aa;
238
- background: rgba(255, 255, 255, 0.05);
239
- border: 1px solid rgba(255, 255, 255, 0.1);
240
- border-radius: 10px;
241
- cursor: pointer;
242
- transition: background-color 0.2s, color 0.2s;
243
- }
244
-
245
- .btn-continue:hover {
246
- background: rgba(255, 255, 255, 0.1);
247
- color: #e4e4e7;
248
- }
249
-
250
- .btn-continue:active {
251
- transform: var(--press-scale);
252
- }
253
- </style>