@yogiswara/honcho-editor-ui 1.0.0

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 (91) hide show
  1. package/dist/components/editor/HAccordionAspectRatio.d.ts +14 -0
  2. package/dist/components/editor/HAccordionAspectRatio.js +102 -0
  3. package/dist/components/editor/HAccordionColor.d.ts +12 -0
  4. package/dist/components/editor/HAccordionColor.js +234 -0
  5. package/dist/components/editor/HAccordionColorAdjustment.d.ts +31 -0
  6. package/dist/components/editor/HAccordionColorAdjustment.js +37 -0
  7. package/dist/components/editor/HAccordionDetails.d.ts +8 -0
  8. package/dist/components/editor/HAccordionDetails.js +133 -0
  9. package/dist/components/editor/HAccordionLight.d.ts +16 -0
  10. package/dist/components/editor/HAccordionLight.js +342 -0
  11. package/dist/components/editor/HAccordionPreset.d.ts +23 -0
  12. package/dist/components/editor/HAccordionPreset.js +59 -0
  13. package/dist/components/editor/HAlertBox.d.ts +7 -0
  14. package/dist/components/editor/HAlertBox.js +46 -0
  15. package/dist/components/editor/HAspectRatioMobile.d.ts +0 -0
  16. package/dist/components/editor/HAspectRatioMobile.js +1 -0
  17. package/dist/components/editor/HBulkAccordionColorAdjustment.d.ts +55 -0
  18. package/dist/components/editor/HBulkAccordionColorAdjustment.js +31 -0
  19. package/dist/components/editor/HBulkAccordionColorAdjustmentColors.d.ts +20 -0
  20. package/dist/components/editor/HBulkAccordionColorAdjustmentColors.js +121 -0
  21. package/dist/components/editor/HBulkAccordionColorAdjustmentDetails.d.ts +12 -0
  22. package/dist/components/editor/HBulkAccordionColorAdjustmentDetails.js +65 -0
  23. package/dist/components/editor/HBulkAccordionColorAdjustmentLight.d.ts +28 -0
  24. package/dist/components/editor/HBulkAccordionColorAdjustmentLight.js +177 -0
  25. package/dist/components/editor/HBulkColorAdjustmentMobile.d.ts +53 -0
  26. package/dist/components/editor/HBulkColorAdjustmentMobile.js +16 -0
  27. package/dist/components/editor/HBulkColorMobile.d.ts +20 -0
  28. package/dist/components/editor/HBulkColorMobile.js +121 -0
  29. package/dist/components/editor/HBulkDetailsMobile.d.ts +12 -0
  30. package/dist/components/editor/HBulkDetailsMobile.js +65 -0
  31. package/dist/components/editor/HBulkLightMobile.d.ts +28 -0
  32. package/dist/components/editor/HBulkLightMobile.js +192 -0
  33. package/dist/components/editor/HBulkPreset.d.ts +24 -0
  34. package/dist/components/editor/HBulkPreset.js +33 -0
  35. package/dist/components/editor/HBulkPresetMobile.d.ts +15 -0
  36. package/dist/components/editor/HBulkPresetMobile.js +26 -0
  37. package/dist/components/editor/HDialogBox.d.ts +18 -0
  38. package/dist/components/editor/HDialogBox.js +51 -0
  39. package/dist/components/editor/HDialogCopy.d.ts +40 -0
  40. package/dist/components/editor/HDialogCopy.js +80 -0
  41. package/dist/components/editor/HFooter.d.ts +12 -0
  42. package/dist/components/editor/HFooter.js +24 -0
  43. package/dist/components/editor/HHeaderEditor.d.ts +17 -0
  44. package/dist/components/editor/HHeaderEditor.js +27 -0
  45. package/dist/components/editor/HImageEditorBulkDekstop.d.ts +15 -0
  46. package/dist/components/editor/HImageEditorBulkDekstop.js +26 -0
  47. package/dist/components/editor/HImageEditorBulkMobile.d.ts +72 -0
  48. package/dist/components/editor/HImageEditorBulkMobile.js +81 -0
  49. package/dist/components/editor/HImageEditorDekstop.d.ts +15 -0
  50. package/dist/components/editor/HImageEditorDekstop.js +29 -0
  51. package/dist/components/editor/HImageEditorMobile.d.ts +47 -0
  52. package/dist/components/editor/HImageEditorMobile.js +91 -0
  53. package/dist/components/editor/HImageEditorMobileLayout.d.ts +14 -0
  54. package/dist/components/editor/HImageEditorMobileLayout.js +57 -0
  55. package/dist/components/editor/HImageEditorPage.d.ts +1 -0
  56. package/dist/components/editor/HImageEditorPage.js +187 -0
  57. package/dist/components/editor/HModalEditorDekstop.d.ts +13 -0
  58. package/dist/components/editor/HModalEditorDekstop.js +22 -0
  59. package/dist/components/editor/HModalMobile.d.ts +12 -0
  60. package/dist/components/editor/HModalMobile.js +7 -0
  61. package/dist/components/editor/HPresetOptionMenu.d.ts +11 -0
  62. package/dist/components/editor/HPresetOptionMenu.js +20 -0
  63. package/dist/components/editor/HSliderColorMobile.d.ts +12 -0
  64. package/dist/components/editor/HSliderColorMobile.js +222 -0
  65. package/dist/components/editor/HSliderDetailsMobile.d.ts +8 -0
  66. package/dist/components/editor/HSliderDetailsMobile.js +130 -0
  67. package/dist/components/editor/HSliderLightMobile.d.ts +16 -0
  68. package/dist/components/editor/HSliderLightMobile.js +342 -0
  69. package/dist/components/editor/HTabAspectRatioMobile.d.ts +0 -0
  70. package/dist/components/editor/HTabAspectRatioMobile.js +1 -0
  71. package/dist/components/editor/HTabColorAdjustmentMobile.d.ts +29 -0
  72. package/dist/components/editor/HTabColorAdjustmentMobile.js +16 -0
  73. package/dist/components/editor/HTabPresetMobile.d.ts +14 -0
  74. package/dist/components/editor/HTabPresetMobile.js +10 -0
  75. package/dist/components/editor/HTextField.d.ts +14 -0
  76. package/dist/components/editor/HTextField.js +51 -0
  77. package/dist/components/editor/HWatermarkView.d.ts +6 -0
  78. package/dist/components/editor/HWatermarkView.js +16 -0
  79. package/dist/hooks/editor/useHonchoEditor.d.ts +272 -0
  80. package/dist/hooks/editor/useHonchoEditor.js +1203 -0
  81. package/dist/index.d.ts +23 -0
  82. package/dist/index.js +23 -0
  83. package/dist/lib/editor/honcho-editor.d.ts +324 -0
  84. package/dist/lib/editor/honcho-editor.js +825 -0
  85. package/dist/themes/colors.d.ts +12 -0
  86. package/dist/themes/colors.js +12 -0
  87. package/dist/themes/honchoTheme.d.ts +25 -0
  88. package/dist/themes/honchoTheme.js +94 -0
  89. package/dist/utils/isMobile.d.ts +1 -0
  90. package/dist/utils/isMobile.js +5 -0
  91. package/package.json +41 -0
@@ -0,0 +1,23 @@
1
+ export { useHonchoEditor } from './hooks/editor/useHonchoEditor';
2
+ export type { Controller, AdjustmentState, Preset, ImageItem, } from './hooks/editor/useHonchoEditor';
3
+ export { default as HHeaderEditor } from './components/editor/HHeaderEditor';
4
+ export { default as HFooter } from './components/editor/HFooter';
5
+ export { default as HAccordionColorAdjustment } from './components/editor/HAccordionColorAdjustment';
6
+ export { default as HAccordionPreset } from './components/editor/HAccordionPreset';
7
+ export { HBaseDialog, HDialogForPreset } from './components/editor/HDialogBox';
8
+ export { HDialogCopy, HDialogPreset } from './components/editor/HDialogCopy';
9
+ export { default as HImageEditorMobile } from './components/editor/HImageEditorMobile';
10
+ export { default as HImageEditorDesktop } from './components/editor/HImageEditorDekstop';
11
+ export { default as HImageEditorBulkDekstop } from './components/editor/HImageEditorBulkDekstop';
12
+ export { default as HImageEditorBulkMobile } from './components/editor/HImageEditorBulkMobile';
13
+ export { default as HBulkAccordionColorAdjustment } from './components/editor/HBulkAccordionColorAdjustment';
14
+ export { default as HBulkPreset } from './components/editor/HBulkPreset';
15
+ export { default as HModalEditorDekstop } from './components/editor/HModalEditorDekstop';
16
+ export { HTextField, HTextFieldRename } from './components/editor/HTextField';
17
+ export { default as HWatermarkView } from './components/editor/HWatermarkView';
18
+ export { default as HModalMobile } from './components/editor/HModalMobile';
19
+ export { default as HPresetOptionsMenu } from './components/editor/HPresetOptionMenu';
20
+ export { HAlertInternetBox, HAlertCopyBox, HAlertInternetConnectionBox } from './components/editor/HAlertBox';
21
+ export { default as useColors } from './themes/colors';
22
+ export { default as useHonchoTypography } from './themes/honchoTheme';
23
+ export { default as useIsMobile } from './utils/isMobile';
package/dist/index.js ADDED
@@ -0,0 +1,23 @@
1
+ export { useHonchoEditor } from './hooks/editor/useHonchoEditor';
2
+ export { default as HHeaderEditor } from './components/editor/HHeaderEditor';
3
+ export { default as HFooter } from './components/editor/HFooter';
4
+ export { default as HAccordionColorAdjustment } from './components/editor/HAccordionColorAdjustment';
5
+ export { default as HAccordionPreset } from './components/editor/HAccordionPreset';
6
+ export { HBaseDialog, HDialogForPreset } from './components/editor/HDialogBox';
7
+ export { HDialogCopy, HDialogPreset } from './components/editor/HDialogCopy';
8
+ export { default as HImageEditorMobile } from './components/editor/HImageEditorMobile';
9
+ export { default as HImageEditorDesktop } from './components/editor/HImageEditorDekstop';
10
+ export { default as HImageEditorBulkDekstop } from './components/editor/HImageEditorBulkDekstop';
11
+ export { default as HImageEditorBulkMobile } from './components/editor/HImageEditorBulkMobile';
12
+ export { default as HBulkAccordionColorAdjustment } from './components/editor/HBulkAccordionColorAdjustment';
13
+ export { default as HBulkPreset } from './components/editor/HBulkPreset';
14
+ export { default as HModalEditorDekstop } from './components/editor/HModalEditorDekstop';
15
+ export { HTextField, HTextFieldRename } from './components/editor/HTextField';
16
+ export { default as HWatermarkView } from './components/editor/HWatermarkView';
17
+ export { default as HModalMobile } from './components/editor/HModalMobile';
18
+ export { default as HPresetOptionsMenu } from './components/editor/HPresetOptionMenu';
19
+ export { HAlertInternetBox, HAlertCopyBox, HAlertInternetConnectionBox } from './components/editor/HAlertBox';
20
+ // --- Theme & Utils ---
21
+ export { default as useColors } from './themes/colors';
22
+ export { default as useHonchoTypography } from './themes/honchoTheme';
23
+ export { default as useIsMobile } from './utils/isMobile';
@@ -0,0 +1,324 @@
1
+ export class HonchoEditor {
2
+ wasmModule: any;
3
+ isInitialized: boolean;
4
+ currentImageData: any;
5
+ canvas: HTMLCanvasElement | null;
6
+ currentWidth: number;
7
+ currentHeight: number;
8
+ /**
9
+ * Initialize the WASM module
10
+ * @param {boolean} verbose - Enable verbose logging (default: false)
11
+ */
12
+ initialize(verbose?: boolean): Promise<boolean>;
13
+ /**
14
+ * Clean up resources before loading a new image
15
+ */
16
+ cleanupForNewImage(): void;
17
+ /**
18
+ * Load image from File object (drag & drop, file input)
19
+ */
20
+ loadImageFromFile(file: any): Promise<any>;
21
+ /**
22
+ * Load image from URL
23
+ */
24
+ loadImageFromUrl(url: any): Promise<any>;
25
+ /**
26
+ * Load image from HTML Image element
27
+ */
28
+ loadImageFromImageElement(img: any): {
29
+ width: any;
30
+ height: any;
31
+ };
32
+ /**
33
+ * Load image from ImageData
34
+ */
35
+ loadImageFromImageData(imageData: any): {
36
+ width: any;
37
+ height: any;
38
+ };
39
+ setExposure(value: any): void;
40
+ setContrast(value: any): void;
41
+ setHighlights(value: any): void;
42
+ setShadows(value: any): void;
43
+ setSaturation(value: any): void;
44
+ setVibrance(value: any): void;
45
+ setTemperature(value: any): void;
46
+ setTint(value: any): void;
47
+ setBlacks(value: any): void;
48
+ setWhites(value: any): void;
49
+ setClarity(value: any): void;
50
+ setSharpness(value: any): void;
51
+ /**
52
+ * Set multiple adjustments at once
53
+ */
54
+ setAdjustments(adjustments: any): void;
55
+ /**
56
+ * Reset all adjustments to default values
57
+ */
58
+ resetAdjustments(): void;
59
+ /**
60
+ * Set a frame overlay from raw image data
61
+ * @param {Uint8Array} data - Raw RGBA image data
62
+ * @param {number} width - Frame width
63
+ * @param {number} height - Frame height
64
+ * @param {number} channels - Number of channels (usually 4 for RGBA)
65
+ * @returns {boolean} - true if frame was set successfully
66
+ */
67
+ setFrame(data: Uint8Array, width: number, height: number, channels?: number): boolean;
68
+ /**
69
+ * Set a frame overlay from an ImageData object
70
+ * The frame will be scaled to match the image size and composited on top
71
+ * @param {ImageData} frameImageData - Frame image data (preferably with alpha channel)
72
+ * @returns {boolean} - true if frame was set successfully
73
+ */
74
+ setFrameFromImageData(frameImageData: ImageData): boolean;
75
+ /**
76
+ * Set a frame overlay from an HTML Image element
77
+ * @param {HTMLImageElement} frameImage - Frame image element
78
+ * @returns {boolean} - true if frame was set successfully
79
+ */
80
+ setFrameFromImage(frameImage: HTMLImageElement): boolean;
81
+ /**
82
+ * Set a frame overlay from a Canvas element
83
+ * @param {HTMLCanvasElement} frameCanvas - Frame canvas element
84
+ * @returns {boolean} - true if frame was set successfully
85
+ */
86
+ setFrameFromCanvas(frameCanvas: HTMLCanvasElement): boolean;
87
+ /**
88
+ * Clear the current frame overlay
89
+ */
90
+ clearFrame(): void;
91
+ /**
92
+ * Check if a frame is currently set
93
+ * @returns {boolean} - true if a frame is set
94
+ */
95
+ hasFrame(): boolean;
96
+ /**
97
+ * One-shot processing: load image, apply adjustments, get result
98
+ * Most efficient for single image processing or batch operations
99
+ *
100
+ * @param {File|ImageData|HTMLImageElement} imageSource - Image source (File, ImageData, or Image element)
101
+ * @param {Object} adjustments - Object containing adjustment values (-100 to 100)
102
+ * @param {File|ImageData|HTMLImageElement|null} frameSource - Optional frame source
103
+ * @returns {ImageData} - Processed image data
104
+ *
105
+ * @example
106
+ * // Basic usage
107
+ * const result = await editor.processImageOneShot(imageFile, {
108
+ * exposure: 20,
109
+ * contrast: 15,
110
+ * saturation: 10
111
+ * });
112
+ *
113
+ * // With frame
114
+ * const result = await editor.processImageOneShot(imageFile, {
115
+ * exposure: 20,
116
+ * contrast: 15
117
+ * }, frameFile);
118
+ *
119
+ * // All adjustments
120
+ * const result = await editor.processImageOneShot(imageFile, {
121
+ * temperature: 10,
122
+ * tint: -5,
123
+ * exposure: 20,
124
+ * contrast: 15,
125
+ * highlights: -20,
126
+ * shadows: 30,
127
+ * saturation: 25,
128
+ * vibrance: 20,
129
+ * whites: 10,
130
+ * blacks: -10,
131
+ * clarity: 15,
132
+ * sharpness: 20
133
+ * });
134
+ */
135
+ processImageOneShot(imageSource: File | ImageData | HTMLImageElement, adjustments?: Object, frameSource?: File | ImageData | HTMLImageElement | null): ImageData;
136
+ /**
137
+ * Helper method to load frame from File (for processImageOneShot)
138
+ */
139
+ setFrameFromFile(frameFile: any): Promise<any>;
140
+ /**
141
+ * Manual processing trigger - call this after setting adjustments
142
+ */
143
+ processImage(): void;
144
+ /**
145
+ * GPU Path: Render to canvas for real-time preview (<1ms)
146
+ */
147
+ renderToCanvas(canvas: any): void;
148
+ /**
149
+ * CPU Path: Get processed image data for export (50-100ms)
150
+ */
151
+ getProcessedImageData(): ImageData;
152
+ /**
153
+ * Get current image dimensions
154
+ */
155
+ getImageSize(): {
156
+ width: number;
157
+ height: number;
158
+ };
159
+ /**
160
+ * Get current image width
161
+ */
162
+ getWidth(): number;
163
+ /**
164
+ * Get current image height
165
+ */
166
+ getHeight(): number;
167
+ /**
168
+ * Check if editor is initialized
169
+ */
170
+ getInitialized(): boolean;
171
+ /**
172
+ * Get raw WASM module (advanced usage)
173
+ */
174
+ getRawModule(): any;
175
+ /**
176
+ * Validate adjustment value against range
177
+ */
178
+ validateAdjustment(name: any, value: any): void;
179
+ /**
180
+ * Cleanup resources
181
+ */
182
+ cleanup(): void;
183
+ }
184
+ export namespace HonchoEditorUtils {
185
+ /**
186
+ * Convert ImageData to Blob for download
187
+ */
188
+ function imageDataToBlob(imageData: any, format?: string, quality?: number): Promise<any>;
189
+ /**
190
+ * Download blob as file
191
+ */
192
+ function downloadBlob(blob: any, filename: any): void;
193
+ /**
194
+ * Create debounced function for performance optimization
195
+ */
196
+ function debounce(func: any, wait: any): (...args: any[]) => void;
197
+ /**
198
+ * Validate image file type
199
+ */
200
+ function isValidImageFile(file: any): boolean;
201
+ /**
202
+ * Get file size in human readable format
203
+ */
204
+ function formatFileSize(bytes: any): string;
205
+ }
206
+ export namespace ADJUSTMENT_RANGES {
207
+ namespace temperature {
208
+ export let min: number;
209
+ export let max: number;
210
+ let _default: number;
211
+ export { _default as default };
212
+ export let step: number;
213
+ }
214
+ namespace tint {
215
+ let min_1: number;
216
+ export { min_1 as min };
217
+ let max_1: number;
218
+ export { max_1 as max };
219
+ let _default_1: number;
220
+ export { _default_1 as default };
221
+ let step_1: number;
222
+ export { step_1 as step };
223
+ }
224
+ namespace saturation {
225
+ let min_2: number;
226
+ export { min_2 as min };
227
+ let max_2: number;
228
+ export { max_2 as max };
229
+ let _default_2: number;
230
+ export { _default_2 as default };
231
+ let step_2: number;
232
+ export { step_2 as step };
233
+ }
234
+ namespace vibrance {
235
+ let min_3: number;
236
+ export { min_3 as min };
237
+ let max_3: number;
238
+ export { max_3 as max };
239
+ let _default_3: number;
240
+ export { _default_3 as default };
241
+ let step_3: number;
242
+ export { step_3 as step };
243
+ }
244
+ namespace exposure {
245
+ let min_4: number;
246
+ export { min_4 as min };
247
+ let max_4: number;
248
+ export { max_4 as max };
249
+ let _default_4: number;
250
+ export { _default_4 as default };
251
+ let step_4: number;
252
+ export { step_4 as step };
253
+ }
254
+ namespace contrast {
255
+ let min_5: number;
256
+ export { min_5 as min };
257
+ let max_5: number;
258
+ export { max_5 as max };
259
+ let _default_5: number;
260
+ export { _default_5 as default };
261
+ let step_5: number;
262
+ export { step_5 as step };
263
+ }
264
+ namespace highlights {
265
+ let min_6: number;
266
+ export { min_6 as min };
267
+ let max_6: number;
268
+ export { max_6 as max };
269
+ let _default_6: number;
270
+ export { _default_6 as default };
271
+ let step_6: number;
272
+ export { step_6 as step };
273
+ }
274
+ namespace shadows {
275
+ let min_7: number;
276
+ export { min_7 as min };
277
+ let max_7: number;
278
+ export { max_7 as max };
279
+ let _default_7: number;
280
+ export { _default_7 as default };
281
+ let step_7: number;
282
+ export { step_7 as step };
283
+ }
284
+ namespace whites {
285
+ let min_8: number;
286
+ export { min_8 as min };
287
+ let max_8: number;
288
+ export { max_8 as max };
289
+ let _default_8: number;
290
+ export { _default_8 as default };
291
+ let step_8: number;
292
+ export { step_8 as step };
293
+ }
294
+ namespace blacks {
295
+ let min_9: number;
296
+ export { min_9 as min };
297
+ let max_9: number;
298
+ export { max_9 as max };
299
+ let _default_9: number;
300
+ export { _default_9 as default };
301
+ let step_9: number;
302
+ export { step_9 as step };
303
+ }
304
+ namespace clarity {
305
+ let min_10: number;
306
+ export { min_10 as min };
307
+ let max_10: number;
308
+ export { max_10 as max };
309
+ let _default_10: number;
310
+ export { _default_10 as default };
311
+ let step_10: number;
312
+ export { step_10 as step };
313
+ }
314
+ namespace sharpness {
315
+ let min_11: number;
316
+ export { min_11 as min };
317
+ let max_11: number;
318
+ export { max_11 as max };
319
+ let _default_11: number;
320
+ export { _default_11 as default };
321
+ let step_11: number;
322
+ export { step_11 as step };
323
+ }
324
+ }