@kitconcept/core 2.0.0-alpha.12 → 2.0.0-alpha.13

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.
package/.changelog.draft CHANGED
@@ -1,7 +1,17 @@
1
- ## 2.0.0-alpha.12 (2026-02-27)
1
+ ## 2.0.0-alpha.13 (2026-03-14)
2
2
 
3
- ### Bugfix
3
+ ### Breaking
4
4
 
5
- - Fix content export. @davisagli
5
+ - Removed add-ons from frontend, moved to the distributions. @sneridagh
6
+ - Replaced support of `@mbarde/volto-image-crop-widget` with `@plone-collective/volto-image-editor`. @sneridagh
7
+
8
+ ### Feature
9
+
10
+ - Improve UX on Export Import control panel and add missing German translations. @danalvrz
11
+
12
+ ### Internal
13
+
14
+ - Use Volto 19a27.
15
+ See https://github.com/plone/volto/releases/tag/19.0.0-alpha.27 @sneridagh
6
16
 
7
17
 
package/CHANGELOG.md CHANGED
@@ -8,6 +8,22 @@
8
8
 
9
9
  <!-- towncrier release notes start -->
10
10
 
11
+ ## 2.0.0-alpha.13 (2026-03-14)
12
+
13
+ ### Breaking
14
+
15
+ - Removed add-ons from frontend, moved to the distributions. @sneridagh
16
+ - Replaced support of `@mbarde/volto-image-crop-widget` with `@plone-collective/volto-image-editor`. @sneridagh
17
+
18
+ ### Feature
19
+
20
+ - Improve UX on Export Import control panel and add missing German translations. @danalvrz
21
+
22
+ ### Internal
23
+
24
+ - Use Volto 19a27.
25
+ See https://github.com/plone/volto/releases/tag/19.0.0-alpha.27 @sneridagh
26
+
11
27
  ## 2.0.0-alpha.12 (2026-02-27)
12
28
 
13
29
  ### Bugfix
@@ -22,6 +22,11 @@ msgstr ""
22
22
  msgid "Back"
23
23
  msgstr "Zurück"
24
24
 
25
+ #. Default: "Choose file"
26
+ #: components/Controlpanels/ExportImport
27
+ msgid "Choose file"
28
+ msgstr "Datai auswählen"
29
+
25
30
  #. Default: "Configuration Versions"
26
31
  #: components/Controlpanels/UpgradeControlPanel
27
32
  msgid "Configuration Versions"
@@ -55,7 +60,7 @@ msgstr "Inhalt exportieren"
55
60
  #. Default: "Export Site"
56
61
  #: components/Controlpanels/ExportImport
57
62
  msgid "Export Site"
58
- msgstr "Export-Standort"
63
+ msgstr "Website exportieren"
59
64
 
60
65
  #. Default: "Export successful"
61
66
  #: components/Controlpanels/ExportImport
@@ -65,7 +70,7 @@ msgstr "Export erfolgreich"
65
70
  #. Default: "Exporting…"
66
71
  #: components/Controlpanels/ExportImport
67
72
  msgid "Exporting…"
68
- msgstr ""
73
+ msgstr "Exportieren..."
69
74
 
70
75
  #. Default: "Import Content"
71
76
  #: components/Controlpanels/ExportImport
@@ -75,7 +80,7 @@ msgstr "Inhalt importieren"
75
80
  #. Default: "Import Site"
76
81
  #: components/Controlpanels/ExportImport
77
82
  msgid "Import Site"
78
- msgstr "Importieren Sie die Website"
83
+ msgstr "Website Importieren"
79
84
 
80
85
  #. Default: "Import successful"
81
86
  #: components/Controlpanels/ExportImport
@@ -85,7 +90,7 @@ msgstr "Import erfolgreich"
85
90
  #. Default: "Importing…"
86
91
  #: components/Controlpanels/ExportImport
87
92
  msgid "Importing…"
88
- msgstr ""
93
+ msgstr "Importieren..."
89
94
 
90
95
  #. Default: "Latest available configuration"
91
96
  #: components/Controlpanels/UpgradeControlPanel
@@ -102,6 +107,11 @@ msgstr ""
102
107
  msgid "No addons found"
103
108
  msgstr ""
104
109
 
110
+ #. Default: "No file selected"
111
+ #: components/Controlpanels/ExportImport
112
+ msgid "No file selected"
113
+ msgstr "Keine Datei ausgewählt"
114
+
105
115
  #. Default: "Package Version"
106
116
  #: components/Controlpanels/VersionOverview
107
117
  msgid "Package Version"
@@ -22,6 +22,11 @@ msgstr ""
22
22
  msgid "Back"
23
23
  msgstr ""
24
24
 
25
+ #. Default: "Choose file"
26
+ #: components/Controlpanels/ExportImport
27
+ msgid "Choose file"
28
+ msgstr ""
29
+
25
30
  #. Default: "Configuration Versions"
26
31
  #: components/Controlpanels/UpgradeControlPanel
27
32
  msgid "Configuration Versions"
@@ -102,6 +107,11 @@ msgstr ""
102
107
  msgid "No addons found"
103
108
  msgstr ""
104
109
 
110
+ #. Default: "No file selected"
111
+ #: components/Controlpanels/ExportImport
112
+ msgid "No file selected"
113
+ msgstr ""
114
+
105
115
  #. Default: "Package Version"
106
116
  #: components/Controlpanels/VersionOverview
107
117
  msgid "Package Version"
@@ -29,6 +29,11 @@ msgstr ""
29
29
  msgid "Back"
30
30
  msgstr ""
31
31
 
32
+ #. Default: "Choose file"
33
+ #: components/Controlpanels/ExportImport
34
+ msgid "Choose file"
35
+ msgstr ""
36
+
32
37
  #. Default: "Configuration Versions"
33
38
  #: components/Controlpanels/UpgradeControlPanel
34
39
  msgid "Configuration Versions"
@@ -109,6 +114,11 @@ msgstr ""
109
114
  msgid "No addons found"
110
115
  msgstr ""
111
116
 
117
+ #. Default: "No file selected"
118
+ #: components/Controlpanels/ExportImport
119
+ msgid "No file selected"
120
+ msgstr ""
121
+
112
122
  #. Default: "Package Version"
113
123
  #: components/Controlpanels/VersionOverview
114
124
  msgid "Package Version"
@@ -27,6 +27,11 @@ msgstr "Complementos"
27
27
  msgid "Back"
28
28
  msgstr "Voltar"
29
29
 
30
+ #. Default: "Choose file"
31
+ #: components/Controlpanels/ExportImport
32
+ msgid "Choose file"
33
+ msgstr ""
34
+
30
35
  #. Default: "Configuration Versions"
31
36
  #: components/Controlpanels/UpgradeControlPanel
32
37
  msgid "Configuration Versions"
@@ -107,6 +112,11 @@ msgstr "Mais informações sobre o procedimento de atualização podem ser encon
107
112
  msgid "No addons found"
108
113
  msgstr "Nenhum complemento encontrado"
109
114
 
115
+ #. Default: "No file selected"
116
+ #: components/Controlpanels/ExportImport
117
+ msgid "No file selected"
118
+ msgstr ""
119
+
110
120
  #. Default: "Package Version"
111
121
  #: components/Controlpanels/VersionOverview
112
122
  msgid "Package Version"
package/locales/volto.pot CHANGED
@@ -1,7 +1,7 @@
1
1
  msgid ""
2
2
  msgstr ""
3
3
  "Project-Id-Version: Plone\n"
4
- "POT-Creation-Date: 2026-02-24T11:06:04.840Z\n"
4
+ "POT-Creation-Date: 2026-03-09T12:12:02.110Z\n"
5
5
  "Last-Translator: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
6
6
  "Language-Team: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
7
7
  "Content-Type: text/plain; charset=utf-8\n"
@@ -24,6 +24,11 @@ msgstr ""
24
24
  msgid "Back"
25
25
  msgstr ""
26
26
 
27
+ #. Default: "Choose file"
28
+ #: components/Controlpanels/ExportImport
29
+ msgid "Choose file"
30
+ msgstr ""
31
+
27
32
  #. Default: "Configuration Versions"
28
33
  #: components/Controlpanels/UpgradeControlPanel
29
34
  msgid "Configuration Versions"
@@ -104,6 +109,11 @@ msgstr ""
104
109
  msgid "No addons found"
105
110
  msgstr ""
106
111
 
112
+ #. Default: "No file selected"
113
+ #: components/Controlpanels/ExportImport
114
+ msgid "No file selected"
115
+ msgstr ""
116
+
107
117
  #. Default: "Package Version"
108
118
  #: components/Controlpanels/VersionOverview
109
119
  msgid "Package Version"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitconcept/core",
3
- "version": "2.0.0-alpha.12",
3
+ "version": "2.0.0-alpha.13",
4
4
  "description": "Core setup for kitconcept GmbH distributions built on top of Plone",
5
5
  "main": "src/index.ts",
6
6
  "license": "MIT",
@@ -19,17 +19,8 @@
19
19
  "publishConfig": {
20
20
  "access": "public"
21
21
  },
22
- "scripts": {
23
- "i18n": "rm -rf build/messages && NODE_ENV=production i18n --addon",
24
- "dry-release": "release-it --dry-run",
25
- "release": "release-it",
26
- "release-major-alpha": "release-it major --preRelease=alpha",
27
- "release-alpha": "release-it --preRelease=alpha"
28
- },
29
22
  "dependencies": {
30
- "@mbarde/volto-image-crop-widget": "^0.5.1",
31
- "@plone-collective/volto-authomatic": "3.0.0-alpha.6",
32
- "@plone/components": "workspace:^"
23
+ "@plone/components": "^4.0.0-alpha.6"
33
24
  },
34
25
  "peerDependencies": {
35
26
  "react": "^18.2.0",
@@ -39,13 +30,20 @@
39
30
  },
40
31
  "devDependencies": {
41
32
  "@plone/scripts": "^3.6.1",
42
- "@plone/types": "workspace:*",
43
33
  "@types/lodash": "^4.14.201",
44
34
  "@types/react": "^18.3.1",
45
35
  "@types/react-dom": "^18.3.1",
46
36
  "lodash": "4.17.21",
47
37
  "release-it": "^19.0.5",
48
38
  "typescript": "^5.7.3",
49
- "vitest": "^3.1.2"
39
+ "vitest": "^3.1.2",
40
+ "@plone/types": "2.0.0-alpha.14"
41
+ },
42
+ "scripts": {
43
+ "i18n": "rm -rf build/messages && NODE_ENV=production i18n --addon",
44
+ "dry-release": "release-it --dry-run",
45
+ "release": "release-it",
46
+ "release-major-alpha": "release-it major --preRelease=alpha",
47
+ "release-alpha": "release-it --preRelease=alpha"
50
48
  }
51
- }
49
+ }
@@ -3,7 +3,7 @@
3
3
  * using @plone/components (React Aria based)
4
4
  */
5
5
 
6
- import React, { useState } from 'react';
6
+ import React, { useRef, useState } from 'react';
7
7
  import Toolbar from '@plone/volto/components/manage/Toolbar/Toolbar';
8
8
  import Icon from '@plone/volto/components/theme/Icon/Icon';
9
9
  import { Link } from 'react-router-dom';
@@ -17,8 +17,8 @@ import { createPortal } from 'react-dom';
17
17
  import { useDispatch, useSelector } from 'react-redux';
18
18
  import { importContent } from '../../actions/exportImport/exportImport';
19
19
 
20
- import uploadSVG from '@plone/volto/icons/upload.svg';
21
- import downloadSVG from '@plone/volto/icons/download.svg';
20
+ import importSVG from '../../icons/import.svg';
21
+ import exportSVG from '../../icons/export.svg';
22
22
  import backSVG from '@plone/volto/icons/back.svg';
23
23
 
24
24
  import { defineMessages, useIntl } from 'react-intl';
@@ -72,10 +72,19 @@ const messages = defineMessages({
72
72
  id: 'Importing…',
73
73
  defaultMessage: 'Importing…',
74
74
  },
75
+ chooseFile: {
76
+ id: 'Choose file',
77
+ defaultMessage: 'Choose file',
78
+ },
79
+ noFileSelected: {
80
+ id: 'No file selected',
81
+ defaultMessage: 'No file selected',
82
+ },
75
83
  });
76
84
 
77
85
  const ContentTransfer = ({ pathname }) => {
78
86
  const [file, setFile] = useState(null);
87
+ const fileInputRef = useRef(null);
79
88
  const intl = useIntl();
80
89
  const isClient = useClient();
81
90
  const dispatch = useDispatch();
@@ -168,13 +177,15 @@ const ContentTransfer = ({ pathname }) => {
168
177
  <div className="grid-container">
169
178
  <div className="grid-column export">
170
179
  <h2>{intl.formatMessage(messages.exportContent)}</h2>
180
+ <span>
181
+ <Icon name={exportSVG} size="50px" />
182
+ </span>
171
183
 
172
184
  <Button
173
185
  variant="primary"
174
186
  isDisabled={exporting}
175
187
  onPress={handleExport}
176
188
  >
177
- <Icon name={downloadSVG} size="20px" />
178
189
  {exporting ? (
179
190
  <span>{intl.formatMessage(messages.exporting)}</span>
180
191
  ) : (
@@ -185,19 +196,38 @@ const ContentTransfer = ({ pathname }) => {
185
196
 
186
197
  <div className="grid-column import">
187
198
  <h2>{intl.formatMessage(messages.importContent)}</h2>
199
+ <span>
200
+ <Icon name={importSVG} size="50px" />
201
+ </span>
188
202
 
189
- <input
190
- type="file"
191
- accept=".zip"
192
- onChange={(e) => setFile(e.target.files[0])}
193
- />
203
+ <div className="file-input-wrapper">
204
+ <input
205
+ ref={fileInputRef}
206
+ type="file"
207
+ accept=".zip"
208
+ onChange={(e) => setFile(e.target.files[0])}
209
+ hidden
210
+ />
211
+ <Button
212
+ variant="secondary"
213
+ onPress={() => fileInputRef.current?.click()}
214
+ >
215
+ {intl.formatMessage(messages.chooseFile)}
216
+ </Button>
217
+ <span className="file-input-name">
218
+ {file
219
+ ? file.name.length > 48
220
+ ? `${file.name.slice(0, 35)}…${file.name.slice(-12)}`
221
+ : file.name
222
+ : intl.formatMessage(messages.noFileSelected)}
223
+ </span>
224
+ </div>
194
225
 
195
226
  <Button
196
227
  variant="primary"
197
228
  isDisabled={!file || importing}
198
229
  onPress={handleImport}
199
230
  >
200
- <Icon name={uploadSVG} size="20px" />
201
231
  {importing ? (
202
232
  <span>{intl.formatMessage(messages.importing)}</span>
203
233
  ) : (
@@ -0,0 +1,11 @@
1
+ <svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_22614_98210)">
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M21.1539 0V3.84615H43.4423L15.9423 31.3269L18.6731 34.0577L46.1539 6.55769V28.8462H50V0H21.1539Z" fill="black"/>
4
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M34.6154 46.1538H3.84615V15.3846H25V11.5385H0V50H38.4615V25H34.6154V46.1538Z" fill="black"/>
5
+ </g>
6
+ <defs>
7
+ <clipPath id="clip0_22614_98210">
8
+ <rect width="50" height="50" fill="white"/>
9
+ </clipPath>
10
+ </defs>
11
+ </svg>
@@ -0,0 +1,11 @@
1
+ <svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_22614_98218)">
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M28.8462 50L28.8462 46.1539L6.55774 46.1538L34.0577 18.6731L31.327 15.9423L3.8462 43.4423L3.8462 21.1538L5.21129e-05 21.1538L4.95911e-05 50L28.8462 50Z" fill="black"/>
4
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M15.3846 3.84616L46.1538 3.84616L46.1538 34.6154L25 34.6154L25 38.4616L50 38.4616L50 1.20005e-05L11.5385 8.63812e-06L11.5385 25L15.3846 25L15.3846 3.84616Z" fill="black"/>
5
+ </g>
6
+ <defs>
7
+ <clipPath id="clip0_22614_98218">
8
+ <rect width="50" height="50" fill="white" transform="translate(50 50) rotate(-180)"/>
9
+ </clipPath>
10
+ </defs>
11
+ </svg>