@yogiswara/honcho-editor-ui 1.0.10 → 1.0.12

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.
@@ -9,30 +9,68 @@ export interface Content {
9
9
  width: number;
10
10
  height: number;
11
11
  }
12
+ export interface ColorAdjustment {
13
+ temperature: number;
14
+ tint: number;
15
+ saturation: number;
16
+ vibrance: number;
17
+ exposure: number;
18
+ contrast: number;
19
+ highlights: number;
20
+ shadows: number;
21
+ whites: number;
22
+ blacks: number;
23
+ clarity: number;
24
+ sharpness: number;
25
+ }
26
+ export interface TransformationAdjustment {
27
+ angle_score?: number;
28
+ direction?: "cw" | "ccw";
29
+ scale_score?: number;
30
+ keep_dimension?: boolean;
31
+ flip_mode?: "horizontal" | "vertical" | "mix";
32
+ aspect_ratio?: string;
33
+ width?: number;
34
+ height?: number;
35
+ }
36
+ export interface Watermark {
37
+ path: string;
38
+ max_pct: [number, number];
39
+ anchor: [string, number | null, number[] | null];
40
+ rotate_deg: [number, "cw" | "ccw"];
41
+ }
42
+ export interface EditorConfig {
43
+ color_adjustment: ColorAdjustment;
44
+ transformation_adjustment: TransformationAdjustment[];
45
+ watermarks: Watermark[];
46
+ }
12
47
  export interface Gallery {
13
48
  id: string;
14
49
  uid: string;
15
50
  event_id: string;
16
51
  download: Content;
17
- download_edited: Content;
52
+ download_edited: Content | null;
18
53
  raw?: Content;
19
54
  raw_edited?: Content;
55
+ raw_preview?: Content;
56
+ raw_thumbnail?: Content;
20
57
  original?: Content;
21
- original_edited?: Content;
58
+ original_edited?: Content | null;
22
59
  large?: Content;
23
- large_edited?: Content;
24
- medium?: Content;
25
- medium_edited?: Content;
26
- small?: Content;
27
- small_edited?: Content;
28
- mini?: Content;
29
- mini_edited?: Content;
60
+ large_edited?: Content | null;
61
+ medium?: Content | null;
62
+ medium_edited?: Content | null;
63
+ small?: Content | null;
64
+ small_edited?: Content | null;
65
+ mini?: Content | null;
66
+ mini_edited?: Content | null;
30
67
  create_from?: string[];
31
68
  thumbnail: Content;
32
- thumbnail_edited: Content;
69
+ thumbnail_edited: Content | null;
33
70
  is_original: boolean;
34
71
  available: boolean;
35
72
  show_gallery: boolean;
73
+ editor_config?: EditorConfig;
36
74
  log: Log;
37
75
  }
38
76
  export {};
@@ -6,14 +6,13 @@ declare global {
6
6
  }
7
7
  }
8
8
  export interface Controller {
9
- onGetImage(firebaseUid: string, imageID: string): Promise<Gallery | null>;
9
+ onGetImage(firebaseUid: string, imageID: string): Promise<Gallery>;
10
10
  getImageList(firebaseUid: string): Promise<Gallery[]>;
11
11
  syncConfig(firebaseUid: string): Promise<void>;
12
12
  handleBack(firebaseUid: string): void;
13
13
  getPresets(firebaseUid: string): Promise<Preset[]>;
14
- createPreset(firebaseUid: string, name: string, settings: AdjustmentState): Promise<Preset | null>;
14
+ createPreset(firebaseUid: string, name: string, settings: AdjustmentState): Promise<Preset>;
15
15
  deletePreset(firebaseUid: string, presetId: string): Promise<void>;
16
- renamePreset(firebaseUid: string, presetId: string, newName: string): Promise<void>;
17
16
  }
18
17
  export type AdjustmentState = {
19
18
  tempScore: number;
@@ -47,13 +46,12 @@ export declare function useHonchoEditor(controller: Controller, initImageId: str
47
46
  fileInputRef: import("react").MutableRefObject<HTMLInputElement | null>;
48
47
  displayedToken: string | null;
49
48
  handleBack: (firebaseUid: string) => void;
50
- onGetImage: (firebaseUid: string, imageID: string) => Promise<Gallery | null>;
49
+ onGetImage: (firebaseUid: string, imageID: string) => Promise<Gallery>;
51
50
  getImageList: (firebaseUid: string) => Promise<Gallery[]>;
52
51
  syncConfig: (firebaseUid: string) => Promise<void>;
53
52
  getPresets: (firebaseUid: string) => Promise<Preset[]>;
54
- createPreset: (firebaseUid: string, name: string, settings: AdjustmentState) => Promise<Preset | null>;
53
+ createPreset: (firebaseUid: string, name: string, settings: AdjustmentState) => Promise<Preset>;
55
54
  deletePreset: (firebaseUid: string, presetId: string) => Promise<void>;
56
- renamePreset: (firebaseUid: string, presetId: string, newName: string) => Promise<void>;
57
55
  panelRef: import("react").MutableRefObject<HTMLDivElement | null>;
58
56
  contentRef: import("react").MutableRefObject<HTMLDivElement | null>;
59
57
  panelHeight: number;
@@ -175,7 +173,6 @@ export declare function useHonchoEditor(controller: Controller, initImageId: str
175
173
  handlePresetMenuClose: () => void;
176
174
  handleCreatePreset: () => Promise<void>;
177
175
  handleRemovePreset: () => void;
178
- handleRenamePreset: (newName: string) => Promise<void>;
179
176
  handleDeletePreset: () => Promise<void>;
180
177
  handleOpenPresetModal: () => void;
181
178
  handleClosePresetModal: () => void;
@@ -190,7 +187,6 @@ export declare function useHonchoEditor(controller: Controller, initImageId: str
190
187
  setNewPresetName: import("react").Dispatch<import("react").SetStateAction<string>>;
191
188
  handleOpenRenameModal: () => void;
192
189
  handleCloseRenameModal: () => void;
193
- handleConfirmRename: () => Promise<void>;
194
190
  handleOpenWatermarkView: () => void;
195
191
  handleSaveWatermark: () => void;
196
192
  handleCancelWatermark: () => void;
@@ -265,8 +265,11 @@ export function useHonchoEditor(controller, initImageId, firebaseUid) {
265
265
  setEditorStatus("Fetching image...");
266
266
  try {
267
267
  const gallery = await controller.onGetImage(firebaseUid, imageId);
268
- if (gallery && gallery.original && gallery.original.path) {
269
- await loadImageFromUrl(gallery.original.path);
268
+ const imagePath = gallery?.raw_edited?.path
269
+ ? gallery.raw_edited.path
270
+ : gallery?.download?.path;
271
+ if (imagePath) {
272
+ await loadImageFromUrl(imagePath);
270
273
  }
271
274
  else {
272
275
  throw new Error("Controller did not return a valid image object with path.");
@@ -717,19 +720,6 @@ export function useHonchoEditor(controller, initImageId, firebaseUid) {
717
720
  };
718
721
  const handlePresetMenuClose = () => { setPresetMenuAnchorEl(null); setActivePresetMenuId(null); };
719
722
  const handleRemovePreset = () => { console.log(`Remove: ${activePresetMenuId}`); handlePresetMenuClose(); };
720
- const handleRenamePreset = useCallback(async (newName) => {
721
- if (!controller || !activePresetMenuId)
722
- return;
723
- try {
724
- await controller.renamePreset(firebaseUid, activePresetMenuId, newName);
725
- // On success, update the preset in local state
726
- setPresets(prev => prev.map(p => p.id === activePresetMenuId ? { ...p, name: newName } : p));
727
- }
728
- catch (error) {
729
- console.error("Failed to rename preset:", error);
730
- }
731
- handlePresetMenuClose();
732
- }, [controller, activePresetMenuId]);
733
723
  const handleDeletePreset = useCallback(async () => {
734
724
  if (!controller || !activePresetMenuId)
735
725
  return;
@@ -798,19 +788,6 @@ export function useHonchoEditor(controller, initImageId, firebaseUid) {
798
788
  setPresetToRename(null);
799
789
  setNewPresetName("");
800
790
  };
801
- const handleConfirmRename = useCallback(async () => {
802
- if (!presetToRename || !newPresetName)
803
- return;
804
- try {
805
- await controller.renamePreset(firebaseUid, presetToRename.id, newPresetName);
806
- // On success, update the preset in local state
807
- setPresets(prev => prev.map(p => p.id === presetToRename.id ? { ...p, name: newPresetName } : p));
808
- }
809
- catch (error) {
810
- console.error("Failed to rename preset:", error);
811
- }
812
- handleCloseRenameModal();
813
- }, [controller, presetToRename, newPresetName]);
814
791
  // Bulk Editing Handlers
815
792
  const toggleBulkEditing = () => {
816
793
  setIsBulkEditing(prev => {
@@ -1010,7 +987,6 @@ export function useHonchoEditor(controller, initImageId, firebaseUid) {
1010
987
  getPresets: controller.getPresets,
1011
988
  createPreset: controller.createPreset,
1012
989
  deletePreset: controller.deletePreset,
1013
- renamePreset: controller.renamePreset,
1014
990
  // Refs for mobile panel
1015
991
  panelRef,
1016
992
  contentRef,
@@ -1106,7 +1082,6 @@ export function useHonchoEditor(controller, initImageId, firebaseUid) {
1106
1082
  handlePresetMenuClose,
1107
1083
  handleCreatePreset,
1108
1084
  handleRemovePreset,
1109
- handleRenamePreset,
1110
1085
  handleDeletePreset,
1111
1086
  handleOpenPresetModal,
1112
1087
  handleClosePresetModal,
@@ -1121,7 +1096,6 @@ export function useHonchoEditor(controller, initImageId, firebaseUid) {
1121
1096
  setNewPresetName,
1122
1097
  handleOpenRenameModal,
1123
1098
  handleCloseRenameModal,
1124
- handleConfirmRename,
1125
1099
  handleOpenWatermarkView,
1126
1100
  handleSaveWatermark,
1127
1101
  handleCancelWatermark,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yogiswara/honcho-editor-ui",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "description": "A complete UI component library for the Honcho photo editor.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",