@jumoo/usync 17.5.1 → 19.0.0-beta01

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 (44) hide show
  1. package/dist/api/client.gen.js +1 -2
  2. package/dist/api/index.d.ts +2 -3
  3. package/dist/api/index.js +1 -2
  4. package/dist/api/sdk.gen.d.ts +18 -30
  5. package/dist/api/sdk.gen.js +97 -145
  6. package/dist/api/types.gen.d.ts +132 -117
  7. package/dist/components/usync-action-box.js +15 -5
  8. package/dist/components/usync-progress-box.js +13 -5
  9. package/dist/components/usync-result-row.js +4 -0
  10. package/dist/components/usync-results-group-view.js +11 -3
  11. package/dist/components/usync-results-view.js +1 -0
  12. package/dist/conditions/new-section.condition.js +16 -2
  13. package/dist/constants.js +1 -1
  14. package/dist/dialogs/details-modal-element.js +16 -8
  15. package/dist/dialogs/error-modal-element.js +1 -0
  16. package/dist/dialogs/legacy-modal-element.d.ts +11 -5
  17. package/dist/dialogs/legacy-modal-element.js +79 -27
  18. package/dist/dialogs/single-import-modal.element.js +2 -1
  19. package/dist/index.js +9 -1
  20. package/dist/lang/files/da-dk.js +1 -1
  21. package/dist/lang/files/de-de.js +1 -1
  22. package/dist/lang/files/en-us.d.ts +1 -0
  23. package/dist/lang/files/en-us.js +2 -1
  24. package/dist/lang/files/es-es.js +1 -1
  25. package/dist/lang/files/fr-fr.js +1 -1
  26. package/dist/lang/files/nl-nl.js +1 -1
  27. package/dist/repository/SyncAction.respositoy.d.ts +36 -15
  28. package/dist/repository/SyncAction.respositoy.js +3 -2
  29. package/dist/repository/sources/SyncAction.source.d.ts +33 -13
  30. package/dist/repository/sources/SyncAction.source.js +9 -9
  31. package/dist/repository/sources/SyncMigration.source.d.ts +1 -1
  32. package/dist/repository/sources/SyncMigration.source.js +5 -5
  33. package/dist/repository/sources/SyncSettings.source.d.ts +16 -6
  34. package/dist/repository/sources/SyncSettings.source.js +5 -5
  35. package/dist/signalr/signalr.context.js +5 -5
  36. package/dist/workspace/components/usync-action-button.d.ts +3 -2
  37. package/dist/workspace/components/usync-action-button.js +35 -27
  38. package/dist/workspace/views/default/default.element.js +3 -3
  39. package/dist/workspace/views/legacy/legacy.element.js +6 -10
  40. package/dist/workspace/workspace.context.d.ts +11 -6
  41. package/dist/workspace/workspace.context.js +2 -2
  42. package/package.json +10 -3
  43. package/dist/hey-api.d.ts +0 -11
  44. package/dist/hey-api.js +0 -14
@@ -1,5 +1,5 @@
1
1
  export type ClientOptions = {
2
- baseUrl: 'http://localhost:16903' | (string & {});
2
+ baseUrl: 'https://localhost:44304/' | (string & {});
3
3
  };
4
4
  export declare enum ChangeDetailType {
5
5
  NO_CHANGE = "NoChange",
@@ -27,6 +27,18 @@ export declare enum ChangeType {
27
27
  CLEAN = "Clean",
28
28
  REMOVED = "Removed"
29
29
  }
30
+ export type EntityTagHeaderValue = {
31
+ tag: StringSegment;
32
+ isWeak: boolean;
33
+ };
34
+ export type FileContentResult = {
35
+ fileContents: string;
36
+ contentType: null | string;
37
+ fileDownloadName: null | string;
38
+ lastModified?: null | string;
39
+ entityTag?: null | EntityTagHeaderValue;
40
+ enableRangeProcessing: boolean;
41
+ };
30
42
  export type HandlerSettings = {
31
43
  enabled: boolean;
32
44
  actions: Array<string>;
@@ -49,18 +61,25 @@ export declare enum HandlerStatus {
49
61
  export type PerformActionRequest = {
50
62
  requestId: string;
51
63
  action: string;
52
- stepNumber: number;
53
- options?: USyncOptions | null;
54
- username?: string | null;
64
+ stepNumber: number | string;
65
+ options?: null | USyncOptions;
66
+ username?: null | string;
55
67
  };
56
68
  export type PerformActionResponse = {
57
69
  requestId: string;
58
- status?: Array<SyncHandlerSummary> | null;
59
- actions?: Array<USyncActionView> | null;
70
+ status?: null | Array<SyncHandlerSummary>;
71
+ actions?: null | Array<USyncActionView>;
60
72
  complete: boolean;
61
73
  inBackground: boolean;
62
- operationId?: string | null;
63
- message?: string | null;
74
+ operationId?: null | string;
75
+ message?: null | string;
76
+ };
77
+ export type StringSegment = {
78
+ buffer?: null | string;
79
+ offset: number | string;
80
+ length: number | string;
81
+ value?: null | string;
82
+ hasValue: boolean;
64
83
  };
65
84
  export type SyncActionButton = {
66
85
  key: string;
@@ -77,11 +96,11 @@ export type SyncActionGroup = {
77
96
  icon: string;
78
97
  groupName: string;
79
98
  buttons: Array<SyncActionButton>;
80
- lastSync?: string | null;
99
+ lastSync?: null | string;
81
100
  };
82
101
  export type SyncFileVersionCheckResult = {
83
102
  isCurrent: boolean;
84
- formatVersion?: string | null;
103
+ formatVersion?: null | string;
85
104
  hmacMatch: boolean;
86
105
  };
87
106
  export declare enum SyncFolderMode {
@@ -93,34 +112,51 @@ export type SyncHandlerSummary = {
93
112
  icon: string;
94
113
  name: string;
95
114
  status: HandlerStatus;
96
- changes: number;
115
+ changes: number | string;
97
116
  inError: boolean;
98
117
  };
99
118
  export type SyncLegacyCheckResponse = {
100
119
  hasLegacy: boolean;
101
- legacyFolder?: string | null;
120
+ legacyFolder?: null | string;
102
121
  legacyTypes: Array<string>;
122
+ migrations: Array<SyncLegacyMigrationResponse>;
103
123
  latestFolder: string;
104
124
  latestVersion: string;
105
125
  };
126
+ export type SyncLegacyMigrationResponse = {
127
+ id: string;
128
+ name: string;
129
+ description: string;
130
+ notice?: null | string;
131
+ /**
132
+ * number of data types the migration will change.
133
+ */
134
+ count: number;
135
+ };
136
+ export type SyncLegacyCopyRequest = {
137
+ /**
138
+ * ids of the migrations to run as the folder is copied.
139
+ */
140
+ migrations: Array<string>;
141
+ };
106
142
  export type SyncOperationStatusResponse = {
107
143
  operationId: string;
108
- requestId?: string | null;
109
- action?: string | null;
144
+ requestId?: null | string;
145
+ action?: null | string;
110
146
  operationStatus: string;
111
147
  complete: boolean;
112
- status?: Array<SyncHandlerSummary> | null;
113
- actions?: Array<USyncActionView> | null;
114
- message?: string | null;
148
+ status?: null | Array<SyncHandlerSummary>;
149
+ actions?: null | Array<USyncActionView>;
150
+ message?: null | string;
115
151
  };
116
152
  export declare enum SyncProcessingMode {
117
153
  NORMAL = "Normal",
118
154
  BACKGROUND = "Background"
119
155
  }
120
156
  export type SyncRunningOperationResponse = {
121
- operationId?: string | null;
122
- requestId?: string | null;
123
- action?: string | null;
157
+ operationId?: null | string;
158
+ requestId?: null | string;
159
+ action?: null | string;
124
160
  };
125
161
  export type SyncSelectableSet = {
126
162
  name: string;
@@ -138,13 +174,13 @@ export type USyncActionView = {
138
174
  change: ChangeType;
139
175
  success: boolean;
140
176
  details: Array<USyncChange>;
141
- message?: string | null;
177
+ message?: null | string;
142
178
  };
143
179
  export type USyncAddonInfo = {
144
180
  version: string;
145
181
  };
146
182
  export type USyncAddonSplash = {
147
- [key: string]: never;
183
+ [key: string]: unknown;
148
184
  };
149
185
  export type USyncChange = {
150
186
  success: boolean;
@@ -194,17 +230,15 @@ export type USyncSettings = {
194
230
  failOnMissingParent: boolean;
195
231
  failOnDuplicates: boolean;
196
232
  cacheFolderKeys: boolean;
233
+ cacheImportState: boolean;
197
234
  showVersionCheckWarning: boolean;
198
- customMappings: {
199
- [key: string]: string;
200
- };
201
235
  enableHistory: boolean;
202
236
  defaultExtension: string;
203
237
  importOnFirstBoot: boolean;
204
238
  firstBootGroup: string;
205
239
  disableDashboard: boolean;
206
240
  summaryDashboard: boolean;
207
- summaryLimit: number;
241
+ summaryLimit: number | string;
208
242
  hideAddOns: string;
209
243
  disableNotificationSuppression: boolean;
210
244
  backgroundNotifications: boolean;
@@ -215,25 +249,6 @@ export type USyncSettings = {
215
249
  additionalBadNames: Array<string>;
216
250
  includeWindowsReservedNames: boolean;
217
251
  };
218
- export type GetActionsData = {
219
- body?: never;
220
- path?: never;
221
- query?: never;
222
- url: '/umbraco/usync/api/v1/Actions';
223
- };
224
- export type GetActionsErrors = {
225
- /**
226
- * The resource is protected and requires an authentication token
227
- */
228
- 401: unknown;
229
- };
230
- export type GetActionsResponses = {
231
- /**
232
- * OK
233
- */
234
- 200: Array<SyncActionGroup>;
235
- };
236
- export type GetActionsResponse = GetActionsResponses[keyof GetActionsResponses];
237
252
  export type GetActionsBySetData = {
238
253
  body?: never;
239
254
  path?: never;
@@ -255,83 +270,64 @@ export type GetActionsBySetResponses = {
255
270
  200: Array<SyncActionGroup>;
256
271
  };
257
272
  export type GetActionsBySetResponse = GetActionsBySetResponses[keyof GetActionsBySetResponses];
258
- export type DownloadData = {
273
+ export type PostDownloadData = {
259
274
  body?: never;
260
275
  path?: never;
261
276
  query?: never;
262
277
  url: '/umbraco/usync/api/v1/Download';
263
278
  };
264
- export type DownloadErrors = {
279
+ export type PostDownloadErrors = {
265
280
  /**
266
281
  * The resource is protected and requires an authentication token
267
282
  */
268
283
  401: unknown;
269
284
  };
270
- export type DownloadResponses = {
285
+ export type PostDownloadResponses = {
271
286
  /**
272
287
  * OK
273
288
  */
274
- 200: Blob | File;
289
+ 200: FileContentResult;
275
290
  };
276
- export type DownloadResponse = DownloadResponses[keyof DownloadResponses];
277
- export type GetSyncFileInfoData = {
278
- body?: never;
279
- path?: never;
280
- query?: never;
281
- url: '/umbraco/usync/api/v1/GetSyncFileInfo';
282
- };
283
- export type GetSyncFileInfoErrors = {
284
- /**
285
- * The resource is protected and requires an authentication token
286
- */
287
- 401: unknown;
288
- };
289
- export type GetSyncFileInfoResponses = {
290
- /**
291
- * OK
292
- */
293
- 200: SyncFileVersionCheckResult;
294
- };
295
- export type GetSyncFileInfoResponse = GetSyncFileInfoResponses[keyof GetSyncFileInfoResponses];
296
- export type ImportSingleData = {
297
- body?: USyncActionView;
291
+ export type PostDownloadResponse = PostDownloadResponses[keyof PostDownloadResponses];
292
+ export type PostImportData = {
293
+ body: USyncActionView;
298
294
  path?: never;
299
295
  query?: never;
300
296
  url: '/umbraco/usync/api/v1/Import';
301
297
  };
302
- export type ImportSingleErrors = {
298
+ export type PostImportErrors = {
303
299
  /**
304
300
  * The resource is protected and requires an authentication token
305
301
  */
306
302
  401: unknown;
307
303
  };
308
- export type ImportSingleResponses = {
304
+ export type PostImportResponses = {
309
305
  /**
310
306
  * OK
311
307
  */
312
308
  200: USyncActionView;
313
309
  };
314
- export type ImportSingleResponse = ImportSingleResponses[keyof ImportSingleResponses];
315
- export type PerformActionData = {
316
- body?: PerformActionRequest;
310
+ export type PostImportResponse = PostImportResponses[keyof PostImportResponses];
311
+ export type PostPerformData = {
312
+ body: PerformActionRequest;
317
313
  path?: never;
318
314
  query?: never;
319
315
  url: '/umbraco/usync/api/v1/Perform';
320
316
  };
321
- export type PerformActionErrors = {
317
+ export type PostPerformErrors = {
322
318
  /**
323
319
  * The resource is protected and requires an authentication token
324
320
  */
325
321
  401: unknown;
326
322
  };
327
- export type PerformActionResponses = {
323
+ export type PostPerformResponses = {
328
324
  /**
329
325
  * OK
330
326
  */
331
327
  200: PerformActionResponse;
332
328
  };
333
- export type PerformActionResponse2 = PerformActionResponses[keyof PerformActionResponses];
334
- export type ProcessUploadData = {
329
+ export type PostPerformResponse = PostPerformResponses[keyof PostPerformResponses];
330
+ export type PostProcessUploadData = {
335
331
  body?: never;
336
332
  path?: never;
337
333
  query?: {
@@ -339,39 +335,39 @@ export type ProcessUploadData = {
339
335
  };
340
336
  url: '/umbraco/usync/api/v1/ProcessUpload';
341
337
  };
342
- export type ProcessUploadErrors = {
338
+ export type PostProcessUploadErrors = {
343
339
  /**
344
340
  * The resource is protected and requires an authentication token
345
341
  */
346
342
  401: unknown;
347
343
  };
348
- export type ProcessUploadResponses = {
344
+ export type PostProcessUploadResponses = {
349
345
  /**
350
346
  * OK
351
347
  */
352
348
  200: UploadImportResult;
353
349
  };
354
- export type ProcessUploadResponse = ProcessUploadResponses[keyof ProcessUploadResponses];
355
- export type RunningData = {
350
+ export type PostProcessUploadResponse = PostProcessUploadResponses[keyof PostProcessUploadResponses];
351
+ export type GetRunningData = {
356
352
  body?: never;
357
353
  path?: never;
358
354
  query?: never;
359
355
  url: '/umbraco/usync/api/v1/Running';
360
356
  };
361
- export type RunningErrors = {
357
+ export type GetRunningErrors = {
362
358
  /**
363
359
  * The resource is protected and requires an authentication token
364
360
  */
365
361
  401: unknown;
366
362
  };
367
- export type RunningResponses = {
363
+ export type GetRunningResponses = {
368
364
  /**
369
365
  * OK
370
366
  */
371
367
  200: SyncRunningOperationResponse;
372
368
  };
373
- export type RunningResponse = RunningResponses[keyof RunningResponses];
374
- export type StatusData = {
369
+ export type GetRunningResponse = GetRunningResponses[keyof GetRunningResponses];
370
+ export type GetStatusData = {
375
371
  body?: never;
376
372
  path?: never;
377
373
  query?: {
@@ -379,95 +375,114 @@ export type StatusData = {
379
375
  };
380
376
  url: '/umbraco/usync/api/v1/Status';
381
377
  };
382
- export type StatusErrors = {
378
+ export type GetStatusErrors = {
383
379
  /**
384
380
  * The resource is protected and requires an authentication token
385
381
  */
386
382
  401: unknown;
387
383
  };
388
- export type StatusResponses = {
384
+ export type GetStatusResponses = {
389
385
  /**
390
386
  * OK
391
387
  */
392
388
  200: SyncOperationStatusResponse;
393
389
  };
394
- export type StatusResponse = StatusResponses[keyof StatusResponses];
395
- export type MergeExportFolderData = {
390
+ export type GetStatusResponse = GetStatusResponses[keyof GetStatusResponses];
391
+ export type GetSyncFileInfoData = {
392
+ body?: never;
393
+ path?: never;
394
+ query?: never;
395
+ url: '/umbraco/usync/api/v1/SyncFileInfo';
396
+ };
397
+ export type GetSyncFileInfoErrors = {
398
+ /**
399
+ * The resource is protected and requires an authentication token
400
+ */
401
+ 401: unknown;
402
+ };
403
+ export type GetSyncFileInfoResponses = {
404
+ /**
405
+ * OK
406
+ */
407
+ 200: SyncFileVersionCheckResult;
408
+ };
409
+ export type GetSyncFileInfoResponse = GetSyncFileInfoResponses[keyof GetSyncFileInfoResponses];
410
+ export type PostMergeExportData = {
396
411
  body?: never;
397
412
  path?: never;
398
413
  query?: never;
399
414
  url: '/umbraco/usync/api/v1/MergeExport';
400
415
  };
401
- export type MergeExportFolderErrors = {
416
+ export type PostMergeExportErrors = {
402
417
  /**
403
418
  * The resource is protected and requires an authentication token
404
419
  */
405
420
  401: unknown;
406
421
  };
407
- export type MergeExportFolderResponses = {
422
+ export type PostMergeExportResponses = {
408
423
  /**
409
424
  * OK
410
425
  */
411
- 200: number;
426
+ 200: number | string;
412
427
  };
413
- export type MergeExportFolderResponse = MergeExportFolderResponses[keyof MergeExportFolderResponses];
414
- export type CheckLegacyData = {
428
+ export type PostMergeExportResponse = PostMergeExportResponses[keyof PostMergeExportResponses];
429
+ export type GetCheckLegacyData = {
415
430
  body?: never;
416
431
  path?: never;
417
432
  query?: never;
418
433
  url: '/umbraco/usync/api/v1/CheckLegacy';
419
434
  };
420
- export type CheckLegacyErrors = {
435
+ export type GetCheckLegacyErrors = {
421
436
  /**
422
437
  * The resource is protected and requires an authentication token
423
438
  */
424
439
  401: unknown;
425
440
  };
426
- export type CheckLegacyResponses = {
441
+ export type GetCheckLegacyResponses = {
427
442
  /**
428
443
  * OK
429
444
  */
430
445
  200: SyncLegacyCheckResponse;
431
446
  };
432
- export type CheckLegacyResponse = CheckLegacyResponses[keyof CheckLegacyResponses];
433
- export type CopyLegacyData = {
434
- body?: never;
447
+ export type GetCheckLegacyResponse = GetCheckLegacyResponses[keyof GetCheckLegacyResponses];
448
+ export type PostCopyLegacyData = {
449
+ body?: SyncLegacyCopyRequest;
435
450
  path?: never;
436
451
  query?: never;
437
452
  url: '/umbraco/usync/api/v1/CopyLegacy';
438
453
  };
439
- export type CopyLegacyErrors = {
454
+ export type PostCopyLegacyErrors = {
440
455
  /**
441
456
  * The resource is protected and requires an authentication token
442
457
  */
443
458
  401: unknown;
444
459
  };
445
- export type CopyLegacyResponses = {
460
+ export type PostCopyLegacyResponses = {
446
461
  /**
447
462
  * OK
448
463
  */
449
464
  200: boolean;
450
465
  };
451
- export type CopyLegacyResponse = CopyLegacyResponses[keyof CopyLegacyResponses];
452
- export type IgnoreLegacyData = {
466
+ export type PostCopyLegacyResponse = PostCopyLegacyResponses[keyof PostCopyLegacyResponses];
467
+ export type PostIgnoreLegacyData = {
453
468
  body?: never;
454
469
  path?: never;
455
470
  query?: never;
456
471
  url: '/umbraco/usync/api/v1/IgnoreLegacy';
457
472
  };
458
- export type IgnoreLegacyErrors = {
473
+ export type PostIgnoreLegacyErrors = {
459
474
  /**
460
475
  * The resource is protected and requires an authentication token
461
476
  */
462
477
  401: unknown;
463
478
  };
464
- export type IgnoreLegacyResponses = {
479
+ export type PostIgnoreLegacyResponses = {
465
480
  /**
466
481
  * OK
467
482
  */
468
483
  200: boolean;
469
484
  };
470
- export type IgnoreLegacyResponse = IgnoreLegacyResponses[keyof IgnoreLegacyResponses];
485
+ export type PostIgnoreLegacyResponse = PostIgnoreLegacyResponses[keyof PostIgnoreLegacyResponses];
471
486
  export type GetAddOnsData = {
472
487
  body?: never;
473
488
  path?: never;
@@ -487,26 +502,26 @@ export type GetAddOnsResponses = {
487
502
  200: USyncAddonInfo;
488
503
  };
489
504
  export type GetAddOnsResponse = GetAddOnsResponses[keyof GetAddOnsResponses];
490
- export type GetAddonSplashData = {
505
+ export type GetAddOnSplashData = {
491
506
  body?: never;
492
507
  path?: never;
493
508
  query?: never;
494
509
  url: '/umbraco/usync/api/v1/AddOnSplash';
495
510
  };
496
- export type GetAddonSplashErrors = {
511
+ export type GetAddOnSplashErrors = {
497
512
  /**
498
513
  * The resource is protected and requires an authentication token
499
514
  */
500
515
  401: unknown;
501
516
  };
502
- export type GetAddonSplashResponses = {
517
+ export type GetAddOnSplashResponses = {
503
518
  /**
504
519
  * OK
505
520
  */
506
521
  200: USyncAddonSplash;
507
522
  };
508
- export type GetAddonSplashResponse = GetAddonSplashResponses[keyof GetAddonSplashResponses];
509
- export type GetHandlerSetSettingsData = {
523
+ export type GetAddOnSplashResponse = GetAddOnSplashResponses[keyof GetAddOnSplashResponses];
524
+ export type GetHandlerSettingsData = {
510
525
  body?: never;
511
526
  path?: never;
512
527
  query?: {
@@ -514,19 +529,19 @@ export type GetHandlerSetSettingsData = {
514
529
  };
515
530
  url: '/umbraco/usync/api/v1/HandlerSettings';
516
531
  };
517
- export type GetHandlerSetSettingsErrors = {
532
+ export type GetHandlerSettingsErrors = {
518
533
  /**
519
534
  * The resource is protected and requires an authentication token
520
535
  */
521
536
  401: unknown;
522
537
  };
523
- export type GetHandlerSetSettingsResponses = {
538
+ export type GetHandlerSettingsResponses = {
524
539
  /**
525
540
  * OK
526
541
  */
527
542
  200: USyncHandlerSetSettings;
528
543
  };
529
- export type GetHandlerSetSettingsResponse = GetHandlerSetSettingsResponses[keyof GetHandlerSetSettingsResponses];
544
+ export type GetHandlerSettingsResponse = GetHandlerSettingsResponses[keyof GetHandlerSettingsResponses];
530
545
  export type GetSetsData = {
531
546
  body?: never;
532
547
  path?: never;
@@ -36,10 +36,12 @@ let uSyncActionBox = class uSyncActionBox extends UmbLitElement {
36
36
  return html `
37
37
  <uui-box class="action-box ${this.disabled ? 'disabled' : ''}">
38
38
  <div class="box-content">
39
- <h2 class="box-heading" title=${this.getLastSyncDate()}>
40
- ${this.localize.termOrDefault(`uSync_group${this.group?.groupName}`, this.group?.groupName ?? '')}
41
- </h2>
42
- <umb-icon name=${this.group?.icon}></umb-icon>
39
+ <div class="box-heading">
40
+ <h2 class="box-heading" title=${this.getLastSyncDate()}>
41
+ ${this.localize.termOrDefault(`uSync_group${this.group?.groupName}`, this.group?.groupName ?? '')}
42
+ </h2>
43
+ <umb-icon name=${this.group?.icon}></umb-icon>
44
+ </div>
43
45
  <div class="box-buttons">${dropdownButtons}</div>
44
46
  </div>
45
47
  </uui-box>
@@ -64,6 +66,7 @@ uSyncActionBox.styles = css `
64
66
 
65
67
  .action-box {
66
68
  transition: opacity 0.2s ease-in-out;
69
+ --uui-box-default-padding: var(--uui-size-space-4) 0;
67
70
  }
68
71
 
69
72
  .box-content {
@@ -79,7 +82,7 @@ uSyncActionBox.styles = css `
79
82
  }
80
83
 
81
84
  umb-icon {
82
- margin: var(--uui-size-8) 0 var(--uui-size-10);
85
+ margin: var(--uui-size-4) 0 var(--uui-size-4);
83
86
  font-size: var(--uui-type-h2-size);
84
87
  color: var(--uui-color-text-alt);
85
88
  }
@@ -102,6 +105,13 @@ uSyncActionBox.styles = css `
102
105
  font-style: italic;
103
106
  font-size: var(--uui-size-5);
104
107
  }
108
+
109
+ .box-heading {
110
+ display: flex;
111
+ flex-direction: row-reverse;
112
+ gap: var(--uui-size-2);
113
+ align-items: center;
114
+ }
105
115
  `;
106
116
  __decorate([
107
117
  property({ type: Object })
@@ -12,7 +12,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
12
12
  var _uSyncProcessBox_instances, _uSyncProcessBox_hideProgress, _uSyncProcessBox_camelize;
13
13
  import { customElement, LitElement, css, html, property, nothing, state, classMap, } from '@umbraco-cms/backoffice/external/lit';
14
14
  import { UmbElementMixin } from '@umbraco-cms/backoffice/element-api';
15
- import { USYNC_SIGNALR_CONTEXT_TOKEN, HandlerStatus, } from '@jumoo/uSync';
15
+ import { HandlerStatus } from '@jumoo/uSync';
16
+ import { USYNC_SIGNALR_CONTEXT_TOKEN, } from '@jumoo/uSync';
16
17
  /**
17
18
  * Provides the progress box while things happen.
18
19
  */
@@ -74,7 +75,9 @@ let uSyncProcessBox = class uSyncProcessBox extends UmbElementMixin(LitElement)
74
75
  const progressClass = { hidden: !this.showProgress };
75
76
  return html `
76
77
  <uui-box>
77
- <h2>${this.localize.termOrDefault(`uSync_group${this.title}`, this.title)}</h2>
78
+ <div class="header">
79
+ <h2>${this.localize.termOrDefault(`uSync_group${this.title}`, this.title)}</h2>
80
+ </div>
78
81
  <div class="action-list">${actionHtml}</div>
79
82
  <div class="update-box">${this.updateMsg?.message}</div>
80
83
  <uui-progress-bar
@@ -120,8 +123,13 @@ uSyncProcessBox.styles = css `
120
123
  display: block;
121
124
  }
122
125
 
126
+ .header {
127
+ display: flex;
128
+ justify-content: center;
129
+ padding: var(uui-size-space-3);
130
+ }
131
+
123
132
  h2 {
124
- text-align: center;
125
133
  margin: 0;
126
134
  }
127
135
 
@@ -140,11 +148,11 @@ uSyncProcessBox.styles = css `
140
148
  min-width: var(--uui-size-layout-5);
141
149
  color: var(--uui-color-text-alt);
142
150
  opacity: 0.67;
143
- margin: var(--uui-size-space-4) 0 var(--uui-size-space-6);
151
+ margin: var(--uui-size-space-2) 0;
144
152
  }
145
153
 
146
154
  .action h4 {
147
- margin: var(--uui-size-space-4) 0;
155
+ margin: var(--uui-size-space-2) 0;
148
156
  }
149
157
 
150
158
  .icon-holder {
@@ -91,6 +91,10 @@ uSyncResultRow.styles = css `
91
91
  cursor: pointer;
92
92
  }
93
93
 
94
+ :host:last-child {
95
+ background-color: blue;
96
+ }
97
+
94
98
  .row:hover {
95
99
  background-color: var(--uui-color-surface-alt);
96
100
  }
@@ -38,9 +38,8 @@ let uSyncResultGroupView = class uSyncResultGroupView extends UmbLitElement {
38
38
  class=${classMap({ expanded: this.expanded })}></uui-icon>
39
39
  </div>
40
40
  </div>
41
- <uui-table>
42
- ${when(this.expanded == true, () => html `${this.renderGroupedRows(this.results)}`)}
43
- </uui-table>
41
+
42
+ ${when(this.expanded == true, () => html `<uui-table>${this.renderGroupedRows(this.results)}</uui-table>`)}
44
43
  </uui-box>
45
44
  `;
46
45
  }
@@ -59,6 +58,15 @@ uSyncResultGroupView.styles = css `
59
58
  --uui-box-default-padding: 0;
60
59
  }
61
60
 
61
+ uui-table {
62
+ border-top-left-radius: 0;
63
+ border-top-right-radius: 0;
64
+ }
65
+
66
+ usync-result-row:last-child row {
67
+ border-bottom: none;
68
+ }
69
+
62
70
  .expanded {
63
71
  border-bottom: 1px solid var(--uui-color-border);
64
72
  }
@@ -135,6 +135,7 @@ uSyncResultsView.styles = css `
135
135
  justify-content: space-between;
136
136
  padding: var(--uui-size-space-4);
137
137
  border: 1px solid var(--uui-color-border);
138
+ border-radius: var(--uui-border-radius);
138
139
  padding: var(--uui-size-space-4);
139
140
  }
140
141