@symbo.ls/preview 2.7.16 → 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/DesignComponent.js +2 -1
- package/src/components/Header.js +17 -5
- package/src/components/IconsGroup.js +4 -0
- 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/globalThemes.js +2 -0
- package/src/pages/Color/index.js +1 -0
- package/src/pages/Color/palette.js +5 -3
- package/src/pages/Color/themes.js +6 -4
- package/src/pages/DesignSystem/Dashboard/banners.js +1 -1
- package/src/pages/DesignSystem/Dashboard/index.js +2 -2
- package/src/pages/DesignSystem/Dashboard/quickstart.js +5 -7
- package/src/pages/DesignSystem/Dashboard/state.js +119 -122
- package/src/pages/DesignSystem/Dashboard/summary.js +16 -6
- package/src/pages/Init/Personalize/icon.js +22 -18
- package/src/pages/Theme/buttonTitlesGrid.js +11 -4
- package/src/pages/Theme/index.js +25 -18
- package/src/pages/Theme/selectsGrid.js +18 -4
- package/src/pages/Theme/style.js +1 -0
- package/src/pages/Typography/collection.js +7 -8
- package/src/pages/Typography/documentStyles.js +2 -13
- 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",
|
|
@@ -53,6 +53,7 @@ const propertyNumber = {
|
|
|
53
53
|
|
|
54
54
|
const componentProperties = {
|
|
55
55
|
extend: Flex,
|
|
56
|
+
state: 'properties',
|
|
56
57
|
props: {
|
|
57
58
|
padding: 'Z2 A',
|
|
58
59
|
flow: 'column',
|
|
@@ -60,7 +61,7 @@ const componentProperties = {
|
|
|
60
61
|
background: 'gray1'
|
|
61
62
|
},
|
|
62
63
|
childExtend: propertyNumber,
|
|
63
|
-
$setStateCollection: ({ state }) => state.
|
|
64
|
+
$setStateCollection: ({ state }) => state.parse()
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
export const DesignComponent = {
|
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: {
|
|
@@ -14,9 +14,13 @@ const IconItem = {
|
|
|
14
14
|
flexAlign: 'center center',
|
|
15
15
|
href: '/icons/edit-icon/' + state.value,
|
|
16
16
|
theme: 'tertiary',
|
|
17
|
+
transitionProperty: 'transform, opacity, border-radius',
|
|
17
18
|
icon: {
|
|
18
19
|
fontSize: 'C2',
|
|
19
20
|
name: state.value
|
|
21
|
+
},
|
|
22
|
+
':hover': {
|
|
23
|
+
round: '0'
|
|
20
24
|
}
|
|
21
25
|
}),
|
|
22
26
|
|
|
@@ -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
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
import { SectionHeader, ColorTemplate, Flex } from '@symbo.ls/components'
|
|
4
4
|
|
|
5
5
|
const mapColors = (el, s) => {
|
|
6
|
-
const
|
|
7
|
-
|
|
6
|
+
const COLOR = s.parse()
|
|
7
|
+
console.log(s)
|
|
8
8
|
const colorKeys = Object.keys(COLOR)
|
|
9
9
|
return colorKeys.map(v => ({ key: v, value: COLOR[v] }))
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
export default {
|
|
13
|
+
state: 'COLOR',
|
|
14
|
+
|
|
13
15
|
header: {
|
|
14
16
|
extend: SectionHeader,
|
|
15
17
|
state: {
|
|
@@ -22,7 +24,7 @@ export default {
|
|
|
22
24
|
}
|
|
23
25
|
},
|
|
24
26
|
|
|
25
|
-
|
|
27
|
+
cnt: {
|
|
26
28
|
extend: Flex,
|
|
27
29
|
props: {
|
|
28
30
|
flow: 'row wrap',
|
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
import { ThemeTemplate, SectionHeader, Grid } from '@symbo.ls/components'
|
|
4
4
|
|
|
5
5
|
const mapThemes = (el, s) => {
|
|
6
|
-
const
|
|
7
|
-
|
|
6
|
+
const THEME = s.parse()
|
|
7
|
+
console.log(s)
|
|
8
8
|
const themeKeys = Object.keys(THEME)
|
|
9
9
|
return themeKeys.map(v => ({ ...THEME[v], key: v }))
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
export default {
|
|
13
|
+
state: 'THEME',
|
|
14
|
+
|
|
13
15
|
header: {
|
|
14
16
|
extend: SectionHeader,
|
|
15
17
|
state: {
|
|
@@ -22,7 +24,7 @@ export default {
|
|
|
22
24
|
}
|
|
23
25
|
},
|
|
24
26
|
|
|
25
|
-
|
|
27
|
+
cnt: {
|
|
26
28
|
extend: Grid,
|
|
27
29
|
props: {
|
|
28
30
|
columns: 'repeat(5, 1fr)',
|
|
@@ -31,6 +33,6 @@ export default {
|
|
|
31
33
|
},
|
|
32
34
|
|
|
33
35
|
childExtend: ThemeTemplate,
|
|
34
|
-
$setStateCollection:
|
|
36
|
+
$setStateCollection: mapThemes
|
|
35
37
|
}
|
|
36
38
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { Flex } from '@symbo.ls/components'
|
|
4
4
|
|
|
5
|
-
import banners from './banners'
|
|
5
|
+
import banners from './banners'
|
|
6
6
|
import summary from './summary'
|
|
7
7
|
import quickstart from './quickstart'
|
|
8
8
|
|
|
@@ -16,7 +16,7 @@ export const DesignSystemDashboard = {
|
|
|
16
16
|
p: { text: 'Create your Design System guidelines' }
|
|
17
17
|
},
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
banners,
|
|
20
20
|
summary,
|
|
21
21
|
quickstart
|
|
22
22
|
}
|
|
@@ -26,7 +26,6 @@ export default {
|
|
|
26
26
|
|
|
27
27
|
Flex: {
|
|
28
28
|
props: {
|
|
29
|
-
// display: 'inline-flex',
|
|
30
29
|
gap: 'D1',
|
|
31
30
|
align: 'flex-start space-between',
|
|
32
31
|
childProps: {
|
|
@@ -43,7 +42,7 @@ export default {
|
|
|
43
42
|
Terminal: {
|
|
44
43
|
note: { text: 'Install Symbols to your project' },
|
|
45
44
|
props: {
|
|
46
|
-
command: { text: 'npm i smbls
|
|
45
|
+
command: { text: 'npm i smbls --save' }
|
|
47
46
|
}
|
|
48
47
|
}
|
|
49
48
|
},
|
|
@@ -63,12 +62,11 @@ export default {
|
|
|
63
62
|
extend: 'QuickStartCode',
|
|
64
63
|
QuickStartNumber: { text: '3' },
|
|
65
64
|
Code: {
|
|
65
|
+
props: {},
|
|
66
66
|
note: { text: 'Create .symbolsrc.js file in your project and insert your Symbols key' },
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
})
|
|
67
|
+
code: {
|
|
68
|
+
text: ({ state }) => `{ "key": "${state.appKey}" }`
|
|
69
|
+
}
|
|
72
70
|
}
|
|
73
71
|
},
|
|
74
72
|
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
const { __projectSystem } = state
|
|
6
|
-
|
|
7
|
-
if (!__projectSystem) return
|
|
3
|
+
export const applySummaryCollection = (el, s) => {
|
|
4
|
+
if (!s) return
|
|
8
5
|
const {
|
|
9
6
|
COLOR,
|
|
10
7
|
THEME,
|
|
@@ -16,130 +13,130 @@ export default ({ parent }) => {
|
|
|
16
13
|
TIMING,
|
|
17
14
|
MEDIA,
|
|
18
15
|
DEVICES
|
|
19
|
-
} =
|
|
16
|
+
} = s
|
|
17
|
+
|
|
18
|
+
if (!COLOR) return
|
|
20
19
|
|
|
21
|
-
return {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
20
|
+
return [{
|
|
21
|
+
icon: 'colorOutline',
|
|
22
|
+
href: '/colors',
|
|
23
|
+
iconTheme: 'theme',
|
|
24
|
+
title: 'colors',
|
|
25
|
+
paragraph: 'Colorize styles manually',
|
|
26
|
+
iconBackground: 'red',
|
|
27
|
+
properties: [{
|
|
28
|
+
property: 'Colors',
|
|
29
|
+
value: COLOR && Object.keys(COLOR).length
|
|
30
|
+
}, {
|
|
31
|
+
property: 'Themes',
|
|
32
|
+
value: THEME && Object.keys(THEME).length
|
|
33
|
+
}]
|
|
34
|
+
}, {
|
|
35
|
+
icon: 'typographyOutline',
|
|
36
|
+
href: '/typography',
|
|
37
|
+
iconTheme: 'typography',
|
|
38
|
+
title: 'typography',
|
|
39
|
+
paragraph: 'style a typed material',
|
|
40
|
+
properties: [{
|
|
41
|
+
property: 'Base size',
|
|
42
|
+
value: TYPOGRAPHY && TYPOGRAPHY.base + 'px'
|
|
43
|
+
}, {
|
|
44
|
+
property: 'Ratio',
|
|
45
|
+
value: TYPOGRAPHY && TYPOGRAPHY.ratio
|
|
46
|
+
}, {
|
|
47
|
+
property: 'Styles',
|
|
48
|
+
value: TYPOGRAPHY && TYPOGRAPHY.styles && Object.keys(TYPOGRAPHY.styles).length
|
|
49
|
+
}, {
|
|
50
|
+
property: 'Fonts',
|
|
51
|
+
value: FONT && Object.keys(FONT).length
|
|
52
|
+
}, {
|
|
53
|
+
property: 'Families',
|
|
54
|
+
value: FONT_FAMILY && Object.keys(FONT_FAMILY).length - 1
|
|
55
|
+
}]
|
|
56
|
+
}, {
|
|
57
|
+
icon: 'spaceOutline',
|
|
58
|
+
href: '/space',
|
|
59
|
+
iconTheme: 'space',
|
|
60
|
+
title: 'Spacing',
|
|
61
|
+
paragraph: 'Manage properties of a size',
|
|
62
|
+
properties: [{
|
|
63
|
+
property: 'Ratio',
|
|
64
|
+
value: SPACING && SPACING.ratio
|
|
65
|
+
}, {
|
|
66
|
+
property: 'Templates',
|
|
67
|
+
value: 'TBA'
|
|
68
|
+
}]
|
|
69
|
+
}, {
|
|
70
|
+
icon: 'shape',
|
|
71
|
+
href: '/shape',
|
|
72
|
+
iconTheme: 'shape',
|
|
73
|
+
title: 'shapes',
|
|
74
|
+
paragraph: 'Design an outline to a chosen component',
|
|
75
|
+
properties: [{
|
|
76
|
+
property: 'HTML',
|
|
77
|
+
value: '32'
|
|
78
|
+
}, {
|
|
79
|
+
property: 'SVG',
|
|
80
|
+
value: 'TBA'
|
|
81
|
+
}]
|
|
82
|
+
}, {
|
|
83
|
+
icon: 'iconsOutline',
|
|
84
|
+
href: '/icons',
|
|
85
|
+
iconTheme: 'color',
|
|
86
|
+
title: 'Icons',
|
|
87
|
+
paragraph: 'Label a role of subject with glyphs',
|
|
88
|
+
properties: [{
|
|
89
|
+
property: 'All',
|
|
90
|
+
value: ICONS && Object.keys(ICONS).length
|
|
36
91
|
}, {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
iconTheme: 'typography',
|
|
40
|
-
title: 'typography',
|
|
41
|
-
paragraph: 'style a typed material',
|
|
42
|
-
properties: [{
|
|
43
|
-
property: 'Base size',
|
|
44
|
-
value: TYPOGRAPHY && TYPOGRAPHY.base + 'px'
|
|
45
|
-
}, {
|
|
46
|
-
property: 'Ratio',
|
|
47
|
-
value: TYPOGRAPHY && TYPOGRAPHY.ratio
|
|
48
|
-
}, {
|
|
49
|
-
property: 'Styles',
|
|
50
|
-
value: TYPOGRAPHY && TYPOGRAPHY.styles && Object.keys(TYPOGRAPHY.styles).length
|
|
51
|
-
}, {
|
|
52
|
-
property: 'Fonts',
|
|
53
|
-
value: FONT && Object.keys(FONT).length
|
|
54
|
-
}, {
|
|
55
|
-
property: 'Families',
|
|
56
|
-
value: FONT_FAMILY && Object.keys(FONT_FAMILY).length - 1
|
|
57
|
-
}]
|
|
92
|
+
property: 'Linear',
|
|
93
|
+
value: ICONS && Object.keys(ICONS).filter(v => v.includes('Outline')).length
|
|
58
94
|
}, {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
95
|
+
property: 'Colored',
|
|
96
|
+
value: ICONS && Object.keys(ICONS).filter(v => v.includes('Colored')).length
|
|
97
|
+
}]
|
|
98
|
+
}, {
|
|
99
|
+
icon: 'clock',
|
|
100
|
+
href: '/timing',
|
|
101
|
+
iconTheme: 'icons',
|
|
102
|
+
title: 'Timing',
|
|
103
|
+
paragraph: 'Tokens for transitions and animations',
|
|
104
|
+
properties: [{
|
|
105
|
+
property: 'Timing base',
|
|
106
|
+
value: TIMING && TIMING.base + 'ms'
|
|
71
107
|
}, {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
iconTheme: 'shape',
|
|
75
|
-
title: 'shapes',
|
|
76
|
-
paragraph: 'Design an outline to a chosen component',
|
|
77
|
-
properties: [{
|
|
78
|
-
property: 'HTML',
|
|
79
|
-
value: '32'
|
|
80
|
-
}, {
|
|
81
|
-
property: 'SVG',
|
|
82
|
-
value: 'TBA'
|
|
83
|
-
}]
|
|
108
|
+
property: 'Ratio',
|
|
109
|
+
value: TIMING && TIMING.ratio
|
|
84
110
|
}, {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
iconTheme: 'color',
|
|
88
|
-
title: 'Icons',
|
|
89
|
-
paragraph: 'Label a role of subject with glyphs',
|
|
90
|
-
properties: [{
|
|
91
|
-
property: 'All',
|
|
92
|
-
value: ICONS && Object.keys(ICONS).length
|
|
93
|
-
}, {
|
|
94
|
-
property: 'Linear',
|
|
95
|
-
value: ICONS && Object.keys(ICONS).filter(v => v.includes('Outline')).length
|
|
96
|
-
}, {
|
|
97
|
-
property: 'Colored',
|
|
98
|
-
value: ICONS && Object.keys(ICONS).filter(v => v.includes('Colored')).length
|
|
99
|
-
}]
|
|
111
|
+
property: 'Transitions',
|
|
112
|
+
value: 'TBA'
|
|
100
113
|
}, {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}, {
|
|
113
|
-
property: 'Transitions',
|
|
114
|
-
value: 'TBA'
|
|
115
|
-
}, {
|
|
116
|
-
property: 'Animations',
|
|
117
|
-
value: 'TBA'
|
|
118
|
-
}]
|
|
114
|
+
property: 'Animations',
|
|
115
|
+
value: 'TBA'
|
|
116
|
+
}]
|
|
117
|
+
}, {
|
|
118
|
+
icon: 'deviceMobileOutline',
|
|
119
|
+
href: '/media-query',
|
|
120
|
+
title: 'Breakpoints',
|
|
121
|
+
paragraph: 'Label a role of subject with glyphs',
|
|
122
|
+
properties: [{
|
|
123
|
+
property: 'Breakpoints',
|
|
124
|
+
value: MEDIA && Object.keys(MEDIA).length
|
|
119
125
|
}, {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
126
|
+
property: 'Screens',
|
|
127
|
+
value: DEVICES && Object.keys(DEVICES).length
|
|
128
|
+
}]
|
|
129
|
+
}, {
|
|
130
|
+
icon: 'threeDots',
|
|
131
|
+
href: '/sequence',
|
|
132
|
+
title: 'Sequence',
|
|
133
|
+
paragraph: 'The mapping system of generative sizing units',
|
|
134
|
+
properties: [{
|
|
135
|
+
property: 'Breakpoints',
|
|
136
|
+
value: '8'
|
|
131
137
|
}, {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
title: 'Sequence',
|
|
135
|
-
paragraph: 'The mapping system of generative sizing units',
|
|
136
|
-
properties: [{
|
|
137
|
-
property: 'Breakpoints',
|
|
138
|
-
value: '8'
|
|
139
|
-
}, {
|
|
140
|
-
property: 'Screens',
|
|
141
|
-
value: '3'
|
|
142
|
-
}]
|
|
138
|
+
property: 'Screens',
|
|
139
|
+
value: '3'
|
|
143
140
|
}]
|
|
144
|
-
}
|
|
141
|
+
}]
|
|
145
142
|
}
|
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
import { ClickableItem, Link } from '@symbo.ls/components'
|
|
4
4
|
import { DesignComponent } from '../../../components'
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import { applySummaryCollection } from './state'
|
|
7
|
+
|
|
8
|
+
export const cnt = {
|
|
9
|
+
state: 'summary',
|
|
7
10
|
|
|
8
|
-
export const content = {
|
|
9
11
|
props: {
|
|
10
12
|
margin: '- -Z',
|
|
11
13
|
columns: '15rem',
|
|
@@ -14,7 +16,8 @@ export const content = {
|
|
|
14
16
|
|
|
15
17
|
childExtend: {
|
|
16
18
|
extend: [Link, ClickableItem, DesignComponent],
|
|
17
|
-
|
|
19
|
+
state: true,
|
|
20
|
+
props: ({ state }) => ({
|
|
18
21
|
maxWidth: 'none',
|
|
19
22
|
width: '100%',
|
|
20
23
|
margin: '- - B1',
|
|
@@ -23,7 +26,7 @@ export const content = {
|
|
|
23
26
|
})
|
|
24
27
|
},
|
|
25
28
|
|
|
26
|
-
$
|
|
29
|
+
$setPropsCollection: (el, s) => s.parse()
|
|
27
30
|
}
|
|
28
31
|
|
|
29
32
|
export default {
|
|
@@ -31,12 +34,19 @@ export default {
|
|
|
31
34
|
margin: '- - C1'
|
|
32
35
|
},
|
|
33
36
|
|
|
34
|
-
state,
|
|
37
|
+
state: 'PROJECT_SYSTEM',
|
|
35
38
|
|
|
36
39
|
SectionHeader: {
|
|
37
40
|
title: 'Design System takeaways',
|
|
38
41
|
p: 'Your tokens in the system at a glance'
|
|
39
42
|
},
|
|
40
43
|
|
|
41
|
-
|
|
44
|
+
cnt,
|
|
45
|
+
|
|
46
|
+
on: {
|
|
47
|
+
initUpdate: (el, s) => {
|
|
48
|
+
if (s.summary) return
|
|
49
|
+
s.summary = applySummaryCollection(el, s)
|
|
50
|
+
}
|
|
51
|
+
}
|
|
42
52
|
}
|
|
@@ -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
|
@@ -6,7 +6,6 @@ import {
|
|
|
6
6
|
Flex,
|
|
7
7
|
SectionHeader,
|
|
8
8
|
AccessibilityCheck,
|
|
9
|
-
SceneThemingBar,
|
|
10
9
|
Pseudo,
|
|
11
10
|
CommonField
|
|
12
11
|
} from '@symbo.ls/components'
|
|
@@ -16,9 +15,6 @@ import preview from './preview'
|
|
|
16
15
|
import { buttonsHeader } from './buttonsHeader'
|
|
17
16
|
import { selectsGrid } from './selectsGrid'
|
|
18
17
|
import { buttonTitlesGrid, columnTitleButton } from './buttonTitlesGrid'
|
|
19
|
-
// import { themingTools } from './themingTools'
|
|
20
|
-
// import { interactivity } from './interactivity'
|
|
21
|
-
// import { friendTheme } from './friendTheme'
|
|
22
18
|
|
|
23
19
|
import style from './style'
|
|
24
20
|
|
|
@@ -29,7 +25,6 @@ const ThemeNameField = {
|
|
|
29
25
|
|
|
30
26
|
props: ({ state }) => ({
|
|
31
27
|
gap: '0',
|
|
32
|
-
|
|
33
28
|
title: {
|
|
34
29
|
text: 'Name the theme',
|
|
35
30
|
fontSize: 'Z'
|
|
@@ -44,10 +39,10 @@ const ThemeNameField = {
|
|
|
44
39
|
round: '0',
|
|
45
40
|
textTransform: 'capitalize',
|
|
46
41
|
|
|
47
|
-
border: 'dashed,
|
|
42
|
+
border: 'dashed, gray3',
|
|
48
43
|
borderWidth: '0 0 1px',
|
|
49
44
|
|
|
50
|
-
text:
|
|
45
|
+
text: state.themeName,
|
|
51
46
|
|
|
52
47
|
':empty::before': {
|
|
53
48
|
content: '"You name it"',
|
|
@@ -143,6 +138,17 @@ export const Theme = {
|
|
|
143
138
|
extend: PageTemplate,
|
|
144
139
|
|
|
145
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
|
+
},
|
|
146
152
|
|
|
147
153
|
state: {
|
|
148
154
|
sceneTheme: 'dark',
|
|
@@ -172,31 +178,37 @@ export const Theme = {
|
|
|
172
178
|
header: {
|
|
173
179
|
extend: SectionHeader,
|
|
174
180
|
props: {
|
|
175
|
-
margin: '0
|
|
181
|
+
margin: '0 - B2 0',
|
|
176
182
|
justifyContent: 'space-between'
|
|
183
|
+
// border: '2px solid purple'
|
|
177
184
|
},
|
|
178
185
|
heading: null,
|
|
179
186
|
ThemeNameField,
|
|
180
187
|
nav: null,
|
|
181
|
-
buttons: { extend: buttonsHeader }
|
|
188
|
+
buttons: { extend: buttonsHeader },
|
|
189
|
+
SceneThemingBar: {}
|
|
182
190
|
},
|
|
183
191
|
|
|
184
192
|
cnt: {
|
|
185
193
|
extend: Flex,
|
|
186
|
-
props: { gap: '
|
|
194
|
+
props: { gap: 'C2', padding: '0' },
|
|
187
195
|
|
|
188
196
|
preview,
|
|
189
197
|
|
|
190
198
|
colorEdit: {
|
|
191
199
|
props: {
|
|
200
|
+
flex: '1',
|
|
192
201
|
gap: '',
|
|
193
202
|
flexFlow: 'column'
|
|
203
|
+
// border: '5px solid red'
|
|
194
204
|
},
|
|
195
205
|
|
|
196
206
|
colors: {
|
|
197
207
|
props: {
|
|
198
208
|
padding: '- - C1 -',
|
|
199
|
-
|
|
209
|
+
border: 'solid, gray2',
|
|
210
|
+
borderWidth: '0 0 1px 0'
|
|
211
|
+
// style: { borderBottom: '.5px solid rgba(255, 255, 255, .1)' }
|
|
200
212
|
},
|
|
201
213
|
selectsGrid,
|
|
202
214
|
buttonTitlesGrid
|
|
@@ -205,7 +217,8 @@ export const Theme = {
|
|
|
205
217
|
onHover: {
|
|
206
218
|
extend: CommonField,
|
|
207
219
|
props: {
|
|
208
|
-
|
|
220
|
+
border: 'solid, gray2',
|
|
221
|
+
borderWidth: '0 0 1px 0',
|
|
209
222
|
gap: 'B2',
|
|
210
223
|
padding: 'B - C1 -',
|
|
211
224
|
title: {
|
|
@@ -248,10 +261,6 @@ export const Theme = {
|
|
|
248
261
|
title: {},
|
|
249
262
|
iconBox: {}
|
|
250
263
|
}
|
|
251
|
-
|
|
252
|
-
// themingTools
|
|
253
|
-
// interactivity,
|
|
254
|
-
// friendTheme
|
|
255
264
|
}
|
|
256
265
|
},
|
|
257
266
|
|
|
@@ -261,6 +270,4 @@ export const Theme = {
|
|
|
261
270
|
padding: 'E 0 F'
|
|
262
271
|
}
|
|
263
272
|
}
|
|
264
|
-
|
|
265
|
-
// footer
|
|
266
273
|
}
|
|
@@ -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
|
}),
|
package/src/pages/Theme/style.js
CHANGED
|
@@ -52,12 +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 || {}
|
|
57
|
+
|
|
58
|
+
if (!s.sequence) return {}
|
|
59
|
+
|
|
59
60
|
return arr.map((v, k) => {
|
|
60
|
-
const result = getTypeStyle(v,
|
|
61
|
+
const result = getTypeStyle(v, s.parent.parse())
|
|
61
62
|
return {
|
|
62
63
|
key: v,
|
|
63
64
|
value: {
|
|
@@ -102,10 +103,8 @@ export const tagsCollection = (el, s) => {
|
|
|
102
103
|
}
|
|
103
104
|
|
|
104
105
|
export const helpersCollection = (el, s) => {
|
|
105
|
-
const
|
|
106
|
-
const
|
|
107
|
-
if (!TYPOGRAPHY) return
|
|
108
|
-
const { styles } = TYPOGRAPHY
|
|
106
|
+
const TYPOGRAPHY = s.parse()
|
|
107
|
+
const styles = TYPOGRAPHY.styles || {}
|
|
109
108
|
|
|
110
109
|
const HELPERS = Object.keys(styles)
|
|
111
110
|
.filter(v => v.slice(0, 1) === '.')
|
|
@@ -66,14 +66,14 @@ export default {
|
|
|
66
66
|
text: '<p>'
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
},
|
|
69
|
+
},
|
|
70
70
|
code: {
|
|
71
71
|
props: {
|
|
72
72
|
title: {
|
|
73
73
|
text: '<code>'
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
-
},
|
|
76
|
+
},
|
|
77
77
|
pre: {
|
|
78
78
|
props: {
|
|
79
79
|
title: {
|
|
@@ -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
|
-
}
|