decap-cms-core 3.14.0 → 3.15.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 (59) hide show
  1. package/dist/decap-cms-core.js +18 -18
  2. package/dist/decap-cms-core.js.map +1 -1
  3. package/dist/esm/bootstrap.js +2 -2
  4. package/dist/esm/components/App/App.js +6 -6
  5. package/dist/esm/components/Collection/Collection.js +7 -7
  6. package/dist/esm/components/Collection/CollectionControls.js +1 -1
  7. package/dist/esm/components/Collection/CollectionTop.js +8 -8
  8. package/dist/esm/components/Collection/ControlButton.js +2 -2
  9. package/dist/esm/components/Collection/Entries/Entries.js +2 -2
  10. package/dist/esm/components/Collection/Sidebar.js +6 -6
  11. package/dist/esm/components/MediaLibrary/MediaLibraryButtons.js +48 -9
  12. package/dist/esm/components/MediaLibrary/MediaLibraryCard.js +7 -9
  13. package/dist/esm/components/MediaLibrary/MediaLibraryCardGrid.js +5 -5
  14. package/dist/esm/components/MediaLibrary/MediaLibraryHeader.js +15 -3
  15. package/dist/esm/components/MediaLibrary/MediaLibraryModal.js +4 -1
  16. package/dist/esm/components/MediaLibrary/MediaLibrarySearch.js +6 -6
  17. package/dist/esm/components/MediaLibrary/MediaLibraryTop.js +14 -24
  18. package/dist/esm/components/UI/ErrorBoundary.js +2 -2
  19. package/dist/esm/components/UI/Modal.js +11 -4
  20. package/dist/esm/components/Workflow/Workflow.js +5 -5
  21. package/dist/esm/components/Workflow/WorkflowCard.js +14 -14
  22. package/dist/esm/components/Workflow/WorkflowList.js +18 -42
  23. package/dist/esm/constants/configSchema.js +1 -2
  24. package/dist/esm/reducers/entries.js +9 -7
  25. package/dist/esm/reducers/entryDraft.js +3 -4
  26. package/dist/esm/reducers/mediaLibrary.js +2 -3
  27. package/dist/esm/reducers/notifications.js +1 -2
  28. package/index.d.ts +2 -2
  29. package/package.json +7 -8
  30. package/src/actions/__tests__/editorialWorkflow.spec.js +1 -3
  31. package/src/components/App/App.js +0 -1
  32. package/src/components/Collection/Collection.js +10 -3
  33. package/src/components/Collection/CollectionControls.js +4 -3
  34. package/src/components/Collection/CollectionTop.js +3 -2
  35. package/src/components/Collection/ControlButton.js +1 -0
  36. package/src/components/Collection/Entries/Entries.js +1 -0
  37. package/src/components/Collection/Sidebar.js +8 -7
  38. package/src/components/Collection/__tests__/__snapshots__/Collection.spec.js.snap +76 -12
  39. package/src/components/Collection/__tests__/__snapshots__/Sidebar.spec.js.snap +76 -16
  40. package/src/components/MediaLibrary/MediaLibraryButtons.js +39 -7
  41. package/src/components/MediaLibrary/MediaLibraryCard.js +1 -3
  42. package/src/components/MediaLibrary/MediaLibraryCardGrid.js +2 -2
  43. package/src/components/MediaLibrary/MediaLibraryHeader.js +32 -17
  44. package/src/components/MediaLibrary/MediaLibraryModal.js +8 -4
  45. package/src/components/MediaLibrary/MediaLibrarySearch.js +3 -1
  46. package/src/components/MediaLibrary/MediaLibraryTop.js +19 -1
  47. package/src/components/MediaLibrary/__tests__/__snapshots__/MediaLibraryCard.spec.js.snap +6 -6
  48. package/src/components/UI/Modal.js +10 -3
  49. package/src/components/Workflow/Workflow.js +7 -1
  50. package/src/components/Workflow/WorkflowCard.js +52 -14
  51. package/src/components/Workflow/WorkflowList.js +50 -31
  52. package/src/constants/configSchema.js +1 -2
  53. package/src/reducers/__tests__/entryDraft.spec.js +1 -1
  54. package/src/reducers/__tests__/mediaLibrary.spec.js +0 -1
  55. package/src/reducers/entries.ts +9 -7
  56. package/src/reducers/entryDraft.js +3 -4
  57. package/src/reducers/mediaLibrary.ts +2 -3
  58. package/src/reducers/notifications.ts +1 -2
  59. package/src/types/redux.ts +3 -3
@@ -1,7 +1,6 @@
1
1
  import AJV from 'ajv';
2
2
  import { select, uniqueItemProperties, instanceof as instanceOf, prohibited } from 'ajv-keywords/dist/keywords';
3
3
  import ajvErrors from 'ajv-errors';
4
- import { v4 as uuid } from 'uuid';
5
4
  import { frontmatterFormats, extensionFormatters } from '../formats/formats';
6
5
  import { getWidgets } from '../lib/registry';
7
6
  import { I18N_STRUCTURE, I18N_FIELD } from '../lib/i18n';
@@ -49,7 +48,7 @@ const i18nField = {
49
48
  * Config for fields in both file and folder collections.
50
49
  */
51
50
  function fieldsConfig() {
52
- const id = uuid();
51
+ const id = crypto.randomUUID();
53
52
  return {
54
53
  $id: `fields_${id}`,
55
54
  type: 'array',
@@ -379,14 +379,16 @@ function getGroup(entry, selectedGroup) {
379
379
  if (selectedGroup.has('pattern')) {
380
380
  const pattern = selectedGroup.get('pattern');
381
381
  let value = '';
382
- try {
383
- const regex = new RegExp(pattern);
384
- const matched = dataAsString.match(regex);
385
- if (matched) {
386
- value = matched[0];
382
+ if (pattern !== undefined) {
383
+ try {
384
+ const regex = new RegExp(pattern);
385
+ const matched = dataAsString.match(regex);
386
+ if (matched) {
387
+ value = matched[0];
388
+ }
389
+ } catch (e) {
390
+ console.warn(`Invalid view group pattern '${pattern}' for field '${field}'`, e);
387
391
  }
388
- } catch (e) {
389
- console.warn(`Invalid view group pattern '${pattern}' for field '${field}'`, e);
390
392
  }
391
393
  return {
392
394
  id: `${label}${value}`,
@@ -1,5 +1,4 @@
1
1
  import { Map, List, fromJS } from 'immutable';
2
- import { v4 as uuid } from 'uuid';
3
2
  import get from 'lodash/get';
4
3
  import { join, basename } from 'path';
5
4
  import { sanitizeSlug } from '../lib/urlHelper';
@@ -24,7 +23,7 @@ function entryDraftReducer(state = Map(), action) {
24
23
  state.set('fieldsMetaData', Map());
25
24
  state.set('fieldsErrors', Map());
26
25
  state.set('hasChanged', false);
27
- state.set('key', uuid());
26
+ state.set('key', crypto.randomUUID());
28
27
  });
29
28
  case DRAFT_CREATE_EMPTY:
30
29
  // New Entry
@@ -34,7 +33,7 @@ function entryDraftReducer(state = Map(), action) {
34
33
  state.set('fieldsMetaData', Map());
35
34
  state.set('fieldsErrors', Map());
36
35
  state.set('hasChanged', false);
37
- state.set('key', uuid());
36
+ state.set('key', crypto.randomUUID());
38
37
  });
39
38
  case DRAFT_CREATE_FROM_LOCAL_BACKUP:
40
39
  // Local Backup
@@ -47,7 +46,7 @@ function entryDraftReducer(state = Map(), action) {
47
46
  state.set('fieldsMetaData', Map());
48
47
  state.set('fieldsErrors', Map());
49
48
  state.set('hasChanged', true);
50
- state.set('key', uuid());
49
+ state.set('key', crypto.randomUUID());
51
50
  });
52
51
  case DRAFT_CREATE_DUPLICATE_FROM_ENTRY:
53
52
  // Duplicate Entry
@@ -1,5 +1,4 @@
1
1
  import { Map, List } from 'immutable';
2
- import { v4 as uuid } from 'uuid';
3
2
  import { dirname } from 'path';
4
3
  import { MEDIA_LIBRARY_OPEN, MEDIA_LIBRARY_CLOSE, MEDIA_LIBRARY_CREATE, MEDIA_INSERT, MEDIA_REMOVE_INSERTED, MEDIA_LOAD_REQUEST, MEDIA_LOAD_SUCCESS, MEDIA_LOAD_FAILURE, MEDIA_PERSIST_REQUEST, MEDIA_PERSIST_SUCCESS, MEDIA_PERSIST_FAILURE, MEDIA_DELETE_REQUEST, MEDIA_DELETE_SUCCESS, MEDIA_DELETE_FAILURE, MEDIA_DISPLAY_URL_REQUEST, MEDIA_DISPLAY_URL_SUCCESS, MEDIA_DISPLAY_URL_FAILURE } from '../actions/mediaLibrary';
5
4
  import { selectEditingDraft, selectMediaFolder } from './entries';
@@ -110,7 +109,7 @@ function mediaLibrary(state = Map(defaultState), action) {
110
109
  }
111
110
  const filesWithKeys = files.map(file => ({
112
111
  ...file,
113
- key: uuid()
112
+ key: crypto.randomUUID()
114
113
  }));
115
114
  return state.withMutations(map => {
116
115
  map.set('isLoading', false);
@@ -151,7 +150,7 @@ function mediaLibrary(state = Map(defaultState), action) {
151
150
  return state.withMutations(map => {
152
151
  const fileWithKey = {
153
152
  ...file,
154
- key: uuid()
153
+ key: crypto.randomUUID()
155
154
  };
156
155
  const files = map.get('files');
157
156
  const updatedFiles = [fileWithKey, ...files];
@@ -1,5 +1,4 @@
1
1
  import { produce } from 'immer';
2
- import { v4 as uuid } from 'uuid';
3
2
  import { NOTIFICATION_SEND, NOTIFICATION_DISMISS, NOTIFICATIONS_CLEAR } from '../actions/notifications';
4
3
  const defaultState = {
5
4
  notifications: []
@@ -14,7 +13,7 @@ const notifications = produce((state, action) => {
14
13
  break;
15
14
  case NOTIFICATION_SEND:
16
15
  state.notifications = [...state.notifications, {
17
- id: uuid(),
16
+ id: crypto.randomUUID(),
18
17
  ...action.payload
19
18
  }];
20
19
  break;
package/index.d.ts CHANGED
@@ -56,7 +56,7 @@ declare module 'decap-cms-core' {
56
56
  label?: string;
57
57
  required?: boolean;
58
58
  hint?: string;
59
- pattern?: [string, string];
59
+ pattern?: [string | RegExp, string];
60
60
  i18n?: boolean | 'translate' | 'duplicate' | 'none';
61
61
  media_folder?: string;
62
62
  public_folder?: string;
@@ -299,7 +299,7 @@ declare module 'decap-cms-core' {
299
299
  export interface ViewFilter {
300
300
  label: string;
301
301
  field: string;
302
- pattern: string;
302
+ pattern: string | boolean;
303
303
  }
304
304
 
305
305
  export interface ViewGroup {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "decap-cms-core",
3
3
  "description": "Decap CMS core application, see decap-cms package for the main distribution.",
4
- "version": "3.14.0",
4
+ "version": "3.15.0",
5
5
  "repository": "https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-core",
6
6
  "bugs": "https://github.com/decaporg/decap-cms/issues",
7
7
  "module": "dist/esm/index.js",
@@ -25,19 +25,19 @@
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "@iarna/toml": "2.2.5",
28
- "@reduxjs/toolkit": "^1.9.1",
29
28
  "@vercel/stega": "^0.1.2",
29
+ "ajv": "^8.17.1",
30
+ "ajv-errors": "^3.0.0",
31
+ "ajv-keywords": "^5.1.0",
30
32
  "buffer": "^6.0.3",
33
+ "common-tags": "^1.8.0",
31
34
  "dayjs": "^1.11.10",
32
35
  "deepmerge": "^4.2.2",
33
36
  "diacritics": "^1.3.0",
34
37
  "fuzzy": "^0.1.1",
35
- "gotrue-js": "^0.9.24",
36
38
  "gray-matter": "^4.0.2",
37
39
  "history": "^4.7.2",
38
40
  "immer": "^9.0.0",
39
- "js-base64": "^3.0.0",
40
- "jwt-decode": "^3.0.0",
41
41
  "node-polyglot": "^2.3.0",
42
42
  "path-browserify": "^1.0.1",
43
43
  "prop-types": "^15.7.2",
@@ -62,11 +62,9 @@
62
62
  "react-window": "^1.8.5",
63
63
  "redux": "^4.0.5",
64
64
  "redux-devtools-extension": "^2.13.8",
65
- "redux-notifications": "^4.0.1",
66
65
  "redux-thunk": "^2.3.0",
67
66
  "remark-gfm": "1.0.0",
68
67
  "sanitize-filename": "^1.6.1",
69
- "semaphore": "^1.0.5",
70
68
  "tomlify-j0.4": "^3.0.0-alpha.0",
71
69
  "url": "^0.11.0",
72
70
  "url-join": "^4.0.1",
@@ -93,10 +91,11 @@
93
91
  "@types/iarna__toml": "^2.0.5",
94
92
  "@types/redux-mock-store": "^1.0.2",
95
93
  "@types/url-join": "^4.0.0",
94
+ "jest-mock": "^27.5.1",
96
95
  "redux-mock-store": "^1.5.3"
97
96
  },
98
97
  "browser": {
99
98
  "path": "path-browserify"
100
99
  },
101
- "gitHead": "ae01ad6f2b139f93472c8f0d049d35277d8583ca"
100
+ "gitHead": "567a80101f4846853701ad7d8abdc29b5e4fab56"
102
101
  }
@@ -8,9 +8,7 @@ import * as actions from '../editorialWorkflow';
8
8
  jest.mock('../../backend');
9
9
  jest.mock('../../valueObjects/AssetProxy');
10
10
  jest.mock('decap-cms-lib-util');
11
- jest.mock('uuid', () => {
12
- return { v4: jest.fn().mockReturnValue('000000000000000000000') };
13
- });
11
+ global.crypto.randomUUID = jest.fn().mockReturnValue('000000000000000000000');
14
12
 
15
13
  const middlewares = [thunk];
16
14
  const mockStore = configureMockStore(middlewares);
@@ -32,7 +32,6 @@ TopBarProgress.config({
32
32
  });
33
33
 
34
34
  const AppMainContainer = styled.div`
35
- min-width: 800px;
36
35
  max-width: 1440px;
37
36
  margin: 0 auto;
38
37
  `;
@@ -26,16 +26,23 @@ import {
26
26
  } from '../../reducers/entries';
27
27
 
28
28
  const CollectionContainer = styled.div`
29
- margin: ${lengths.pageMargin};
29
+ display: flex;
30
+ flex-direction: column;
31
+ gap: 20px;
32
+ margin: ${lengths.pageMarginMobile};
33
+ @media (min-width: 500px) {
34
+ margin: ${lengths.pageMargin};
35
+ }
30
36
  `;
31
37
 
32
38
  const CollectionMain = styled.main`
33
- padding-left: 280px;
39
+ @media (min-width: 800px) {
40
+ padding-left: 280px;
41
+ }
34
42
  `;
35
43
 
36
44
  const SearchResultContainer = styled.div`
37
45
  ${components.cardTop};
38
- margin-bottom: 22px;
39
46
  `;
40
47
 
41
48
  const SearchResultHeading = styled.h1`
@@ -9,14 +9,15 @@ import GroupControl from './GroupControl';
9
9
 
10
10
  const CollectionControlsContainer = styled.div`
11
11
  display: flex;
12
+ flex-flow: row-reverse wrap;
12
13
  align-items: center;
13
- flex-direction: row-reverse;
14
+ gap: 6px 0;
14
15
  margin-top: 22px;
15
16
  width: ${lengths.topCardWidth};
16
17
  max-width: 100%;
17
18
 
18
- & > div {
19
- margin-left: 6px;
19
+ @media (min-width: 500px) {
20
+ gap: 6px;
20
21
  }
21
22
  `;
22
23
 
@@ -8,11 +8,12 @@ import { components, buttons, shadows } from 'decap-cms-ui-default';
8
8
 
9
9
  const CollectionTopContainer = styled.div`
10
10
  ${components.cardTop};
11
- margin-bottom: 22px;
12
11
  `;
13
12
 
14
13
  const CollectionTopRow = styled.div`
15
14
  display: flex;
15
+ flex-wrap: wrap;
16
+ gap: 8px;
16
17
  align-items: center;
17
18
  justify-content: space-between;
18
19
  `;
@@ -26,13 +27,13 @@ const CollectionTopNewButton = styled(Link)`
26
27
  ${shadows.dropDeep};
27
28
  ${buttons.default};
28
29
  ${buttons.gray};
30
+ white-space: nowrap;
29
31
 
30
32
  padding: 0 30px;
31
33
  `;
32
34
 
33
35
  const CollectionTopDescription = styled.p`
34
36
  ${components.cardTopDescription};
35
- margin-bottom: 0;
36
37
  `;
37
38
 
38
39
  function getCollectionProps(collection) {
@@ -8,6 +8,7 @@ const Button = styled(StyledDropdownButton)`
8
8
  ${buttons.medium};
9
9
  ${buttons.grayText};
10
10
  font-size: 14px;
11
+ white-space: nowrap;
11
12
 
12
13
  &:after {
13
14
  top: 11px;
@@ -9,6 +9,7 @@ import EntryListing from './EntryListing';
9
9
 
10
10
  const PaginationMessage = styled.div`
11
11
  width: ${lengths.topCardWidth};
12
+ max-width: 100%;
12
13
  padding: 16px;
13
14
  text-align: center;
14
15
  `;
@@ -5,7 +5,7 @@ import styled from '@emotion/styled';
5
5
  import { css } from '@emotion/react';
6
6
  import { translate } from 'react-polyglot';
7
7
  import { NavLink } from 'react-router-dom';
8
- import { Icon, components, colors } from 'decap-cms-ui-default';
8
+ import { Icon, components, colors, lengths } from 'decap-cms-ui-default';
9
9
 
10
10
  import { searchCollections } from '../../actions/collections';
11
11
  import CollectionSearch from './CollectionSearch';
@@ -21,19 +21,20 @@ const styles = {
21
21
 
22
22
  const SidebarContainer = styled.aside`
23
23
  ${components.card};
24
- width: 250px;
24
+ width: ${lengths.topCardWidth};
25
+ max-width: 100%;
25
26
  padding: 8px 0 12px;
26
- position: fixed;
27
27
  max-height: calc(100vh - 112px);
28
28
  display: flex;
29
29
  flex-direction: column;
30
+ @media (min-width: 800px) {
31
+ position: fixed;
32
+ width: 250px;
33
+ }
30
34
  `;
31
35
 
32
36
  const SidebarHeading = styled.h2`
33
- font-size: 22px;
34
- font-weight: 600;
35
- line-height: 37px;
36
- padding: 0;
37
+ ${components.cardTopHeading};
37
38
  margin: 10px 20px;
38
39
  color: ${colors.textLead};
39
40
  `;
@@ -3,11 +3,27 @@
3
3
  exports[`Collection should render connected component 1`] = `
4
4
  <DocumentFragment>
5
5
  .emotion-0 {
6
- margin: 28px 18px;
6
+ display: -webkit-box;
7
+ display: -webkit-flex;
8
+ display: -ms-flexbox;
9
+ display: flex;
10
+ -webkit-flex-direction: column;
11
+ -ms-flex-direction: column;
12
+ flex-direction: column;
13
+ gap: 20px;
14
+ margin: 12px 8px;
7
15
  }
8
16
 
9
- .emotion-2 {
10
- padding-left: 280px;
17
+ @media (min-width: 500px) {
18
+ .emotion-0 {
19
+ margin: 28px 18px;
20
+ }
21
+ }
22
+
23
+ @media (min-width: 800px) {
24
+ .emotion-2 {
25
+ padding-left: 280px;
26
+ }
11
27
  }
12
28
 
13
29
  <div
@@ -45,11 +61,27 @@ exports[`Collection should render connected component 1`] = `
45
61
  exports[`Collection should render with collection with create url 1`] = `
46
62
  <DocumentFragment>
47
63
  .emotion-0 {
48
- margin: 28px 18px;
64
+ display: -webkit-box;
65
+ display: -webkit-flex;
66
+ display: -ms-flexbox;
67
+ display: flex;
68
+ -webkit-flex-direction: column;
69
+ -ms-flex-direction: column;
70
+ flex-direction: column;
71
+ gap: 20px;
72
+ margin: 12px 8px;
73
+ }
74
+
75
+ @media (min-width: 500px) {
76
+ .emotion-0 {
77
+ margin: 28px 18px;
78
+ }
49
79
  }
50
80
 
51
- .emotion-2 {
52
- padding-left: 280px;
81
+ @media (min-width: 800px) {
82
+ .emotion-2 {
83
+ padding-left: 280px;
84
+ }
53
85
  }
54
86
 
55
87
  <div
@@ -78,11 +110,27 @@ exports[`Collection should render with collection with create url 1`] = `
78
110
  exports[`Collection should render with collection with create url and path 1`] = `
79
111
  <DocumentFragment>
80
112
  .emotion-0 {
81
- margin: 28px 18px;
113
+ display: -webkit-box;
114
+ display: -webkit-flex;
115
+ display: -ms-flexbox;
116
+ display: flex;
117
+ -webkit-flex-direction: column;
118
+ -ms-flex-direction: column;
119
+ flex-direction: column;
120
+ gap: 20px;
121
+ margin: 12px 8px;
82
122
  }
83
123
 
84
- .emotion-2 {
85
- padding-left: 280px;
124
+ @media (min-width: 500px) {
125
+ .emotion-0 {
126
+ margin: 28px 18px;
127
+ }
128
+ }
129
+
130
+ @media (min-width: 800px) {
131
+ .emotion-2 {
132
+ padding-left: 280px;
133
+ }
86
134
  }
87
135
 
88
136
  <div
@@ -113,11 +161,27 @@ exports[`Collection should render with collection with create url and path 1`] =
113
161
  exports[`Collection should render with collection without create url 1`] = `
114
162
  <DocumentFragment>
115
163
  .emotion-0 {
116
- margin: 28px 18px;
164
+ display: -webkit-box;
165
+ display: -webkit-flex;
166
+ display: -ms-flexbox;
167
+ display: flex;
168
+ -webkit-flex-direction: column;
169
+ -ms-flex-direction: column;
170
+ flex-direction: column;
171
+ gap: 20px;
172
+ margin: 12px 8px;
173
+ }
174
+
175
+ @media (min-width: 500px) {
176
+ .emotion-0 {
177
+ margin: 28px 18px;
178
+ }
117
179
  }
118
180
 
119
- .emotion-2 {
120
- padding-left: 280px;
181
+ @media (min-width: 800px) {
182
+ .emotion-2 {
183
+ padding-left: 280px;
184
+ }
121
185
  }
122
186
 
123
187
  <div
@@ -6,9 +6,9 @@ exports[`Sidebar should render nested collection with filterTerm 1`] = `
6
6
  box-shadow: 0 2px 6px 0 rgba(68, 74, 87, 0.05),0 1px 3px 0 rgba(68, 74, 87, 0.1);
7
7
  border-radius: 5px;
8
8
  background-color: #fff;
9
- width: 250px;
9
+ width: 682px;
10
+ max-width: 100%;
10
11
  padding: 8px 0 12px;
11
- position: fixed;
12
12
  max-height: calc(100vh - 112px);
13
13
  display: -webkit-box;
14
14
  display: -webkit-flex;
@@ -19,15 +19,30 @@ exports[`Sidebar should render nested collection with filterTerm 1`] = `
19
19
  flex-direction: column;
20
20
  }
21
21
 
22
+ @media (min-width: 800px) {
23
+ .emotion-0 {
24
+ position: fixed;
25
+ width: 250px;
26
+ }
27
+ }
28
+
22
29
  .emotion-2 {
23
- font-size: 22px;
30
+ font-size: 20px;
31
+ line-height: 24px;
24
32
  font-weight: 600;
25
- line-height: 37px;
33
+ margin: 0;
26
34
  padding: 0;
27
35
  margin: 10px 20px;
28
36
  color: #313d3e;
29
37
  }
30
38
 
39
+ @media (min-width: 500px) {
40
+ .emotion-2 {
41
+ font-size: 22px;
42
+ line-height: 26px;
43
+ }
44
+ }
45
+
31
46
  .emotion-4 {
32
47
  margin: 12px 0 0;
33
48
  list-style: none;
@@ -67,9 +82,9 @@ exports[`Sidebar should render sidebar with a nested collection 1`] = `
67
82
  box-shadow: 0 2px 6px 0 rgba(68, 74, 87, 0.05),0 1px 3px 0 rgba(68, 74, 87, 0.1);
68
83
  border-radius: 5px;
69
84
  background-color: #fff;
70
- width: 250px;
85
+ width: 682px;
86
+ max-width: 100%;
71
87
  padding: 8px 0 12px;
72
- position: fixed;
73
88
  max-height: calc(100vh - 112px);
74
89
  display: -webkit-box;
75
90
  display: -webkit-flex;
@@ -80,15 +95,30 @@ exports[`Sidebar should render sidebar with a nested collection 1`] = `
80
95
  flex-direction: column;
81
96
  }
82
97
 
98
+ @media (min-width: 800px) {
99
+ .emotion-0 {
100
+ position: fixed;
101
+ width: 250px;
102
+ }
103
+ }
104
+
83
105
  .emotion-2 {
84
- font-size: 22px;
106
+ font-size: 20px;
107
+ line-height: 24px;
85
108
  font-weight: 600;
86
- line-height: 37px;
109
+ margin: 0;
87
110
  padding: 0;
88
111
  margin: 10px 20px;
89
112
  color: #313d3e;
90
113
  }
91
114
 
115
+ @media (min-width: 500px) {
116
+ .emotion-2 {
117
+ font-size: 22px;
118
+ line-height: 26px;
119
+ }
120
+ }
121
+
92
122
  .emotion-4 {
93
123
  margin: 12px 0 0;
94
124
  list-style: none;
@@ -127,9 +157,9 @@ exports[`Sidebar should render sidebar with a simple collection 1`] = `
127
157
  box-shadow: 0 2px 6px 0 rgba(68, 74, 87, 0.05),0 1px 3px 0 rgba(68, 74, 87, 0.1);
128
158
  border-radius: 5px;
129
159
  background-color: #fff;
130
- width: 250px;
160
+ width: 682px;
161
+ max-width: 100%;
131
162
  padding: 8px 0 12px;
132
- position: fixed;
133
163
  max-height: calc(100vh - 112px);
134
164
  display: -webkit-box;
135
165
  display: -webkit-flex;
@@ -140,15 +170,30 @@ exports[`Sidebar should render sidebar with a simple collection 1`] = `
140
170
  flex-direction: column;
141
171
  }
142
172
 
173
+ @media (min-width: 800px) {
174
+ .emotion-0 {
175
+ position: fixed;
176
+ width: 250px;
177
+ }
178
+ }
179
+
143
180
  .emotion-2 {
144
- font-size: 22px;
181
+ font-size: 20px;
182
+ line-height: 24px;
145
183
  font-weight: 600;
146
- line-height: 37px;
184
+ margin: 0;
147
185
  padding: 0;
148
186
  margin: 10px 20px;
149
187
  color: #313d3e;
150
188
  }
151
189
 
190
+ @media (min-width: 500px) {
191
+ .emotion-2 {
192
+ font-size: 22px;
193
+ line-height: 26px;
194
+ }
195
+ }
196
+
152
197
  .emotion-4 {
153
198
  margin: 12px 0 0;
154
199
  list-style: none;
@@ -224,9 +269,9 @@ exports[`Sidebar should render sidebar without search 1`] = `
224
269
  box-shadow: 0 2px 6px 0 rgba(68, 74, 87, 0.05),0 1px 3px 0 rgba(68, 74, 87, 0.1);
225
270
  border-radius: 5px;
226
271
  background-color: #fff;
227
- width: 250px;
272
+ width: 682px;
273
+ max-width: 100%;
228
274
  padding: 8px 0 12px;
229
- position: fixed;
230
275
  max-height: calc(100vh - 112px);
231
276
  display: -webkit-box;
232
277
  display: -webkit-flex;
@@ -237,15 +282,30 @@ exports[`Sidebar should render sidebar without search 1`] = `
237
282
  flex-direction: column;
238
283
  }
239
284
 
285
+ @media (min-width: 800px) {
286
+ .emotion-0 {
287
+ position: fixed;
288
+ width: 250px;
289
+ }
290
+ }
291
+
240
292
  .emotion-2 {
241
- font-size: 22px;
293
+ font-size: 20px;
294
+ line-height: 24px;
242
295
  font-weight: 600;
243
- line-height: 37px;
296
+ margin: 0;
244
297
  padding: 0;
245
298
  margin: 10px 20px;
246
299
  color: #313d3e;
247
300
  }
248
301
 
302
+ @media (min-width: 500px) {
303
+ .emotion-2 {
304
+ font-size: 22px;
305
+ line-height: 26px;
306
+ }
307
+ }
308
+
249
309
  .emotion-4 {
250
310
  margin: 12px 0 0;
251
311
  list-style: none;