@colijnit/inphoto 300.1.1 → 300.1.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.
Files changed (26) hide show
  1. package/assets/inphoto-make-selection.jpg +0 -0
  2. package/assets/inphoto-redesign-ai.jpg +0 -0
  3. package/assets/inphoto-remove-all.jpg +0 -0
  4. package/fesm2022/colijnit-inphoto.mjs +593 -297
  5. package/fesm2022/colijnit-inphoto.mjs.map +1 -1
  6. package/icons/lock_solid_full.svg +1 -0
  7. package/index.d.ts +32 -17
  8. package/lib/component/ai-prompt/style/_layout.scss +1 -1
  9. package/lib/component/back-next-buttons/style/_theme.scss +1 -0
  10. package/lib/component/canvas-tool-bar/style/_layout.scss +6 -0
  11. package/lib/component/image-enhancer/style/_layout.scss +47 -26
  12. package/lib/component/image-enhancer/style/_theme.scss +14 -2
  13. package/lib/component/image-enhancer-style/style/_theme.scss +3 -3
  14. package/lib/component/image-history/style/_layout.scss +64 -9
  15. package/lib/component/image-process-complete/components/image-process-complete-next/style/_layout.scss +1 -0
  16. package/lib/component/image-process-complete/style/_layout.scss +9 -3
  17. package/lib/component/image-process-complete/style/_theme.scss +21 -16
  18. package/lib/component/photo-editor/style/_layout.scss +1 -11
  19. package/lib/component/prepare-starting-image/style/_layout.scss +43 -66
  20. package/lib/component/prepare-starting-image/style/_material-definition.scss +1 -3
  21. package/lib/component/prepare-starting-image/style/_theme.scss +118 -0
  22. package/lib/component/process-loader/style/_layout.scss +29 -8
  23. package/lib/component/process-loader/style/_material-definition.scss +3 -0
  24. package/lib/component/process-loader/style/_theme.scss +87 -1
  25. package/lib/style/_variables.scss +9 -8
  26. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.3.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M256 160L256 224L384 224L384 160C384 124.7 355.3 96 320 96C284.7 96 256 124.7 256 160zM192 224L192 160C192 89.3 249.3 32 320 32C390.7 32 448 89.3 448 160L448 224C483.3 224 512 252.7 512 288L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 288C128 252.7 156.7 224 192 224z"/></svg>
package/index.d.ts CHANGED
@@ -18,11 +18,12 @@ import { Options } from '@colijnit/ioneconnector/build/model/options';
18
18
  import { DataServiceResponseData } from '@colijnit/ioneconnector/build/model/data-service-response-data';
19
19
  import { ExternalCatalogStartupInfoRequest } from '@colijnit/articleapi/build/model/external-catalog-startup-info-request';
20
20
  import { ExternalCatalogStartupInfo } from '@colijnit/articleapi/build/model/external-catalog-startup-info';
21
- import * as i7 from '@colijnit/configurator';
21
+ import * as i7$1 from '@colijnit/configurator';
22
22
  import { ConfigurationResultObject, ConfiguringService, ConfiguratorEventService } from '@colijnit/configurator';
23
23
  import { ExternalSourceArticleClickInterface } from '@colijnit/articleapi/build/interface/external-source-article-click.interface';
24
24
  import { Font } from 'three/examples/jsm/loaders/FontLoader.js';
25
25
  import * as i2$1 from '@angular/forms';
26
+ import * as i7 from '@angular/cdk/drag-drop';
26
27
  import * as i4 from '@angular/common';
27
28
  import * as i5 from '@colijnit/utilities';
28
29
 
@@ -59,6 +60,7 @@ declare enum Icon {
59
60
  ImageSolidFull = "image_solid_full",
60
61
  InfoSolidFull = "info_solid_full",
61
62
  LightbulbRegularFull = "lightbulb_regular_full",
63
+ LockSolidFull = "lock_solid_full",
62
64
  PaintbrushRegular = "paintbrush_regular",
63
65
  PenToSquareSolidFull = "pen_to_square_solid_full",
64
66
  RotateLeftSharpSolidFull = "rotate_left_sharp_solid_full",
@@ -238,6 +240,7 @@ declare class InphotoEventService {
238
240
  unSelectObject: Subject<void>;
239
241
  updateProcessingImageData: Subject<boolean>;
240
242
  updateCanvasMaskColor: Subject<boolean>;
243
+ clearMarkedCanvas: Subject<void>;
241
244
  onGeneratedImageReceived: Subject<void>;
242
245
  static ɵfac: i0.ɵɵFactoryDeclaration<InphotoEventService, never>;
243
246
  static ɵprov: i0.ɵɵInjectableDeclaration<InphotoEventService>;
@@ -792,11 +795,12 @@ declare class ImageEnhancer {
792
795
  dataService: InphotoDataService;
793
796
  private _appEventService;
794
797
  readonly icons: typeof Icon;
798
+ showClass(): boolean;
799
+ dragBoundary: string;
795
800
  selectedStyle: EventEmitter<EnhanceStyle>;
796
801
  createPromptWithImages: EventEmitter<PromptWithImages>;
797
802
  backButtonClicked: EventEmitter<void>;
798
803
  changeMarkerColor: EventEmitter<MaskImageColorInterface>;
799
- showClass(): boolean;
800
804
  prompt: string;
801
805
  activeTab: number;
802
806
  showMaskInfoDialog: boolean;
@@ -810,7 +814,7 @@ declare class ImageEnhancer {
810
814
  closeDialog(): void;
811
815
  openDialog(): void;
812
816
  static ɵfac: i0.ɵɵFactoryDeclaration<ImageEnhancer, never>;
813
- static ɵcmp: i0.ɵɵComponentDeclaration<ImageEnhancer, "co-image-enhancer", never, {}, { "selectedStyle": "selectedStyle"; "createPromptWithImages": "createPromptWithImages"; "backButtonClicked": "backButtonClicked"; "changeMarkerColor": "changeMarkerColor"; }, never, never, false, never>;
817
+ static ɵcmp: i0.ɵɵComponentDeclaration<ImageEnhancer, "co-image-enhancer", never, { "dragBoundary": { "alias": "dragBoundary"; "required": false; }; }, { "selectedStyle": "selectedStyle"; "createPromptWithImages": "createPromptWithImages"; "backButtonClicked": "backButtonClicked"; "changeMarkerColor": "changeMarkerColor"; }, never, never, false, never>;
814
818
  }
815
819
 
816
820
  declare enum FileTypes {
@@ -1011,7 +1015,7 @@ declare class ImageEnhancerUploadModule {
1011
1015
 
1012
1016
  declare class ImageEnhancerModule {
1013
1017
  static ɵfac: i0.ɵɵFactoryDeclaration<ImageEnhancerModule, never>;
1014
- static ɵmod: i0.ɵɵNgModuleDeclaration<ImageEnhancerModule, [typeof ImageEnhancer], [typeof i2.ListOfValuesModule, typeof PipeModule, typeof i2.IconModule, typeof ImageUploadModule, typeof i2.ButtonModule, typeof i2.InputTextareaModule, typeof ImageEnhancerStyleModule, typeof ImageEnhancerUploadModule], [typeof ImageEnhancer]>;
1018
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ImageEnhancerModule, [typeof ImageEnhancer], [typeof i2.ListOfValuesModule, typeof PipeModule, typeof i2.IconModule, typeof ImageUploadModule, typeof i2.ButtonModule, typeof i2.InputTextareaModule, typeof ImageEnhancerStyleModule, typeof ImageEnhancerUploadModule, typeof i7.CdkDragHandle, typeof i7.CdkDrag], [typeof ImageEnhancer]>;
1015
1019
  static ɵinj: i0.ɵɵInjectorDeclaration<ImageEnhancerModule>;
1016
1020
  }
1017
1021
 
@@ -1020,17 +1024,19 @@ declare class ImageHistoryComponent implements AfterViewInit, OnDestroy {
1020
1024
  iconService: InphotoIconCacheService;
1021
1025
  private _eventService;
1022
1026
  readonly icons: typeof Icon;
1023
- setImageAsBackground: EventEmitter<string>;
1024
1027
  private tilesRow?;
1025
1028
  showClass(): boolean;
1026
1029
  onResize(): void;
1030
+ onEscape(): void;
1031
+ onArrowLeft(event: KeyboardEvent): void;
1032
+ onArrowRight(event: KeyboardEvent): void;
1033
+ setImageAsBackground: EventEmitter<string>;
1027
1034
  displayedImages: string[];
1028
1035
  selectedImage: string;
1029
1036
  showFullImage: boolean;
1030
1037
  fullImage: string;
1031
1038
  canScrollLeft: boolean;
1032
1039
  canScrollRight: boolean;
1033
- private observer;
1034
1040
  private _subs;
1035
1041
  constructor(dataService: InphotoDataService, iconService: InphotoIconCacheService, _eventService: InphotoEventService);
1036
1042
  ngAfterViewInit(): void;
@@ -1041,8 +1047,14 @@ declare class ImageHistoryComponent implements AfterViewInit, OnDestroy {
1041
1047
  handleCloseFullImage(): void;
1042
1048
  handleRemoveImageFromHistory(event: string): void;
1043
1049
  handleDownloadImage(event: string): void;
1050
+ handleDownloadFullImage(): void;
1051
+ handleDeleteFullImage(): void;
1044
1052
  scroll(direction: number): void;
1053
+ onWheel(event: WheelEvent): void;
1045
1054
  updateScrollState(): void;
1055
+ showNextPrevImage(): void;
1056
+ showNextLargeImage(): void;
1057
+ private _getCurrentIndex;
1046
1058
  static ɵfac: i0.ɵɵFactoryDeclaration<ImageHistoryComponent, never>;
1047
1059
  static ɵcmp: i0.ɵɵComponentDeclaration<ImageHistoryComponent, "co-image-history", never, {}, { "setImageAsBackground": "setImageAsBackground"; }, never, never, false, never>;
1048
1060
  }
@@ -1153,6 +1165,7 @@ declare class CanvasToolBarComponent {
1153
1165
  showActionButtons: boolean;
1154
1166
  showInfoIcon: boolean;
1155
1167
  title: string;
1168
+ dragBoundary: string;
1156
1169
  changeEraseMode: EventEmitter<boolean>;
1157
1170
  cancelClick: EventEmitter<void>;
1158
1171
  processSegmentation: EventEmitter<void>;
@@ -1165,22 +1178,22 @@ declare class CanvasToolBarComponent {
1165
1178
  handleCancelClick(): void;
1166
1179
  processInpainted(): void;
1167
1180
  static ɵfac: i0.ɵɵFactoryDeclaration<CanvasToolBarComponent, never>;
1168
- static ɵcmp: i0.ɵɵComponentDeclaration<CanvasToolBarComponent, "co-canvas-tool-bar", never, { "canvasInpaintMode": { "alias": "canvasInpaintMode"; "required": false; }; "canvasEraseMode": { "alias": "canvasEraseMode"; "required": false; }; "showActionButtons": { "alias": "showActionButtons"; "required": false; }; "showInfoIcon": { "alias": "showInfoIcon"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, { "changeEraseMode": "changeEraseMode"; "cancelClick": "cancelClick"; "processSegmentation": "processSegmentation"; "openInfoContainer": "openInfoContainer"; }, never, never, false, never>;
1181
+ static ɵcmp: i0.ɵɵComponentDeclaration<CanvasToolBarComponent, "co-canvas-tool-bar", never, { "canvasInpaintMode": { "alias": "canvasInpaintMode"; "required": false; }; "canvasEraseMode": { "alias": "canvasEraseMode"; "required": false; }; "showActionButtons": { "alias": "showActionButtons"; "required": false; }; "showInfoIcon": { "alias": "showInfoIcon"; "required": false; }; "title": { "alias": "title"; "required": false; }; "dragBoundary": { "alias": "dragBoundary"; "required": false; }; }, { "changeEraseMode": "changeEraseMode"; "cancelClick": "cancelClick"; "processSegmentation": "processSegmentation"; "openInfoContainer": "openInfoContainer"; }, never, never, false, never>;
1169
1182
  }
1170
1183
 
1171
1184
  declare class CanvasToolBarModule {
1172
1185
  static ɵfac: i0.ɵɵFactoryDeclaration<CanvasToolBarModule, never>;
1173
- static ɵmod: i0.ɵɵNgModuleDeclaration<CanvasToolBarModule, [typeof CanvasToolBarComponent], [typeof i2.ButtonModule, typeof i2.IconModule, typeof PipeModule], [typeof CanvasToolBarComponent]>;
1186
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CanvasToolBarModule, [typeof CanvasToolBarComponent], [typeof i2.ButtonModule, typeof i2.IconModule, typeof PipeModule, typeof i7.CdkDrag, typeof i7.CdkDragHandle], [typeof CanvasToolBarComponent]>;
1174
1187
  static ɵinj: i0.ɵɵInjectorDeclaration<CanvasToolBarModule>;
1175
1188
  }
1176
1189
 
1177
1190
  declare class PhotoEditorModule {
1178
1191
  static ɵfac: i0.ɵɵFactoryDeclaration<PhotoEditorModule, never>;
1179
- static ɵmod: i0.ɵɵNgModuleDeclaration<PhotoEditorModule, [typeof PhotoEditorComponent], [typeof EditCanvasModule, typeof PipeModule, typeof ImageUploadModule, typeof i2.ButtonModule, typeof ImageEnhancerModule, typeof ImageHistoryModule, typeof ProcessLoaderModule, typeof i2.IconModule, typeof CanvasToolBarModule], [typeof PhotoEditorComponent]>;
1192
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PhotoEditorModule, [typeof PhotoEditorComponent], [typeof EditCanvasModule, typeof PipeModule, typeof ImageUploadModule, typeof i2.ButtonModule, typeof ImageEnhancerModule, typeof ImageHistoryModule, typeof ProcessLoaderModule, typeof i2.IconModule, typeof CanvasToolBarModule, typeof i7.DragDropModule], [typeof PhotoEditorComponent]>;
1180
1193
  static ɵinj: i0.ɵɵInjectorDeclaration<PhotoEditorModule>;
1181
1194
  }
1182
1195
 
1183
- declare class PrepareStartingImageComponent implements OnDestroy {
1196
+ declare class PrepareStartingImageComponent {
1184
1197
  iconService: InphotoIconCacheService;
1185
1198
  private _connectorService;
1186
1199
  private _appEventService;
@@ -1191,18 +1204,18 @@ declare class PrepareStartingImageComponent implements OnDestroy {
1191
1204
  processedRoom: EventEmitter<SceneBuildObject>;
1192
1205
  segmentationJobId: EventEmitter<string>;
1193
1206
  imageReady: EventEmitter<string>;
1207
+ continueToAI: EventEmitter<string>;
1194
1208
  disableSelectObjectsButton: boolean;
1195
1209
  showLoader: boolean;
1196
1210
  loadingTexts: string[];
1197
- private _subs;
1198
1211
  constructor(iconService: InphotoIconCacheService, _connectorService: InPhotoConnectorService, _appEventService: InphotoEventService);
1199
- ngOnDestroy(): void;
1200
1212
  handleCancelClick(): void;
1201
1213
  handleClearAllObjects(): void;
1202
1214
  handleSelectToClearObjects(): void;
1215
+ handleContinueToAI(): void;
1203
1216
  private _handleRoomReceived;
1204
1217
  static ɵfac: i0.ɵɵFactoryDeclaration<PrepareStartingImageComponent, never>;
1205
- static ɵcmp: i0.ɵɵComponentDeclaration<PrepareStartingImageComponent, "co-prepare-starting-image", never, { "image": { "alias": "image"; "required": false; }; }, { "cancelClick": "cancelClick"; "processedRoom": "processedRoom"; "segmentationJobId": "segmentationJobId"; "imageReady": "imageReady"; }, never, never, false, never>;
1218
+ static ɵcmp: i0.ɵɵComponentDeclaration<PrepareStartingImageComponent, "co-prepare-starting-image", never, { "image": { "alias": "image"; "required": false; }; }, { "cancelClick": "cancelClick"; "processedRoom": "processedRoom"; "segmentationJobId": "segmentationJobId"; "imageReady": "imageReady"; "continueToAI": "continueToAI"; }, never, never, false, never>;
1206
1219
  }
1207
1220
 
1208
1221
  declare class PrepareStartingImageModule {
@@ -1346,7 +1359,7 @@ declare class ThreedToAiModule {
1346
1359
 
1347
1360
  declare class InphotoThreedsceneModule {
1348
1361
  static ɵfac: i0.ɵɵFactoryDeclaration<InphotoThreedsceneModule, never>;
1349
- static ɵmod: i0.ɵɵNgModuleDeclaration<InphotoThreedsceneModule, [typeof InphotoThreedSceneComponent], [typeof ImageUploadModule, typeof BackNextButtonsModule, typeof i2.ButtonModule, typeof PipeModule, typeof InphotoCatalogModule, typeof i2.IconModule, typeof i7.ConfiguratorModule, typeof SceneContextMenuModule, typeof ConfigurationSideBarMenuModule, typeof ThreedToAiModule], [typeof InphotoThreedSceneComponent]>;
1362
+ static ɵmod: i0.ɵɵNgModuleDeclaration<InphotoThreedsceneModule, [typeof InphotoThreedSceneComponent], [typeof ImageUploadModule, typeof BackNextButtonsModule, typeof i2.ButtonModule, typeof PipeModule, typeof InphotoCatalogModule, typeof i2.IconModule, typeof i7$1.ConfiguratorModule, typeof SceneContextMenuModule, typeof ConfigurationSideBarMenuModule, typeof ThreedToAiModule], [typeof InphotoThreedSceneComponent]>;
1350
1363
  static ɵinj: i0.ɵɵInjectorDeclaration<InphotoThreedsceneModule>;
1351
1364
  }
1352
1365
 
@@ -1408,7 +1421,6 @@ declare class InPhotoComponent {
1408
1421
  appInitializerService: AppInitializerService;
1409
1422
  appEventService: InphotoEventService;
1410
1423
  private _cdk;
1411
- readonly RoutesEnum: typeof RoutesEnum;
1412
1424
  showClass(): boolean;
1413
1425
  set settings(input: any);
1414
1426
  showImageUpload: boolean;
@@ -1423,7 +1435,6 @@ declare class InPhotoComponent {
1423
1435
  aiDecorationImage: string;
1424
1436
  roomData: SceneBuildObject;
1425
1437
  segmentJobId: string;
1426
- useMock: boolean;
1427
1438
  constructor(appInitializerService: AppInitializerService, appEventService: InphotoEventService, _cdk: ChangeDetectorRef);
1428
1439
  handleCancelClick(): void;
1429
1440
  startPoint(): void;
@@ -1432,8 +1443,10 @@ declare class InPhotoComponent {
1432
1443
  handleStart3D(data: SceneBuildObject): void;
1433
1444
  handleSegmentationJobId(segmentJobId: string): void;
1434
1445
  handleSegmentOutput(image: string): void;
1446
+ handleCancelSegmentClick(): void;
1435
1447
  handleMenuChange(event: any): void;
1436
1448
  handleAiDecoration(image?: string): void;
1449
+ handleCancelCompleteClick(): void;
1437
1450
  closeReadyToOpen(): void;
1438
1451
  handleOpenCatalog(): void;
1439
1452
  static ɵfac: i0.ɵɵFactoryDeclaration<InPhotoComponent, never>;
@@ -1500,6 +1513,7 @@ declare class ImageProcessCompleteComponent {
1500
1513
  get image(): string;
1501
1514
  handleStart3D: EventEmitter<SceneBuildObject>;
1502
1515
  handleAiDecorationClicked: EventEmitter<string>;
1516
+ cancelClick: EventEmitter<void>;
1503
1517
  showLoader: boolean;
1504
1518
  loadingTexts: string[];
1505
1519
  private _image;
@@ -1507,9 +1521,10 @@ declare class ImageProcessCompleteComponent {
1507
1521
  constructor(iconService: InphotoIconCacheService, _connectorService: InPhotoConnectorService, _appEventService: InphotoEventService);
1508
1522
  handle3DClick(): void;
1509
1523
  handleAiClick(): void;
1524
+ cancel(): void;
1510
1525
  private _handleRoomReceived;
1511
1526
  static ɵfac: i0.ɵɵFactoryDeclaration<ImageProcessCompleteComponent, never>;
1512
- static ɵcmp: i0.ɵɵComponentDeclaration<ImageProcessCompleteComponent, "co-image-process-complete", never, { "image": { "alias": "image"; "required": false; }; }, { "handleStart3D": "handleStart3D"; "handleAiDecorationClicked": "handleAiDecorationClicked"; }, never, never, false, never>;
1527
+ static ɵcmp: i0.ɵɵComponentDeclaration<ImageProcessCompleteComponent, "co-image-process-complete", never, { "image": { "alias": "image"; "required": false; }; }, { "handleStart3D": "handleStart3D"; "handleAiDecorationClicked": "handleAiDecorationClicked"; "cancelClick": "cancelClick"; }, never, never, false, never>;
1513
1528
  }
1514
1529
 
1515
1530
  declare class ImageProcessCompleteNextComponent {
@@ -32,7 +32,7 @@
32
32
  }
33
33
 
34
34
  .prompt-text {
35
- @include cfg.text();
35
+ @include cfg.text();
36
36
  margin-bottom: 10px;
37
37
  }
38
38
 
@@ -23,6 +23,7 @@
23
23
  }
24
24
 
25
25
  .next-button, .generate-button {
26
+ margin-left: auto;
26
27
  min-width: 300px;
27
28
  font-weight: bold;
28
29
  @include cfg.action-button(
@@ -16,6 +16,12 @@
16
16
  justify-content: space-around;
17
17
 
18
18
  .drag-indicator-icon {
19
+ cursor: grab;
20
+
21
+ &:active {
22
+ cursor: grabbing;
23
+ }
24
+
19
25
  @include cfg.default-icon(var(--co-inphoto-icon-size-large), var(--co-inphoto-icon-size-large), var(--co-inphoto-accent-text));
20
26
  }
21
27
 
@@ -38,37 +38,58 @@
38
38
  }
39
39
 
40
40
 
41
- .collapse-menu {
42
- border-radius: var(--co-inphoto-border-radius);
43
- background: var(--co-inphoto-background-white);
44
- box-sizing: border-box;
45
- padding: 10px;
46
- cursor: pointer;
47
- display: grid;
48
-
49
- .collapse-menu-item {
50
- grid-area: 1 / 1;
51
- opacity: 0;
52
- pointer-events: none;
53
- transition: opacity 0.2s ease;
54
-
55
- .collapse-menu-open, .collapse-close-open {
56
- display: flex;
57
- justify-content: space-between;
58
- align-items: center;
59
-
60
- .collapse-menu-text {
61
- @include cfg.text();
62
- }
41
+ .image-enhancer-header {
42
+ display: flex;
43
+ justify-content: space-between;
44
+ gap: 20px;
45
+
46
+ .drag-indicator-icon {
47
+ border-radius: var(--co-inphoto-border-radius);
48
+ background: var(--co-inphoto-background-white);
49
+ box-sizing: border-box;
50
+ padding: 10px;
51
+ cursor: grab;
63
52
 
64
- @include cfg.default-icon(var(--co-inphoto-icon-size), var(--co-inphoto-icon-size), var(--co-inphoto-icon-color));
53
+ &:active {
54
+ cursor: grabbing;
65
55
  }
56
+
66
57
  }
67
58
 
68
- .collapse-menu-active {
69
- opacity: 1;
70
- pointer-events: auto;
59
+ .collapse-menu {
60
+ border-radius: var(--co-inphoto-border-radius);
61
+ background: var(--co-inphoto-background-white);
62
+ box-sizing: border-box;
63
+ padding: 10px;
64
+ cursor: pointer;
65
+ display: grid;
66
+
67
+ .collapse-menu-item {
68
+ grid-area: 1 / 1;
69
+ opacity: 0;
70
+ pointer-events: none;
71
+ transition: opacity 0.2s ease;
72
+
73
+ .collapse-menu-open, .collapse-close-open {
74
+ display: flex;
75
+ justify-content: space-between;
76
+ align-items: center;
77
+
78
+ .collapse-menu-text {
79
+ @include cfg.text();
80
+ }
81
+
82
+ @include cfg.default-icon(var(--co-inphoto-icon-size), var(--co-inphoto-icon-size), var(--co-inphoto-icon-color));
83
+ }
84
+ }
85
+
86
+ .collapse-menu-active {
87
+ opacity: 1;
88
+ pointer-events: auto;
89
+ }
71
90
  }
91
+
72
92
  }
93
+
73
94
  }
74
95
  }
@@ -2,14 +2,26 @@
2
2
 
3
3
  @include cfg.export-module('co-image-enhancer-theme') {
4
4
  .co-image-enhancer {
5
+ .enhancer-container {
6
+ background: rgba(255, 255, 255, 0.9);
7
+ position: fixed;
8
+ top: 20px;
9
+ right: 20px;
10
+ width: 30%;
11
+ max-width: 30%;
12
+ box-sizing: border-box;
13
+ padding: 20px;
14
+ border-radius: var(--co-inphoto-border-radius);
15
+ }
16
+
17
+
5
18
  .image-enhancer-container {
6
19
  .header {
7
20
  .header-icon-container {
8
21
  margin-bottom: 10px;
9
22
 
10
23
  h2 {
11
- font-size: var(--co-inphoto-font-size-head);
12
- color: var(--co-inphoto-color-dark);
24
+ @include cfg.header-text();
13
25
  }
14
26
  }
15
27
  }
@@ -18,10 +18,10 @@
18
18
  @include cfg.sub-header-text();
19
19
  }
20
20
  }
21
+ }
21
22
 
22
- .tool-explainer-text {
23
- @include cfg.text();
24
- }
23
+ .tool-explainer-text {
24
+ @include cfg.text();
25
25
  }
26
26
 
27
27
  .button-container {
@@ -61,24 +61,79 @@
61
61
  inset: 0;
62
62
  z-index: 1000;
63
63
  display: flex;
64
+ flex-direction: column;
64
65
  justify-content: center;
65
66
  align-items: center;
66
67
 
68
+ .dialog-container {
69
+ position: relative;
67
70
 
68
- .close-dialog-button {
69
- position: absolute;
70
- top: 20px;
71
- right: 20px;
72
- cursor: pointer;
71
+ .close-dialog-button, .dialog-prev-button, .dialog-next-button {
72
+ position: absolute;
73
73
 
74
- @include cfg.default-icon(var(--co-inphoto-icon-size), var(--co-inphoto-icon-size), var(--co-inphoto-icon-color-light));
74
+ cursor: pointer;
75
+ background: var(--co-inphoto-loader-background-dark);
76
+ width: 30px;
77
+ height: 30px;
78
+ border-radius: 50%;
79
+ display: flex;
80
+ align-items: center;
81
+ justify-content: space-around;
82
+
83
+ .co-icon {
84
+ flex: 1
85
+ }
86
+
87
+ @include cfg.default-icon(var(--co-inphoto-icon-size), var(--co-inphoto-icon-size), var(--co-inphoto-icon-color-light));
88
+ }
89
+
90
+ .close-dialog-button {
91
+ top: 20px;
92
+ right: 20px;
93
+ }
94
+
95
+ .dialog-prev-button {
96
+ left: 20px;
97
+ top: 50%;
98
+ }
99
+
100
+ .dialog-next-button {
101
+ right: 20px;
102
+ top: 50%;
103
+ }
104
+
105
+ .dialog-toolbar {
106
+ position: absolute;
107
+ bottom: 20px;
108
+ right: 20px;
109
+ display: flex;
110
+ gap: 10px;
111
+
112
+ .co-button {
113
+ display: flex;
114
+ cursor: pointer;
115
+ box-sizing: border-box;
116
+ padding: 8px 15px;
117
+ background: var(--co-inphoto-loader-background-dark);
118
+ color: var(--co-inphoto-color-light);
119
+ border-radius: var(--co-inphoto-border-radius);
120
+ font-size: var(--co-inphoto-font-size-label);
121
+
122
+ .label {
123
+ margin-left: 10px;
124
+ }
125
+
126
+ @include cfg.default-icon(var(--co-inphoto-icon-size-small), var(--co-inphoto-icon-size-small), var(--co-inphoto-icon-color-light));
127
+ }
128
+ }
75
129
  }
76
130
 
131
+
77
132
  .large-image {
78
- max-width: 90%;
79
- max-height: 90%;
133
+ max-width: 100%;
134
+ max-height: 100%;
80
135
  object-fit: contain;
81
- border-radius: 8px;
136
+ border-radius: var(--co-inphoto-border-radius);
82
137
  }
83
138
  }
84
139
  }
@@ -6,6 +6,7 @@
6
6
 
7
7
  .image-process-complete-next {
8
8
  .image-process-complete-dialog-next-step {
9
+ background: var(--co-inphoto-background-white);
9
10
  display: flex;
10
11
  align-items: start;
11
12
  justify-content: space-between;
@@ -3,9 +3,15 @@
3
3
  @include cfg.export-module('co-image-process-complete-layout') {
4
4
  .co-image-process-complete {
5
5
  .image-process-complete {
6
- height: 100vh;
7
- width: 100vw;
8
- background-size: cover;
6
+ background-size: contain;
7
+ display: flex;
8
+ justify-content: space-around;
9
+ align-items: center;
10
+ width: 100%;
11
+ height: 100%;
12
+ min-height: 100vh;
13
+ background-repeat: no-repeat;
14
+ background-position: center;
9
15
  }
10
16
 
11
17
  .image-process-complete-dialog {
@@ -16,17 +16,21 @@
16
16
  background: var(--co-inphoto-header-icon-background);
17
17
  color: var(--co-inphoto-success-color);
18
18
  margin-right: 25px;
19
- height: 55px;
20
- width: 55px;
21
- @include cfg.default-icon(var(--co-inphoto-icon-header), var(--co-inphoto-icon-header), var(--co-inphoto-success-color));
19
+ height: 50px;
20
+ width: 50px;
21
+ display: flex;
22
+ justify-content: space-around;
23
+ align-items: center;
24
+ border-radius: 50%;
25
+ @include cfg.default-icon(var(--co-inphoto-icon-size-large), var(--co-inphoto-icon-size-large), var(--co-inphoto-success-color));
22
26
  }
23
27
 
24
28
  .header-info {
25
- .header-head {
29
+ .header-text {
26
30
  @include cfg.header-text();
27
31
  }
28
32
 
29
- .header-text {
33
+ .explain-text {
30
34
  @include cfg.text();
31
35
  }
32
36
  }
@@ -35,20 +39,21 @@
35
39
  margin-left: auto;
36
40
 
37
41
  .co-button {
38
- text-align: center;
39
- margin: 10px auto;
40
- background-color: transparent;
41
- color: var(--co-inphoto-color-dark);
42
- font-size: var(--co-inphoto-button-font-size);
43
- border: var(--co-inphoto-button-border);
44
- border-radius: var(--co-inphoto-action-button-radius);
45
- padding: var(--co-inphoto-button-padding);
46
- font-weight: 600;
47
-
48
- @include cfg.default-icon(var(--co-inphoto-button-icon-size), var(--co-inphoto-button-icon-size), var(--co-inphoto-color-dark));
42
+ @include cfg.action-button(
43
+ var(--co-inphoto-button-background),
44
+ var(--co-inphoto-button-background),
45
+ var(--co-inphoto-button-color),
46
+ var(--co-inphoto-button-font-size),
47
+ var(--co-inphoto-button-icon-size),
48
+ var(--co-inphoto-button-icon-color),
49
+ var(--co-inphoto-button-border),
50
+ var(--co-inphoto-button-radius),
51
+ var(--co-inphoto-button-padding)
52
+ );
49
53
 
50
54
  .label {
51
55
  margin-left: 15px;
56
+ font-weight: bold;
52
57
  }
53
58
  }
54
59
  }
@@ -10,16 +10,6 @@
10
10
  width: 100vw;
11
11
  }
12
12
 
13
- .enhancer-container {
14
- background: rgba(255, 255, 255, 0.9);
15
- position: fixed;
16
- top: 20px;
17
- right: 20px;
18
- width: 30%;
19
- max-width: 30%;
20
- box-sizing: border-box;
21
- padding: 20px;
22
- border-radius: var(--co-inphoto-border-radius);
23
- }
13
+
24
14
  }
25
15
  }