@plone/volto 17.0.0-alpha.5 → 17.0.0-alpha.7
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/.yarn/install-state.gz +0 -0
- package/CHANGELOG.md +91 -13
- package/CONTRIBUTING.md +1 -1
- package/README.md +4 -4
- package/locales/de/LC_MESSAGES/volto.po +17 -17
- package/locales/de.json +1 -1
- package/package.json +3 -2
- package/packages/volto-slate/package.json +1 -1
- package/src/actions/language/language.js +8 -8
- package/src/components/manage/Add/Add.jsx +2 -2
- package/src/components/manage/Blocks/Listing/Edit.jsx +0 -14
- package/src/components/manage/Blocks/Listing/getAsyncData.js +10 -2
- package/src/components/manage/Blocks/Listing/withQuerystringResults.jsx +18 -13
- package/src/components/manage/Blocks/Search/SearchBlockView.jsx +2 -1
- package/src/components/manage/Blocks/Search/components/DateRangeFacet.jsx +4 -1
- package/src/components/manage/Contents/Contents.jsx +16 -14
- package/src/components/manage/Controlpanels/Controlpanels.jsx +190 -224
- package/src/components/manage/Controlpanels/Controlpanels.test.jsx +46 -7
- package/src/components/manage/Form/InlineForm.jsx +39 -9
- package/src/components/manage/Form/InlineFormState.js +8 -0
- package/src/components/manage/Multilingual/CreateTranslation.jsx +2 -2
- package/src/components/manage/Multilingual/TranslationObject.jsx +4 -3
- package/src/components/manage/Preferences/PersonalPreferences.jsx +2 -2
- package/src/components/manage/Toolbar/Types.jsx +2 -2
- package/src/components/manage/Widgets/DatetimeWidget.jsx +9 -5
- package/src/components/manage/Widgets/ObjectListWidget.jsx +3 -8
- package/src/components/manage/Widgets/RecurrenceWidget/ByDayField.jsx +2 -1
- package/src/components/manage/Widgets/RecurrenceWidget/MonthOfTheYearField.jsx +2 -1
- package/src/components/manage/Widgets/RecurrenceWidget/Occurences.jsx +2 -1
- package/src/components/manage/Widgets/RecurrenceWidget/RecurrenceWidget.jsx +7 -2
- package/src/components/manage/Widgets/RecurrenceWidget/WeekdayOfTheMonthField.jsx +2 -1
- package/src/components/theme/Footer/Footer.jsx +2 -13
- package/src/components/theme/Icon/Icon.jsx +2 -2
- package/src/components/theme/LanguageSelector/LanguageSelector.js +8 -3
- package/src/components/theme/Login/Login.jsx +1 -0
- package/src/components/theme/Logo/Logo.jsx +2 -1
- package/src/components/theme/MultilingualRedirector/MultilingualRedirector.jsx +2 -2
- package/src/components/theme/Navigation/NavItem.jsx +4 -2
- package/src/components/theme/Sitemap/Sitemap.jsx +5 -3
- package/src/components/theme/View/EventDatesInfo.jsx +2 -1
- package/src/components/theme/Widgets/DateWidget.jsx +2 -1
- package/src/components/theme/Widgets/DatetimeWidget.jsx +2 -1
- package/src/config/index.js +1 -0
- package/src/helpers/Robots/Robots.js +16 -1
- package/src/helpers/Url/Url.js +8 -3
- package/src/helpers/Url/Url.test.js +14 -0
- package/src/helpers/Utils/Utils.js +38 -13
- package/src/helpers/Utils/Utils.test.js +4 -4
- package/src/helpers/index.js +7 -2
- package/src/middleware/Api.test.js +54 -0
- package/src/middleware/api.js +8 -4
- package/src/server.jsx +28 -23
- package/test-setup-config.js +1 -0
- package/theme/themes/pastanaga/extras/sidebar.less +4 -0
- package/.changelog.draft +0 -13
- package/.editorconfig +0 -36
- package/.storybook/main.js +0 -127
- package/.storybook/manager.js +0 -15
- package/.storybook/preview.js +0 -21
- package/.storybook/static/previewImage.svg +0 -48
- package/.vale.ini +0 -10
- package/.yarnrc.yml +0 -5
- package/jsdoc.json +0 -16
- package/netlify.toml +0 -5
- package/pyvenv.cfg +0 -3
- package/share/man/man1/ttx.1 +0 -225
- package/styles/Vocab/Base/accept.txt +0 -0
- package/styles/Vocab/Base/reject.txt +0 -0
- package/styles/Vocab/Plone/accept.txt +0 -10
- package/styles/Vocab/Plone/reject.txt +0 -5
- package/towncrier.toml +0 -33
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
getColor,
|
|
7
7
|
getInitials,
|
|
8
8
|
hasApiExpander,
|
|
9
|
-
|
|
9
|
+
toGettextLang,
|
|
10
10
|
parseDateTime,
|
|
11
11
|
removeFromArray,
|
|
12
12
|
reorderArray,
|
|
@@ -284,12 +284,12 @@ describe('Utils tests', () => {
|
|
|
284
284
|
});
|
|
285
285
|
});
|
|
286
286
|
|
|
287
|
-
describe('
|
|
287
|
+
describe('toGettextLang', () => {
|
|
288
288
|
it('Normalizes an extended language (pt_BR)', () => {
|
|
289
|
-
expect(
|
|
289
|
+
expect(toGettextLang('pt-br')).toStrictEqual('pt_BR');
|
|
290
290
|
});
|
|
291
291
|
it('Normalizes a simple language (ca)', () => {
|
|
292
|
-
expect(
|
|
292
|
+
expect(toGettextLang('ca')).toStrictEqual('ca');
|
|
293
293
|
});
|
|
294
294
|
});
|
|
295
295
|
|
package/src/helpers/index.js
CHANGED
|
@@ -80,11 +80,16 @@ export {
|
|
|
80
80
|
applyConfig,
|
|
81
81
|
withServerErrorCode,
|
|
82
82
|
parseDateTime,
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
toGettextLang,
|
|
84
|
+
normalizeLanguageName, // old name for toGettextLang
|
|
85
|
+
toReactIntlLang,
|
|
86
|
+
toLangUnderscoreRegion, // old name for toReactIntlLang
|
|
87
|
+
toBackendLang,
|
|
85
88
|
hasApiExpander,
|
|
86
89
|
replaceItemOfArray,
|
|
87
90
|
cloneDeepSchema,
|
|
91
|
+
arrayRange,
|
|
92
|
+
reorderArray,
|
|
88
93
|
} from '@plone/volto/helpers/Utils/Utils';
|
|
89
94
|
export { messages } from './MessageLabels/MessageLabels';
|
|
90
95
|
export {
|
|
@@ -53,6 +53,60 @@ describe('api middleware helpers', () => {
|
|
|
53
53
|
);
|
|
54
54
|
expect(result).toEqual('/de/mypage/@navigation?expand.navigation.depth=3');
|
|
55
55
|
});
|
|
56
|
+
it('addExpandersToPath - Path matching, preserve query', () => {
|
|
57
|
+
config.settings.apiExpanders = [
|
|
58
|
+
{
|
|
59
|
+
match: '/de/mypage',
|
|
60
|
+
GET_CONTENT: ['mycustomexpander', 'mycustomexpander2'],
|
|
61
|
+
},
|
|
62
|
+
];
|
|
63
|
+
|
|
64
|
+
const result = addExpandersToPath(
|
|
65
|
+
'/de/mypage/@navigation?expand.navigation.depth=3',
|
|
66
|
+
GET_CONTENT,
|
|
67
|
+
);
|
|
68
|
+
expect(result).toEqual(
|
|
69
|
+
'/de/mypage/@navigation?expand=mycustomexpander,mycustomexpander2&expand.navigation.depth=3',
|
|
70
|
+
);
|
|
71
|
+
});
|
|
72
|
+
it('addExpandersToPath - Path matching, preserve query with multiple', () => {
|
|
73
|
+
config.settings.apiExpanders = [
|
|
74
|
+
{
|
|
75
|
+
match: '/de/mypage',
|
|
76
|
+
GET_CONTENT: ['mycustomexpander', 'mycustomexpander2'],
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
|
|
80
|
+
const result = addExpandersToPath(
|
|
81
|
+
'/de/mypage/@navigation?expand.navigation.depth=3&expand.other=2',
|
|
82
|
+
GET_CONTENT,
|
|
83
|
+
);
|
|
84
|
+
expect(result).toEqual(
|
|
85
|
+
'/de/mypage/@navigation?expand=mycustomexpander,mycustomexpander2&expand.navigation.depth=3&expand.other=2',
|
|
86
|
+
);
|
|
87
|
+
});
|
|
88
|
+
it('addExpandersToPath - Path not matching, preserve encoded query', () => {
|
|
89
|
+
config.settings.apiExpanders = [
|
|
90
|
+
{
|
|
91
|
+
match: '/de/otherpath',
|
|
92
|
+
GET_CONTENT: ['mycustomexpander'],
|
|
93
|
+
},
|
|
94
|
+
];
|
|
95
|
+
|
|
96
|
+
const result = addExpandersToPath('/de/mypage?query=a%26b', GET_CONTENT);
|
|
97
|
+
expect(result).toEqual('/de/mypage?query=a%26b');
|
|
98
|
+
});
|
|
99
|
+
it('addExpandersToPath - Path matching, preserve encoded query', () => {
|
|
100
|
+
config.settings.apiExpanders = [
|
|
101
|
+
{
|
|
102
|
+
match: '/de/mypage',
|
|
103
|
+
GET_CONTENT: ['mycustomexpander'],
|
|
104
|
+
},
|
|
105
|
+
];
|
|
106
|
+
|
|
107
|
+
const result = addExpandersToPath('/de/mypage?query=a%26b', GET_CONTENT);
|
|
108
|
+
expect(result).toEqual('/de/mypage?expand=mycustomexpander&query=a%26b');
|
|
109
|
+
});
|
|
56
110
|
it('addExpandersToPath - Two custom expanders from settings', () => {
|
|
57
111
|
config.settings.apiExpanders = [
|
|
58
112
|
{
|
package/src/middleware/api.js
CHANGED
|
@@ -18,7 +18,11 @@ import {
|
|
|
18
18
|
SET_APIERROR,
|
|
19
19
|
} from '@plone/volto/constants/ActionTypes';
|
|
20
20
|
import { changeLanguage } from '@plone/volto/actions';
|
|
21
|
-
import {
|
|
21
|
+
import {
|
|
22
|
+
toGettextLang,
|
|
23
|
+
toReactIntlLang,
|
|
24
|
+
getCookieOptions,
|
|
25
|
+
} from '@plone/volto/helpers';
|
|
22
26
|
let socket = null;
|
|
23
27
|
|
|
24
28
|
/**
|
|
@@ -43,7 +47,7 @@ export function addExpandersToPath(path, type, isAnonymous) {
|
|
|
43
47
|
const {
|
|
44
48
|
url,
|
|
45
49
|
query: { expand, ...query },
|
|
46
|
-
} = qs.parseUrl(path);
|
|
50
|
+
} = qs.parseUrl(path, { decode: false });
|
|
47
51
|
|
|
48
52
|
const expandersFromConfig = apiExpanders
|
|
49
53
|
.filter((expand) => matchPath(url, expand.match) && expand[type])
|
|
@@ -205,11 +209,11 @@ const apiMiddlewareFactory = (api) => ({ dispatch, getState }) => (next) => (
|
|
|
205
209
|
const lang = result?.language?.token;
|
|
206
210
|
if (
|
|
207
211
|
lang &&
|
|
208
|
-
getState().intl.
|
|
212
|
+
getState().intl.locale !== toReactIntlLang(lang) &&
|
|
209
213
|
!subrequest &&
|
|
210
214
|
config.settings.supportedLanguages.includes(lang)
|
|
211
215
|
) {
|
|
212
|
-
const langFileName =
|
|
216
|
+
const langFileName = toGettextLang(lang);
|
|
213
217
|
import('~/../locales/' + langFileName + '.json').then((locale) => {
|
|
214
218
|
dispatch(changeLanguage(lang, locale.default));
|
|
215
219
|
});
|
package/src/server.jsx
CHANGED
|
@@ -26,8 +26,9 @@ import {
|
|
|
26
26
|
Html,
|
|
27
27
|
Api,
|
|
28
28
|
persistAuthToken,
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
toBackendLang,
|
|
30
|
+
toGettextLang,
|
|
31
|
+
toReactIntlLang,
|
|
31
32
|
} from '@plone/volto/helpers';
|
|
32
33
|
import { changeLanguage } from '@plone/volto/actions';
|
|
33
34
|
|
|
@@ -44,9 +45,9 @@ let locales = {};
|
|
|
44
45
|
|
|
45
46
|
if (config.settings) {
|
|
46
47
|
config.settings.supportedLanguages.forEach((lang) => {
|
|
47
|
-
const langFileName =
|
|
48
|
+
const langFileName = toGettextLang(lang);
|
|
48
49
|
import('@root/../locales/' + langFileName + '.json').then((locale) => {
|
|
49
|
-
locales = { ...locales, [lang]: locale.default };
|
|
50
|
+
locales = { ...locales, [toReactIntlLang(lang)]: locale.default };
|
|
50
51
|
});
|
|
51
52
|
});
|
|
52
53
|
}
|
|
@@ -101,13 +102,15 @@ server.use(function (err, req, res, next) {
|
|
|
101
102
|
function setupServer(req, res, next) {
|
|
102
103
|
const api = new Api(req);
|
|
103
104
|
|
|
104
|
-
const lang =
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
105
|
+
const lang = toReactIntlLang(
|
|
106
|
+
new locale.Locales(
|
|
107
|
+
req.universalCookies.get('I18N_LANGUAGE') ||
|
|
108
|
+
config.settings.defaultLanguage ||
|
|
109
|
+
req.headers['accept-language'],
|
|
110
|
+
)
|
|
111
|
+
.best(supported)
|
|
112
|
+
.toString(),
|
|
113
|
+
);
|
|
111
114
|
|
|
112
115
|
// Minimum initial state for the fake Redux store instance
|
|
113
116
|
const initialState = {
|
|
@@ -176,13 +179,15 @@ server.get('/*', (req, res) => {
|
|
|
176
179
|
|
|
177
180
|
const browserdetect = detect(req.headers['user-agent']);
|
|
178
181
|
|
|
179
|
-
const lang =
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
182
|
+
const lang = toReactIntlLang(
|
|
183
|
+
new locale.Locales(
|
|
184
|
+
req.universalCookies.get('I18N_LANGUAGE') ||
|
|
185
|
+
config.settings.defaultLanguage ||
|
|
186
|
+
req.headers['accept-language'],
|
|
187
|
+
)
|
|
188
|
+
.best(supported)
|
|
189
|
+
.toString(),
|
|
190
|
+
);
|
|
186
191
|
|
|
187
192
|
const authToken = req.universalCookies.get('auth_token');
|
|
188
193
|
const initialState = {
|
|
@@ -217,7 +222,7 @@ server.get('/*', (req, res) => {
|
|
|
217
222
|
|
|
218
223
|
loadOnServer({ store, location, routes, api })
|
|
219
224
|
.then(() => {
|
|
220
|
-
const
|
|
225
|
+
const initialLang =
|
|
221
226
|
req.universalCookies.get('I18N_LANGUAGE') ||
|
|
222
227
|
config.settings.defaultLanguage ||
|
|
223
228
|
req.headers['accept-language'];
|
|
@@ -230,15 +235,15 @@ server.get('/*', (req, res) => {
|
|
|
230
235
|
// present the language token field, for some reason. In this case, we
|
|
231
236
|
// should follow the cookie rather then switching the language
|
|
232
237
|
const contentLang = store.getState().content.get?.error
|
|
233
|
-
?
|
|
238
|
+
? initialLang
|
|
234
239
|
: store.getState().content.data?.language?.token ||
|
|
235
240
|
config.settings.defaultLanguage;
|
|
236
241
|
|
|
237
|
-
if (
|
|
238
|
-
const
|
|
242
|
+
if (toBackendLang(initialLang) !== contentLang) {
|
|
243
|
+
const newLang = toReactIntlLang(
|
|
239
244
|
new locale.Locales(contentLang).best(supported).toString(),
|
|
240
245
|
);
|
|
241
|
-
store.dispatch(changeLanguage(
|
|
246
|
+
store.dispatch(changeLanguage(newLang, locales[newLang], req));
|
|
242
247
|
}
|
|
243
248
|
|
|
244
249
|
const context = {};
|
package/test-setup-config.js
CHANGED
package/.changelog.draft
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
## 17.0.0-alpha.5 (2023-04-14)
|
|
2
|
-
|
|
3
|
-
### Bugfix
|
|
4
|
-
|
|
5
|
-
- Generate a split sitemap @reebalazs [#4638](https://github.com/plone/volto/issues/4638)
|
|
6
|
-
- Fix Move to top of folder ordering in folder content view @iFlameing [#4690](https://github.com/plone/volto/issues/4690)
|
|
7
|
-
- Revert "Add current page parameter to the route in the listing and search block pagination (#4159)" @sneridagh [#4695](https://github.com/plone/volto/issues/4695)
|
|
8
|
-
- Fix search block in edit mode re-queries multiple blocks with an empty search text @reebalazs [#4697](https://github.com/plone/volto/issues/4697)
|
|
9
|
-
|
|
10
|
-
### Documentation
|
|
11
|
-
|
|
12
|
-
- Update links for 2022 Training archive. @stevepiercy [#4635](https://github.com/plone/volto/issues/4635)
|
|
13
|
-
|
package/.editorconfig
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# EditorConfig Configurtaion file, for more details see:
|
|
2
|
-
# http://EditorConfig.org
|
|
3
|
-
# EditorConfig is a convention description, that could be interpreted
|
|
4
|
-
# by multiple editors to enforce common coding conventions for specific
|
|
5
|
-
# file types
|
|
6
|
-
|
|
7
|
-
# top-most EditorConfig file:
|
|
8
|
-
# Will ignore other EditorConfig files in Home directory or upper tree level.
|
|
9
|
-
root = true
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
[*] # For All Files
|
|
13
|
-
# Unix-style newlines with a newline ending every file
|
|
14
|
-
end_of_line = lf
|
|
15
|
-
insert_final_newline = true
|
|
16
|
-
trim_trailing_whitespace = true
|
|
17
|
-
# Set default charset
|
|
18
|
-
charset = utf-8
|
|
19
|
-
# Indent style default
|
|
20
|
-
indent_style = space
|
|
21
|
-
# Max Line Length - a hard line wrap, should be disabled
|
|
22
|
-
max_line_length = off
|
|
23
|
-
|
|
24
|
-
[*.{py,cfg,ini}]
|
|
25
|
-
# 4 space indentation
|
|
26
|
-
indent_size = 4
|
|
27
|
-
|
|
28
|
-
[*.{html,dtml,pt,zpt,xml,zcml,js,jsx,json,less,css,yaml,yml}]
|
|
29
|
-
# 2 space indentation
|
|
30
|
-
indent_size = 2
|
|
31
|
-
|
|
32
|
-
[{Makefile,.gitmodules}]
|
|
33
|
-
# Tab indentation (no size specified, but view as 4 spaces)
|
|
34
|
-
indent_style = tab
|
|
35
|
-
indent_size = unset
|
|
36
|
-
tab_width = unset
|
package/.storybook/main.js
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
const webpack = require('webpack');
|
|
2
|
-
const fs = require('fs');
|
|
3
|
-
const path = require('path');
|
|
4
|
-
const makeLoaderFinder = require('razzle-dev-utils/makeLoaderFinder');
|
|
5
|
-
const fileLoaderFinder = makeLoaderFinder('file-loader');
|
|
6
|
-
const projectRootPath = path.resolve('.');
|
|
7
|
-
const lessPlugin = require('../webpack-plugins/webpack-less-plugin');
|
|
8
|
-
const createConfig = require('../node_modules/razzle/config/createConfigAsync.js');
|
|
9
|
-
const razzleConfig = require(path.join(projectRootPath, 'razzle.config.js'));
|
|
10
|
-
const SVGLOADER = {
|
|
11
|
-
test: /icons\/.*\.svg$/,
|
|
12
|
-
use: [
|
|
13
|
-
{
|
|
14
|
-
loader: 'svg-loader',
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
loader: 'svgo-loader',
|
|
18
|
-
options: {
|
|
19
|
-
plugins: [
|
|
20
|
-
{
|
|
21
|
-
name: 'preset-default',
|
|
22
|
-
params: {
|
|
23
|
-
overrides: {
|
|
24
|
-
convertPathData: false,
|
|
25
|
-
removeViewBox: false,
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
'removeTitle',
|
|
30
|
-
'removeUselessStrokeAndFill',
|
|
31
|
-
],
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
],
|
|
35
|
-
};
|
|
36
|
-
const defaultRazzleOptions = {
|
|
37
|
-
verbose: false,
|
|
38
|
-
debug: {},
|
|
39
|
-
buildType: 'iso',
|
|
40
|
-
cssPrefix: 'static/css',
|
|
41
|
-
jsPrefix: 'static/js',
|
|
42
|
-
enableSourceMaps: true,
|
|
43
|
-
enableReactRefresh: true,
|
|
44
|
-
enableTargetBabelrc: false,
|
|
45
|
-
enableBabelCache: true,
|
|
46
|
-
forceRuntimeEnvVars: [],
|
|
47
|
-
mediaPrefix: 'static/media',
|
|
48
|
-
staticCssInDev: false,
|
|
49
|
-
emitOnErrors: false,
|
|
50
|
-
disableWebpackbar: false,
|
|
51
|
-
browserslist: ['>1%', 'last 4 versions', 'Firefox ESR', 'not ie 11', 'not dead']
|
|
52
|
-
};
|
|
53
|
-
module.exports = {
|
|
54
|
-
stories: ['../src/**/*.stories.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'],
|
|
55
|
-
addons: ['@storybook/addon-links', '@storybook/addon-essentials'],
|
|
56
|
-
staticDirs: ['./static'],
|
|
57
|
-
webpackFinal: async (config, {
|
|
58
|
-
configType
|
|
59
|
-
}) => {
|
|
60
|
-
// `configType` has a value of 'DEVELOPMENT' or 'PRODUCTION'
|
|
61
|
-
// You can change the configuration based on that.
|
|
62
|
-
// 'PRODUCTION' is used when building the static version of storybook.
|
|
63
|
-
|
|
64
|
-
// Make whatever fine-grained changes you need
|
|
65
|
-
let baseConfig;
|
|
66
|
-
baseConfig = await createConfig('web', 'dev', {
|
|
67
|
-
// clearConsole: false,
|
|
68
|
-
modifyWebpackConfig: razzleConfig.modifyWebpackConfig,
|
|
69
|
-
plugins: razzleConfig.plugins
|
|
70
|
-
}, webpack, false, undefined, [], defaultRazzleOptions);
|
|
71
|
-
const AddonConfigurationRegistry = require('../addon-registry');
|
|
72
|
-
const registry = new AddonConfigurationRegistry(projectRootPath);
|
|
73
|
-
config = lessPlugin({
|
|
74
|
-
registry
|
|
75
|
-
}).modifyWebpackConfig({
|
|
76
|
-
env: {
|
|
77
|
-
target: 'web',
|
|
78
|
-
dev: 'dev'
|
|
79
|
-
},
|
|
80
|
-
webpackConfig: config,
|
|
81
|
-
webpackObject: webpack,
|
|
82
|
-
options: {}
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
// Put the SVG loader on top and prevent the asset/resource rule
|
|
86
|
-
// from processing the app's SVGs
|
|
87
|
-
config.module.rules.unshift(SVGLOADER);
|
|
88
|
-
const fileLoaderRule = config.module.rules.find(rule => rule.test.test('.svg'));
|
|
89
|
-
fileLoaderRule.exclude = /icons\/.*\.svg$/;
|
|
90
|
-
config.plugins.unshift(new webpack.DefinePlugin({
|
|
91
|
-
__DEVELOPMENT__: true,
|
|
92
|
-
__CLIENT__: true,
|
|
93
|
-
__SERVER__: false
|
|
94
|
-
}));
|
|
95
|
-
const resultConfig = {
|
|
96
|
-
...config,
|
|
97
|
-
resolve: {
|
|
98
|
-
...config.resolve,
|
|
99
|
-
alias: {
|
|
100
|
-
...config.resolve.alias,
|
|
101
|
-
...baseConfig.resolve.alias
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
// Addons have to be loaded with babel
|
|
107
|
-
const addonPaths = registry.addonNames.map(addon => fs.realpathSync(registry.packages[addon].modulePath));
|
|
108
|
-
resultConfig.module.rules[1].exclude = input =>
|
|
109
|
-
// exclude every input from node_modules except from @plone/volto
|
|
110
|
-
/node_modules\/(?!(@plone\/volto)\/)/.test(input) &&
|
|
111
|
-
// If input is in an addon, DON'T exclude it
|
|
112
|
-
!addonPaths.some(p => input.includes(p));
|
|
113
|
-
return resultConfig;
|
|
114
|
-
},
|
|
115
|
-
babel: async options => {
|
|
116
|
-
return {
|
|
117
|
-
...options,
|
|
118
|
-
plugins: [...options.plugins, ['./node_modules/babel-plugin-root-import/build/index.js', {
|
|
119
|
-
rootPathSuffix: './src'
|
|
120
|
-
}]]
|
|
121
|
-
// any extra options you want to set
|
|
122
|
-
};
|
|
123
|
-
},
|
|
124
|
-
core: {
|
|
125
|
-
builder: 'webpack5'
|
|
126
|
-
}
|
|
127
|
-
};
|
package/.storybook/manager.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { addons } from '@storybook/addons';
|
|
2
|
-
|
|
3
|
-
addons.setConfig({
|
|
4
|
-
isFullscreen: false,
|
|
5
|
-
showNav: true,
|
|
6
|
-
showPanel: true,
|
|
7
|
-
panelPosition: 'bottom',
|
|
8
|
-
sidebarAnimations: true,
|
|
9
|
-
enableShortcuts: true,
|
|
10
|
-
isToolshown: true,
|
|
11
|
-
theme: undefined,
|
|
12
|
-
selectedPanel: undefined,
|
|
13
|
-
initialActive: 'sidebar',
|
|
14
|
-
showRoots: true,
|
|
15
|
-
});
|
package/.storybook/preview.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import '@plone/volto/config'; // This is the bootstrap for the global config - client side
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { StaticRouter } from 'react-router-dom';
|
|
4
|
-
import { IntlProvider } from 'react-intl';
|
|
5
|
-
import enMessages from '@root/../locales/en.json';
|
|
6
|
-
|
|
7
|
-
import '@root/theme';
|
|
8
|
-
|
|
9
|
-
export const parameters = {
|
|
10
|
-
actions: { argTypesRegex: '^on[A-Z].*' },
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export const decorators = [
|
|
14
|
-
(Story) => (
|
|
15
|
-
<IntlProvider messages={enMessages} locale="en" defaultLocale="en">
|
|
16
|
-
<StaticRouter location="/">
|
|
17
|
-
<Story />
|
|
18
|
-
</StaticRouter>
|
|
19
|
-
</IntlProvider>
|
|
20
|
-
),
|
|
21
|
-
];
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<!-- Generator: Adobe Illustrator 13.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
|
|
3
|
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
-
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
5
|
-
width="158.253px" height="40.686px" viewBox="0 0 158.253 40.686" enable-background="new 0 0 158.253 40.686"
|
|
6
|
-
xml:space="preserve">
|
|
7
|
-
<g>
|
|
8
|
-
<path fill="#0095D3" d="M65.327,23.208h-6.589v11.388h-4.393V5.638h10.981c5.653,0,9.271,3.742,9.271,8.785
|
|
9
|
-
S70.979,23.208,65.327,23.208z M65.082,9.583h-6.345v9.639h6.345c3.05,0,5.124-1.749,5.124-4.799
|
|
10
|
-
C70.206,11.372,68.132,9.583,65.082,9.583z"/>
|
|
11
|
-
<path fill="#0095D3" d="M83.969,34.596c-3.904,0-5.652-2.644-5.652-5.693V5.638h4.148v23.021c0,1.587,0.567,2.399,2.235,2.399h1.83
|
|
12
|
-
v3.538H83.969z"/>
|
|
13
|
-
<path fill="#0095D3" d="M104.762,32.399c-1.344,1.384-3.377,2.44-6.184,2.44c-2.805,0-4.799-1.058-6.141-2.44
|
|
14
|
-
c-1.951-2.032-2.439-4.637-2.439-8.134c0-3.457,0.488-6.061,2.439-8.094c1.342-1.383,3.336-2.44,6.141-2.44
|
|
15
|
-
c2.807,0,4.84,1.059,6.184,2.44c1.951,2.033,2.439,4.637,2.439,8.094C107.203,27.763,106.713,30.366,104.762,32.399z
|
|
16
|
-
M101.629,18.613c-0.773-0.773-1.83-1.181-3.051-1.181c-1.219,0-2.236,0.406-3.01,1.181c-1.26,1.261-1.422,3.416-1.422,5.652
|
|
17
|
-
s0.162,4.393,1.422,5.653c0.773,0.771,1.791,1.22,3.01,1.22c1.221,0,2.277-0.447,3.051-1.22c1.262-1.262,1.424-3.417,1.424-5.653
|
|
18
|
-
S102.891,19.873,101.629,18.613z"/>
|
|
19
|
-
<path fill="#0095D3" d="M123.643,34.596V22.029c0-3.214-1.83-4.597-4.147-4.597s-4.271,1.423-4.271,4.597v12.566h-4.147v-20.62
|
|
20
|
-
h4.065v2.074c1.425-1.546,3.416-2.318,5.49-2.318c2.115,0,3.865,0.691,5.084,1.871c1.586,1.545,2.074,3.497,2.074,5.815v13.178
|
|
21
|
-
L123.643,34.596L123.643,34.596z"/>
|
|
22
|
-
<path fill="#0095D3" d="M135.772,25.486c0,3.537,1.871,5.774,5.246,5.774c2.317,0,3.539-0.649,5.004-2.115l2.643,2.481
|
|
23
|
-
c-2.115,2.114-4.107,3.213-7.727,3.213c-5.166,0-9.273-2.725-9.273-10.574c0-6.671,3.457-10.534,8.744-10.534
|
|
24
|
-
c5.531,0,8.744,4.067,8.744,9.925v1.83H135.772z M144.475,19.791c-0.65-1.545-2.113-2.604-4.066-2.604
|
|
25
|
-
c-1.951,0-3.457,1.059-4.107,2.604c-0.406,0.936-0.488,1.546-0.529,2.807h9.273C145.003,21.337,144.883,20.726,144.475,19.791z"/>
|
|
26
|
-
<circle fill="#0095D3" cx="17.815" cy="11.516" r="4.402"/>
|
|
27
|
-
<path fill="#0095D3" d="M31.167,20.311c0,2.433-1.969,4.401-4.403,4.401c-2.427,0-4.401-1.97-4.401-4.401
|
|
28
|
-
c0-2.433,1.975-4.401,4.401-4.401C29.2,15.909,31.167,17.879,31.167,20.311z"/>
|
|
29
|
-
<circle fill="#0095D3" cx="17.801" cy="29.131" r="4.402"/>
|
|
30
|
-
<g>
|
|
31
|
-
<path fill="#0095D3" d="M20.441-0.045C9.207-0.044,0.1,9.063,0.099,20.298C0.1,31.532,9.207,40.639,20.441,40.641
|
|
32
|
-
c11.235-0.002,20.341-9.107,20.343-20.343C40.783,9.063,31.677-0.044,20.441-0.045z M31.891,31.747
|
|
33
|
-
c-2.937,2.934-6.972,4.742-11.45,4.743c-4.478-0.001-8.513-1.811-11.45-4.743C6.058,28.81,4.25,24.775,4.249,20.298
|
|
34
|
-
c0.001-4.478,1.809-8.513,4.743-11.45c2.937-2.934,6.972-4.742,11.45-4.743c4.478,0.001,8.513,1.81,11.45,4.743
|
|
35
|
-
c2.934,2.938,4.742,6.973,4.743,11.45C36.633,24.775,34.825,28.81,31.891,31.747z"/>
|
|
36
|
-
</g>
|
|
37
|
-
<g>
|
|
38
|
-
<path fill="#0095D3" d="M153.985,9.95c-1.195,0-2.164,0.971-2.164,2.168c0.002,1.197,0.969,2.168,2.164,2.168
|
|
39
|
-
c1.199,0,2.172-0.971,2.172-2.168S155.184,9.95,153.985,9.95z M153.985,13.968c-1.021-0.002-1.846-0.827-1.846-1.85
|
|
40
|
-
c0.002-1.021,0.825-1.849,1.846-1.851c1.023,0.002,1.852,0.828,1.854,1.851C155.836,13.141,155.008,13.966,153.985,13.968z"/>
|
|
41
|
-
</g>
|
|
42
|
-
<g>
|
|
43
|
-
<path fill="#0095D3" d="M154.507,13.409l-0.54-1.08h-0.486v1.08h-0.389v-2.564h0.994c0.484,0,0.796,0.313,0.796,0.75
|
|
44
|
-
c0,0.367-0.224,0.602-0.513,0.68l0.592,1.136L154.507,13.409L154.507,13.409z M154.056,11.195h-0.575v0.803h0.575
|
|
45
|
-
c0.261,0,0.437-0.147,0.437-0.399S154.317,11.195,154.056,11.195z"/>
|
|
46
|
-
</g>
|
|
47
|
-
</g>
|
|
48
|
-
</svg>
|
package/.vale.ini
DELETED
package/.yarnrc.yml
DELETED
package/jsdoc.json
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"tags": {
|
|
3
|
-
"allowUnknownTags": true
|
|
4
|
-
},
|
|
5
|
-
"source": {
|
|
6
|
-
"include": ["./src"],
|
|
7
|
-
"includePattern": ".+\\.js$",
|
|
8
|
-
"excludePattern": ".+\\.(spec|e2e)\\.js$"
|
|
9
|
-
},
|
|
10
|
-
"opts": {
|
|
11
|
-
"encoding": "utf8",
|
|
12
|
-
"destination": "jsdoc",
|
|
13
|
-
"recurse": true,
|
|
14
|
-
"verbose": true
|
|
15
|
-
}
|
|
16
|
-
}
|
package/netlify.toml
DELETED
package/pyvenv.cfg
DELETED