decap-cms-core 3.9.0 → 3.10.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 (43) hide show
  1. package/dist/decap-cms-core.js +24 -24
  2. package/dist/decap-cms-core.js.LICENSE.txt +10 -0
  3. package/dist/decap-cms-core.js.map +1 -1
  4. package/dist/esm/actions/config.js +19 -0
  5. package/dist/esm/actions/entries.js +10 -1
  6. package/dist/esm/bootstrap.js +2 -2
  7. package/dist/esm/components/App/StatusBar.js +41 -0
  8. package/dist/esm/components/Collection/CollectionControls.js +3 -2
  9. package/dist/esm/components/Collection/ViewStyleControl.js +6 -3
  10. package/dist/esm/components/Editor/EditorControlPane/EditorControl.js +8 -5
  11. package/dist/esm/components/Editor/EditorNotesPane/AddNoteForm.js +17 -14
  12. package/dist/esm/components/Editor/EditorNotesPane/EditorNotesPane.js +75 -15
  13. package/dist/esm/components/Editor/EditorNotesPane/NoteItem.js +21 -24
  14. package/dist/esm/components/Editor/EditorNotesPane/NotesList.js +4 -4
  15. package/dist/esm/components/MediaLibrary/MediaLibraryHeader.js +5 -3
  16. package/dist/esm/components/MediaLibrary/MediaLibraryTop.js +5 -4
  17. package/dist/esm/components/UI/ErrorBoundary.js +6 -9
  18. package/dist/esm/components/UI/SettingsDropdown.js +9 -7
  19. package/dist/esm/constants/configSchema.js +41 -23
  20. package/dist/esm/lib/formatters.js +2 -1
  21. package/dist/esm/lib/indexFileHelper.js +36 -0
  22. package/dist/esm/reducers/collections.js +54 -5
  23. package/dist/esm/reducers/entries.js +8 -2
  24. package/index.d.ts +8 -2
  25. package/package.json +2 -3
  26. package/src/actions/__tests__/config.spec.js +4 -4
  27. package/src/actions/config.ts +22 -0
  28. package/src/actions/entries.ts +11 -1
  29. package/src/components/Collection/CollectionControls.js +1 -1
  30. package/src/components/Collection/ViewStyleControl.js +3 -1
  31. package/src/components/Editor/EditorControlPane/EditorControl.js +1 -0
  32. package/src/components/MediaLibrary/MediaLibraryHeader.js +2 -2
  33. package/src/components/MediaLibrary/MediaLibraryTop.js +1 -0
  34. package/src/components/UI/ErrorBoundary.js +1 -2
  35. package/src/components/UI/SettingsDropdown.js +1 -1
  36. package/src/constants/__tests__/configSchema.spec.js +84 -0
  37. package/src/constants/configSchema.js +34 -1
  38. package/src/lib/__tests__/formatters.spec.js +30 -2
  39. package/src/lib/formatters.ts +6 -1
  40. package/src/reducers/__tests__/collections.spec.js +39 -0
  41. package/src/reducers/collections.ts +52 -5
  42. package/src/reducers/entries.ts +12 -2
  43. package/src/types/redux.ts +9 -3
@@ -144,6 +144,17 @@ function hasIntegration(config, collection) {
144
144
  const integration = selectIntegration(integrations, collection.name, 'listEntries');
145
145
  return !!integration;
146
146
  }
147
+ function normalizeSortableFields(sortableFields) {
148
+ return sortableFields.map(field => {
149
+ if (typeof field === 'string') {
150
+ return {
151
+ field,
152
+ default_sort: undefined
153
+ };
154
+ }
155
+ return field;
156
+ });
157
+ }
147
158
  export function normalizeConfig(config) {
148
159
  const {
149
160
  collections = []
@@ -185,6 +196,14 @@ export function normalizeConfig(config) {
185
196
  };
186
197
  console.warn(`Collection ${collection.name} is using a deprecated configuration 'sortableFields'. Please use 'sortable_fields'`);
187
198
  }
199
+
200
+ // Normalize sortable_fields to consistent object format
201
+ if (normalizedCollection.sortable_fields) {
202
+ normalizedCollection = {
203
+ ...normalizedCollection,
204
+ sortable_fields: normalizeSortableFields(normalizedCollection.sortable_fields)
205
+ };
206
+ }
188
207
  return normalizedCollection;
189
208
  });
190
209
  return {
@@ -2,7 +2,7 @@ import { fromJS, List, Map } from 'immutable';
2
2
  import isEqual from 'lodash/isEqual';
3
3
  import { Cursor } from 'decap-cms-lib-util';
4
4
  import { selectCollectionEntriesCursor } from '../reducers/cursors';
5
- import { selectFields, updateFieldByKey } from '../reducers/collections';
5
+ import { selectFields, updateFieldByKey, selectDefaultSortField } from '../reducers/collections';
6
6
  import { selectIntegration, selectPublishedSlugs } from '../reducers';
7
7
  import { getIntegrationProvider } from '../integrations';
8
8
  import { currentBackend } from '../backend';
@@ -509,10 +509,19 @@ export function loadEntries(collection, page = 0) {
509
509
  }
510
510
  const state = getState();
511
511
  const sortFields = selectEntriesSortFields(state.entries, collection.get('name'));
512
+
513
+ // If user has already set a sort, use it
512
514
  if (sortFields && sortFields.length > 0) {
513
515
  const field = sortFields[0];
514
516
  return dispatch(sortByField(collection, field.get('key'), field.get('direction')));
515
517
  }
518
+
519
+ // Otherwise, check for a default sort field in the collection configuration
520
+ const defaultSort = selectDefaultSortField(collection);
521
+ if (defaultSort) {
522
+ const direction = defaultSort.direction === 'desc' ? SortDirection.Descending : SortDirection.Ascending;
523
+ return dispatch(sortByField(collection, defaultSort.field, direction));
524
+ }
516
525
  const backend = currentBackend(state.config);
517
526
  const integration = selectIntegration(state, collection.get('name'), 'listEntries');
518
527
  const provider = integration ? getIntegrationProvider(state.integrations, backend.getToken, integration) : backend;
@@ -49,8 +49,8 @@ function bootstrap(opts = {}) {
49
49
  /**
50
50
  * Log the version number.
51
51
  */
52
- if (typeof "3.9.0" === 'string') {
53
- console.log(`decap-cms-core ${"3.9.0"}`);
52
+ if (typeof "3.10.1" === 'string') {
53
+ console.log(`decap-cms-core ${"3.10.1"}`);
54
54
  }
55
55
 
56
56
  /**
@@ -0,0 +1,41 @@
1
+ import _styled from "@emotion/styled/base";
2
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
3
+ import React from 'react';
4
+ import { translate } from 'react-polyglot';
5
+ import { connect } from 'react-redux';
6
+ import { jsx as ___EmotionJSX } from "@emotion/react";
7
+ const StatusBarContainer = /*#__PURE__*/_styled("footer", {
8
+ target: "e1tlq1dd0",
9
+ label: "StatusBarContainer"
10
+ })(process.env.NODE_ENV === "production" ? {
11
+ name: "1r7yd60",
12
+ styles: "position:fixed;z-index:200;bottom:0;width:100%;padding:8px 18px;font-size:11px;display:flex;gap:1rem;box-shadow:0 4px 12px 0 rgba(68, 74, 87, 0.15),0 1px 3px 0 rgba(68, 74, 87, 0.25);background-color:#f7f8fa"
13
+ } : {
14
+ name: "1r7yd60",
15
+ styles: "position:fixed;z-index:200;bottom:0;width:100%;padding:8px 18px;font-size:11px;display:flex;gap:1rem;box-shadow:0 4px 12px 0 rgba(68, 74, 87, 0.15),0 1px 3px 0 rgba(68, 74, 87, 0.25);background-color:#f7f8fa/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0FwcC9TdGF0dXNCYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVN3QyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9BcHAvU3RhdHVzQmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBjb25uZWN0IH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGxldCBERUNBUF9DTVNfQVBQX1ZFUlNJT046IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuY29uc3QgU3RhdHVzQmFyQ29udGFpbmVyID0gc3R5bGVkLmZvb3RlcmBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAyMDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweCAxOHB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMXJlbTtcbiAgYm94LXNoYWRvdzogMCA0cHggMTJweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4yNSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y4ZmE7XG5gO1xuXG5pbXBvcnQgdHlwZSB7IFN0YXRlIH0gZnJvbSAnLi4vLi4vdHlwZXMvcmVkdXgnO1xuXG5pbnRlcmZhY2UgU3RhdHVzQmFyUHJvcHMge1xuICByYXRlTGltaXRJbmZvPzoge1xuICAgIHVzZWQ6IG51bWJlcjtcbiAgICBsaW1pdDogbnVtYmVyO1xuICAgIHJlbWFpbmluZzogbnVtYmVyO1xuICAgIHJlc2V0OiBudW1iZXI7XG4gICAgcmVzb3VyY2U6IHN0cmluZztcbiAgfTtcbiAgYXBwVmVyc2lvbj86IHN0cmluZztcbiAgYmFja2VuZE5hbWU/OiBzdHJpbmc7XG4gIHQ6IChrZXk6IHN0cmluZykgPT4gc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRSZXNldFRpbWUocmVzZXRUaW1lc3RhbXA6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShyZXNldFRpbWVzdGFtcCAqIDEwMDApO1xuICByZXR1cm4gZGF0ZS50b0xvY2FsZVRpbWVTdHJpbmcoJ2VuLVVTJywgeyBob3VyMTI6IGZhbHNlIH0pO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRQZXJjZW50YWdlKHVzZWQ6IG51bWJlciwgbGltaXQ6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IHBlcmNlbnRhZ2UgPSBsaW1pdCA+IDAgPyBNYXRoLnJvdW5kKCh1c2VkIC8gbGltaXQpICogMTApIC8gMTAgOiAwO1xuICByZXR1cm4gcGVyY2VudGFnZS50b1N0cmluZygpLnJlcGxhY2UoJy4nLCAnLCcpO1xufVxuXG5mdW5jdGlvbiBTdGF0dXNCYXIoeyByYXRlTGltaXRJbmZvLCBiYWNrZW5kTmFtZSwgdCB9OiBTdGF0dXNCYXJQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxTdGF0dXNCYXJDb250YWluZXI+XG4gICAgICB7dHlwZW9mIERFQ0FQX0NNU19BUFBfVkVSU0lPTiA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICA8c3Bhbj5kZWNhcC1jbXMtYXBwIHtERUNBUF9DTVNfQVBQX1ZFUlNJT059PC9zcGFuPlxuICAgICAgKX1cblxuICAgICAge2JhY2tlbmROYW1lICYmIChcbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAge2JhY2tlbmROYW1lfSB7dCgnYXBwLnN0YXR1c0Jhci5iYWNrZW5kJyl9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG5cbiAgICAgIHtyYXRlTGltaXRJbmZvICYmIChcbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAge3JhdGVMaW1pdEluZm8udXNlZH0gLyB7cmF0ZUxpbWl0SW5mby5saW1pdH0gKFxuICAgICAgICAgIHtmb3JtYXRQZXJjZW50YWdlKHJhdGVMaW1pdEluZm8udXNlZCwgcmF0ZUxpbWl0SW5mby5saW1pdCl9JSl7JyAnfVxuICAgICAgICAgIHt0KCdhcHAuc3RhdHVzQmFyLnJlcXVlc3RzVXNlZCcpfSwge3QoJ2FwcC5zdGF0dXNCYXIucmVzZXRBdCcpfXsnICd9XG4gICAgICAgICAge2Zvcm1hdFJlc2V0VGltZShyYXRlTGltaXRJbmZvLnJlc2V0KX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICA8L1N0YXR1c0JhckNvbnRhaW5lcj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBTdGF0ZSkge1xuICByZXR1cm4ge1xuICAgIHJhdGVMaW1pdEluZm86IHN0YXRlLnN0YXR1cz8ucmF0ZUxpbWl0SW5mbyxcbiAgICBiYWNrZW5kTmFtZTogc3RhdGUuY29uZmlnPy5iYWNrZW5kPy5uYW1lLFxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcykodHJhbnNsYXRlKCkoU3RhdHVzQmFyKSk7XG4iXX0= */",
16
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
17
+ });
18
+ function formatResetTime(resetTimestamp) {
19
+ const date = new Date(resetTimestamp * 1000);
20
+ return date.toLocaleTimeString('en-US', {
21
+ hour12: false
22
+ });
23
+ }
24
+ function formatPercentage(used, limit) {
25
+ const percentage = limit > 0 ? Math.round(used / limit * 10) / 10 : 0;
26
+ return percentage.toString().replace('.', ',');
27
+ }
28
+ function StatusBar({
29
+ rateLimitInfo,
30
+ backendName,
31
+ t
32
+ }) {
33
+ return ___EmotionJSX(StatusBarContainer, null, typeof "3.10.0" === 'string' && ___EmotionJSX("span", null, "decap-cms-app ", "3.10.0"), backendName && ___EmotionJSX("span", null, backendName, " ", t('app.statusBar.backend')), rateLimitInfo && ___EmotionJSX("span", null, rateLimitInfo.used, " / ", rateLimitInfo.limit, " (", formatPercentage(rateLimitInfo.used, rateLimitInfo.limit), "%)", ' ', t('app.statusBar.requestsUsed'), ", ", t('app.statusBar.resetAt'), ' ', formatResetTime(rateLimitInfo.reset)));
34
+ }
35
+ function mapStateToProps(state) {
36
+ return {
37
+ rateLimitInfo: state.status?.rateLimitInfo,
38
+ backendName: state.config?.backend?.name
39
+ };
40
+ }
41
+ export default connect(mapStateToProps)(translate()(StatusBar));
@@ -9,7 +9,7 @@ import { jsx as ___EmotionJSX } from "@emotion/react";
9
9
  const CollectionControlsContainer = /*#__PURE__*/_styled("div", {
10
10
  target: "emfmed70",
11
11
  label: "CollectionControlsContainer"
12
- })("display:flex;align-items:center;flex-direction:row-reverse;margin-top:22px;width:", lengths.topCardWidth, ";max-width:100%;&>div{margin-left:6px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vQ29sbGVjdGlvbkNvbnRyb2xzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVM4QyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Db2xsZWN0aW9uL0NvbGxlY3Rpb25Db250cm9scy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBsZW5ndGhzIH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgVmlld1N0eWxlQ29udHJvbCBmcm9tICcuL1ZpZXdTdHlsZUNvbnRyb2wnO1xuaW1wb3J0IFNvcnRDb250cm9sIGZyb20gJy4vU29ydENvbnRyb2wnO1xuaW1wb3J0IEZpbHRlckNvbnRyb2wgZnJvbSAnLi9GaWx0ZXJDb250cm9sJztcbmltcG9ydCBHcm91cENvbnRyb2wgZnJvbSAnLi9Hcm91cENvbnRyb2wnO1xuXG5jb25zdCBDb2xsZWN0aW9uQ29udHJvbHNDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIG1hcmdpbi10b3A6IDIycHg7XG4gIHdpZHRoOiAke2xlbmd0aHMudG9wQ2FyZFdpZHRofTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICYgPiBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gIH1cbmA7XG5cbmZ1bmN0aW9uIENvbGxlY3Rpb25Db250cm9scyh7XG4gIHZpZXdTdHlsZSxcbiAgb25DaGFuZ2VWaWV3U3R5bGUsXG4gIHNvcnRhYmxlRmllbGRzLFxuICBvblNvcnRDbGljayxcbiAgc29ydCxcbiAgdmlld0ZpbHRlcnMsXG4gIHZpZXdHcm91cHMsXG4gIG9uRmlsdGVyQ2xpY2ssXG4gIG9uR3JvdXBDbGljayxcbiAgdCxcbiAgZmlsdGVyLFxuICBncm91cCxcbn0pIHtcbiAgcmV0dXJuIChcbiAgICA8Q29sbGVjdGlvbkNvbnRyb2xzQ29udGFpbmVyPlxuICAgICAgPFZpZXdTdHlsZUNvbnRyb2wgdmlld1N0eWxlPXt2aWV3U3R5bGV9IG9uQ2hhbmdlVmlld1N0eWxlPXtvbkNoYW5nZVZpZXdTdHlsZX0gLz5cbiAgICAgIHt2aWV3R3JvdXBzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICA8R3JvdXBDb250cm9sIHZpZXdHcm91cHM9e3ZpZXdHcm91cHN9IG9uR3JvdXBDbGljaz17b25Hcm91cENsaWNrfSB0PXt0fSBncm91cD17Z3JvdXB9IC8+XG4gICAgICApfVxuICAgICAge3ZpZXdGaWx0ZXJzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICA8RmlsdGVyQ29udHJvbFxuICAgICAgICAgIHZpZXdGaWx0ZXJzPXt2aWV3RmlsdGVyc31cbiAgICAgICAgICBvbkZpbHRlckNsaWNrPXtvbkZpbHRlckNsaWNrfVxuICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgZmlsdGVyPXtmaWx0ZXJ9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgICAge3NvcnRhYmxlRmllbGRzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICA8U29ydENvbnRyb2wgZmllbGRzPXtzb3J0YWJsZUZpZWxkc30gc29ydD17c29ydH0gb25Tb3J0Q2xpY2s9e29uU29ydENsaWNrfSAvPlxuICAgICAgKX1cbiAgICA8L0NvbGxlY3Rpb25Db250cm9sc0NvbnRhaW5lcj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29sbGVjdGlvbkNvbnRyb2xzO1xuIl19 */"));
12
+ })("display:flex;align-items:center;flex-direction:row-reverse;margin-top:22px;width:", lengths.topCardWidth, ";max-width:100%;&>div{margin-left:6px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vQ29sbGVjdGlvbkNvbnRyb2xzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVM4QyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Db2xsZWN0aW9uL0NvbGxlY3Rpb25Db250cm9scy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBsZW5ndGhzIH0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgVmlld1N0eWxlQ29udHJvbCBmcm9tICcuL1ZpZXdTdHlsZUNvbnRyb2wnO1xuaW1wb3J0IFNvcnRDb250cm9sIGZyb20gJy4vU29ydENvbnRyb2wnO1xuaW1wb3J0IEZpbHRlckNvbnRyb2wgZnJvbSAnLi9GaWx0ZXJDb250cm9sJztcbmltcG9ydCBHcm91cENvbnRyb2wgZnJvbSAnLi9Hcm91cENvbnRyb2wnO1xuXG5jb25zdCBDb2xsZWN0aW9uQ29udHJvbHNDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIG1hcmdpbi10b3A6IDIycHg7XG4gIHdpZHRoOiAke2xlbmd0aHMudG9wQ2FyZFdpZHRofTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICYgPiBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gIH1cbmA7XG5cbmZ1bmN0aW9uIENvbGxlY3Rpb25Db250cm9scyh7XG4gIHZpZXdTdHlsZSxcbiAgb25DaGFuZ2VWaWV3U3R5bGUsXG4gIHNvcnRhYmxlRmllbGRzLFxuICBvblNvcnRDbGljayxcbiAgc29ydCxcbiAgdmlld0ZpbHRlcnMsXG4gIHZpZXdHcm91cHMsXG4gIG9uRmlsdGVyQ2xpY2ssXG4gIG9uR3JvdXBDbGljayxcbiAgdCxcbiAgZmlsdGVyLFxuICBncm91cCxcbn0pIHtcbiAgcmV0dXJuIChcbiAgICA8Q29sbGVjdGlvbkNvbnRyb2xzQ29udGFpbmVyPlxuICAgICAgPFZpZXdTdHlsZUNvbnRyb2wgdmlld1N0eWxlPXt2aWV3U3R5bGV9IG9uQ2hhbmdlVmlld1N0eWxlPXtvbkNoYW5nZVZpZXdTdHlsZX0gdD17dH0gLz5cbiAgICAgIHt2aWV3R3JvdXBzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICA8R3JvdXBDb250cm9sIHZpZXdHcm91cHM9e3ZpZXdHcm91cHN9IG9uR3JvdXBDbGljaz17b25Hcm91cENsaWNrfSB0PXt0fSBncm91cD17Z3JvdXB9IC8+XG4gICAgICApfVxuICAgICAge3ZpZXdGaWx0ZXJzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICA8RmlsdGVyQ29udHJvbFxuICAgICAgICAgIHZpZXdGaWx0ZXJzPXt2aWV3RmlsdGVyc31cbiAgICAgICAgICBvbkZpbHRlckNsaWNrPXtvbkZpbHRlckNsaWNrfVxuICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgZmlsdGVyPXtmaWx0ZXJ9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgICAge3NvcnRhYmxlRmllbGRzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICA8U29ydENvbnRyb2wgZmllbGRzPXtzb3J0YWJsZUZpZWxkc30gc29ydD17c29ydH0gb25Tb3J0Q2xpY2s9e29uU29ydENsaWNrfSAvPlxuICAgICAgKX1cbiAgICA8L0NvbGxlY3Rpb25Db250cm9sc0NvbnRhaW5lcj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29sbGVjdGlvbkNvbnRyb2xzO1xuIl19 */"));
13
13
  function CollectionControls({
14
14
  viewStyle,
15
15
  onChangeViewStyle,
@@ -26,7 +26,8 @@ function CollectionControls({
26
26
  }) {
27
27
  return ___EmotionJSX(CollectionControlsContainer, null, ___EmotionJSX(ViewStyleControl, {
28
28
  viewStyle: viewStyle,
29
- onChangeViewStyle: onChangeViewStyle
29
+ onChangeViewStyle: onChangeViewStyle,
30
+ t: t
30
31
  }), viewGroups.length > 0 && ___EmotionJSX(GroupControl, {
31
32
  viewGroups: viewGroups,
32
33
  onGroupClick: onGroupClick,
@@ -12,23 +12,26 @@ const ViewControlsSection = /*#__PURE__*/_styled("div", {
12
12
  styles: "display:flex;align-items:center;justify-content:flex-end;max-width:500px"
13
13
  } : {
14
14
  name: "k6mob8",
15
- styles: "display:flex;align-items:center;justify-content:flex-end;max-width:500px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vVmlld1N0eWxlQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNc0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQ29sbGVjdGlvbi9WaWV3U3R5bGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IEljb24sIGJ1dHRvbnMsIGNvbG9ycyB9IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcblxuaW1wb3J0IHsgVklFV19TVFlMRV9MSVNULCBWSUVXX1NUWUxFX0dSSUQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29sbGVjdGlvblZpZXdzJztcblxuY29uc3QgVmlld0NvbnRyb2xzU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1heC13aWR0aDogNTAwcHg7XG5gO1xuXG5jb25zdCBWaWV3Q29udHJvbHNCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gKHByb3BzLmlzQWN0aXZlID8gY29sb3JzLmFjdGl2ZSA6ICcjYjNiOWM0Jyl9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCA0cHg7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICAke0ljb259IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuYDtcblxuZnVuY3Rpb24gVmlld1N0eWxlQ29udHJvbCh7IHZpZXdTdHlsZSwgb25DaGFuZ2VWaWV3U3R5bGUgfSkge1xuICByZXR1cm4gKFxuICAgIDxWaWV3Q29udHJvbHNTZWN0aW9uPlxuICAgICAgPFZpZXdDb250cm9sc0J1dHRvblxuICAgICAgICBpc0FjdGl2ZT17dmlld1N0eWxlID09PSBWSUVXX1NUWUxFX0xJU1R9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlVmlld1N0eWxlKFZJRVdfU1RZTEVfTElTVCl9XG4gICAgICA+XG4gICAgICAgIDxJY29uIHR5cGU9XCJsaXN0XCIgLz5cbiAgICAgIDwvVmlld0NvbnRyb2xzQnV0dG9uPlxuICAgICAgPFZpZXdDb250cm9sc0J1dHRvblxuICAgICAgICBpc0FjdGl2ZT17dmlld1N0eWxlID09PSBWSUVXX1NUWUxFX0dSSUR9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlVmlld1N0eWxlKFZJRVdfU1RZTEVfR1JJRCl9XG4gICAgICA+XG4gICAgICAgIDxJY29uIHR5cGU9XCJncmlkXCIgLz5cbiAgICAgIDwvVmlld0NvbnRyb2xzQnV0dG9uPlxuICAgIDwvVmlld0NvbnRyb2xzU2VjdGlvbj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgVmlld1N0eWxlQ29udHJvbDtcbiJdfQ== */",
15
+ styles: "display:flex;align-items:center;justify-content:flex-end;max-width:500px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vVmlld1N0eWxlQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNc0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQ29sbGVjdGlvbi9WaWV3U3R5bGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IEljb24sIGJ1dHRvbnMsIGNvbG9ycyB9IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcblxuaW1wb3J0IHsgVklFV19TVFlMRV9MSVNULCBWSUVXX1NUWUxFX0dSSUQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29sbGVjdGlvblZpZXdzJztcblxuY29uc3QgVmlld0NvbnRyb2xzU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1heC13aWR0aDogNTAwcHg7XG5gO1xuXG5jb25zdCBWaWV3Q29udHJvbHNCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gKHByb3BzLmlzQWN0aXZlID8gY29sb3JzLmFjdGl2ZSA6ICcjYjNiOWM0Jyl9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCA0cHg7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICAke0ljb259IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuYDtcblxuZnVuY3Rpb24gVmlld1N0eWxlQ29udHJvbCh7IHZpZXdTdHlsZSwgb25DaGFuZ2VWaWV3U3R5bGUsIHQgfSkge1xuICByZXR1cm4gKFxuICAgIDxWaWV3Q29udHJvbHNTZWN0aW9uPlxuICAgICAgPFZpZXdDb250cm9sc0J1dHRvblxuICAgICAgICBhcmlhLWxhYmVsPXt0KCdjb2xsZWN0aW9uLmNvbGxlY3Rpb25Ub3Audmlld0FzTGlzdCcpfVxuICAgICAgICBpc0FjdGl2ZT17dmlld1N0eWxlID09PSBWSUVXX1NUWUxFX0xJU1R9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlVmlld1N0eWxlKFZJRVdfU1RZTEVfTElTVCl9XG4gICAgICA+XG4gICAgICAgIDxJY29uIHR5cGU9XCJsaXN0XCIgLz5cbiAgICAgIDwvVmlld0NvbnRyb2xzQnV0dG9uPlxuICAgICAgPFZpZXdDb250cm9sc0J1dHRvblxuICAgICAgICBhcmlhLWxhYmVsPXt0KCdjb2xsZWN0aW9uLmNvbGxlY3Rpb25Ub3Audmlld0FzR3JpZCcpfVxuICAgICAgICBpc0FjdGl2ZT17dmlld1N0eWxlID09PSBWSUVXX1NUWUxFX0dSSUR9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlVmlld1N0eWxlKFZJRVdfU1RZTEVfR1JJRCl9XG4gICAgICA+XG4gICAgICAgIDxJY29uIHR5cGU9XCJncmlkXCIgLz5cbiAgICAgIDwvVmlld0NvbnRyb2xzQnV0dG9uPlxuICAgIDwvVmlld0NvbnRyb2xzU2VjdGlvbj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgVmlld1N0eWxlQ29udHJvbDtcbiJdfQ== */",
16
16
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
17
17
  });
18
18
  const ViewControlsButton = /*#__PURE__*/_styled("button", {
19
19
  target: "evv1i7c0",
20
20
  label: "ViewControlsButton"
21
- })(buttons.button, ";color:", props => props.isActive ? colors.active : '#b3b9c4', ";background-color:transparent;display:block;padding:0;margin:0 4px;&:last-child{margin-right:0;}", Icon, "{display:block;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vVmlld1N0eWxlQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQ29sbGVjdGlvbi9WaWV3U3R5bGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IEljb24sIGJ1dHRvbnMsIGNvbG9ycyB9IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcblxuaW1wb3J0IHsgVklFV19TVFlMRV9MSVNULCBWSUVXX1NUWUxFX0dSSUQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29sbGVjdGlvblZpZXdzJztcblxuY29uc3QgVmlld0NvbnRyb2xzU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1heC13aWR0aDogNTAwcHg7XG5gO1xuXG5jb25zdCBWaWV3Q29udHJvbHNCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gKHByb3BzLmlzQWN0aXZlID8gY29sb3JzLmFjdGl2ZSA6ICcjYjNiOWM0Jyl9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCA0cHg7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICAke0ljb259IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuYDtcblxuZnVuY3Rpb24gVmlld1N0eWxlQ29udHJvbCh7IHZpZXdTdHlsZSwgb25DaGFuZ2VWaWV3U3R5bGUgfSkge1xuICByZXR1cm4gKFxuICAgIDxWaWV3Q29udHJvbHNTZWN0aW9uPlxuICAgICAgPFZpZXdDb250cm9sc0J1dHRvblxuICAgICAgICBpc0FjdGl2ZT17dmlld1N0eWxlID09PSBWSUVXX1NUWUxFX0xJU1R9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlVmlld1N0eWxlKFZJRVdfU1RZTEVfTElTVCl9XG4gICAgICA+XG4gICAgICAgIDxJY29uIHR5cGU9XCJsaXN0XCIgLz5cbiAgICAgIDwvVmlld0NvbnRyb2xzQnV0dG9uPlxuICAgICAgPFZpZXdDb250cm9sc0J1dHRvblxuICAgICAgICBpc0FjdGl2ZT17dmlld1N0eWxlID09PSBWSUVXX1NUWUxFX0dSSUR9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlVmlld1N0eWxlKFZJRVdfU1RZTEVfR1JJRCl9XG4gICAgICA+XG4gICAgICAgIDxJY29uIHR5cGU9XCJncmlkXCIgLz5cbiAgICAgIDwvVmlld0NvbnRyb2xzQnV0dG9uPlxuICAgIDwvVmlld0NvbnRyb2xzU2VjdGlvbj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgVmlld1N0eWxlQ29udHJvbDtcbiJdfQ== */"));
21
+ })(buttons.button, ";color:", props => props.isActive ? colors.active : '#b3b9c4', ";background-color:transparent;display:block;padding:0;margin:0 4px;&:last-child{margin-right:0;}", Icon, "{display:block;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NvbGxlY3Rpb24vVmlld1N0eWxlQ29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQ29sbGVjdGlvbi9WaWV3U3R5bGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IEljb24sIGJ1dHRvbnMsIGNvbG9ycyB9IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcblxuaW1wb3J0IHsgVklFV19TVFlMRV9MSVNULCBWSUVXX1NUWUxFX0dSSUQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29sbGVjdGlvblZpZXdzJztcblxuY29uc3QgVmlld0NvbnRyb2xzU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1heC13aWR0aDogNTAwcHg7XG5gO1xuXG5jb25zdCBWaWV3Q29udHJvbHNCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gKHByb3BzLmlzQWN0aXZlID8gY29sb3JzLmFjdGl2ZSA6ICcjYjNiOWM0Jyl9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCA0cHg7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICAke0ljb259IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuYDtcblxuZnVuY3Rpb24gVmlld1N0eWxlQ29udHJvbCh7IHZpZXdTdHlsZSwgb25DaGFuZ2VWaWV3U3R5bGUsIHQgfSkge1xuICByZXR1cm4gKFxuICAgIDxWaWV3Q29udHJvbHNTZWN0aW9uPlxuICAgICAgPFZpZXdDb250cm9sc0J1dHRvblxuICAgICAgICBhcmlhLWxhYmVsPXt0KCdjb2xsZWN0aW9uLmNvbGxlY3Rpb25Ub3Audmlld0FzTGlzdCcpfVxuICAgICAgICBpc0FjdGl2ZT17dmlld1N0eWxlID09PSBWSUVXX1NUWUxFX0xJU1R9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlVmlld1N0eWxlKFZJRVdfU1RZTEVfTElTVCl9XG4gICAgICA+XG4gICAgICAgIDxJY29uIHR5cGU9XCJsaXN0XCIgLz5cbiAgICAgIDwvVmlld0NvbnRyb2xzQnV0dG9uPlxuICAgICAgPFZpZXdDb250cm9sc0J1dHRvblxuICAgICAgICBhcmlhLWxhYmVsPXt0KCdjb2xsZWN0aW9uLmNvbGxlY3Rpb25Ub3Audmlld0FzR3JpZCcpfVxuICAgICAgICBpc0FjdGl2ZT17dmlld1N0eWxlID09PSBWSUVXX1NUWUxFX0dSSUR9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlVmlld1N0eWxlKFZJRVdfU1RZTEVfR1JJRCl9XG4gICAgICA+XG4gICAgICAgIDxJY29uIHR5cGU9XCJncmlkXCIgLz5cbiAgICAgIDwvVmlld0NvbnRyb2xzQnV0dG9uPlxuICAgIDwvVmlld0NvbnRyb2xzU2VjdGlvbj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgVmlld1N0eWxlQ29udHJvbDtcbiJdfQ== */"));
22
22
  function ViewStyleControl({
23
23
  viewStyle,
24
- onChangeViewStyle
24
+ onChangeViewStyle,
25
+ t
25
26
  }) {
26
27
  return ___EmotionJSX(ViewControlsSection, null, ___EmotionJSX(ViewControlsButton, {
28
+ "aria-label": t('collection.collectionTop.viewAsList'),
27
29
  isActive: viewStyle === VIEW_STYLE_LIST,
28
30
  onClick: () => onChangeViewStyle(VIEW_STYLE_LIST)
29
31
  }, ___EmotionJSX(Icon, {
30
32
  type: "list"
31
33
  })), ___EmotionJSX(ViewControlsButton, {
34
+ "aria-label": t('collection.collectionTop.viewAsGrid'),
32
35
  isActive: viewStyle === VIEW_STYLE_GRID,
33
36
  onClick: () => onChangeViewStyle(VIEW_STYLE_GRID)
34
37
  }, ___EmotionJSX(Icon, {