@symbo.ls/preview 2.7.17 → 2.7.18
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/package.json +1 -1
- package/src/components/Header.js +17 -5
- package/src/pages/Account/Personal.js +59 -0
- package/src/pages/Account/{projectAccount.js → Project.js} +2 -6
- package/src/pages/Account/index.js +27 -19
- package/src/pages/Color/index.js +1 -0
- package/src/pages/Color/palette.js +1 -0
- package/src/pages/Color/themes.js +3 -0
- package/src/pages/DesignSystem/index.js +0 -2
- package/src/pages/Init/Personalize/icon.js +22 -18
- package/src/pages/Theme/buttonTitlesGrid.js +11 -4
- package/src/pages/Theme/index.js +22 -8
- package/src/pages/Theme/selectsGrid.js +18 -4
- package/src/pages/Typography/collection.js +6 -8
- package/src/pages/Typography/documentStyles.js +0 -11
- package/src/pages/Typography/index.js +46 -20
- package/src/pages/Typography/typeScale.js +4 -3
- package/src/pages/Account/personalAccount.js +0 -73
- package/src/pages/Typography/state.js +0 -18
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@symbo.ls/preview",
|
|
3
3
|
"description": "",
|
|
4
4
|
"author": "symbo.ls",
|
|
5
|
-
"version": "2.7.
|
|
5
|
+
"version": "2.7.18",
|
|
6
6
|
"main": "src/app.js",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"link:all": "yarn link smbls domql css-in-props @symbo.ls/icons @symbo.ls/config @symbo.ls/components @symbo.ls/scratch @symbo.ls/playground @symbo.ls/utils @symbo.ls/init @symbo.ls/config-default @domql/router @domql/utils @domql/router",
|
package/src/components/Header.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
import { router } from '@domql/router'
|
|
4
|
-
import { HeaderSignup, HeaderOfMember
|
|
4
|
+
import { HeaderSignup, HeaderOfMember } from '@symbo.ls/components'
|
|
5
|
+
import { getCookie } from 'domql/packages/cookie'
|
|
5
6
|
|
|
6
7
|
export const Header = {
|
|
7
8
|
props: {
|
|
@@ -17,16 +18,27 @@ export const Header = {
|
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
20
|
|
|
21
|
+
// '/': HeaderSignup, // HeaderInitial,
|
|
22
|
+
// '/init': HeaderInitial, // HeaderInitial,
|
|
23
|
+
|
|
20
24
|
let cacheToken
|
|
21
25
|
export const HeaderOnRouter = {
|
|
22
26
|
extend: Header,
|
|
23
27
|
props: { width: '100%' },
|
|
24
28
|
|
|
25
29
|
define: { routes: param => param },
|
|
26
|
-
routes: {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
routes: ({ state }) => {
|
|
31
|
+
const appKey = getCookie('appKey')
|
|
32
|
+
if (appKey || state.appKey) {
|
|
33
|
+
return {
|
|
34
|
+
'/*': HeaderOfMember
|
|
35
|
+
}
|
|
36
|
+
} else {
|
|
37
|
+
return {
|
|
38
|
+
'/*': HeaderSignup
|
|
39
|
+
|
|
40
|
+
}
|
|
41
|
+
}
|
|
30
42
|
},
|
|
31
43
|
|
|
32
44
|
on: {
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
import { Flex, Grid } from '@symbo.ls/components'
|
|
4
|
+
|
|
5
|
+
import { fieldsGridProps } from './fieldsGridProps'
|
|
6
|
+
|
|
7
|
+
const fields = {
|
|
8
|
+
extend: Grid,
|
|
9
|
+
|
|
10
|
+
InputField_email: {
|
|
11
|
+
gridColumn: 'span 2',
|
|
12
|
+
title: { text: 'Your Email' }
|
|
13
|
+
},
|
|
14
|
+
|
|
15
|
+
InputField_username: {
|
|
16
|
+
title: { text: 'Your Username' }
|
|
17
|
+
},
|
|
18
|
+
|
|
19
|
+
SelectField2_role: {
|
|
20
|
+
title: { text: 'Your role' }
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
PasswordField: {
|
|
24
|
+
title: { text: 'Change Password' }
|
|
25
|
+
},
|
|
26
|
+
|
|
27
|
+
PasswordField_repeat: {
|
|
28
|
+
title: { opacity: '0' }
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const props = {
|
|
33
|
+
boxSize: '100% 100%',
|
|
34
|
+
flow: 'column',
|
|
35
|
+
title: {
|
|
36
|
+
text: 'Your personal account',
|
|
37
|
+
padding: '- - C2 -'
|
|
38
|
+
},
|
|
39
|
+
fields: {
|
|
40
|
+
...fieldsGridProps
|
|
41
|
+
},
|
|
42
|
+
button: {
|
|
43
|
+
text: 'Update',
|
|
44
|
+
padding: 'Z1 C1',
|
|
45
|
+
fontSize: 'Z2',
|
|
46
|
+
margin: 'auto - - -',
|
|
47
|
+
width: 'fit-content'
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export const PersonalAccount = {
|
|
52
|
+
extend: Flex,
|
|
53
|
+
props,
|
|
54
|
+
|
|
55
|
+
title: {},
|
|
56
|
+
fields,
|
|
57
|
+
|
|
58
|
+
ContinueButton: {}
|
|
59
|
+
}
|
|
@@ -4,17 +4,13 @@ import { Flex } from '@symbo.ls/components'
|
|
|
4
4
|
import icon from '../Init/Personalize/icon'
|
|
5
5
|
import fields from '../Init/Personalize/fields'
|
|
6
6
|
|
|
7
|
-
export const
|
|
7
|
+
export const ProjectAccount = {
|
|
8
8
|
extend: Flex,
|
|
9
9
|
props: {
|
|
10
10
|
flow: 'column',
|
|
11
11
|
height: '100%'
|
|
12
12
|
},
|
|
13
13
|
|
|
14
|
-
class: {
|
|
15
|
-
show: (element, state) => state.activePersonalAccount
|
|
16
|
-
},
|
|
17
|
-
|
|
18
14
|
SectionHeader: {
|
|
19
15
|
title: ({ state }) => 'Settings for ' + state.projectName,
|
|
20
16
|
p: 'Some settings will be stored only in this device.'
|
|
@@ -29,7 +25,7 @@ export const projectAccount = {
|
|
|
29
25
|
},
|
|
30
26
|
|
|
31
27
|
Flex: {
|
|
32
|
-
props: { gap: 'C1' },
|
|
28
|
+
props: { gap: 'C1', align: 'flex-start' },
|
|
33
29
|
|
|
34
30
|
icon,
|
|
35
31
|
fields
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
import { router } from '@domql/router'
|
|
3
4
|
import { Flex, IconButton, Link, SquareButton } from '@symbo.ls/components'
|
|
4
5
|
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
6
|
+
import { PersonalAccount } from './Personal'
|
|
7
|
+
import { ProjectAccount } from './Project'
|
|
7
8
|
|
|
8
9
|
const ProjectButton = {
|
|
9
|
-
extend: [SquareButton],
|
|
10
|
-
props: {
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
extend: [Link, SquareButton],
|
|
11
|
+
props: ({ state }) => ({
|
|
12
|
+
theme: 'transparent',
|
|
13
|
+
href: '/account/' + state.key.split('.')[0],
|
|
14
|
+
User: {
|
|
13
15
|
round: '100%',
|
|
14
16
|
src: state.icon && state.icon.src,
|
|
15
17
|
title: state.projectName
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
+
}
|
|
19
|
+
}),
|
|
20
|
+
User: {},
|
|
18
21
|
on: {
|
|
19
22
|
click: (event, el, s) => {
|
|
20
23
|
const { id, name } = s.parse()
|
|
@@ -23,7 +26,7 @@ const ProjectButton = {
|
|
|
23
26
|
projectId: id,
|
|
24
27
|
activeProject: el.key
|
|
25
28
|
})
|
|
26
|
-
|
|
29
|
+
Link.on.click(event, el, s)
|
|
27
30
|
}
|
|
28
31
|
}
|
|
29
32
|
}
|
|
@@ -54,13 +57,8 @@ const sidebar = {
|
|
|
54
57
|
Flex: {
|
|
55
58
|
extend: Flex,
|
|
56
59
|
profile: {
|
|
57
|
-
extend: [IconButton],
|
|
58
|
-
props: { icon: '
|
|
59
|
-
on: {
|
|
60
|
-
click: (event, element, state) => {
|
|
61
|
-
state.update({ activePersonalAccount: true })
|
|
62
|
-
}
|
|
63
|
-
}
|
|
60
|
+
extend: [Link, IconButton],
|
|
61
|
+
props: { icon: 'human', href: '/account' }
|
|
64
62
|
},
|
|
65
63
|
|
|
66
64
|
projects: {
|
|
@@ -102,8 +100,18 @@ export const Account = {
|
|
|
102
100
|
props,
|
|
103
101
|
|
|
104
102
|
sidebar,
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
103
|
+
|
|
104
|
+
define: { routes: param => param },
|
|
105
|
+
routes: {
|
|
106
|
+
'/': PersonalAccount,
|
|
107
|
+
'/*': ProjectAccount
|
|
108
|
+
},
|
|
109
|
+
|
|
110
|
+
on: {
|
|
111
|
+
render: element => {
|
|
112
|
+
const { pathname, hash } = window.location
|
|
113
|
+
const url = pathname + hash
|
|
114
|
+
router(element, url, {})
|
|
115
|
+
}
|
|
108
116
|
}
|
|
109
117
|
}
|
package/src/pages/Color/index.js
CHANGED
|
@@ -4,11 +4,14 @@ import { ThemeTemplate, SectionHeader, Grid } from '@symbo.ls/components'
|
|
|
4
4
|
|
|
5
5
|
const mapThemes = (el, s) => {
|
|
6
6
|
const THEME = s.parse()
|
|
7
|
+
console.log(s)
|
|
7
8
|
const themeKeys = Object.keys(THEME)
|
|
8
9
|
return themeKeys.map(v => ({ ...THEME[v], key: v }))
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
export default {
|
|
13
|
+
state: 'THEME',
|
|
14
|
+
|
|
12
15
|
header: {
|
|
13
16
|
extend: SectionHeader,
|
|
14
17
|
state: {
|
|
@@ -6,14 +6,18 @@ import { UploadImage } from '../../../components'
|
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
extend: UploadImage,
|
|
9
|
-
props: {
|
|
9
|
+
props: ({ state }) => ({
|
|
10
|
+
position: 'relative',
|
|
11
|
+
|
|
10
12
|
title: { text: 'Project icon' },
|
|
13
|
+
|
|
11
14
|
element: {
|
|
12
15
|
flow: 'column',
|
|
13
16
|
position: 'relative',
|
|
14
17
|
width: 'fit-content',
|
|
15
18
|
padding: 'A',
|
|
16
19
|
gap: '0',
|
|
20
|
+
opacity: !!state.icon,
|
|
17
21
|
|
|
18
22
|
p: {
|
|
19
23
|
text: 'Drag and drop or click',
|
|
@@ -21,25 +25,10 @@ export default {
|
|
|
21
25
|
textAlign: 'center'
|
|
22
26
|
}
|
|
23
27
|
}
|
|
24
|
-
},
|
|
28
|
+
}),
|
|
29
|
+
|
|
25
30
|
title: {},
|
|
26
31
|
element: {
|
|
27
|
-
User: {
|
|
28
|
-
extend: User,
|
|
29
|
-
props: ({ state }) => ({
|
|
30
|
-
position: 'absolute',
|
|
31
|
-
fontSize: 'H',
|
|
32
|
-
top: '50%',
|
|
33
|
-
left: '50%',
|
|
34
|
-
transform: 'translate3d(-50%, -50%, 1px)',
|
|
35
|
-
src: state.icon && state.icon.src,
|
|
36
|
-
key: state.projectName,
|
|
37
|
-
transition: 'C defaultBezier opacity',
|
|
38
|
-
opacity: (state.icon && state.icon.src) ? '1' : '0',
|
|
39
|
-
pointerEvents: 'none'
|
|
40
|
-
})
|
|
41
|
-
},
|
|
42
|
-
|
|
43
32
|
input: {
|
|
44
33
|
on: {
|
|
45
34
|
change: (ev, el, s) => {
|
|
@@ -68,5 +57,20 @@ export default {
|
|
|
68
57
|
}
|
|
69
58
|
}
|
|
70
59
|
}
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
User: {
|
|
63
|
+
extend: User,
|
|
64
|
+
props: ({ state }) => ({
|
|
65
|
+
position: 'absolute',
|
|
66
|
+
fontSize: 'H',
|
|
67
|
+
bottom: 'Y',
|
|
68
|
+
left: 'Y1',
|
|
69
|
+
src: state.icon && state.icon.src,
|
|
70
|
+
key: state.projectName,
|
|
71
|
+
transition: 'C defaultBezier opacity',
|
|
72
|
+
opacity: (state.icon && state.icon.src) ? '1' : '0',
|
|
73
|
+
pointerEvents: 'none'
|
|
74
|
+
})
|
|
71
75
|
}
|
|
72
76
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
import { ButtonTitle,
|
|
3
|
+
import { ButtonTitle, Grid } from '@symbo.ls/components'
|
|
4
4
|
|
|
5
5
|
export const columnTitleButton = {
|
|
6
6
|
extend: ButtonTitle,
|
|
@@ -20,10 +20,17 @@ export const columnTitleButton = {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
export const buttonTitlesGrid = {
|
|
23
|
-
extend:
|
|
23
|
+
extend: Grid,
|
|
24
24
|
props: {
|
|
25
|
-
|
|
26
|
-
padding: 'B2
|
|
25
|
+
justiyItems: 'start',
|
|
26
|
+
padding: 'B2 - - -',
|
|
27
|
+
columns: 'repeat(4, auto)',
|
|
28
|
+
gap: 'B2+W1',
|
|
29
|
+
width: 'fit-content',
|
|
30
|
+
justifyItems: 'start',
|
|
31
|
+
'@tabletL': { columns: 'repeat(3, auto)' },
|
|
32
|
+
'@tabletM': { columns: 'repeat(2, auto)' },
|
|
33
|
+
childProps: { width: 'F+Z1' }
|
|
27
34
|
},
|
|
28
35
|
|
|
29
36
|
childExtend: {
|
package/src/pages/Theme/index.js
CHANGED
|
@@ -25,7 +25,6 @@ const ThemeNameField = {
|
|
|
25
25
|
|
|
26
26
|
props: ({ state }) => ({
|
|
27
27
|
gap: '0',
|
|
28
|
-
|
|
29
28
|
title: {
|
|
30
29
|
text: 'Name the theme',
|
|
31
30
|
fontSize: 'Z'
|
|
@@ -40,7 +39,7 @@ const ThemeNameField = {
|
|
|
40
39
|
round: '0',
|
|
41
40
|
textTransform: 'capitalize',
|
|
42
41
|
|
|
43
|
-
border: 'dashed,
|
|
42
|
+
border: 'dashed, gray3',
|
|
44
43
|
borderWidth: '0 0 1px',
|
|
45
44
|
|
|
46
45
|
text: state.themeName,
|
|
@@ -139,6 +138,17 @@ export const Theme = {
|
|
|
139
138
|
extend: PageTemplate,
|
|
140
139
|
|
|
141
140
|
style,
|
|
141
|
+
props: {
|
|
142
|
+
padding: '- D2 - -',
|
|
143
|
+
boxSizing: 'border-box',
|
|
144
|
+
'@screenL': { fontSize: '20px' },
|
|
145
|
+
'@screenM': { fontSize: '17px' },
|
|
146
|
+
'@screenS': { fontSize: 'A' },
|
|
147
|
+
style: {
|
|
148
|
+
paddingLeft: '0',
|
|
149
|
+
'@media only screen and (min-width: 1920px)': { fontSize: '22px' }
|
|
150
|
+
}
|
|
151
|
+
},
|
|
142
152
|
|
|
143
153
|
state: {
|
|
144
154
|
sceneTheme: 'dark',
|
|
@@ -168,8 +178,9 @@ export const Theme = {
|
|
|
168
178
|
header: {
|
|
169
179
|
extend: SectionHeader,
|
|
170
180
|
props: {
|
|
171
|
-
margin: '0
|
|
181
|
+
margin: '0 - B2 0',
|
|
172
182
|
justifyContent: 'space-between'
|
|
183
|
+
// border: '2px solid purple'
|
|
173
184
|
},
|
|
174
185
|
heading: null,
|
|
175
186
|
ThemeNameField,
|
|
@@ -180,21 +191,24 @@ export const Theme = {
|
|
|
180
191
|
|
|
181
192
|
cnt: {
|
|
182
193
|
extend: Flex,
|
|
183
|
-
props: { gap: '
|
|
194
|
+
props: { gap: 'C2', padding: '0' },
|
|
184
195
|
|
|
185
196
|
preview,
|
|
186
197
|
|
|
187
198
|
colorEdit: {
|
|
188
199
|
props: {
|
|
200
|
+
flex: '1',
|
|
189
201
|
gap: '',
|
|
190
202
|
flexFlow: 'column'
|
|
203
|
+
// border: '5px solid red'
|
|
191
204
|
},
|
|
192
205
|
|
|
193
206
|
colors: {
|
|
194
207
|
props: {
|
|
195
208
|
padding: '- - C1 -',
|
|
196
|
-
border: 'solid,
|
|
197
|
-
borderWidth: '0 0 0
|
|
209
|
+
border: 'solid, gray2',
|
|
210
|
+
borderWidth: '0 0 1px 0'
|
|
211
|
+
// style: { borderBottom: '.5px solid rgba(255, 255, 255, .1)' }
|
|
198
212
|
},
|
|
199
213
|
selectsGrid,
|
|
200
214
|
buttonTitlesGrid
|
|
@@ -203,8 +217,8 @@ export const Theme = {
|
|
|
203
217
|
onHover: {
|
|
204
218
|
extend: CommonField,
|
|
205
219
|
props: {
|
|
206
|
-
border: 'solid,
|
|
207
|
-
borderWidth: '0 0 0
|
|
220
|
+
border: 'solid, gray2',
|
|
221
|
+
borderWidth: '0 0 1px 0',
|
|
208
222
|
gap: 'B2',
|
|
209
223
|
padding: 'B - C1 -',
|
|
210
224
|
title: {
|
|
@@ -5,20 +5,27 @@ import { CommonField, ColorSelect, Grid } from '@symbo.ls/components'
|
|
|
5
5
|
export const selectsGrid = {
|
|
6
6
|
extend: Grid,
|
|
7
7
|
props: {
|
|
8
|
-
columns: 'repeat(4,
|
|
9
|
-
|
|
8
|
+
columns: 'repeat(4, auto)',
|
|
9
|
+
style: { width: 'fit-content' },
|
|
10
|
+
gap: 'B2+W1',
|
|
11
|
+
justifyItems: 'start',
|
|
12
|
+
'@tabletL': { columns: 'repeat(3, auto)' },
|
|
13
|
+
'@tabletM': { columns: 'repeat(2, auto)' }
|
|
10
14
|
},
|
|
11
15
|
|
|
12
16
|
childExtend: {
|
|
13
17
|
extend: CommonField,
|
|
18
|
+
tag: 'div',
|
|
14
19
|
props: (el, s) => ({
|
|
15
|
-
width: '
|
|
20
|
+
width: 'F+Z',
|
|
16
21
|
title: {
|
|
17
22
|
text: s.title,
|
|
18
23
|
fontSize: 'Z'
|
|
19
24
|
},
|
|
20
25
|
element: {
|
|
21
|
-
width: '
|
|
26
|
+
width: '100%',
|
|
27
|
+
height: 'B2+W',
|
|
28
|
+
padding: '0 W1 0 Z1',
|
|
22
29
|
title: {
|
|
23
30
|
box: {
|
|
24
31
|
background: s.color,
|
|
@@ -28,6 +35,13 @@ export const selectsGrid = {
|
|
|
28
35
|
text: s.name,
|
|
29
36
|
fontSize: 'Z1'
|
|
30
37
|
}
|
|
38
|
+
},
|
|
39
|
+
buttons: {
|
|
40
|
+
gap: 'W',
|
|
41
|
+
childProps: {
|
|
42
|
+
boxSize: 'fit-content',
|
|
43
|
+
padding: 'W1+W1'
|
|
44
|
+
}
|
|
31
45
|
}
|
|
32
46
|
}
|
|
33
47
|
}),
|
|
@@ -52,13 +52,13 @@ const isTag = v => HTML_TAGS.root.indexOf(v) > -1 || HTML_TAGS.body.indexOf(v) >
|
|
|
52
52
|
const isHelper = v => v.slice(0, 1) === '.'
|
|
53
53
|
|
|
54
54
|
const getCollectionFromArray = (arr, s) => {
|
|
55
|
-
const
|
|
56
|
-
const { TYPOGRAPHY } = __projectSystem
|
|
57
|
-
if (!TYPOGRAPHY) return
|
|
55
|
+
const TYPOGRAPHY = s.parse()
|
|
58
56
|
const styles = TYPOGRAPHY.styles || {}
|
|
59
57
|
|
|
58
|
+
if (!s.sequence) return {}
|
|
59
|
+
|
|
60
60
|
return arr.map((v, k) => {
|
|
61
|
-
const result = getTypeStyle(v,
|
|
61
|
+
const result = getTypeStyle(v, s.parent.parse())
|
|
62
62
|
return {
|
|
63
63
|
key: v,
|
|
64
64
|
value: {
|
|
@@ -103,10 +103,8 @@ export const tagsCollection = (el, s) => {
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
export const helpersCollection = (el, s) => {
|
|
106
|
-
const
|
|
107
|
-
const
|
|
108
|
-
if (!TYPOGRAPHY) return
|
|
109
|
-
const { styles } = TYPOGRAPHY
|
|
106
|
+
const TYPOGRAPHY = s.parse()
|
|
107
|
+
const styles = TYPOGRAPHY.styles || {}
|
|
110
108
|
|
|
111
109
|
const HELPERS = Object.keys(styles)
|
|
112
110
|
.filter(v => v.slice(0, 1) === '.')
|
|
@@ -109,16 +109,5 @@ export default {
|
|
|
109
109
|
props: { icon: 'arrowAngleMirroringVertical' }
|
|
110
110
|
}]
|
|
111
111
|
}
|
|
112
|
-
},
|
|
113
|
-
|
|
114
|
-
on: {
|
|
115
|
-
init: (el, s) => {
|
|
116
|
-
const { TYPOGRAPHY } = s.__projectSystem
|
|
117
|
-
if (!TYPOGRAPHY) return
|
|
118
|
-
const { styles } = TYPOGRAPHY
|
|
119
|
-
if (styles) {
|
|
120
|
-
s.update({ styles }, { preventUpdate: true })
|
|
121
|
-
} else TYPOGRAPHY.styles = {}
|
|
122
|
-
}
|
|
123
112
|
}
|
|
124
113
|
}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
import state from './state'
|
|
4
|
-
|
|
5
3
|
import typeScale from './typeScale'
|
|
6
4
|
import documentStyles from './documentStyles'
|
|
7
5
|
import stylesHelpers from './stylesHelpers'
|
|
8
6
|
import { mapSequence, sortSequence } from '@symbo.ls/components'
|
|
9
7
|
|
|
10
8
|
export const Typography = {
|
|
11
|
-
state,
|
|
9
|
+
state: 'PROJECT_SYSTEM',
|
|
12
10
|
|
|
13
11
|
SectionHeader: {
|
|
14
12
|
margin: '0 0 C',
|
|
@@ -16,28 +14,56 @@ export const Typography = {
|
|
|
16
14
|
p: 'A general configuration of type properties on the document.'
|
|
17
15
|
},
|
|
18
16
|
|
|
19
|
-
|
|
17
|
+
cnt: {
|
|
18
|
+
state: 'TYPOGRAPHY',
|
|
19
|
+
|
|
20
|
+
SlidersWithResponsive: {},
|
|
21
|
+
|
|
22
|
+
line: { extend: 'Line' },
|
|
23
|
+
|
|
24
|
+
documentStyles,
|
|
25
|
+
line1: { extend: 'Line' },
|
|
20
26
|
|
|
21
|
-
|
|
27
|
+
stylesHelpers,
|
|
28
|
+
line2: { extend: 'Line' },
|
|
22
29
|
|
|
23
|
-
|
|
24
|
-
line1: { extend: 'Line' },
|
|
30
|
+
typeScale,
|
|
25
31
|
|
|
26
|
-
|
|
27
|
-
|
|
32
|
+
on: {
|
|
33
|
+
stateCreated: (el, s) => {
|
|
34
|
+
s.update({
|
|
35
|
+
base: s.base || 16,
|
|
36
|
+
ratio: s.ratio || 1.125,
|
|
37
|
+
range: s.range || [-3, +8],
|
|
38
|
+
subsequence: s.subsequence || true,
|
|
39
|
+
styles: s.styles || {},
|
|
40
|
+
h1Matches: s.h1Matches || +6,
|
|
41
|
+
scales: {},
|
|
42
|
+
sequence: {},
|
|
43
|
+
vars: {},
|
|
44
|
+
type: 'demo-font-size',
|
|
45
|
+
sampleText: 'Today is a big day for our tribe. The year ends.'
|
|
46
|
+
}, {
|
|
47
|
+
preventUpdate: true,
|
|
48
|
+
preventUpdateListener: true
|
|
49
|
+
})
|
|
28
50
|
|
|
29
|
-
|
|
51
|
+
if (s.base && s.range) mapSequence(s, sortSequence)
|
|
52
|
+
},
|
|
53
|
+
stateUpdated: (el, s, changes) => {
|
|
54
|
+
const { base, ratio, range, subsequence, h1Matches } = changes
|
|
30
55
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
56
|
+
s.update({
|
|
57
|
+
base,
|
|
58
|
+
ratio,
|
|
59
|
+
range,
|
|
60
|
+
subsequence,
|
|
61
|
+
h1Matches
|
|
62
|
+
}, {
|
|
63
|
+
preventUpdate: true,
|
|
64
|
+
preventUpdateListener: true
|
|
65
|
+
})
|
|
66
|
+
}
|
|
41
67
|
}
|
|
42
68
|
}
|
|
43
69
|
}
|
|
@@ -74,9 +74,10 @@ export default {
|
|
|
74
74
|
extend: TypeScaleSequence,
|
|
75
75
|
$setStateCollection: (el) => {
|
|
76
76
|
const { state } = el
|
|
77
|
-
state.sequence
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
// return state.sequence
|
|
78
|
+
// state.sequence = {}
|
|
79
|
+
// el.removeContent()
|
|
80
|
+
if (state.base && state.range) { return mapSequence(state, sortSequence) }
|
|
80
81
|
}
|
|
81
82
|
},
|
|
82
83
|
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
import { Flex, InputField, Grid, ContinueButton, PasswordField, SelectField2 } from '@symbo.ls/components'
|
|
4
|
-
|
|
5
|
-
import { fieldsGridProps } from './fieldsGridProps'
|
|
6
|
-
|
|
7
|
-
const fields = {
|
|
8
|
-
extend: Grid,
|
|
9
|
-
...[
|
|
10
|
-
{
|
|
11
|
-
extend: InputField,
|
|
12
|
-
props: {
|
|
13
|
-
gridColumn: 'span 2',
|
|
14
|
-
title: { text: 'Your Email' }
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
|
|
18
|
-
{
|
|
19
|
-
extend: InputField,
|
|
20
|
-
props: { title: { text: 'Your Username' } }
|
|
21
|
-
},
|
|
22
|
-
|
|
23
|
-
{
|
|
24
|
-
extend: SelectField2,
|
|
25
|
-
props: { title: { text: 'Your role' } }
|
|
26
|
-
},
|
|
27
|
-
|
|
28
|
-
{
|
|
29
|
-
extend: PasswordField,
|
|
30
|
-
props: { title: { text: 'Change Password' } }
|
|
31
|
-
},
|
|
32
|
-
|
|
33
|
-
{
|
|
34
|
-
extend: PasswordField,
|
|
35
|
-
props: { title: { opacity: '0' } }
|
|
36
|
-
}
|
|
37
|
-
]
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const props = {
|
|
42
|
-
boxSize: '100% 100%',
|
|
43
|
-
flow: 'column',
|
|
44
|
-
title: {
|
|
45
|
-
text: 'Your personal account',
|
|
46
|
-
padding: '- - C2 -'
|
|
47
|
-
},
|
|
48
|
-
fields: {
|
|
49
|
-
...fieldsGridProps
|
|
50
|
-
},
|
|
51
|
-
button: {
|
|
52
|
-
text: 'Update',
|
|
53
|
-
padding: 'Z1 C1',
|
|
54
|
-
fontSize: 'Z2',
|
|
55
|
-
margin: 'auto - - -',
|
|
56
|
-
width: 'fit-content'
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
export const personalAccount = {
|
|
61
|
-
props,
|
|
62
|
-
extend: Flex,
|
|
63
|
-
|
|
64
|
-
class: {
|
|
65
|
-
show: (element, state) => state.activePersonalAccount
|
|
66
|
-
? { display: 'flex' }
|
|
67
|
-
: { display: 'none' }
|
|
68
|
-
},
|
|
69
|
-
|
|
70
|
-
title: {},
|
|
71
|
-
fields,
|
|
72
|
-
button: { extend: ContinueButton }
|
|
73
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
export default ({ parent }) => {
|
|
4
|
-
const rootState = parent.state
|
|
5
|
-
const typography = rootState.__projectSystem.TYPOGRAPHY || {}
|
|
6
|
-
return {
|
|
7
|
-
base: typography.base || 16,
|
|
8
|
-
ratio: typography.ratio || 1.125,
|
|
9
|
-
range: typography.range || [-3, +8],
|
|
10
|
-
subsequence: typography.subsequence || true,
|
|
11
|
-
h1Matches: +6,
|
|
12
|
-
scales: {},
|
|
13
|
-
sequence: {},
|
|
14
|
-
vars: {},
|
|
15
|
-
type: 'demo-font-size',
|
|
16
|
-
sampleText: 'Today is a big day for our tribe. The year ends.'
|
|
17
|
-
}
|
|
18
|
-
}
|