@plone-collective/volto-image-editor 1.0.0-alpha.1

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 (57) hide show
  1. package/.changelog.draft +19 -0
  2. package/.release-it.json +34 -0
  3. package/CHANGELOG.md +27 -0
  4. package/README.md +209 -0
  5. package/babel.config.js +17 -0
  6. package/locales/de/LC_MESSAGES/volto.po +187 -0
  7. package/locales/en/LC_MESSAGES/volto.po +187 -0
  8. package/locales/es/LC_MESSAGES/volto.po +194 -0
  9. package/locales/pt_BR/LC_MESSAGES/volto.po +192 -0
  10. package/locales/volto.pot +189 -0
  11. package/news/.gitkeep +0 -0
  12. package/package.json +50 -0
  13. package/public/.gitkeep +0 -0
  14. package/src/components/.gitkeep +0 -0
  15. package/src/components/ImageEditor/ImageEditor.scss +59 -0
  16. package/src/components/ImageEditor/ImageEditor.tsx +290 -0
  17. package/src/components/ImageEditor/ImageEditorWrapper.scss +13 -0
  18. package/src/components/ImageEditor/ImageEditorWrapper.tsx +91 -0
  19. package/src/components/ImageEditor/components/AdjustableCropperBackground.tsx +60 -0
  20. package/src/components/ImageEditor/components/AdjustableImage.scss +3 -0
  21. package/src/components/ImageEditor/components/AdjustableImage.tsx +85 -0
  22. package/src/components/ImageEditor/components/AdjustablePreviewBackground.tsx +59 -0
  23. package/src/components/ImageEditor/components/Button.scss +30 -0
  24. package/src/components/ImageEditor/components/Button.tsx +27 -0
  25. package/src/components/ImageEditor/components/Navigation.scss +38 -0
  26. package/src/components/ImageEditor/components/Navigation.tsx +153 -0
  27. package/src/components/ImageEditor/components/SettingsModal.scss +369 -0
  28. package/src/components/ImageEditor/components/SettingsModal.tsx +582 -0
  29. package/src/components/ImageEditor/components/Slider.scss +231 -0
  30. package/src/components/ImageEditor/components/Slider.tsx +322 -0
  31. package/src/components/ImageEditor/types/ImageSettings.ts +23 -0
  32. package/src/components/Widgets/FileWidget.scss +14 -0
  33. package/src/components/Widgets/FileWidget.tsx +239 -0
  34. package/src/config/settings.ts +5 -0
  35. package/src/customizations/volto/components/manage/Widgets/FileWidget.jsx +3 -0
  36. package/src/icons/AspectRatioIcons.tsx +39 -0
  37. package/src/icons/BrightnessIcon.tsx +19 -0
  38. package/src/icons/ContrastIcon.tsx +19 -0
  39. package/src/icons/CropIcon.tsx +19 -0
  40. package/src/icons/DownloadIcon.tsx +20 -0
  41. package/src/icons/FlipHorizontalIcon.tsx +21 -0
  42. package/src/icons/FlipVerticalIcon.tsx +27 -0
  43. package/src/icons/HueIcon.tsx +20 -0
  44. package/src/icons/ResetIcon.tsx +19 -0
  45. package/src/icons/ResetRotationIcon.tsx +20 -0
  46. package/src/icons/RestrictionIcons.tsx +19 -0
  47. package/src/icons/RotateLeftIcon.tsx +21 -0
  48. package/src/icons/RotateRightIcon.tsx +21 -0
  49. package/src/icons/SaturationIcon.tsx +20 -0
  50. package/src/icons/SettingsIcon.tsx +21 -0
  51. package/src/icons/StencilIcons.tsx +8 -0
  52. package/src/index.ts +10 -0
  53. package/src/theme/constants.scss +13 -0
  54. package/src/theme/custom.css +82 -0
  55. package/src/theme/mixins.scss +91 -0
  56. package/towncrier.toml +33 -0
  57. package/tsconfig.json +30 -0
@@ -0,0 +1,194 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Plone\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2023-05-09 11:45-0400\n"
6
+ "PO-Revision-Date: 2023-05-10 11:34-0400\n"
7
+ "Last-Translator: Leonardo J. Caballero G. <leonardocaballero@gmail.com>\n"
8
+ "Language: es\n"
9
+ "Language-Team: ES <LL@li.org>\n"
10
+ "Content-Type: text/plain; charset=utf-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
13
+ "Preferred-Encodings: utf-8\n"
14
+ "MIME-Version: 1.0\n"
15
+ "Language-Code: es\n"
16
+ "Language-Name: Español\n"
17
+ "Domain: volto\n"
18
+ "X-Is-Fallback-For: es-ar es-bo es-cl es-co es-cr es-do es-ec es-es es-sv es-gt es-hn es-mx es-ni es-pa es-py es-pe es-pr es-us es-uy es-ve\n"
19
+ "X-Generator: Poedit 2.2.1\n"
20
+
21
+ #. Default: "Aspect Ratio"
22
+ #: components/ImageEditor/components/SettingsModal
23
+ msgid "Aspect Ratio"
24
+ msgstr ""
25
+
26
+ #. Default: "Choose a file"
27
+ #: components/Widgets/FileWidget
28
+ msgid "Choose a file"
29
+ msgstr ""
30
+
31
+ #. Default: "Circle"
32
+ #: components/ImageEditor/components/SettingsModal
33
+ msgid "Circle"
34
+ msgstr ""
35
+
36
+ #. Default: "Drop file here to replace the existing file"
37
+ #: components/Widgets/FileWidget
38
+ msgid "Drop file here to replace the existing file"
39
+ msgstr ""
40
+
41
+ #. Default: "Drop file here to upload a new file"
42
+ #: components/Widgets/FileWidget
43
+ msgid "Drop file here to upload a new file"
44
+ msgstr ""
45
+
46
+ #. Default: "Drop files here ..."
47
+ #: components/Widgets/FileWidget
48
+ msgid "Drop files here ..."
49
+ msgstr ""
50
+
51
+ #. Default: "Edit image"
52
+ #: components/ImageEditor/ImageEditorWrapper
53
+ msgid "Edit image"
54
+ msgstr ""
55
+
56
+ #. Default: "Editor Settings"
57
+ #: components/ImageEditor/components/SettingsModal
58
+ msgid "Editor Settings"
59
+ msgstr ""
60
+
61
+ #. Default: "File is not of the accepted type {accept}"
62
+ #: components/Widgets/FileWidget
63
+ msgid "File is not of the accepted type {accept}"
64
+ msgstr ""
65
+
66
+ #. Default: "Fill"
67
+ #: components/ImageEditor/components/SettingsModal
68
+ msgid "Fill Area"
69
+ msgstr ""
70
+
71
+ #. Default: "Fit"
72
+ #: components/ImageEditor/components/SettingsModal
73
+ msgid "Fit Area"
74
+ msgstr ""
75
+
76
+ #. Default: "Free"
77
+ #: components/ImageEditor/components/SettingsModal
78
+ msgid "Free aspect ratio"
79
+ msgstr ""
80
+
81
+ #. Default: "Image Restriction"
82
+ #: components/ImageEditor/components/SettingsModal
83
+ msgid "Image Restriction"
84
+ msgstr ""
85
+
86
+ #. Default: "2:1"
87
+ #: components/ImageEditor/components/SettingsModal
88
+ msgid "Landscape (2:1)"
89
+ msgstr ""
90
+
91
+ #. Default: "Max height"
92
+ #: components/ImageEditor/components/SettingsModal
93
+ msgid "Max height"
94
+ msgstr ""
95
+
96
+ #. Default: "Max width"
97
+ #: components/ImageEditor/components/SettingsModal
98
+ msgid "Max width"
99
+ msgstr ""
100
+
101
+ #. Default: "Maximum Crop Dimensions"
102
+ #: components/ImageEditor/components/SettingsModal
103
+ msgid "Maximum Crop Dimensions"
104
+ msgstr ""
105
+
106
+ #. Default: "Min height"
107
+ #: components/ImageEditor/components/SettingsModal
108
+ msgid "Min height"
109
+ msgstr ""
110
+
111
+ #. Default: "Min width"
112
+ #: components/ImageEditor/components/SettingsModal
113
+ msgid "Min width"
114
+ msgstr ""
115
+
116
+ #. Default: "Minimum Dimensions"
117
+ #: components/ImageEditor/components/SettingsModal
118
+ msgid "Minimum Dimensions"
119
+ msgstr ""
120
+
121
+ #. Default: "9:16"
122
+ #: components/ImageEditor/components/SettingsModal
123
+ msgid "Mobile (9:16)"
124
+ msgstr ""
125
+
126
+ #. Default: "4:3"
127
+ #: components/ImageEditor/components/SettingsModal
128
+ msgid "Monitor (4:3)"
129
+ msgstr ""
130
+
131
+ #. Default: "Free"
132
+ #: components/ImageEditor/components/SettingsModal
133
+ msgid "No Restriction"
134
+ msgstr ""
135
+
136
+ #. Default: "3:4"
137
+ #: components/ImageEditor/components/SettingsModal
138
+ msgid "Photo (3:4)"
139
+ msgstr ""
140
+
141
+ #. Default: "1:2"
142
+ #: components/ImageEditor/components/SettingsModal
143
+ msgid "Portrait (1:2)"
144
+ msgstr ""
145
+
146
+ #. Default: "Rectangle"
147
+ #: components/ImageEditor/components/SettingsModal
148
+ msgid "Rectangle"
149
+ msgstr ""
150
+
151
+ #. Default: "Replace existing file"
152
+ #: components/Widgets/FileWidget
153
+ msgid "Replace existing file"
154
+ msgstr ""
155
+
156
+ #. Default: "Reset rotation and flip"
157
+ #: components/ImageEditor/components/Navigation
158
+ msgid "Reset rotation and flip"
159
+ msgstr ""
160
+
161
+ #. Default: "1:1"
162
+ #: components/ImageEditor/components/SettingsModal
163
+ msgid "Square (1:1)"
164
+ msgstr ""
165
+
166
+ #. Default: "Stencil"
167
+ #: components/ImageEditor/components/SettingsModal
168
+ msgid "Stencil"
169
+ msgstr ""
170
+
171
+ #. Default: "Stencil Grid"
172
+ #: components/ImageEditor/components/SettingsModal
173
+ msgid "Stencil Grid"
174
+ msgstr ""
175
+
176
+ #. Default: "Stencil Type"
177
+ #: components/ImageEditor/components/SettingsModal
178
+ msgid "Stencil Type"
179
+ msgstr ""
180
+
181
+ #. Default: "The file you uploaded exceeded the maximum allowed size of {size} bytes"
182
+ #: components/Widgets/FileWidget
183
+ msgid "The file you uploaded exceeded the maximum allowed size of {size} bytes"
184
+ msgstr ""
185
+
186
+ #. Default: "21:9"
187
+ #: components/ImageEditor/components/SettingsModal
188
+ msgid "Ultra Wide (21:9)"
189
+ msgstr ""
190
+
191
+ #. Default: "16:9"
192
+ #: components/ImageEditor/components/SettingsModal
193
+ msgid "Widescreen (16:9)"
194
+ msgstr ""
@@ -0,0 +1,192 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Plone\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2023-04-06T16:01:32.969Z\n"
6
+ "PO-Revision-Date: \n"
7
+ "Last-Translator: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
8
+ "Language: \n"
9
+ "Language-Team: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
10
+ "Content-Type: text/plain; charset=utf-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "Plural-Forms: nplurals=1; plural=0;\n"
13
+ "MIME-Version: 1.0\n"
14
+ "Language-Code: pt_BR\n"
15
+ "Language-Name: Português do Brasil\n"
16
+ "Preferred-Encodings: utf-8\n"
17
+ "Domain: volto\n"
18
+
19
+ #. Default: "Aspect Ratio"
20
+ #: components/ImageEditor/components/SettingsModal
21
+ msgid "Aspect Ratio"
22
+ msgstr ""
23
+
24
+ #. Default: "Choose a file"
25
+ #: components/Widgets/FileWidget
26
+ msgid "Choose a file"
27
+ msgstr ""
28
+
29
+ #. Default: "Circle"
30
+ #: components/ImageEditor/components/SettingsModal
31
+ msgid "Circle"
32
+ msgstr ""
33
+
34
+ #. Default: "Drop file here to replace the existing file"
35
+ #: components/Widgets/FileWidget
36
+ msgid "Drop file here to replace the existing file"
37
+ msgstr ""
38
+
39
+ #. Default: "Drop file here to upload a new file"
40
+ #: components/Widgets/FileWidget
41
+ msgid "Drop file here to upload a new file"
42
+ msgstr ""
43
+
44
+ #. Default: "Drop files here ..."
45
+ #: components/Widgets/FileWidget
46
+ msgid "Drop files here ..."
47
+ msgstr ""
48
+
49
+ #. Default: "Edit image"
50
+ #: components/ImageEditor/ImageEditorWrapper
51
+ msgid "Edit image"
52
+ msgstr ""
53
+
54
+ #. Default: "Editor Settings"
55
+ #: components/ImageEditor/components/SettingsModal
56
+ msgid "Editor Settings"
57
+ msgstr ""
58
+
59
+ #. Default: "File is not of the accepted type {accept}"
60
+ #: components/Widgets/FileWidget
61
+ msgid "File is not of the accepted type {accept}"
62
+ msgstr ""
63
+
64
+ #. Default: "Fill"
65
+ #: components/ImageEditor/components/SettingsModal
66
+ msgid "Fill Area"
67
+ msgstr ""
68
+
69
+ #. Default: "Fit"
70
+ #: components/ImageEditor/components/SettingsModal
71
+ msgid "Fit Area"
72
+ msgstr ""
73
+
74
+ #. Default: "Free"
75
+ #: components/ImageEditor/components/SettingsModal
76
+ msgid "Free aspect ratio"
77
+ msgstr ""
78
+
79
+ #. Default: "Image Restriction"
80
+ #: components/ImageEditor/components/SettingsModal
81
+ msgid "Image Restriction"
82
+ msgstr ""
83
+
84
+ #. Default: "2:1"
85
+ #: components/ImageEditor/components/SettingsModal
86
+ msgid "Landscape (2:1)"
87
+ msgstr ""
88
+
89
+ #. Default: "Max height"
90
+ #: components/ImageEditor/components/SettingsModal
91
+ msgid "Max height"
92
+ msgstr ""
93
+
94
+ #. Default: "Max width"
95
+ #: components/ImageEditor/components/SettingsModal
96
+ msgid "Max width"
97
+ msgstr ""
98
+
99
+ #. Default: "Maximum Crop Dimensions"
100
+ #: components/ImageEditor/components/SettingsModal
101
+ msgid "Maximum Crop Dimensions"
102
+ msgstr ""
103
+
104
+ #. Default: "Min height"
105
+ #: components/ImageEditor/components/SettingsModal
106
+ msgid "Min height"
107
+ msgstr ""
108
+
109
+ #. Default: "Min width"
110
+ #: components/ImageEditor/components/SettingsModal
111
+ msgid "Min width"
112
+ msgstr ""
113
+
114
+ #. Default: "Minimum Dimensions"
115
+ #: components/ImageEditor/components/SettingsModal
116
+ msgid "Minimum Dimensions"
117
+ msgstr ""
118
+
119
+ #. Default: "9:16"
120
+ #: components/ImageEditor/components/SettingsModal
121
+ msgid "Mobile (9:16)"
122
+ msgstr ""
123
+
124
+ #. Default: "4:3"
125
+ #: components/ImageEditor/components/SettingsModal
126
+ msgid "Monitor (4:3)"
127
+ msgstr ""
128
+
129
+ #. Default: "Free"
130
+ #: components/ImageEditor/components/SettingsModal
131
+ msgid "No Restriction"
132
+ msgstr ""
133
+
134
+ #. Default: "3:4"
135
+ #: components/ImageEditor/components/SettingsModal
136
+ msgid "Photo (3:4)"
137
+ msgstr ""
138
+
139
+ #. Default: "1:2"
140
+ #: components/ImageEditor/components/SettingsModal
141
+ msgid "Portrait (1:2)"
142
+ msgstr ""
143
+
144
+ #. Default: "Rectangle"
145
+ #: components/ImageEditor/components/SettingsModal
146
+ msgid "Rectangle"
147
+ msgstr ""
148
+
149
+ #. Default: "Replace existing file"
150
+ #: components/Widgets/FileWidget
151
+ msgid "Replace existing file"
152
+ msgstr ""
153
+
154
+ #. Default: "Reset rotation and flip"
155
+ #: components/ImageEditor/components/Navigation
156
+ msgid "Reset rotation and flip"
157
+ msgstr ""
158
+
159
+ #. Default: "1:1"
160
+ #: components/ImageEditor/components/SettingsModal
161
+ msgid "Square (1:1)"
162
+ msgstr ""
163
+
164
+ #. Default: "Stencil"
165
+ #: components/ImageEditor/components/SettingsModal
166
+ msgid "Stencil"
167
+ msgstr ""
168
+
169
+ #. Default: "Stencil Grid"
170
+ #: components/ImageEditor/components/SettingsModal
171
+ msgid "Stencil Grid"
172
+ msgstr ""
173
+
174
+ #. Default: "Stencil Type"
175
+ #: components/ImageEditor/components/SettingsModal
176
+ msgid "Stencil Type"
177
+ msgstr ""
178
+
179
+ #. Default: "The file you uploaded exceeded the maximum allowed size of {size} bytes"
180
+ #: components/Widgets/FileWidget
181
+ msgid "The file you uploaded exceeded the maximum allowed size of {size} bytes"
182
+ msgstr ""
183
+
184
+ #. Default: "21:9"
185
+ #: components/ImageEditor/components/SettingsModal
186
+ msgid "Ultra Wide (21:9)"
187
+ msgstr ""
188
+
189
+ #. Default: "16:9"
190
+ #: components/ImageEditor/components/SettingsModal
191
+ msgid "Widescreen (16:9)"
192
+ msgstr ""
@@ -0,0 +1,189 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Plone\n"
4
+ "POT-Creation-Date: 2025-10-16T17:39:09.551Z\n"
5
+ "Last-Translator: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
6
+ "Language-Team: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
7
+ "Content-Type: text/plain; charset=utf-8\n"
8
+ "Content-Transfer-Encoding: 8bit\n"
9
+ "Plural-Forms: nplurals=1; plural=0;\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Language-Code: en\n"
12
+ "Language-Name: English\n"
13
+ "Preferred-Encodings: utf-8\n"
14
+ "Domain: volto\n"
15
+
16
+ #. Default: "Aspect Ratio"
17
+ #: components/ImageEditor/components/SettingsModal
18
+ msgid "Aspect Ratio"
19
+ msgstr ""
20
+
21
+ #. Default: "Choose a file"
22
+ #: components/Widgets/FileWidget
23
+ msgid "Choose a file"
24
+ msgstr ""
25
+
26
+ #. Default: "Circle"
27
+ #: components/ImageEditor/components/SettingsModal
28
+ msgid "Circle"
29
+ msgstr ""
30
+
31
+ #. Default: "Drop file here to replace the existing file"
32
+ #: components/Widgets/FileWidget
33
+ msgid "Drop file here to replace the existing file"
34
+ msgstr ""
35
+
36
+ #. Default: "Drop file here to upload a new file"
37
+ #: components/Widgets/FileWidget
38
+ msgid "Drop file here to upload a new file"
39
+ msgstr ""
40
+
41
+ #. Default: "Drop files here ..."
42
+ #: components/Widgets/FileWidget
43
+ msgid "Drop files here ..."
44
+ msgstr ""
45
+
46
+ #. Default: "Edit image"
47
+ #: components/ImageEditor/ImageEditorWrapper
48
+ msgid "Edit image"
49
+ msgstr ""
50
+
51
+ #. Default: "Editor Settings"
52
+ #: components/ImageEditor/components/SettingsModal
53
+ msgid "Editor Settings"
54
+ msgstr ""
55
+
56
+ #. Default: "File is not of the accepted type {accept}"
57
+ #: components/Widgets/FileWidget
58
+ msgid "File is not of the accepted type {accept}"
59
+ msgstr ""
60
+
61
+ #. Default: "Fill"
62
+ #: components/ImageEditor/components/SettingsModal
63
+ msgid "Fill Area"
64
+ msgstr ""
65
+
66
+ #. Default: "Fit"
67
+ #: components/ImageEditor/components/SettingsModal
68
+ msgid "Fit Area"
69
+ msgstr ""
70
+
71
+ #. Default: "Free"
72
+ #: components/ImageEditor/components/SettingsModal
73
+ msgid "Free aspect ratio"
74
+ msgstr ""
75
+
76
+ #. Default: "Image Restriction"
77
+ #: components/ImageEditor/components/SettingsModal
78
+ msgid "Image Restriction"
79
+ msgstr ""
80
+
81
+ #. Default: "2:1"
82
+ #: components/ImageEditor/components/SettingsModal
83
+ msgid "Landscape (2:1)"
84
+ msgstr ""
85
+
86
+ #. Default: "Max height"
87
+ #: components/ImageEditor/components/SettingsModal
88
+ msgid "Max height"
89
+ msgstr ""
90
+
91
+ #. Default: "Max width"
92
+ #: components/ImageEditor/components/SettingsModal
93
+ msgid "Max width"
94
+ msgstr ""
95
+
96
+ #. Default: "Maximum Crop Dimensions"
97
+ #: components/ImageEditor/components/SettingsModal
98
+ msgid "Maximum Crop Dimensions"
99
+ msgstr ""
100
+
101
+ #. Default: "Min height"
102
+ #: components/ImageEditor/components/SettingsModal
103
+ msgid "Min height"
104
+ msgstr ""
105
+
106
+ #. Default: "Min width"
107
+ #: components/ImageEditor/components/SettingsModal
108
+ msgid "Min width"
109
+ msgstr ""
110
+
111
+ #. Default: "Minimum Dimensions"
112
+ #: components/ImageEditor/components/SettingsModal
113
+ msgid "Minimum Dimensions"
114
+ msgstr ""
115
+
116
+ #. Default: "9:16"
117
+ #: components/ImageEditor/components/SettingsModal
118
+ msgid "Mobile (9:16)"
119
+ msgstr ""
120
+
121
+ #. Default: "4:3"
122
+ #: components/ImageEditor/components/SettingsModal
123
+ msgid "Monitor (4:3)"
124
+ msgstr ""
125
+
126
+ #. Default: "Free"
127
+ #: components/ImageEditor/components/SettingsModal
128
+ msgid "No Restriction"
129
+ msgstr ""
130
+
131
+ #. Default: "3:4"
132
+ #: components/ImageEditor/components/SettingsModal
133
+ msgid "Photo (3:4)"
134
+ msgstr ""
135
+
136
+ #. Default: "1:2"
137
+ #: components/ImageEditor/components/SettingsModal
138
+ msgid "Portrait (1:2)"
139
+ msgstr ""
140
+
141
+ #. Default: "Rectangle"
142
+ #: components/ImageEditor/components/SettingsModal
143
+ msgid "Rectangle"
144
+ msgstr ""
145
+
146
+ #. Default: "Replace existing file"
147
+ #: components/Widgets/FileWidget
148
+ msgid "Replace existing file"
149
+ msgstr ""
150
+
151
+ #. Default: "Reset rotation and flip"
152
+ #: components/ImageEditor/components/Navigation
153
+ msgid "Reset rotation and flip"
154
+ msgstr ""
155
+
156
+ #. Default: "1:1"
157
+ #: components/ImageEditor/components/SettingsModal
158
+ msgid "Square (1:1)"
159
+ msgstr ""
160
+
161
+ #. Default: "Stencil"
162
+ #: components/ImageEditor/components/SettingsModal
163
+ msgid "Stencil"
164
+ msgstr ""
165
+
166
+ #. Default: "Stencil Grid"
167
+ #: components/ImageEditor/components/SettingsModal
168
+ msgid "Stencil Grid"
169
+ msgstr ""
170
+
171
+ #. Default: "Stencil Type"
172
+ #: components/ImageEditor/components/SettingsModal
173
+ msgid "Stencil Type"
174
+ msgstr ""
175
+
176
+ #. Default: "The file you uploaded exceeded the maximum allowed size of {size} bytes"
177
+ #: components/Widgets/FileWidget
178
+ msgid "The file you uploaded exceeded the maximum allowed size of {size} bytes"
179
+ msgstr ""
180
+
181
+ #. Default: "21:9"
182
+ #: components/ImageEditor/components/SettingsModal
183
+ msgid "Ultra Wide (21:9)"
184
+ msgstr ""
185
+
186
+ #. Default: "16:9"
187
+ #: components/ImageEditor/components/SettingsModal
188
+ msgid "Widescreen (16:9)"
189
+ msgstr ""
package/news/.gitkeep ADDED
File without changes
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@plone-collective/volto-image-editor",
3
+ "version": "1.0.0-alpha.1",
4
+ "description": "An image editor to be used with Plone and Volto.",
5
+ "main": "src/index.ts",
6
+ "license": "MIT",
7
+ "keywords": [
8
+ "volto-addon",
9
+ "volto",
10
+ "plone",
11
+ "react"
12
+ ],
13
+ "author": "Simples Consultoria",
14
+ "homepage": "https://github.com/collective/volto-image-editor#readme",
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git@github.com:collective/volto-image-editor"
18
+ },
19
+ "publishConfig": {
20
+ "access": "public"
21
+ },
22
+ "addons": [],
23
+ "dependencies": {
24
+ "context-filter-polyfill": "0.3.23",
25
+ "react-advanced-cropper": "0.20.1",
26
+ "react-icons": "^5.5.0",
27
+ "@plone/components": "4.0.0-alpha.0"
28
+ },
29
+ "peerDependencies": {
30
+ "advanced-cropper": "~0.17.1",
31
+ "classnames": "*",
32
+ "react": "18.2.0",
33
+ "react-aria-components": "*",
34
+ "react-dom": "18.2.0",
35
+ "@plone/types": "2.0.0-alpha.5",
36
+ "@plone/registry": "3.0.0-alpha.5"
37
+ },
38
+ "devDependencies": {
39
+ "@types/node": "^20.2.5",
40
+ "release-it": "^19.0.5",
41
+ "@plone/scripts": "4.0.0-alpha.2"
42
+ },
43
+ "scripts": {
44
+ "i18n": "rm -rf build/messages && NODE_ENV=production i18n --addon",
45
+ "dry-release": "release-it --dry-run",
46
+ "release": "release-it",
47
+ "release-major-alpha": "release-it major --preRelease=alpha",
48
+ "release-alpha": "release-it --preRelease=alpha"
49
+ }
50
+ }
File without changes
File without changes
@@ -0,0 +1,59 @@
1
+ @import '~react-advanced-cropper/dist/style.css';
2
+ @import '../../theme/constants';
3
+
4
+ .image-editor {
5
+ width: 100%;
6
+ border: solid 1px #2b2a30;
7
+ color: $theme-color;
8
+ &__preview {
9
+ position: absolute;
10
+ top: 20px;
11
+ left: 20px;
12
+ width: 45px;
13
+ height: 45px;
14
+ border: solid 1px #2b2a30;
15
+ border-radius: 50%;
16
+ background: black;
17
+ }
18
+ &__cropper {
19
+ position: relative;
20
+ display: flex;
21
+ height: 500px;
22
+ max-height: 100vh;
23
+ align-items: center;
24
+ justify-content: center;
25
+ background: #0f0e13;
26
+ }
27
+ &__slider {
28
+ position: absolute;
29
+ bottom: 20px;
30
+ left: 50%;
31
+ width: 100%;
32
+ transform: translateX(-50%);
33
+ }
34
+ &__cropper-overlay {
35
+ transition: 0.5s;
36
+ &--faded {
37
+ color: rgba(black, 0.9);
38
+ }
39
+ }
40
+ &__service {
41
+ position: absolute;
42
+ left: -100%;
43
+ pointer-events: none;
44
+ }
45
+ &__reset-button {
46
+ position: absolute;
47
+ top: 20px;
48
+ right: 20px;
49
+ background: rgba(white, 0.1);
50
+ &:hover {
51
+ background: rgba(white, 0.2);
52
+ fill: $theme-color;
53
+ }
54
+ &--hidden {
55
+ opacity: 0;
56
+ visibility: hidden;
57
+ }
58
+ }
59
+ }