@symbo.ls/preview 0.0.79 → 0.0.81
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/Aside.js +1 -1
- package/src/components/Banner.js +2 -2
- package/src/components/Page.js +75 -22
- package/src/components/ShapeSet.js +1 -1
- package/src/index.js +0 -1
- package/src/pages/Account/index.js +2 -2
- package/src/pages/DesignSystem/Dashboard/quickstart.js +3 -3
- package/src/pages/Export/const.js +2 -2
- package/src/pages/Export/index.js +6 -1
- package/src/pages/Export/scene.js +75 -21
- package/src/pages/Init/ChooseEnvironment.js +26 -22
- package/src/pages/Init/CreateDocumentTheme.js +4 -1
- package/src/pages/Init/CreatePalette.js +2 -0
- package/src/pages/Init/FontText.js +2 -0
- package/src/pages/Library/disabled.js +38 -0
- package/src/pages/Library/index.js +5 -10
- package/src/pages/Theme/preview.js +1 -1
- package/src/state.js +1 -0
- package/src/sync.js +29 -7
package/package.json
CHANGED
package/src/components/Aside.js
CHANGED
|
@@ -32,7 +32,7 @@ export const NavbarButton = {
|
|
|
32
32
|
transform: 'translate3d(5%, -50%, 0)',
|
|
33
33
|
opacity: '0',
|
|
34
34
|
visibility: 'hidden',
|
|
35
|
-
transition: 'B
|
|
35
|
+
transition: 'B defaultBezier',
|
|
36
36
|
transitionProperty: 'opacity, transform',
|
|
37
37
|
textAlign: 'start',
|
|
38
38
|
zIndex: 9999,
|
package/src/components/Banner.js
CHANGED
|
@@ -35,7 +35,7 @@ export const TutorialBanner = {
|
|
|
35
35
|
},
|
|
36
36
|
|
|
37
37
|
':before': {
|
|
38
|
-
transition: 'B
|
|
38
|
+
transition: 'B defaultBezier',
|
|
39
39
|
transitionProperty: 'opacity',
|
|
40
40
|
backgroundImage: `url(${state.background})`,
|
|
41
41
|
backgroundSize: 'cover',
|
|
@@ -43,7 +43,7 @@ export const TutorialBanner = {
|
|
|
43
43
|
},
|
|
44
44
|
|
|
45
45
|
':after': {
|
|
46
|
-
transition: 'B
|
|
46
|
+
transition: 'B defaultBezier',
|
|
47
47
|
transitionProperty: 'opacity',
|
|
48
48
|
background: 'shadow-overlay',
|
|
49
49
|
opacity: '0.9'
|
package/src/components/Page.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
import { PageTemplate, Overlay, Flex } from '@symbo.ls/components'
|
|
3
|
+
import { PageTemplate, Overlay, Flex, IconButton } from '@symbo.ls/components'
|
|
4
|
+
import { Link } from '@symbo.ls/components/src/Link'
|
|
4
5
|
|
|
5
6
|
import MASK1 from '../assets/mask1.png'
|
|
6
7
|
import MASK2 from '../assets/mask2.png' // eslint-disable-line
|
|
@@ -22,55 +23,107 @@ export const InitPage = {
|
|
|
22
23
|
width: '100%',
|
|
23
24
|
maxWidth: 'J',
|
|
24
25
|
flow: 'column',
|
|
26
|
+
position: 'relative',
|
|
25
27
|
align: 'flex-start',
|
|
26
28
|
|
|
27
29
|
content: { width: '100%' }
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
back: {
|
|
33
|
+
extend: [Link, IconButton],
|
|
34
|
+
props: {
|
|
35
|
+
position: 'absolute',
|
|
36
|
+
fontSize: 'A1',
|
|
37
|
+
top: '0',
|
|
38
|
+
right: '102%',
|
|
39
|
+
icon: 'arrow angle left'
|
|
40
|
+
}
|
|
28
41
|
}
|
|
29
42
|
}
|
|
30
43
|
|
|
44
|
+
const ifWeHaveComponents = (state) => {
|
|
45
|
+
const keys = Object.keys(state.__system.COMPONENTS)
|
|
46
|
+
return !!keys.length
|
|
47
|
+
}
|
|
48
|
+
|
|
31
49
|
export const DisabledPage = {
|
|
32
|
-
props: {
|
|
33
|
-
|
|
34
|
-
|
|
50
|
+
props: ({ state }) => ({
|
|
51
|
+
active: ifWeHaveComponents(state),
|
|
52
|
+
maxHeight: 'none',
|
|
53
|
+
overflow: 'visible',
|
|
54
|
+
|
|
55
|
+
'!active': {
|
|
56
|
+
maxHeight: 'calc(100vh - 7em)',
|
|
57
|
+
overflow: 'hidden'
|
|
58
|
+
},
|
|
59
|
+
|
|
60
|
+
'.active': {
|
|
61
|
+
maxHeight: 'none',
|
|
62
|
+
overflow: 'visible'
|
|
63
|
+
}
|
|
64
|
+
}),
|
|
65
|
+
|
|
66
|
+
on: {
|
|
67
|
+
initUpdate: (element, state) => {
|
|
68
|
+
element.setProps({ active: ifWeHaveComponents(state) }, { preventUpdate: true, ignoreInitUpdate: true })
|
|
69
|
+
}
|
|
35
70
|
},
|
|
36
71
|
|
|
37
72
|
disablingOverlay: {
|
|
38
73
|
extend: [Overlay, Flex],
|
|
39
74
|
|
|
40
|
-
props: {
|
|
75
|
+
props: ({ state }) => ({
|
|
76
|
+
active: ifWeHaveComponents(state),
|
|
41
77
|
overflow: 'hidden',
|
|
42
78
|
background: 'shadow-overlay',
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
79
|
+
'.active': {
|
|
80
|
+
animation: 'fadeOutDown',
|
|
81
|
+
animationDuration: 'G',
|
|
82
|
+
transition: 'G defaultBezier',
|
|
83
|
+
transitionProperty: 'opacity, transform, visibility',
|
|
84
|
+
opacity: '0',
|
|
85
|
+
visibility: 'hidden',
|
|
86
|
+
transform: 'translate3d(0, 12.5%, 1px)',
|
|
87
|
+
pointerEvents: 'none'
|
|
88
|
+
},
|
|
89
|
+
'!active': {
|
|
90
|
+
animation: 'fadeInUp',
|
|
91
|
+
animationDuration: 'G'
|
|
92
|
+
}
|
|
93
|
+
}),
|
|
46
94
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
95
|
+
Overlay: {
|
|
96
|
+
background: 'gradient-colorful',
|
|
97
|
+
inset: '0 0 0 0',
|
|
98
|
+
opacity: '.9',
|
|
99
|
+
style: {
|
|
100
|
+
WebkitMaskImage: 'url(' + MASK1 + ')',
|
|
101
|
+
WebkitMaskSize: '100% 100%'
|
|
102
|
+
}
|
|
103
|
+
},
|
|
56
104
|
|
|
57
105
|
message: {
|
|
58
|
-
props: {
|
|
106
|
+
props: ({ state }) => ({
|
|
59
107
|
animation: 'fadeInUpShort',
|
|
60
108
|
animationDuration: 'G',
|
|
61
109
|
animationDelay: 'G',
|
|
62
110
|
margin: 'auto auto 0',
|
|
63
111
|
padding: 'C1 E C',
|
|
64
112
|
width: '100%',
|
|
65
|
-
maxWidth: 'K-default'
|
|
66
|
-
|
|
113
|
+
maxWidth: 'K-default',
|
|
114
|
+
ArticleBig: {
|
|
115
|
+
p: {
|
|
116
|
+
text: 'Open up ' + state.appKey + ' in a new window to start working with components'
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}),
|
|
67
120
|
|
|
68
121
|
ArticleBig: {
|
|
69
122
|
title: {
|
|
70
|
-
text: '
|
|
123
|
+
text: 'Connect to your website'
|
|
71
124
|
},
|
|
72
125
|
p: {
|
|
73
|
-
|
|
126
|
+
color: 'white .8',
|
|
74
127
|
margin: 'X 0 0',
|
|
75
128
|
animation: 'fadeInUpShort',
|
|
76
129
|
animationDuration: 'G',
|
package/src/index.js
CHANGED
|
@@ -18,7 +18,6 @@ import { Sync } from './sync' // eslint-disable-line
|
|
|
18
18
|
smbls.init({ verbose: false, ...SYMBOLS_CONF })
|
|
19
19
|
|
|
20
20
|
DOM.define({
|
|
21
|
-
__filepath: param => param,
|
|
22
21
|
$setCollection: smbls.Collection.define.$setCollection,
|
|
23
22
|
$setStateCollection: smbls.Collection.define.$setStateCollection
|
|
24
23
|
})
|
|
@@ -96,7 +96,7 @@ const sideBar = {
|
|
|
96
96
|
|
|
97
97
|
info: { props: { icon: 'info' } },
|
|
98
98
|
logout: {
|
|
99
|
-
props: { icon: 'logout', href: '/logout' }
|
|
99
|
+
props: { icon: 'logout', href: '/logout' }
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
}
|
|
@@ -105,7 +105,7 @@ export const Account = {
|
|
|
105
105
|
sideBar,
|
|
106
106
|
on: {
|
|
107
107
|
render: element => {
|
|
108
|
-
|
|
108
|
+
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
}
|
|
@@ -68,11 +68,11 @@ export default {
|
|
|
68
68
|
QuickStartNumber: { text: '3' },
|
|
69
69
|
Code: {
|
|
70
70
|
note: { text: 'Create .symbolsrc.js file in your project and insert your Symbols key' },
|
|
71
|
-
props: {
|
|
71
|
+
props: ({ state }) => ({
|
|
72
72
|
code: {
|
|
73
|
-
text:
|
|
73
|
+
text: `{ "key": "${state.appKey}" }`
|
|
74
74
|
}
|
|
75
|
-
}
|
|
75
|
+
})
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
78
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
import { SEQUENCE, TYPOGRAPHY } from '@symbo.ls/scratch'
|
|
4
|
-
import { LIBRARY, COMPONENTS } from '../../../.symbols'
|
|
4
|
+
import { LIBRARY, COMPONENTS } from '../../../.symbols' // eslint-disable-line
|
|
5
5
|
|
|
6
6
|
const COMPONENT_ROUTES = {}
|
|
7
|
-
LIBRARY.map(v => (COMPONENT_ROUTES[`/${v.key}`] = v))
|
|
7
|
+
// LIBRARY.map(v => (COMPONENT_ROUTES[`/${v.key}`] = v))
|
|
8
8
|
COMPONENTS.map(v => (COMPONENT_ROUTES[`/${v.key}`] = v))
|
|
9
9
|
|
|
10
10
|
// const SEQUENCE = [8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 24, 26, 32, 36, 42, 48, 56, 62, 68, 76, 84, 92, 100, 110]
|
|
@@ -39,11 +39,16 @@ export const Export = {
|
|
|
39
39
|
const route = window.location.pathname
|
|
40
40
|
const routes = route.slice(1).split('/')
|
|
41
41
|
const componentKey = routes[1]
|
|
42
|
+
const { COMPONENTS } = state.__system
|
|
42
43
|
|
|
43
|
-
const
|
|
44
|
+
const libComponent = COMPONENT_ROUTES[`/${componentKey}`]
|
|
45
|
+
const liveComponent = COMPONENTS[componentKey]
|
|
46
|
+
|
|
47
|
+
const content = libComponent || liveComponent
|
|
44
48
|
|
|
45
49
|
if (content) {
|
|
46
50
|
state.update({
|
|
51
|
+
live: !!liveComponent,
|
|
47
52
|
...content
|
|
48
53
|
}, { preventUpdate: true })
|
|
49
54
|
}
|
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import DOM from 'domql'
|
|
4
|
+
import { transformEmotionClass, transformEmotionStyle } from 'domql/packages/emotion'
|
|
5
|
+
import { createEmotion } from '@symbo.ls/create-emotion'
|
|
6
6
|
import { updateReset } from '@symbo.ls/init'
|
|
7
|
+
import { isString } from '@domql/utils'
|
|
8
|
+
|
|
9
|
+
import { getActiveConfig, activateConfig } from '@symbo.ls/scratch'
|
|
10
|
+
import { init, Box, Scene } from '@symbo.ls/components'
|
|
11
|
+
|
|
12
|
+
import * as components from '../../components'
|
|
13
|
+
|
|
14
|
+
const emCache = {}
|
|
7
15
|
|
|
8
16
|
export default {
|
|
9
17
|
extend: Scene,
|
|
10
18
|
|
|
11
19
|
props: (el, s) => {
|
|
20
|
+
const CONFIG = getActiveConfig()
|
|
21
|
+
const { BREAKPOINTS } = CONFIG
|
|
12
22
|
const previewSize = BREAKPOINTS[s.previewSize]
|
|
13
23
|
return {
|
|
14
24
|
width: '100%',
|
|
@@ -40,27 +50,71 @@ export default {
|
|
|
40
50
|
}
|
|
41
51
|
},
|
|
42
52
|
|
|
43
|
-
comp: (el, s) =>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
53
|
+
comp: (el, s) => {
|
|
54
|
+
if (s.live) {
|
|
55
|
+
const SYSTEM = s.__system
|
|
56
|
+
const styleNode = document.createElement('head')
|
|
57
|
+
const emotion = createEmotion('client', styleNode)
|
|
58
|
+
emCache['client'] = emotion
|
|
59
|
+
|
|
60
|
+
const emotionStyle = transformEmotionStyle(emotion, true)
|
|
61
|
+
const emotionClass = transformEmotionClass(emotion, true)
|
|
62
|
+
|
|
63
|
+
const newDom = DOM.create({
|
|
64
|
+
tag: 'shadow',
|
|
65
|
+
state: s.state
|
|
66
|
+
}, el.parent.node, 'comp', {
|
|
67
|
+
extend: [Box],
|
|
68
|
+
define: { style: emotionStyle, class: emotionClass },
|
|
69
|
+
components,
|
|
70
|
+
context: { SYSTEM }
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
newDom.node.appendChild(styleNode)
|
|
74
|
+
|
|
75
|
+
init(SYSTEM, null, { emotion, initDOMQLDefine: false, newConfig: 'client' })
|
|
76
|
+
activateConfig('client')
|
|
77
|
+
|
|
78
|
+
newDom.set({
|
|
79
|
+
tag: 'fragment',
|
|
80
|
+
[s.key]: {
|
|
81
|
+
extend: isString(s.component) ? document.eval(s.component) : s.component,
|
|
82
|
+
props: { inheritSpacingRatio: true }
|
|
83
|
+
},
|
|
84
|
+
on: {
|
|
85
|
+
render: (el) => {
|
|
86
|
+
// const appKey = el.__root.state.appKey && el.__root.state.appKey.split('.')[0]
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
})
|
|
90
|
+
|
|
91
|
+
activateConfig(0)
|
|
92
|
+
return newDom
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return {
|
|
96
|
+
extend: {
|
|
97
|
+
extend: isString(s.component) ? document.eval(s.component) : s.component
|
|
98
|
+
},
|
|
99
|
+
props: { inheritSpacingRatio: true }
|
|
100
|
+
}
|
|
101
|
+
},
|
|
47
102
|
|
|
48
103
|
on: {
|
|
49
104
|
initUpdate: (el, s) => {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
updateReset()
|
|
105
|
+
if (s.live) {
|
|
106
|
+
activateConfig('client')
|
|
107
|
+
updateReset({ emotion: emCache['client'] })
|
|
108
|
+
} else {
|
|
109
|
+
el.comp.setProps({
|
|
110
|
+
base: s.base,
|
|
111
|
+
fontSize: s.base + 'px',
|
|
112
|
+
spacingRatio: s.ratio,
|
|
113
|
+
direction: s.direction
|
|
114
|
+
}, { preventUpdate: true })
|
|
115
|
+
updateReset()
|
|
116
|
+
}
|
|
117
|
+
activateConfig(0)
|
|
64
118
|
}
|
|
65
119
|
}
|
|
66
120
|
}
|
|
@@ -4,18 +4,7 @@ import { Flex, CommonField, WiderButton, ClickableItem } from '@symbo.ls/compone
|
|
|
4
4
|
|
|
5
5
|
import { InitPage } from '../../components'
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
props: {
|
|
9
|
-
margin: '- - D -'
|
|
10
|
-
},
|
|
11
|
-
|
|
12
|
-
Caption: { text: 'And finally,' },
|
|
13
|
-
H1: {
|
|
14
|
-
text: 'Your environment'
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
const commonField = {
|
|
7
|
+
const ButtonOptions = {
|
|
19
8
|
tag: 'section',
|
|
20
9
|
extend: CommonField,
|
|
21
10
|
|
|
@@ -49,16 +38,17 @@ const commonField = {
|
|
|
49
38
|
}
|
|
50
39
|
|
|
51
40
|
const yourEnvironment = {
|
|
52
|
-
extend:
|
|
41
|
+
extend: ButtonOptions,
|
|
53
42
|
props: {
|
|
54
43
|
margin: '- - C2 -',
|
|
55
44
|
title: { text: 'Your environment' }
|
|
56
45
|
},
|
|
57
46
|
|
|
58
47
|
title: {},
|
|
59
|
-
element: [
|
|
60
|
-
{ props: { icon: '
|
|
61
|
-
{ props: { icon: '
|
|
48
|
+
element: { ...[
|
|
49
|
+
{ props: { icon: 'js outline' } },
|
|
50
|
+
{ props: { icon: 'ts outline' } },
|
|
51
|
+
{ props: { icon: 'pdf' } },
|
|
62
52
|
{
|
|
63
53
|
props: {
|
|
64
54
|
boxSizing: 'content-box',
|
|
@@ -70,24 +60,38 @@ const yourEnvironment = {
|
|
|
70
60
|
},
|
|
71
61
|
icon: null
|
|
72
62
|
}
|
|
73
|
-
]
|
|
63
|
+
] }
|
|
74
64
|
}
|
|
75
65
|
|
|
76
66
|
const yourFramework = {
|
|
77
|
-
extend:
|
|
67
|
+
extend: ButtonOptions,
|
|
78
68
|
props: {
|
|
79
69
|
margin: '- - F -',
|
|
80
|
-
title: { text: 'Your framework' }
|
|
81
|
-
element: { childProps: { icon: 'info' } }
|
|
70
|
+
title: { text: 'Your framework' }
|
|
82
71
|
},
|
|
83
72
|
title: {},
|
|
84
|
-
element: { ...[
|
|
73
|
+
element: { ...[
|
|
74
|
+
{ props: { icon: 'html' } },
|
|
75
|
+
{ props: { icon: 'domql' } },
|
|
76
|
+
{ props: { icon: 'react' } },
|
|
77
|
+
{ props: { icon: 'vue' } },
|
|
78
|
+
{ props: { icon: 'angular' } },
|
|
79
|
+
{ props: { icon: 'svelte' } },
|
|
80
|
+
{ props: { icon: 'webComponents' } }
|
|
81
|
+
] }
|
|
85
82
|
}
|
|
86
83
|
|
|
87
84
|
export const ChooseEnvironment = {
|
|
88
85
|
extend: InitPage,
|
|
89
86
|
|
|
90
|
-
|
|
87
|
+
back: { props: { href: '/init/font' } },
|
|
88
|
+
|
|
89
|
+
HeaderHeading: {
|
|
90
|
+
margin: '- - D -',
|
|
91
|
+
|
|
92
|
+
Caption: { text: 'And finally,' },
|
|
93
|
+
H1: { text: 'Your environment' }
|
|
94
|
+
},
|
|
91
95
|
|
|
92
96
|
yourEnvironment,
|
|
93
97
|
yourFramework,
|
|
@@ -70,7 +70,7 @@ const modes = {
|
|
|
70
70
|
right: 'W',
|
|
71
71
|
bottom: 'W',
|
|
72
72
|
opacity: '0',
|
|
73
|
-
transition: 'B
|
|
73
|
+
transition: 'B defaultBezier',
|
|
74
74
|
transitionProperty: 'transform, opacity',
|
|
75
75
|
transform: 'translate3d(0, 100%, 0)',
|
|
76
76
|
columnGap: 'W'
|
|
@@ -113,6 +113,7 @@ export const CreateDocumentTheme = {
|
|
|
113
113
|
props: {
|
|
114
114
|
flow: 'column',
|
|
115
115
|
align: 'flex-start',
|
|
116
|
+
|
|
116
117
|
paragraphs: {
|
|
117
118
|
gap: 'E',
|
|
118
119
|
margin: '- - D1 -',
|
|
@@ -123,6 +124,8 @@ export const CreateDocumentTheme = {
|
|
|
123
124
|
}
|
|
124
125
|
},
|
|
125
126
|
|
|
127
|
+
back: { props: { href: '/init/font' } },
|
|
128
|
+
|
|
126
129
|
HeaderHeading: {},
|
|
127
130
|
paragraphs,
|
|
128
131
|
modes,
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
import { ComponentTemplate } from '@symbo.ls/components'
|
|
4
|
+
import { Page, DisabledPage } from '../../components'
|
|
5
|
+
|
|
6
|
+
import { COMPONENTS } from '../../../.symbols' // eslint-disable-line
|
|
7
|
+
|
|
8
|
+
export const Library = {
|
|
9
|
+
extend: [Page, DisabledPage],
|
|
10
|
+
|
|
11
|
+
SectionHeader: {
|
|
12
|
+
title: 'My Symbols',
|
|
13
|
+
p: 'This is the first collection of your components'
|
|
14
|
+
},
|
|
15
|
+
|
|
16
|
+
Grid: {
|
|
17
|
+
props: {
|
|
18
|
+
flex: 1,
|
|
19
|
+
templateColumns: 'repeat(12, 1fr)',
|
|
20
|
+
autoFlow: 'dense',
|
|
21
|
+
autoColumns: 'auto',
|
|
22
|
+
autoRows: 'auto',
|
|
23
|
+
justifyItems: 'stretch',
|
|
24
|
+
|
|
25
|
+
margin: '- -Z2 B1',
|
|
26
|
+
gap: 'A'
|
|
27
|
+
},
|
|
28
|
+
|
|
29
|
+
childExtend: ComponentTemplate,
|
|
30
|
+
$setStateCollection: () => {
|
|
31
|
+
return new Array(15).fill(void 0).map(v => ({
|
|
32
|
+
settings: {
|
|
33
|
+
gridOptions: { colspan: 3, rowspan: 1 }
|
|
34
|
+
}
|
|
35
|
+
}))
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
import { ComponentTemplate } from '@symbo.ls/components'
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
import { COMPONENTS } from '../../../.symbols' // eslint-disable-line
|
|
4
|
+
import { DisabledPage, Page } from '../../components'
|
|
7
5
|
|
|
8
6
|
export const Library = {
|
|
9
|
-
extend: [
|
|
7
|
+
extend: [DisabledPage, Page],
|
|
10
8
|
|
|
11
9
|
SectionHeader: {
|
|
12
10
|
title: 'My Symbols',
|
|
@@ -27,12 +25,9 @@ export const Library = {
|
|
|
27
25
|
},
|
|
28
26
|
|
|
29
27
|
childExtend: ComponentTemplate,
|
|
30
|
-
$setStateCollection: () => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
gridOptions: { colspan: 3, rowspan: 1 }
|
|
34
|
-
}
|
|
35
|
-
}))
|
|
28
|
+
$setStateCollection: ({ state }) => {
|
|
29
|
+
const { COMPONENTS } = state.__system
|
|
30
|
+
return Object.values(COMPONENTS)
|
|
36
31
|
}
|
|
37
32
|
}
|
|
38
33
|
}
|
|
@@ -31,7 +31,7 @@ export const Tones = {
|
|
|
31
31
|
text: null,
|
|
32
32
|
props: ({ key, state }) => ({
|
|
33
33
|
round: '0',
|
|
34
|
-
transition: 'B
|
|
34
|
+
transition: 'B defaultBezier',
|
|
35
35
|
transitionProperty: 'color, background',
|
|
36
36
|
background: getThemeProperty('background', state.value, state.sceneTheme),
|
|
37
37
|
opacity: '' + (100 / TONES_AMOUNT * parseInt(key)) / 100
|
package/src/state.js
CHANGED
package/src/sync.js
CHANGED
|
@@ -1,26 +1,48 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
import {
|
|
3
|
+
import { init, connect, send } from 'smbls' // eslint-disable-line no-unused-vars
|
|
4
|
+
import { router } from '@domql/router'
|
|
5
5
|
|
|
6
6
|
const onChange = (element, state) => {
|
|
7
7
|
return (event, data) => {
|
|
8
|
-
if (event
|
|
9
|
-
|
|
8
|
+
// if (event === 'change') {
|
|
9
|
+
// const obj = JSON.parse(data)
|
|
10
|
+
// state.update({ SYSTEM: obj })
|
|
11
|
+
// }
|
|
12
|
+
if (event === 'change') {
|
|
13
|
+
console.log(data)
|
|
14
|
+
// const obj = JSON.parse(data)
|
|
10
15
|
state.update({ SYSTEM: data })
|
|
11
16
|
}
|
|
17
|
+
if (event === 'route') {
|
|
18
|
+
console.log(data)
|
|
19
|
+
// const obj = JSON.parse(data)
|
|
20
|
+
router(element, data, {})
|
|
21
|
+
}
|
|
12
22
|
}
|
|
13
23
|
}
|
|
14
24
|
|
|
15
25
|
export const Sync = {
|
|
16
26
|
on: {
|
|
17
27
|
init: (el, s) => {
|
|
18
|
-
if (s.appKey)
|
|
28
|
+
if (s.appKey) {
|
|
29
|
+
connect(s.appKey, {
|
|
30
|
+
source: 'symbols',
|
|
31
|
+
onChange: onChange(el, s)
|
|
32
|
+
})
|
|
33
|
+
}
|
|
19
34
|
},
|
|
20
35
|
stateUpdated: (el, s, changes) => {
|
|
21
36
|
if (s.appKey && changes.SYSTEM) {
|
|
22
|
-
|
|
23
|
-
|
|
37
|
+
const { SYSTEM } = changes
|
|
38
|
+
send('change', SYSTEM)
|
|
39
|
+
|
|
40
|
+
// if (SYSTEM.COLOR && SYSTEM.THEME) {
|
|
41
|
+
// init({
|
|
42
|
+
// color: SYSTEM.COLOR,
|
|
43
|
+
// theme: SYSTEM.THEME
|
|
44
|
+
// })
|
|
45
|
+
// }
|
|
24
46
|
}
|
|
25
47
|
}
|
|
26
48
|
}
|