phirepass-widgets 0.0.46 → 0.0.48

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 (37) hide show
  1. package/dist/cjs/{index-DTAHGGCM.js → index-DqslB2R4.js} +85 -2
  2. package/dist/cjs/loader.cjs.js +2 -2
  3. package/dist/cjs/phirepass-sftp-client.cjs.entry.js +202 -20
  4. package/dist/cjs/phirepass-terminal.cjs.entry.js +3 -3
  5. package/dist/cjs/phirepass-widgets.cjs.js +2 -2
  6. package/dist/cjs/{protocol-C0YjPrve.js → protocol-BDROfN76.js} +2 -1
  7. package/dist/collection/common/protocol.js +1 -0
  8. package/dist/collection/components/phirepass-sftp-client/phirepass-sftp-client.chevron.svg +6 -0
  9. package/dist/collection/components/phirepass-sftp-client/phirepass-sftp-client.css +482 -119
  10. package/dist/collection/components/phirepass-sftp-client/phirepass-sftp-client.download.svg +7 -0
  11. package/dist/collection/components/phirepass-sftp-client/phirepass-sftp-client.file.svg +6 -0
  12. package/dist/collection/components/phirepass-sftp-client/phirepass-sftp-client.folder.svg +6 -0
  13. package/dist/collection/components/phirepass-sftp-client/phirepass-sftp-client.go_up.svg +6 -0
  14. package/dist/collection/components/phirepass-sftp-client/phirepass-sftp-client.js +206 -19
  15. package/dist/collection/components/phirepass-sftp-client/phirepass-sftp-client.refresh.svg +8 -0
  16. package/dist/collection/components/phirepass-sftp-client/phirepass-sftp-client.upload.svg +7 -0
  17. package/dist/collection/components/phirepass-terminal/phirepass-terminal.js +1 -1
  18. package/dist/components/index.js +1 -1
  19. package/dist/{phirepass-widgets/p-rdgKcesn.js → components/p-BcIhGXR0.js} +1 -1
  20. package/dist/components/phirepass-sftp-client.js +1 -1
  21. package/dist/components/phirepass-terminal.js +2 -2
  22. package/dist/esm/{index-D6RLmr6w.js → index-jdexunMF.js} +85 -2
  23. package/dist/esm/loader.js +3 -3
  24. package/dist/esm/phirepass-sftp-client.entry.js +202 -20
  25. package/dist/esm/phirepass-terminal.entry.js +3 -3
  26. package/dist/esm/phirepass-widgets.js +3 -3
  27. package/dist/esm/{protocol-rdgKcesn.js → protocol-BcIhGXR0.js} +1 -0
  28. package/dist/phirepass-widgets/p-764392dc.entry.js +1 -0
  29. package/dist/{components/p-rdgKcesn.js → phirepass-widgets/p-BcIhGXR0.js} +1 -1
  30. package/dist/phirepass-widgets/{p-f8e6ba02.entry.js → p-d8e588a3.entry.js} +2 -2
  31. package/dist/phirepass-widgets/p-jdexunMF.js +2 -0
  32. package/dist/phirepass-widgets/phirepass-widgets.esm.js +1 -1
  33. package/dist/types/common/protocol.d.ts +37 -13
  34. package/dist/types/components/phirepass-sftp-client/phirepass-sftp-client.d.ts +28 -1
  35. package/package.json +1 -1
  36. package/dist/phirepass-widgets/p-5e9ce2ac.entry.js +0 -1
  37. package/dist/phirepass-widgets/p-D6RLmr6w.js +0 -2
@@ -1,144 +1,507 @@
1
1
  :host {
2
- --radius: 0.375rem;
3
- --card: 220 18% 10%;
4
- --border: 220 15% 18%;
5
- --primary: 160 60% 45%;
6
- --muted-foreground: 220 10% 50%;
7
-
8
- font-family:
9
- ui-monospace,
10
- SFMono-Regular,
11
- Menlo,
12
- Monaco,
13
- Consolas,
14
- Liberation Mono,
15
- Courier New,
16
- monospace;
17
-
18
- height: 100%;
19
- width: 100%;
20
-
21
- border: 1px solid hsl(var(--border));
22
- background-color: hsl(var(--card));
23
- border-radius: var(--radius);
24
- overflow: hidden;
25
- display: flex;
26
- flex-direction: column;
27
- position: relative;
28
-
29
- .listing {
30
- flex: 1;
2
+ --radius: 0.375rem;
3
+ --card: 220 18% 10%;
4
+ --border: 220 15% 18%;
5
+ --primary: 160 60% 45%;
6
+ --radius: 0.375rem;
7
+ --destructive: 0 70% 50%;
8
+ --muted: 220 15% 13%;
9
+ --muted-foreground: 220 10% 50%;
10
+ --primary-foreground: 220 20% 7%;
11
+ --scroll-track: 220 16% 12%;
12
+ --scroll-thumb: 220 12% 34%;
13
+ --scroll-thumb-hover: 160 45% 44%;
14
+
15
+ font-family:
16
+ ui-monospace,
17
+ SFMono-Regular,
18
+ Menlo,
19
+ Monaco,
20
+ Consolas,
21
+ Liberation Mono,
22
+ Courier New,
23
+ monospace;
24
+
25
+ height: 100%;
26
+ width: 100%;
27
+
28
+ border: 1px solid hsl(var(--border));
29
+ background-color: hsl(var(--card));
30
+ border-radius: var(--radius);
31
+ overflow: hidden;
31
32
  display: flex;
32
33
  flex-direction: column;
33
- justify-content: space-between;
34
+ position: relative;
34
35
 
35
- header {
36
- height: 30px;
37
- background: rgba(28, 31, 38, 0.6);
38
- border-bottom: 1px solid hsl(var(--border));
36
+ .listing {
37
+ flex: 1;
38
+ display: flex;
39
+ flex-direction: column;
40
+ justify-content: space-between;
41
+ min-height: 0;
39
42
 
40
- display: flex;
41
- align-items: center;
42
- justify-content: space-between;
43
+ header {
44
+ height: 30px;
45
+ background: rgba(28, 31, 38, 0.6);
46
+ border-bottom: 1px solid hsl(var(--border));
43
47
 
44
- .actions {
45
- display: flex;
46
- align-items: center;
48
+ display: flex;
49
+ align-items: center;
50
+ justify-content: space-between;
51
+
52
+ .actions {
53
+ display: flex;
54
+ align-items: center;
55
+
56
+ .action {
57
+ cursor: pointer;
58
+ padding: 4px;
59
+ display: flex;
60
+ align-items: center;
61
+ z-index: 1;
47
62
 
48
- .action {
49
- cursor: pointer;
50
- padding: 4px;
51
- display: flex;
52
- align-items: center;
53
- z-index: 1;
54
-
55
- img {
56
- height: 14px;
57
- padding: 4px;
58
- border-radius: 4px;
59
- }
60
-
61
- &:hover {
62
- background-color: hsl(var(--border) / 0.6);
63
- }
63
+ img {
64
+ height: 14px;
65
+ padding: 4px;
66
+ border-radius: 4px;
67
+ }
68
+
69
+ &:hover {
70
+ background-color: hsl(var(--border) / 0.6);
71
+ }
72
+ }
73
+ }
74
+
75
+ .title {
76
+ color: hsl(var(--primary));
77
+ height: 14px;
78
+ padding: 0 12px;
79
+ display: flex;
80
+ align-items: center;
81
+ font-size: 0.75rem;
82
+ line-height: 1rem;
83
+
84
+ img {
85
+ height: 14px;
86
+ margin-right: 5px;
87
+ }
88
+
89
+ .text {
90
+ display: flex;
91
+ flex-direction: row;
92
+ justify-content: center;
93
+ margin-top: 2px;
94
+
95
+ .name {
96
+ margin-right: 10px;
97
+ }
98
+
99
+ .description {
100
+ color: hsl(var(--muted-foreground));
101
+ }
102
+ }
103
+ }
64
104
  }
65
- }
66
105
 
67
- .title {
68
- color: hsl(var(--primary));
69
- height: 14px;
70
- padding: 0 12px;
71
- display: flex;
72
- align-items: center;
73
- font-size: 0.75rem;
74
- line-height: 1rem;
106
+ main {
107
+ flex: 1;
108
+ display: flex;
109
+ flex-direction: column;
110
+ position: relative;
111
+ min-height: 0;
112
+ overflow: hidden;
113
+
114
+ .loader {
115
+ color: hsl(var(--muted-foreground));
116
+ font-size: 13px;
117
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
118
+ text-align: center;
119
+ display: flex;
120
+ align-items: center;
121
+ justify-content: center;
122
+ position: absolute;
123
+ height: 100%;
124
+ width: 100%;
125
+ background: rgba(28, 31, 38, 0);
126
+ backdrop-filter: blur(4px);
127
+ }
128
+
129
+ .error {
130
+ font-size: 13px;
131
+ text-align: center;
132
+ color: hsl(var(--destructive));
133
+ height: 100%;
134
+ display: flex;
135
+ align-items: center;
136
+ justify-content: center;
137
+ }
138
+
139
+ .navigation {
140
+ height: 25px;
141
+ padding: 10px;
142
+ font-size: 0.75rem;
143
+ line-height: 1rem;
144
+ background-color: hsl(var(--card));
145
+ display: flex;
146
+ align-items: center;
147
+ justify-content: space-between;
148
+ border-bottom: 1px solid hsl(var(--border));
149
+ position: sticky;
150
+ top: 0;
151
+ z-index: 3;
152
+
153
+ .breadcrumbs {
154
+ display: flex;
155
+ align-items: center;
156
+ margin-right: 10px;
157
+
158
+ .breadcrumb {
159
+ color: hsl(var(--primary));
160
+ margin-right: 4px;
161
+ cursor: pointer;
162
+
163
+ &:after {
164
+ margin-left: 4px;
165
+ }
166
+
167
+ &:hover {
168
+ color: rgb(189, 219, 209);
169
+ }
170
+
171
+ &:last-child {
172
+ margin-right: 0;
173
+ color: rgb(189, 219, 209);
174
+ cursor: default;
175
+ }
176
+ }
177
+
178
+ .arrow {
179
+ height: 12px;
180
+ width: 12px;
181
+ opacity: 0.6;
182
+ top: 2px;
183
+ margin-right: 4px;
184
+ position: relative;
185
+ }
186
+ }
187
+
188
+ .actions {
189
+ display: flex;
190
+ align-items: center;
191
+ gap: 8px;
192
+ }
193
+
194
+ .action {
195
+ border: none;
196
+ background: transparent;
197
+ color: rgb(189, 219, 209);
198
+ font-size: 1.1rem;
199
+ line-height: 1;
200
+ padding: 2px 4px;
201
+ border-radius: 4px;
202
+ cursor: pointer;
203
+
204
+ &:hover {
205
+ background-color: hsl(var(--border) / 0.6);
206
+ }
207
+
208
+ img {
209
+ height: 14px;
210
+ width: 14px;
211
+ display: block;
212
+ }
213
+ }
214
+
215
+ .action.disconnect {
216
+ color: #ff4d5f;
217
+ font-size: 0.65rem;
218
+ letter-spacing: 0.08em;
219
+ padding: 4px 8px;
220
+
221
+ &:hover {
222
+ color: #ff6b7a;
223
+ background-color: hsl(var(--destructive) / 0.12);
224
+ }
225
+ }
226
+ }
227
+
228
+ .content {
229
+ flex: 1;
230
+ min-height: 0;
231
+ overflow: auto;
232
+ font-size: 0.75rem;
233
+ line-height: 1rem;
234
+ scrollbar-width: thin;
235
+ scrollbar-color: hsl(var(--scroll-thumb)) hsl(var(--scroll-track));
236
+
237
+ &::-webkit-scrollbar {
238
+ width: 10px;
239
+ height: 10px;
240
+ }
241
+
242
+ &::-webkit-scrollbar-track {
243
+ background: hsl(var(--scroll-track));
244
+ }
245
+
246
+ &::-webkit-scrollbar-thumb {
247
+ background: hsl(var(--scroll-thumb));
248
+ border-radius: 999px;
249
+ border: 2px solid hsl(var(--scroll-track));
250
+ }
251
+
252
+ &::-webkit-scrollbar-thumb:hover {
253
+ background: hsl(var(--scroll-thumb-hover));
254
+ }
75
255
 
76
- img {
77
- height: 14px;
78
- margin-right: 5px;
256
+ table {
257
+ width: 100%;
258
+ border-collapse: separate;
259
+ border-spacing: 0;
260
+
261
+ thead {
262
+ background-color: hsl(var(--muted));
263
+ border-bottom: 1px solid hsl(var(--border));
264
+
265
+ th {
266
+ padding: 8px 10px;
267
+ text-align: left;
268
+ color: hsl(var(--muted-foreground));
269
+ position: sticky;
270
+ top: 0;
271
+ z-index: 2;
272
+ background-color: hsl(var(--muted));
273
+ border-bottom: 1px solid hsl(var(--border));
274
+ line-height: 0.95rem;
275
+
276
+ &.action-col {
277
+ width: 20px;
278
+ min-width: 20px;
279
+ padding: 0 10px;
280
+ }
281
+
282
+ &:hover {
283
+ &.action-col {
284
+ color: blue;
285
+ background-color: red;
286
+ stroke: red;
287
+ }
288
+ }
289
+ }
290
+ }
291
+
292
+ tbody {
293
+ padding: 10px 10px;
294
+ tr {
295
+ border-bottom: 1px solid hsl(var(--border) / 0.4);
296
+
297
+ td {
298
+ padding: 10px 10px 9px;
299
+ color: hsl(var(--muted-foreground));
300
+
301
+ &.action-col {
302
+ width: 20px;
303
+ min-width: 20px;
304
+ text-align: center;
305
+ padding-left: 1px;
306
+ padding-right: 1px;
307
+
308
+ .file-action {
309
+ border: none;
310
+ background: transparent;
311
+ color: hsl(var(--muted-foreground));
312
+ width: 16px;
313
+ height: 16px;
314
+ border-radius: 3px;
315
+ cursor: pointer;
316
+ opacity: 0;
317
+ visibility: hidden;
318
+ pointer-events: none;
319
+ transition: opacity 120ms ease;
320
+ padding: 0;
321
+
322
+ svg {
323
+ width: 12px;
324
+ height: 12px;
325
+ display: block;
326
+ margin: 0 auto;
327
+ }
328
+
329
+ &:hover {
330
+ color: hsl(var(--primary));
331
+ }
332
+ }
333
+ }
334
+
335
+ .name {
336
+ &.file {
337
+ color: rgb(189, 219, 209);
338
+ }
339
+ &.folder {
340
+ color: hsl(var(--primary));
341
+ }
342
+ }
343
+
344
+ .kind {
345
+ height: 14px;
346
+ width: 14px;
347
+ margin-right: 5px;
348
+ top: 3px;
349
+ position: relative;
350
+ }
351
+ }
352
+
353
+ &:hover {
354
+ cursor: pointer;
355
+ background-color: hsl(var(--muted) / 0.4);
356
+
357
+ td.action-col .file-action {
358
+ opacity: 1;
359
+ visibility: visible;
360
+ pointer-events: auto;
361
+ color: hsl(var(--primary));
362
+ }
363
+ }
364
+
365
+ &.selected {
366
+ background-color: hsl(var(--primary) / 0.3);
367
+
368
+ td.action-col .file-action {
369
+ opacity: 1;
370
+ visibility: visible;
371
+ pointer-events: auto;
372
+ }
373
+
374
+ &:hover {
375
+ background-color: hsl(var(--primary) / 0.4);
376
+ }
377
+ }
378
+ }
379
+ }
380
+ }
381
+ }
79
382
  }
80
383
 
81
- .text {
82
- display: flex;
83
- flex-direction: row;
84
- justify-content: center;
85
- margin-top: 2px;
384
+ footer {
385
+ height: 25px;
386
+ background: rgba(28, 31, 38, 0.6);
387
+ border-top: 1px solid hsl(var(--border));
388
+ font-size: 0.75rem;
389
+ line-height: 1rem;
390
+ display: flex;
391
+ align-items: center;
392
+ justify-content: space-between;
393
+ padding: 0 10px;
86
394
 
87
- .name {
88
- margin-right: 10px;
89
- }
395
+ .status {
396
+ font-size: 0.65rem;
397
+ color: hsl(var(--muted-foreground));
90
398
 
91
- .description {
92
- color: hsl(var(--muted-foreground));
93
- }
399
+ .selected-item {
400
+ margin-left: 10px;
401
+ color: hsl(var(--primary));
402
+ }
403
+ }
404
+
405
+ .version {
406
+ font-size: 0.65rem;
407
+ color: hsl(var(--muted-foreground));
408
+ }
94
409
  }
95
- }
96
410
  }
97
411
 
98
- footer {
99
- height: 25px;
100
- background: rgba(28, 31, 38, 0.6);
101
- border-top: 1px solid hsl(var(--border));
102
- }
103
- }
412
+ .creds {
413
+ position: absolute;
414
+ top: 0;
415
+ left: 0;
416
+ height: 100%;
417
+ width: 100%;
418
+ display: flex;
419
+ justify-content: center;
420
+ align-items: center;
104
421
 
105
- .creds {
106
- position: absolute;
107
- top: 0;
108
- left: 0;
109
- height: 100%;
110
- width: 100%;
111
- display: flex;
112
- justify-content: center;
113
- align-items: center;
422
+ /* display: none; */
114
423
 
115
- &.blurred {
116
- background: rgba(28, 31, 38, 0);
117
- backdrop-filter: blur(4px);
118
- }
424
+ &.blurred {
425
+ background: rgba(28, 31, 38, 0);
426
+ backdrop-filter: blur(4px);
427
+ }
119
428
 
120
- .form {
121
- display: flex;
122
- flex-direction: column;
123
- background: hsl(var(--card));
124
- width: 200px;
125
- position: relative;
126
- background-color: rgba(21, 24, 30, 0.95);
127
- border: 1px solid hsl(var(--border));
128
- padding: 20px;
129
- box-shadow:
130
- rgba(0, 0, 0, 0) 0px 0px 0px 0px,
131
- rgba(0, 0, 0, 0) 0px 0px 0px 0px,
132
- rgba(0, 0, 0, 0.5) 0px 25px 50px -12px;
429
+ .auth {
430
+ display: flex;
431
+ flex-direction: column;
432
+ background: hsl(var(--card));
433
+ position: relative;
434
+ background-color: rgba(21, 24, 30, 0.95);
435
+ border: 1px solid hsl(var(--border));
436
+ padding: 30px;
437
+ box-shadow:
438
+ rgba(0, 0, 0, 0) 0px 0px 0px 0px,
439
+ rgba(0, 0, 0, 0) 0px 0px 0px 0px,
440
+ rgba(0, 0, 0, 0.5) 0px 25px 50px -12px;
441
+ border-radius: var(--radius);
442
+
443
+ .title {
444
+ margin-bottom: 12px;
445
+ color: hsl(var(--primary));
446
+ }
447
+
448
+ label {
449
+ font-size: 0.75rem;
450
+ line-height: 1rem;
451
+ margin-bottom: 1rem;
452
+ color: hsl(var(--muted-foreground));
453
+ }
454
+
455
+ input {
456
+ font-size: 0.875rem;
457
+ line-height: 1.25rem;
458
+ padding-top: 0.5rem;
459
+ padding-bottom: 0.5rem;
460
+ padding-left: 0.75rem;
461
+ padding-right: 0.75rem;
462
+ background-color: rgb(28, 31, 38);
463
+ border-color: rgb(39, 44, 53);
464
+ border-width: 1px;
465
+ border-radius: calc(var(--radius) - 2px);
466
+ width: 100%;
467
+ margin-bottom: 12px;
468
+ color: rgb(189, 219, 209);
469
+ box-sizing: border-box;
470
+
471
+ &:focus {
472
+ outline: none;
473
+ border-color: hsl(var(--primary));
474
+ box-shadow: 0 0 0 1px hsl(var(--primary));
475
+ }
476
+ }
477
+
478
+ button[type='submit'] {
479
+ margin-top: 12px;
480
+ width: 100%;
481
+ background-color: hsl(var(--primary));
482
+ color: hsl(var(--primary-foreground));
483
+ letter-spacing: 0.05em;
484
+ font-size: 13px;
485
+ font-weight: 500;
486
+ padding: 0.5rem 1rem;
487
+ border-radius: calc(var(--radius) - 2px);
488
+ height: 2rem;
489
+ cursor: pointer;
490
+ border: none;
491
+
492
+ &:hover {
493
+ background-color: hsl(var(--primary) / 0.9);
494
+ }
495
+ }
496
+ }
133
497
  }
134
- }
135
498
  }
136
499
 
137
500
  :host(.max) {
138
- height: 100vh;
139
- width: 100vw;
140
- position: fixed;
141
- top: 0;
142
- left: 0;
143
- z-index: 9999;
501
+ height: 100vh;
502
+ width: 100vw;
503
+ position: fixed;
504
+ top: 0;
505
+ left: 0;
506
+ z-index: 9999;
144
507
  }
@@ -0,0 +1,7 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
2
+ stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
3
+ class="lucide lucide-download w-3 h-3 text-primary">
4
+ <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
5
+ <polyline points="7 10 12 15 17 10"></polyline>
6
+ <line x1="12" x2="12" y1="15" y2="3"></line>
7
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
2
+ stroke="rgb(115, 123, 140)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
3
+ class="lucide lucide-file w-3.5 h-3.5 text-muted-foreground shrink-0">
4
+ <path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path>
5
+ <path d="M14 2v4a2 2 0 0 0 2 2h4"></path>
6
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
2
+ stroke="rgb(46, 184, 138)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
3
+ class="lucide lucide-folder w-3.5 h-3.5 text-primary shrink-0">
4
+ <path
5
+ d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"></path>
6
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
2
+ stroke="rgb(189, 219, 209)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
3
+ class="lucide lucide-arrow-up w-3.5 h-3.5">
4
+ <path d="m5 12 7-7 7 7"></path>
5
+ <path d="M12 19V5"></path>
6
+ </svg>