@yogiswara/honcho-editor-ui 2.8.10 → 2.9.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 (143) hide show
  1. package/dist/color.d.ts +9 -0
  2. package/dist/color.js +9 -0
  3. package/dist/components/editor/GalleryAlbum/AlbumImageGallery.d.ts +8 -0
  4. package/dist/components/editor/GalleryAlbum/AlbumImageGallery.js +28 -0
  5. package/dist/components/editor/GalleryAlbum/ImageItem.d.ts +10 -0
  6. package/dist/components/editor/GalleryAlbum/ImageItem.js +81 -0
  7. package/dist/components/editor/HAccordionAspectRatio.d.ts +14 -0
  8. package/dist/components/editor/HAccordionAspectRatio.js +102 -0
  9. package/dist/components/editor/HAccordionColor.d.ts +16 -0
  10. package/dist/components/editor/HAccordionColor.js +282 -0
  11. package/dist/components/editor/HAccordionColorAdjustment.d.ts +35 -0
  12. package/dist/components/editor/HAccordionColorAdjustment.js +31 -0
  13. package/dist/components/editor/HAccordionDetails.d.ts +12 -0
  14. package/dist/components/editor/HAccordionDetails.js +183 -0
  15. package/dist/components/editor/HAccordionLight.d.ts +20 -0
  16. package/dist/components/editor/HAccordionLight.js +414 -0
  17. package/dist/components/editor/HAccordionPreset.d.ts +23 -0
  18. package/dist/components/editor/HAccordionPreset.js +52 -0
  19. package/dist/components/editor/HAlertBox.d.ts +8 -0
  20. package/dist/components/editor/HAlertBox.js +55 -0
  21. package/dist/components/editor/HAspectRatioMobile.d.ts +0 -0
  22. package/dist/components/editor/HAspectRatioMobile.js +1 -0
  23. package/dist/components/editor/HBulkAccordionColorAdjustment.d.ts +55 -0
  24. package/dist/components/editor/HBulkAccordionColorAdjustment.js +31 -0
  25. package/dist/components/editor/HBulkAccordionColorAdjustmentColors.d.ts +20 -0
  26. package/dist/components/editor/HBulkAccordionColorAdjustmentColors.js +121 -0
  27. package/dist/components/editor/HBulkAccordionColorAdjustmentDetails.d.ts +12 -0
  28. package/dist/components/editor/HBulkAccordionColorAdjustmentDetails.js +65 -0
  29. package/dist/components/editor/HBulkAccordionColorAdjustmentLight.d.ts +28 -0
  30. package/dist/components/editor/HBulkAccordionColorAdjustmentLight.js +177 -0
  31. package/dist/components/editor/HBulkColorAdjustmentMobile.d.ts +53 -0
  32. package/dist/components/editor/HBulkColorAdjustmentMobile.js +16 -0
  33. package/dist/components/editor/HBulkColorMobile.d.ts +20 -0
  34. package/dist/components/editor/HBulkColorMobile.js +121 -0
  35. package/dist/components/editor/HBulkDetailsMobile.d.ts +12 -0
  36. package/dist/components/editor/HBulkDetailsMobile.js +65 -0
  37. package/dist/components/editor/HBulkLightMobile.d.ts +28 -0
  38. package/dist/components/editor/HBulkLightMobile.js +192 -0
  39. package/dist/components/editor/HBulkPreset.d.ts +24 -0
  40. package/dist/components/editor/HBulkPreset.js +43 -0
  41. package/dist/components/editor/HBulkPresetMobile.d.ts +15 -0
  42. package/dist/components/editor/HBulkPresetMobile.js +26 -0
  43. package/dist/components/editor/HDialogBox.d.ts +18 -0
  44. package/dist/components/editor/HDialogBox.js +51 -0
  45. package/dist/components/editor/HDialogCopy.d.ts +41 -0
  46. package/dist/components/editor/HDialogCopy.js +80 -0
  47. package/dist/components/editor/HFooter.d.ts +12 -0
  48. package/dist/components/editor/HFooter.js +24 -0
  49. package/dist/components/editor/HHeaderEditor.d.ts +19 -0
  50. package/dist/components/editor/HHeaderEditor.js +36 -0
  51. package/dist/components/editor/HImageEditorBulkDekstop.d.ts +15 -0
  52. package/dist/components/editor/HImageEditorBulkDekstop.js +29 -0
  53. package/dist/components/editor/HImageEditorBulkMobile.d.ts +72 -0
  54. package/dist/components/editor/HImageEditorBulkMobile.js +81 -0
  55. package/dist/components/editor/HImageEditorDekstop.d.ts +15 -0
  56. package/dist/components/editor/HImageEditorDekstop.js +29 -0
  57. package/dist/components/editor/HImageEditorMobile.d.ts +53 -0
  58. package/dist/components/editor/HImageEditorMobile.js +92 -0
  59. package/dist/components/editor/HImageEditorMobileLayout.d.ts +14 -0
  60. package/dist/components/editor/HImageEditorMobileLayout.js +58 -0
  61. package/dist/components/editor/HModalEditorDekstop.d.ts +13 -0
  62. package/dist/components/editor/HModalEditorDekstop.js +22 -0
  63. package/dist/components/editor/HModalMobile.d.ts +13 -0
  64. package/dist/components/editor/HModalMobile.js +9 -0
  65. package/dist/components/editor/HPresetDelete.d.ts +7 -0
  66. package/dist/components/editor/HPresetDelete.js +7 -0
  67. package/dist/components/editor/HPresetOptionMenu.d.ts +9 -0
  68. package/dist/components/editor/HPresetOptionMenu.js +20 -0
  69. package/dist/components/editor/HSliderColorMobile.d.ts +16 -0
  70. package/dist/components/editor/HSliderColorMobile.js +270 -0
  71. package/dist/components/editor/HSliderDetailsMobile.d.ts +12 -0
  72. package/dist/components/editor/HSliderDetailsMobile.js +154 -0
  73. package/dist/components/editor/HSliderLightMobile.d.ts +20 -0
  74. package/dist/components/editor/HSliderLightMobile.js +420 -0
  75. package/dist/components/editor/HTabAspectRatioMobile.d.ts +0 -0
  76. package/dist/components/editor/HTabAspectRatioMobile.js +1 -0
  77. package/dist/components/editor/HTabColorAdjustmentMobile.d.ts +35 -0
  78. package/dist/components/editor/HTabColorAdjustmentMobile.js +8 -0
  79. package/dist/components/editor/HTabPresetMobile.d.ts +14 -0
  80. package/dist/components/editor/HTabPresetMobile.js +10 -0
  81. package/dist/components/editor/HTextField.d.ts +14 -0
  82. package/dist/components/editor/HTextField.js +51 -0
  83. package/dist/components/editor/HWatermarkView.d.ts +6 -0
  84. package/dist/components/editor/HWatermarkView.js +16 -0
  85. package/dist/components/editor/svg/Tick.d.ts +2 -0
  86. package/dist/components/editor/svg/Tick.js +6 -0
  87. package/dist/components/modal/HModalDialog.d.ts +12 -0
  88. package/dist/components/modal/HModalDialog.js +18 -0
  89. package/dist/components/modal/HModalRename.d.ts +14 -0
  90. package/dist/components/modal/HModalRename.js +35 -0
  91. package/dist/hooks/demo/HonchoEditorBulkDemo.d.ts +3 -0
  92. package/dist/hooks/demo/HonchoEditorBulkDemo.js +410 -0
  93. package/dist/hooks/demo/HonchoEditorSingleCleanDemo.d.ts +3 -0
  94. package/dist/hooks/demo/HonchoEditorSingleCleanDemo.js +354 -0
  95. package/dist/hooks/demo/index.d.ts +2 -0
  96. package/dist/hooks/demo/index.js +2 -0
  97. package/dist/hooks/editor/type.d.ts +174 -0
  98. package/dist/hooks/editor/type.js +1 -0
  99. package/dist/hooks/editor/useHonchoEditorBulk.d.ts +96 -0
  100. package/dist/hooks/editor/useHonchoEditorBulk.js +427 -0
  101. package/dist/hooks/editor/useHonchoEditorSingle.d.ts +44 -0
  102. package/dist/hooks/editor/useHonchoEditorSingle.js +163 -0
  103. package/dist/hooks/useAdjustmentHistory.d.ts +95 -0
  104. package/dist/hooks/useAdjustmentHistory.js +578 -0
  105. package/dist/hooks/useAdjustmentHistoryBatch.d.ts +177 -0
  106. package/dist/hooks/useAdjustmentHistoryBatch.js +1189 -0
  107. package/dist/hooks/useGallerySwipe.d.ts +36 -0
  108. package/dist/hooks/useGallerySwipe.js +344 -0
  109. package/dist/hooks/usePaging.d.ts +89 -0
  110. package/dist/hooks/usePaging.js +211 -0
  111. package/dist/hooks/usePreset.d.ts +82 -0
  112. package/dist/hooks/usePreset.js +344 -0
  113. package/dist/index.d.ts +39 -1474
  114. package/dist/index.js +44 -10960
  115. package/dist/lib/context/EditorContext.d.ts +28 -0
  116. package/dist/lib/context/EditorContext.js +60 -0
  117. package/dist/lib/context/EditorProcessingService.d.ts +36 -0
  118. package/dist/lib/context/EditorProcessingService.js +249 -0
  119. package/dist/lib/editor/honcho-editor.d.ts +324 -0
  120. package/dist/lib/editor/honcho-editor.js +825 -0
  121. package/dist/lib/hooks/useEditor.d.ts +22 -0
  122. package/dist/lib/hooks/useEditor.js +35 -0
  123. package/dist/lib/hooks/useEditorHeadless.d.ts +34 -0
  124. package/dist/lib/hooks/useEditorHeadless.js +207 -0
  125. package/dist/lib/hooks/useImageProcessor.d.ts +18 -0
  126. package/dist/lib/hooks/useImageProcessor.js +113 -0
  127. package/dist/setupTests.d.ts +1 -0
  128. package/dist/setupTests.js +1 -0
  129. package/dist/themes/colors.d.ts +12 -0
  130. package/dist/themes/colors.js +12 -0
  131. package/dist/themes/honchoTheme.d.ts +25 -0
  132. package/dist/themes/honchoTheme.js +94 -0
  133. package/dist/utils/adjustment.d.ts +6 -0
  134. package/dist/utils/adjustment.js +48 -0
  135. package/dist/utils/imageLoader.d.ts +11 -0
  136. package/dist/utils/imageLoader.js +48 -0
  137. package/dist/utils/isMobile.d.ts +1 -0
  138. package/dist/utils/isMobile.js +5 -0
  139. package/package.json +6 -12
  140. package/dist/index.d.mts +0 -1474
  141. package/dist/index.js.map +0 -1
  142. package/dist/index.mjs +0 -10939
  143. package/dist/index.mjs.map +0 -1
@@ -0,0 +1,154 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Stack, Slider, Typography, TextField } from "@mui/material";
3
+ import useHonchoTypography from "../../themes/honchoTheme";
4
+ import useColors from '../../themes/colors';
5
+ export default function HSliderDetailsMobile(props) {
6
+ const typography = useHonchoTypography();
7
+ const colors = useColors();
8
+ const formatValue = (value) => {
9
+ if (value > 0)
10
+ return `+${value}`;
11
+ return value.toString();
12
+ };
13
+ const handleInputChange = (event, min, max, onChange) => {
14
+ const value = event.target.value;
15
+ if (value === '+' || value === '-')
16
+ return;
17
+ let numericValue = parseInt(value, 10);
18
+ if (isNaN(numericValue))
19
+ numericValue = 0;
20
+ const clampedValue = Math.max(min, Math.min(max, numericValue));
21
+ onChange(clampedValue);
22
+ };
23
+ return (_jsx(_Fragment, { children: _jsxs(Stack, { spacing: 0, direction: "column", sx: { width: '100%', paddingX: 1 }, children: [_jsxs(Stack, { direction: "row", justifyContent: "space-between", alignItems: "center", sx: { pt: '10px', pb: '0px' }, children: [_jsx(Typography, { sx: { ...typography.bodyMedium, color: colors.surface }, children: "Clarity" }), _jsx(TextField, { hiddenLabel: true, InputProps: { readOnly: true }, id: "filled-hidden-label-small", value: formatValue(props.clarityScore), variant: "filled", onChange: (e) => handleInputChange(e, -100, 100, (val) => props.onClarityChange("clarityScore", val)), sx: {
24
+ width: "40px",
25
+ alignItems: "center",
26
+ textAlign: "right",
27
+ pr: "4px",
28
+ display: "flex",
29
+ '& .MuiFilledInput-root': {
30
+ backgroundColor: 'transparent',
31
+ borderRadius: "0px",
32
+ border: 'none',
33
+ '&:before': {
34
+ borderBottom: 'none',
35
+ },
36
+ '&:after': {
37
+ borderBottom: 'none',
38
+ },
39
+ '&:hover:not(.Mui-disabled):before': {
40
+ borderBottom: 'none',
41
+ },
42
+ '&.Mui-focused:after': {
43
+ borderBottom: 'none',
44
+ },
45
+ },
46
+ '& .MuiFilledInput-input': {
47
+ textAlign: 'right',
48
+ padding: 0,
49
+ pr: '4px',
50
+ color: colors.surface,
51
+ fontSize: "14px",
52
+ },
53
+ '& .Mui-focused': {
54
+ '& .MuiFilledInput-input': {
55
+ backgroundColor: "#1C1B1FB2",
56
+ textAlign: 'right',
57
+ borderRadius: '5px 5px 0px 0px',
58
+ borderBottom: 'none',
59
+ pl: '2px',
60
+ }
61
+ }
62
+ } })] }), _jsx(Slider, { sx: {
63
+ width: "100%",
64
+ color: colors.onSurfaceVariant,
65
+ '& .MuiSlider-rail': {
66
+ background: colors.onSurfaceVariant,
67
+ opacity: 1,
68
+ },
69
+ '& .MuiSlider-thumb': {
70
+ background: colors.surface,
71
+ opacity: 1,
72
+ },
73
+ '& .MuiSlider-thumb:hover': {
74
+ boxShadow: 'none',
75
+ }
76
+ }, size: "small", value: props.clarityScore, step: 1, min: -100, max: 100, onChange: (_event, newValue) => props.onClarityChange("clarityScore", newValue), onDoubleClick: () => props.onClarityChange("clarityScore", 0), onMouseDown: () => {
77
+ if (!props.isBatchMode) {
78
+ props.onDragStart();
79
+ }
80
+ }, onMouseUp: () => {
81
+ props.onDragEnd();
82
+ }, onTouchStart: () => {
83
+ if (!props.isBatchMode) {
84
+ props.onDragStart();
85
+ }
86
+ }, onTouchEnd: () => {
87
+ props.onDragEnd();
88
+ } }), _jsxs(Stack, { direction: "row", justifyContent: "space-between", alignItems: "center", sx: { pt: '10px', pb: '0px' }, children: [_jsx(Typography, { sx: { ...typography.bodyMedium, color: colors.surface }, children: "Sharpness" }), _jsx(TextField, { hiddenLabel: true, InputProps: { readOnly: true }, id: "filled-hidden-label-small", value: formatValue(props.sharpnessScore), variant: "filled", onChange: (e) => handleInputChange(e, -100, 100, (val) => props.onSharpnessChange("sharpnessScore", val)), sx: {
89
+ width: "40px",
90
+ alignItems: "center",
91
+ textAlign: "right",
92
+ pr: "4px",
93
+ display: "flex",
94
+ '& .MuiFilledInput-root': {
95
+ backgroundColor: 'transparent',
96
+ borderRadius: "0px",
97
+ border: 'none',
98
+ '&:before': {
99
+ borderBottom: 'none',
100
+ },
101
+ '&:after': {
102
+ borderBottom: 'none',
103
+ },
104
+ '&:hover:not(.Mui-disabled):before': {
105
+ borderBottom: 'none',
106
+ },
107
+ '&.Mui-focused:after': {
108
+ borderBottom: 'none',
109
+ },
110
+ },
111
+ '& .MuiFilledInput-input': {
112
+ textAlign: 'right',
113
+ padding: 0,
114
+ pr: '4px',
115
+ color: colors.surface,
116
+ fontSize: "14px",
117
+ },
118
+ '& .Mui-focused': {
119
+ '& .MuiFilledInput-input': {
120
+ backgroundColor: "#1C1B1FB2",
121
+ textAlign: 'right',
122
+ borderRadius: '5px 5px 0px 0px',
123
+ borderBottom: 'none',
124
+ pl: '2px',
125
+ }
126
+ }
127
+ } })] }), _jsx(Slider, { sx: {
128
+ width: "100%",
129
+ color: colors.onSurfaceVariant,
130
+ '& .MuiSlider-rail': {
131
+ background: colors.onSurfaceVariant,
132
+ opacity: 1,
133
+ },
134
+ '& .MuiSlider-thumb': {
135
+ background: colors.surface,
136
+ opacity: 1,
137
+ },
138
+ '& .MuiSlider-thumb:hover': {
139
+ boxShadow: 'none',
140
+ }
141
+ }, size: "small", value: props.sharpnessScore, step: 1, min: -100, max: 100, onChange: (_event, newValue) => props.onSharpnessChange("sharpnessScore", newValue), onDoubleClick: () => props.onSharpnessChange("sharpnessScore", 0), onMouseDown: () => {
142
+ if (!props.isBatchMode) {
143
+ props.onDragStart();
144
+ }
145
+ }, onMouseUp: () => {
146
+ props.onDragEnd();
147
+ }, onTouchStart: () => {
148
+ if (!props.isBatchMode) {
149
+ props.onDragStart();
150
+ }
151
+ }, onTouchEnd: () => {
152
+ props.onDragEnd();
153
+ } })] }) }));
154
+ }
@@ -0,0 +1,20 @@
1
+ import { AdjustmentState } from '../../hooks/editor/type';
2
+ interface Props {
3
+ exposureScore: number;
4
+ contrastScore: number;
5
+ highlightsScore: number;
6
+ shadowScore: number;
7
+ whiteScore: number;
8
+ blackScore: number;
9
+ isBatchMode: boolean;
10
+ onExposureChange: (field: keyof AdjustmentState, value: number) => void;
11
+ onContrastChange: (field: keyof AdjustmentState, value: number) => void;
12
+ onHighlightsChange: (field: keyof AdjustmentState, value: number) => void;
13
+ onShadowsChange: (field: keyof AdjustmentState, value: number) => void;
14
+ onWhitesChange: (field: keyof AdjustmentState, value: number) => void;
15
+ onBlacksChange: (field: keyof AdjustmentState, value: number) => void;
16
+ onDragStart: () => void;
17
+ onDragEnd: () => void;
18
+ }
19
+ export default function HSliderLightMobile(props: Props): import("react/jsx-runtime").JSX.Element;
20
+ export {};
@@ -0,0 +1,420 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Stack, Slider, Typography, TextField } from "@mui/material";
3
+ import useHonchoTypography from "../../themes/honchoTheme";
4
+ import useColors from '../../themes/colors';
5
+ export default function HSliderLightMobile(props) {
6
+ const typography = useHonchoTypography();
7
+ const colors = useColors();
8
+ const formatValue = (value) => {
9
+ if (value > 0)
10
+ return `+${value}`;
11
+ return value.toString();
12
+ };
13
+ const handleInputChange = (event, min, max, onChange) => {
14
+ const value = event.target.value;
15
+ if (value === '+' || value === '-')
16
+ return;
17
+ let numericValue = parseInt(value, 10);
18
+ if (isNaN(numericValue))
19
+ numericValue = 0;
20
+ const clampedValue = Math.max(min, Math.min(max, numericValue));
21
+ onChange(clampedValue);
22
+ };
23
+ return (_jsx(_Fragment, { children: _jsxs(Stack, { spacing: 0, direction: "column", sx: { width: '100%', paddingX: 1 }, children: [_jsxs(Stack, { direction: "row", justifyContent: "space-between", alignItems: "center", sx: { pt: '10px', pb: '0px' }, children: [_jsx(Typography, { sx: { ...typography.bodyMedium, color: colors.surface }, onDoubleClick: () => props.onExposureChange("exposureScore", 0), children: "Exposure" }), _jsx(TextField, { InputProps: { readOnly: true }, hiddenLabel: true, id: "filled-hidden-label-small", value: formatValue(props.exposureScore), variant: "filled", onChange: (e) => handleInputChange(e, -100, 100, (val) => props.onExposureChange("exposureScore", val)), sx: {
24
+ width: "40px",
25
+ alignItems: "center",
26
+ textAlign: "right",
27
+ pr: "4px",
28
+ display: "flex",
29
+ '& .MuiFilledInput-root': {
30
+ backgroundColor: 'transparent',
31
+ borderRadius: "0px",
32
+ border: 'none',
33
+ '&:before': {
34
+ borderBottom: 'none',
35
+ },
36
+ '&:after': {
37
+ borderBottom: 'none',
38
+ },
39
+ '&:hover:not(.Mui-disabled):before': {
40
+ borderBottom: 'none',
41
+ },
42
+ '&.Mui-focused:after': {
43
+ borderBottom: 'none',
44
+ },
45
+ },
46
+ '& .MuiFilledInput-input': {
47
+ textAlign: 'right',
48
+ padding: 0,
49
+ pr: '4px',
50
+ color: colors.surface,
51
+ fontSize: "14px",
52
+ },
53
+ '& .Mui-focused': {
54
+ '& .MuiFilledInput-input': {
55
+ backgroundColor: "#1C1B1FB2",
56
+ textAlign: 'right',
57
+ borderRadius: '5px 5px 0px 0px',
58
+ borderBottom: 'none',
59
+ pl: '2px',
60
+ }
61
+ }
62
+ } })] }), _jsx(Slider, { sx: {
63
+ width: "100%",
64
+ color: colors.onSurfaceVariant,
65
+ '& .MuiSlider-rail': {
66
+ background: colors.onSurfaceVariant,
67
+ opacity: 1,
68
+ },
69
+ '& .MuiSlider-thumb': {
70
+ background: colors.surface,
71
+ boxShadow: 'none',
72
+ opacity: 1,
73
+ },
74
+ '& .MuiSlider-thumb:hover': {
75
+ boxShadow: 'none',
76
+ }
77
+ }, size: "small", value: props.exposureScore, step: 1, min: -100, max: 100, onChange: (_event, newValue) => props.onExposureChange("exposureScore", newValue), onDoubleClick: () => props.onExposureChange("exposureScore", 0), onMouseDown: () => {
78
+ if (!props.isBatchMode) {
79
+ props.onDragStart();
80
+ }
81
+ }, onMouseUp: () => {
82
+ props.onDragEnd();
83
+ }, onTouchStart: () => {
84
+ if (!props.isBatchMode) {
85
+ props.onDragStart();
86
+ }
87
+ }, onTouchEnd: () => {
88
+ props.onDragEnd();
89
+ } }), _jsxs(Stack, { direction: "row", justifyContent: "space-between", alignItems: "center", sx: { pt: '10px', pb: '0px' }, children: [_jsx(Typography, { sx: { ...typography.bodyMedium, color: colors.surface }, children: "Contrast" }), _jsx(TextField, { InputProps: { readOnly: true }, hiddenLabel: true, id: "filled-hidden-label-small", value: formatValue(props.contrastScore), variant: "filled", onChange: (e) => handleInputChange(e, -100, 100, (val) => props.onContrastChange("contrastScore", val)), sx: {
90
+ width: "40px",
91
+ alignItems: "center",
92
+ textAlign: "right",
93
+ pr: "4px",
94
+ display: "flex",
95
+ '& .MuiFilledInput-root': {
96
+ backgroundColor: 'transparent',
97
+ borderRadius: "0px",
98
+ border: 'none',
99
+ '&:before': {
100
+ borderBottom: 'none',
101
+ },
102
+ '&:after': {
103
+ borderBottom: 'none',
104
+ },
105
+ '&:hover:not(.Mui-disabled):before': {
106
+ borderBottom: 'none',
107
+ },
108
+ '&.Mui-focused:after': {
109
+ borderBottom: 'none',
110
+ },
111
+ },
112
+ '& .MuiFilledInput-input': {
113
+ textAlign: 'right',
114
+ padding: 0,
115
+ pr: '4px',
116
+ color: colors.surface,
117
+ fontSize: "14px",
118
+ },
119
+ '& .Mui-focused': {
120
+ '& .MuiFilledInput-input': {
121
+ backgroundColor: "#1C1B1FB2",
122
+ textAlign: 'right',
123
+ borderRadius: '5px 5px 0px 0px',
124
+ borderBottom: 'none',
125
+ pl: '2px',
126
+ }
127
+ }
128
+ } })] }), _jsx(Slider, { sx: {
129
+ width: "100%",
130
+ color: colors.onSurfaceVariant,
131
+ '& .MuiSlider-rail': {
132
+ background: colors.onSurfaceVariant,
133
+ opacity: 1,
134
+ },
135
+ '& .MuiSlider-thumb': {
136
+ background: colors.surface,
137
+ boxShadow: 'none',
138
+ opacity: 1,
139
+ },
140
+ '& .MuiSlider-thumb:hover': {
141
+ boxShadow: 'none',
142
+ }
143
+ }, size: "small", value: props.contrastScore, step: 1, min: -100, max: 100, onChange: (_event, newValue) => props.onContrastChange("contrastScore", newValue), onDoubleClick: () => props.onContrastChange("contrastScore", 0), onMouseDown: () => {
144
+ if (!props.isBatchMode) {
145
+ props.onDragStart();
146
+ }
147
+ }, onMouseUp: () => {
148
+ props.onDragEnd();
149
+ }, onTouchStart: () => {
150
+ if (!props.isBatchMode) {
151
+ props.onDragStart();
152
+ }
153
+ }, onTouchEnd: () => {
154
+ props.onDragEnd();
155
+ } }), _jsxs(Stack, { direction: "row", justifyContent: "space-between", alignItems: "center", sx: { pt: '10px', pb: '0px' }, children: [_jsx(Typography, { sx: { ...typography.bodyMedium, color: colors.surface }, onDoubleClick: () => props.onHighlightsChange("highlightsScore", 0), children: "Highlights" }), _jsx(TextField, { InputProps: { readOnly: true }, hiddenLabel: true, id: "filled-hidden-label-small", value: formatValue(props.highlightsScore), variant: "filled", onChange: (e) => handleInputChange(e, -100, 100, (val) => props.onHighlightsChange("highlightsScore", val)), sx: {
156
+ width: "40px",
157
+ alignItems: "center",
158
+ textAlign: "right",
159
+ pr: "4px",
160
+ display: "flex",
161
+ '& .MuiFilledInput-root': {
162
+ backgroundColor: 'transparent',
163
+ borderRadius: "0px",
164
+ border: 'none',
165
+ '&:before': {
166
+ borderBottom: 'none',
167
+ },
168
+ '&:after': {
169
+ borderBottom: 'none',
170
+ },
171
+ '&:hover:not(.Mui-disabled):before': {
172
+ borderBottom: 'none',
173
+ },
174
+ '&.Mui-focused:after': {
175
+ borderBottom: 'none',
176
+ },
177
+ },
178
+ '& .MuiFilledInput-input': {
179
+ textAlign: 'right',
180
+ padding: 0,
181
+ pr: '4px',
182
+ color: colors.surface,
183
+ fontSize: "14px",
184
+ },
185
+ '& .Mui-focused': {
186
+ '& .MuiFilledInput-input': {
187
+ backgroundColor: "#1C1B1FB2",
188
+ textAlign: 'right',
189
+ borderRadius: '5px 5px 0px 0px',
190
+ borderBottom: 'none',
191
+ pl: '2px',
192
+ }
193
+ }
194
+ } })] }), _jsx(Slider, { sx: {
195
+ width: "100%",
196
+ color: colors.onSurfaceVariant,
197
+ '& .MuiSlider-rail': {
198
+ background: colors.onSurfaceVariant,
199
+ opacity: 1,
200
+ },
201
+ '& .MuiSlider-thumb': {
202
+ background: colors.surface,
203
+ boxShadow: 'none',
204
+ opacity: 1,
205
+ },
206
+ '& .MuiSlider-thumb:hover': {
207
+ boxShadow: 'none',
208
+ }
209
+ }, size: "small", value: props.highlightsScore, step: 1, min: -100, max: 100, onChange: (_event, newValue) => props.onHighlightsChange("highlightsScore", newValue), onDoubleClick: () => props.onHighlightsChange("highlightsScore", 0), onMouseDown: () => {
210
+ if (!props.isBatchMode) {
211
+ props.onDragStart();
212
+ }
213
+ }, onMouseUp: () => {
214
+ props.onDragEnd();
215
+ }, onTouchStart: () => {
216
+ if (!props.isBatchMode) {
217
+ props.onDragStart();
218
+ }
219
+ }, onTouchEnd: () => {
220
+ props.onDragEnd();
221
+ } }), _jsxs(Stack, { direction: "row", justifyContent: "space-between", alignItems: "center", sx: { pt: '10px', pb: '0px' }, children: [_jsx(Typography, { sx: { ...typography.bodyMedium, color: colors.surface }, onDoubleClick: () => props.onShadowsChange("shadowsScore", 0), children: "Shadows" }), _jsx(TextField, { InputProps: { readOnly: true }, hiddenLabel: true, id: "filled-hidden-label-small", value: formatValue(props.shadowScore), variant: "filled", onChange: (e) => handleInputChange(e, -100, 100, (val) => props.onShadowsChange("shadowsScore", val)), sx: {
222
+ width: "40px",
223
+ alignItems: "center",
224
+ textAlign: "right",
225
+ pr: "4px",
226
+ display: "flex",
227
+ '& .MuiFilledInput-root': {
228
+ backgroundColor: 'transparent',
229
+ borderRadius: "0px",
230
+ border: 'none',
231
+ '&:before': {
232
+ borderBottom: 'none',
233
+ },
234
+ '&:after': {
235
+ borderBottom: 'none',
236
+ },
237
+ '&:hover:not(.Mui-disabled):before': {
238
+ borderBottom: 'none',
239
+ },
240
+ '&.Mui-focused:after': {
241
+ borderBottom: 'none',
242
+ },
243
+ },
244
+ '& .MuiFilledInput-input': {
245
+ textAlign: 'right',
246
+ padding: 0,
247
+ pr: '4px',
248
+ color: colors.surface,
249
+ fontSize: "14px",
250
+ },
251
+ '& .Mui-focused': {
252
+ '& .MuiFilledInput-input': {
253
+ backgroundColor: "#1C1B1FB2",
254
+ textAlign: 'right',
255
+ borderRadius: '5px 5px 0px 0px',
256
+ borderBottom: 'none',
257
+ pl: '2px',
258
+ }
259
+ }
260
+ } })] }), _jsx(Slider, { sx: {
261
+ width: "100%",
262
+ color: colors.onSurfaceVariant,
263
+ '& .MuiSlider-rail': {
264
+ background: colors.onSurfaceVariant,
265
+ opacity: 1,
266
+ },
267
+ '& .MuiSlider-thumb': {
268
+ background: colors.surface,
269
+ boxShadow: 'none',
270
+ opacity: 1,
271
+ },
272
+ '& .MuiSlider-thumb:hover': {
273
+ boxShadow: 'none',
274
+ }
275
+ }, size: "small", value: props.shadowScore, step: 1, min: -100, max: 100, onChange: (_event, newValue) => props.onShadowsChange("shadowsScore", newValue), onDoubleClick: () => props.onShadowsChange("shadowsScore", 0), onMouseDown: () => {
276
+ if (!props.isBatchMode) {
277
+ props.onDragStart();
278
+ }
279
+ }, onMouseUp: () => {
280
+ props.onDragEnd();
281
+ }, onTouchStart: () => {
282
+ if (!props.isBatchMode) {
283
+ props.onDragStart();
284
+ }
285
+ }, onTouchEnd: () => {
286
+ props.onDragEnd();
287
+ } }), _jsxs(Stack, { direction: "row", justifyContent: "space-between", alignItems: "center", sx: { pt: '10px', pb: '0px' }, children: [_jsx(Typography, { sx: { ...typography.bodyMedium, color: colors.surface }, onDoubleClick: () => props.onWhitesChange("whitesScore", 0), children: "Whites" }), _jsx(TextField, { InputProps: { readOnly: true }, hiddenLabel: true, id: "filled-hidden-label-small", value: formatValue(props.whiteScore), variant: "filled", onChange: (e) => handleInputChange(e, -100, 100, (val) => props.onWhitesChange("whitesScore", val)), sx: {
288
+ width: "40px",
289
+ alignItems: "center",
290
+ textAlign: "right",
291
+ pr: "4px",
292
+ display: "flex",
293
+ '& .MuiFilledInput-root': {
294
+ backgroundColor: 'transparent',
295
+ borderRadius: "0px",
296
+ border: 'none',
297
+ '&:before': {
298
+ borderBottom: 'none',
299
+ },
300
+ '&:after': {
301
+ borderBottom: 'none',
302
+ },
303
+ '&:hover:not(.Mui-disabled):before': {
304
+ borderBottom: 'none',
305
+ },
306
+ '&.Mui-focused:after': {
307
+ borderBottom: 'none',
308
+ },
309
+ },
310
+ '& .MuiFilledInput-input': {
311
+ textAlign: 'right',
312
+ padding: 0,
313
+ pr: '4px',
314
+ color: colors.surface,
315
+ fontSize: "14px",
316
+ },
317
+ '& .Mui-focused': {
318
+ '& .MuiFilledInput-input': {
319
+ backgroundColor: "#1C1B1FB2",
320
+ textAlign: 'right',
321
+ borderRadius: '5px 5px 0px 0px',
322
+ borderBottom: 'none',
323
+ pl: '2px',
324
+ }
325
+ }
326
+ } })] }), _jsx(Slider, { sx: {
327
+ width: "100%",
328
+ color: colors.onSurfaceVariant,
329
+ '& .MuiSlider-rail': {
330
+ background: colors.onSurfaceVariant,
331
+ opacity: 1,
332
+ },
333
+ '& .MuiSlider-thumb': {
334
+ background: colors.surface,
335
+ boxShadow: 'none',
336
+ opacity: 1,
337
+ },
338
+ '& .MuiSlider-thumb:hover': {
339
+ boxShadow: 'none',
340
+ }
341
+ }, size: "small", value: props.whiteScore, step: 1, min: -100, max: 100, onChange: (_event, newValue) => props.onWhitesChange("whitesScore", newValue), onDoubleClick: () => props.onWhitesChange("whitesScore", 0), onMouseDown: () => {
342
+ if (!props.isBatchMode) {
343
+ props.onDragStart();
344
+ }
345
+ }, onMouseUp: () => {
346
+ props.onDragEnd();
347
+ }, onTouchStart: () => {
348
+ if (!props.isBatchMode) {
349
+ props.onDragStart();
350
+ }
351
+ }, onTouchEnd: () => {
352
+ props.onDragEnd();
353
+ } }), _jsxs(Stack, { direction: "row", justifyContent: "space-between", alignItems: "center", sx: { pt: '10px', pb: '0px' }, children: [_jsx(Typography, { sx: { ...typography.bodyMedium, color: colors.surface }, onDoubleClick: () => props.onBlacksChange("blacksScore", 0), children: "Blacks" }), _jsx(TextField, { InputProps: { readOnly: true }, hiddenLabel: true, id: "filled-hidden-label-small", value: formatValue(props.blackScore), variant: "filled", onChange: (e) => handleInputChange(e, -100, 100, (val) => props.onBlacksChange("blacksScore", val)), sx: {
354
+ width: "40px",
355
+ alignItems: "center",
356
+ textAlign: "right",
357
+ pr: "4px",
358
+ display: "flex",
359
+ '& .MuiFilledInput-root': {
360
+ backgroundColor: 'transparent',
361
+ borderRadius: "0px",
362
+ border: 'none',
363
+ '&:before': {
364
+ borderBottom: 'none',
365
+ },
366
+ '&:after': {
367
+ borderBottom: 'none',
368
+ },
369
+ '&:hover:not(.Mui-disabled):before': {
370
+ borderBottom: 'none',
371
+ },
372
+ '&.Mui-focused:after': {
373
+ borderBottom: 'none',
374
+ },
375
+ },
376
+ '& .MuiFilledInput-input': {
377
+ textAlign: 'right',
378
+ padding: 0,
379
+ pr: '4px',
380
+ color: colors.surface,
381
+ fontSize: "14px",
382
+ },
383
+ '& .Mui-focused': {
384
+ '& .MuiFilledInput-input': {
385
+ backgroundColor: "#1C1B1FB2",
386
+ textAlign: 'right',
387
+ borderRadius: '5px 5px 0px 0px',
388
+ borderBottom: 'none',
389
+ pl: '2px',
390
+ }
391
+ },
392
+ } })] }), _jsx(Slider, { sx: {
393
+ width: "100%",
394
+ color: colors.onSurfaceVariant,
395
+ '& .MuiSlider-rail': {
396
+ background: colors.onSurfaceVariant,
397
+ opacity: 1,
398
+ },
399
+ '& .MuiSlider-thumb': {
400
+ background: colors.surface,
401
+ boxShadow: 'none',
402
+ opacity: 1,
403
+ },
404
+ '& .MuiSlider-thumb:hover': {
405
+ boxShadow: 'none',
406
+ }
407
+ }, size: "small", value: props.blackScore, step: 1, min: -100, max: 100, onChange: (_event, newValue) => props.onBlacksChange("blacksScore", newValue), onDoubleClick: () => props.onBlacksChange("blacksScore", 0), onMouseDown: () => {
408
+ if (!props.isBatchMode) {
409
+ props.onDragStart();
410
+ }
411
+ }, onMouseUp: () => {
412
+ props.onDragEnd();
413
+ }, onTouchStart: () => {
414
+ if (!props.isBatchMode) {
415
+ props.onDragStart();
416
+ }
417
+ }, onTouchEnd: () => {
418
+ props.onDragEnd();
419
+ } })] }) }));
420
+ }
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,35 @@
1
+ import React from "react";
2
+ import { AdjustmentState } from '../../hooks/editor/type';
3
+ interface Props {
4
+ activeTab: string;
5
+ innerRef?: React.Ref<HTMLDivElement>;
6
+ tempScore: number;
7
+ tintScore: number;
8
+ vibranceScore: number;
9
+ saturationScore: number;
10
+ exposureScore: number;
11
+ highlightsScore: number;
12
+ shadowScore: number;
13
+ whiteScore: number;
14
+ blackScore: number;
15
+ contrastScore: number;
16
+ clarityScore: number;
17
+ sharpnessScore: number;
18
+ onTempChange: (field: keyof AdjustmentState, value: number) => void;
19
+ onTintChange: (field: keyof AdjustmentState, value: number) => void;
20
+ onVibranceChange: (field: keyof AdjustmentState, value: number) => void;
21
+ onSaturationChange: (field: keyof AdjustmentState, value: number) => void;
22
+ onExposureChange: (field: keyof AdjustmentState, value: number) => void;
23
+ onHighlightsChange: (field: keyof AdjustmentState, value: number) => void;
24
+ onShadowsChange: (field: keyof AdjustmentState, value: number) => void;
25
+ onWhitesChange: (field: keyof AdjustmentState, value: number) => void;
26
+ onBlacksChange: (field: keyof AdjustmentState, value: number) => void;
27
+ onContrastChange: (field: keyof AdjustmentState, value: number) => void;
28
+ onClarityChange: (field: keyof AdjustmentState, value: number) => void;
29
+ onSharpnessChange: (field: keyof AdjustmentState, value: number) => void;
30
+ isBatchMode: boolean;
31
+ onDragStart: () => void;
32
+ onDragEnd: () => void;
33
+ }
34
+ export default function HTabColorAdjustmentMobile(props: Props): import("react/jsx-runtime").JSX.Element;
35
+ export {};
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import HSliderColorMobile from "./HSliderColorMobile";
3
+ import HSliderLightMobile from "./HSliderLightMobile";
4
+ import HSliderDetailsMobile from "./HSliderDetailsMobile";
5
+ import { Box } from "@mui/material";
6
+ export default function HTabColorAdjustmentMobile(props) {
7
+ return (_jsxs(Box, { ref: props.innerRef, children: [props.activeTab === "light" && _jsx(HSliderLightMobile, { ...props }), props.activeTab === "color" && _jsx(HSliderColorMobile, { ...props }), props.activeTab === "details" && _jsx(HSliderDetailsMobile, { ...props })] }));
8
+ }