@symbo.ls/preview 2.6.34 → 2.6.36

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/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  'use strict'
2
2
 
3
+ import '@symbo.ls/platform-define'
3
4
  import { init, system } from '@symbo.ls/platform-init'
4
5
  import { state } from '@symbo.ls/platform-state'
5
6
 
@@ -9,22 +10,21 @@ import * as components from './src/components'
9
10
 
10
11
  import App from './src/app'
11
12
  import { router, lastLevel } from '@domql/router'
13
+ import { Main } from './src/pages'
12
14
 
13
15
  const designSystem = init(system)
14
16
 
15
- DOM.define({
16
- routes: param => param,
17
- __filepath: param => param,
18
- $setCollection: smbls.Collection.define.$setCollection,
19
- $setStateCollection: smbls.Collection.define.$setStateCollection
20
- })
21
-
22
17
  const app = DOM.create({
23
18
  extend: App,
24
19
 
25
20
  HeaderOfMember: { maxWidth: '100%' },
26
21
  state,
27
22
 
23
+ define: { routes: param => param },
24
+ routes: {
25
+ '/': Main
26
+ },
27
+
28
28
  on: {
29
29
  render: (el, s) => {
30
30
  const { pathname, hash } = window.location
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.6.34",
5
+ "version": "2.6.36",
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",
@@ -26,17 +26,17 @@
26
26
  "@domql/tags": "latest",
27
27
  "@symbo.ls/components": "latest",
28
28
  "@symbo.ls/icons": "latest",
29
- "@symbo.ls/init": "latest",
30
29
  "@symbo.ls/scratch": "latest",
31
- "@symbo.ls/platform-init": "latest",
32
- "@symbo.ls/platform-state": "latest",
33
30
  "@symbo.ls/temp-db": "latest",
34
31
  "@symbo.ls/utils": "latest"
35
32
  },
36
33
  "devDependencies": {
34
+ "@symbo.ls/platform-init": "latest",
35
+ "@symbo.ls/platform-define": "latest",
36
+ "@symbo.ls/platform-state": "latest",
37
+ "domql": "^1.5.35",
37
38
  "@babel/core": "^7.11.5",
38
39
  "babel-eslint": "^10.0.3",
39
- "domql": "^1.5.35",
40
40
  "eslint": "^6.1.0",
41
41
  "parcel-bundler": "^1.12.4",
42
42
  "parcel-plugin-svg-sprite": "^1.4.1",
@@ -5,23 +5,22 @@ import { Flex, CommonField, Upload, ClickableItem } from '@symbo.ls/components'
5
5
  export const UploadImage = {
6
6
  extend: [CommonField],
7
7
  props: {
8
- title: { text: 'Pick from the picture' },
9
8
  element: {
10
9
  border: 'none',
11
10
  background: 'gray1',
12
11
  padding: 'Z A Z Z',
13
12
  gap: 'Z',
14
13
  flow: 'row',
15
- icon: { style: { fontSize: '52px' } },
14
+ icon: { fontSize: '52px' },
16
15
  p: {
17
16
  text: 'Upload or drop the image'
18
17
  }
19
18
  }
20
19
  },
21
- title: {},
20
+ title: { text: 'Pick from the picture' },
22
21
  element: {
23
22
  extend: [Upload, Flex, ClickableItem],
24
- icon: { style: { fontSize: '52px' } },
23
+ icon: {},
25
24
  p: { span: null },
26
25
  input: {
27
26
  on: {
@@ -0,0 +1,74 @@
1
+ 'use strict'
2
+
3
+ import {
4
+ InputField,
5
+ Grid,
6
+ PasswordField,
7
+ SelectField2
8
+ } from '@symbo.ls/components'
9
+
10
+ import { fieldsGridProps } from './fieldsGridProps'
11
+
12
+ export default {
13
+ extend: Grid,
14
+ props: fieldsGridProps,
15
+ childExtend: {
16
+ title: {},
17
+ element: {
18
+ props: ({ state, parent }) => ({ value: state[parent.key] }),
19
+ on: {
20
+ change: (event, el, s) => {
21
+ s.update({ [el.parent.key]: event.target.value })
22
+ }
23
+ }
24
+ }
25
+ },
26
+ ...[
27
+ {
28
+ extend: InputField,
29
+ props: { title: { text: 'Name the project' } }
30
+ },
31
+
32
+ {
33
+ extend: InputField,
34
+ props: { title: { text: 'Key' } }
35
+ },
36
+
37
+ {
38
+ extend: SelectField2,
39
+ props: {
40
+ title: { text: 'URL Access' },
41
+ element: { title: { text: 'Password Protected' } }
42
+ }
43
+ },
44
+
45
+ {
46
+ extend: PasswordField,
47
+ props: {
48
+ opacity: '.3',
49
+ title: { text: 'Password' }
50
+ }
51
+ },
52
+ {
53
+ extend: SelectField2,
54
+ props: {
55
+ title: { text: 'Environment' },
56
+ element: { title: { text: 'JavaScript' } }
57
+ }
58
+ },
59
+
60
+ {
61
+ extend: SelectField2,
62
+ props: {
63
+ title: { text: 'Framework' },
64
+ element: { title: { text: 'DOMQL' } }
65
+ }
66
+ }
67
+ ]
68
+ }
69
+
70
+ // uploadIcon: {
71
+ // extend: Upload,
72
+ // icon: {},
73
+ // p: { span: null }
74
+ // },
@@ -1,6 +1,6 @@
1
1
  'use strict'
2
2
 
3
- import { Flex, IconButton, Link, SquareButton, User } from '@symbo.ls/components'
3
+ import { Flex, IconButton, Link, SquareButton } from '@symbo.ls/components'
4
4
  import { fetchProject } from '@symbo.ls/fetch'
5
5
  import { setCookie } from 'domql/packages/cookie'
6
6
 
@@ -20,11 +20,13 @@ const ProjectButton = {
20
20
  on: {
21
21
  click: (event, el, s) => {
22
22
  setCookie('activeProject', el.key + '', 3)
23
- const { projectId, username } = s.parse
24
- fetchProject(el, s, {
25
- username: s.name,
26
- projectId: s.id
23
+ const { id, name } = s.parse()
24
+ fetchProject(el, s.parent, {
25
+ username: name,
26
+ projectId: id
27
27
  })
28
+ console.log(s.parse())
29
+ s.update({ activePersonalAccount: false })
28
30
  }
29
31
  }
30
32
  }
@@ -95,9 +97,7 @@ const props = {
95
97
  gap: 'E',
96
98
  overflow: 'hidden',
97
99
 
98
- content: {
99
- flex: '1'
100
- }
100
+ content: { flex: '1' }
101
101
  }
102
102
 
103
103
  export const Account = {
@@ -1,153 +1,44 @@
1
1
  'use strict'
2
2
 
3
- import {
4
- Flex,
5
- CommonField,
6
- Upload,
7
- InputField,
8
- Grid,
9
- ContinueButton,
10
- ColumnParagraphs,
11
- PasswordField,
12
- SelectField2,
13
- DragNdropUser
14
- } from '@symbo.ls/components'
3
+ import { Flex } from '@symbo.ls/components'
4
+ import icon from '../Init/Personalize/icon'
5
+ import fields from '../Init/Personalize/fields'
15
6
 
16
- import { fieldsGridProps } from './fieldsGridProps'
17
-
18
- const fields = {
19
- extend: Grid,
20
- props: fieldsGridProps,
21
- ...[
22
- {
23
- extend: InputField,
24
- props: { title: { text: 'Name the project' } }
25
- },
26
-
27
- {
28
- extend: InputField,
29
- props: { title: { text: 'Key' } }
30
- },
7
+ export const projectAccount = {
8
+ extend: Flex,
9
+ props: {
10
+ flow: 'column',
11
+ height: '100%'
12
+ },
31
13
 
32
- {
33
- extend: SelectField2,
34
- props: {
35
- title: { text: 'URL Access' },
36
- element: { title: { text: 'Password Protected' } }
37
- }
38
- },
14
+ class: {
15
+ show: (element, state) => state.activePersonalAccount
16
+ },
39
17
 
40
- {
41
- extend: PasswordField,
42
- props: {
43
- opacity: '.3',
44
- title: { text: 'Password' }
45
- }
46
- },
47
- {
48
- extend: SelectField2,
49
- props: {
50
- title: { text: 'Environment' },
51
- element: { title: { text: 'JavaScript' } }
52
- }
53
- },
18
+ SectionHeader: {
19
+ title: ({ state }) => 'Settings for ' + state.projectName,
20
+ p: 'Some settings will be stored only in this device.'
21
+ },
54
22
 
55
- {
56
- extend: SelectField2,
57
- props: {
58
- title: { text: 'Framework' },
59
- element: { title: { text: 'DOMQL' } }
60
- }
61
- }
62
- ]
63
- }
64
- const props = {
65
- style: { overFlowY: 'auto' },
66
- header: {
67
- title: {
68
- text: 'Settings for Rockstar',
69
- padding: '- - A1 -'
70
- },
71
- paragraphs: { padding: '- - D2 -' }
23
+ ColumnParagraphs: {
24
+ props: { margin: '- - D1' },
25
+ ...[
26
+ { props: { text: `In this example we'll initialize a Symbols Design System for you.` } },
27
+ { props: { text: `But we already initialized your system, let's just make sure it's all good.` } }
28
+ ]
72
29
  },
73
30
 
74
- content: {
75
- sideUpload: {
76
- title: {
77
- text: 'Project icon',
78
- fontSize: 'Z'
79
- },
80
- element: {
81
- flow: 'column',
82
- gap: 'Z1',
83
- childProps: {
84
- width: 'fit-content',
85
- padding: '0',
86
- boxSize: 'E E',
87
- background: 'gray1',
88
- border: 'none'
89
- },
31
+ Flex: {
32
+ props: { gap: 'C1' },
90
33
 
91
- uploadIcon: {
92
- icon: {
93
- fontSize: 'E2'
94
- },
95
- p: {
96
- text: 'Drag and drop or click',
97
- fontSize: 'Z',
98
- textAlign: 'center',
99
- maxWidth: 'E'
100
- }
101
- }
102
- }
103
- }
34
+ icon,
35
+ fields
104
36
  },
105
37
 
106
- button: {
38
+ ContinueButton: {
107
39
  text: 'Update',
108
40
  padding: 'Z1 C1',
109
- fontSize: 'Z2',
110
- margin: 'F3 - - -',
41
+ margin: 'auto - - -',
111
42
  width: 'fit-content'
112
43
  }
113
44
  }
114
-
115
- export const projectAccount = {
116
- props,
117
- class: {
118
- show: (element, state) => state.activePersonalAccount
119
- ? { display: 'none' }
120
- : { display: 'block' }
121
- },
122
-
123
- header: {
124
- title: {},
125
- paragraphs: {
126
- extend: ColumnParagraphs,
127
- ...[
128
- { props: { text: `In this example we'll initialize a Symbols Design System for you.` } },
129
- { props: { text: `But we already initialized your system, let's just make sure it's all good.` } }
130
- ]
131
- }
132
- },
133
-
134
- content: {
135
- extend: Flex,
136
- sideUpload: {
137
- extend: CommonField,
138
- title: {},
139
- element: {
140
- extend: Flex,
141
- uploadIcon: {
142
- extend: Upload,
143
- icon: {},
144
- p: { span: null }
145
- },
146
- projectImg: { extend: DragNdropUser }
147
- }
148
- },
149
-
150
- fields
151
- },
152
- button: { extend: ContinueButton }
153
- }
@@ -1,118 +1,137 @@
1
1
  'use strict'
2
2
 
3
- export default ({ parent: { state: { __projectSystem } } }) => __projectSystem && ({
4
- data: [{
5
- icon: 'colorOutline',
6
- iconTheme: 'theme',
7
- title: 'colors',
8
- paragraph: 'Colorize styles manually',
9
- iconBackground: 'red',
10
- properties: [{
11
- property: 'Colors',
12
- value: __projectSystem.COLOR && Object.keys(__projectSystem.COLOR).length
13
- }, {
14
- property: 'Themes',
15
- value: __projectSystem.THEME && Object.keys(__projectSystem.THEME).length
16
- }]
17
- }, {
18
- icon: 'typographyOutline',
19
- iconTheme: 'typography',
20
- title: 'typography',
21
- paragraph: 'style a typed material',
22
- properties: [{
23
- property: 'Base size',
24
- value: __projectSystem.TYPOGRAPHY && __projectSystem.TYPOGRAPHY.base + 'px'
25
- }, {
26
- property: 'Ratio',
27
- value: __projectSystem.TYPOGRAPHY && __projectSystem.TYPOGRAPHY.ratio
28
- }, {
29
- property: 'Styles',
30
- value: __projectSystem.TYPOGRAPHY && __projectSystem.TYPOGRAPHY.styles && Object.keys(__projectSystem.TYPOGRAPHY.styles).length
31
- }, {
32
- property: 'Fonts',
33
- value: __projectSystem.FONT && Object.keys(__projectSystem.FONT).length
34
- }, {
35
- property: 'Families',
36
- value: __projectSystem.FONT_FAMILY && Object.keys(__projectSystem.FONT_FAMILY).length - 1
37
- }]
38
- }, {
39
- icon: 'spaceOutline',
40
- iconTheme: 'space',
41
- title: 'Spacing',
42
- paragraph: 'Manage properties of a size',
43
- properties: [{
44
- property: 'Ratio',
45
- value: __projectSystem.SPACING && __projectSystem.SPACING.ratio
46
- }, {
47
- property: 'Templates',
48
- value: 'TBA'
49
- }]
50
- }, {
51
- icon: 'shape',
52
- iconTheme: 'shape',
53
- title: 'shapes',
54
- paragraph: 'Design an outline to a chosen component',
55
- properties: [{
56
- property: 'HTML',
57
- value: '32'
58
- }, {
59
- property: 'SVG',
60
- value: 'TBA'
61
- }]
62
- }, {
63
- icon: 'iconsOutline',
64
- iconTheme: 'color',
65
- title: 'Icons',
66
- paragraph: 'Label a role of subject with glyphs',
67
- properties: [{
68
- property: 'All',
69
- value: __projectSystem.ICONS && Object.keys(__projectSystem.ICONS).length
3
+ export default ({ parent }) => {
4
+ const { state } = parent
5
+ const { __projectSystem } = state
6
+
7
+ if (!__projectSystem) return
8
+ const {
9
+ COLOR,
10
+ THEME,
11
+ TYPOGRAPHY,
12
+ FONT,
13
+ FONT_FAMILY,
14
+ SPACING,
15
+ ICONS,
16
+ TIMING,
17
+ MEDIA,
18
+ DEVICES
19
+ } = __projectSystem
20
+
21
+ return {
22
+ data: [{
23
+ icon: 'colorOutline',
24
+ iconTheme: 'theme',
25
+ title: 'colors',
26
+ paragraph: 'Colorize styles manually',
27
+ iconBackground: 'red',
28
+ properties: [{
29
+ property: 'Colors',
30
+ value: COLOR && Object.keys(COLOR).length
31
+ }, {
32
+ property: 'Themes',
33
+ value: THEME && Object.keys(THEME).length
34
+ }]
70
35
  }, {
71
- property: 'Linear',
72
- value: __projectSystem.ICONS && Object.keys(__projectSystem.ICONS).filter(v => v.includes('Outline')).length
36
+ icon: 'typographyOutline',
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
+ }]
73
56
  }, {
74
- property: 'Colored',
75
- value: __projectSystem.ICONS && Object.keys(__projectSystem.ICONS).filter(v => v.includes('Colored')).length
76
- }]
77
- }, {
78
- icon: 'clock',
79
- iconTheme: 'icons',
80
- title: 'Timing',
81
- paragraph: 'Tokens for transitions and animations',
82
- properties: [{
83
- property: 'Timing base',
84
- value: __projectSystem.TIMING && __projectSystem.TIMING.base + 'ms'
57
+ icon: 'spaceOutline',
58
+ iconTheme: 'space',
59
+ title: 'Spacing',
60
+ paragraph: 'Manage properties of a size',
61
+ properties: [{
62
+ property: 'Ratio',
63
+ value: SPACING && SPACING.ratio
64
+ }, {
65
+ property: 'Templates',
66
+ value: 'TBA'
67
+ }]
85
68
  }, {
86
- property: 'Ratio',
87
- value: __projectSystem.TIMING && __projectSystem.TIMING.ratio
69
+ icon: 'shape',
70
+ iconTheme: 'shape',
71
+ title: 'shapes',
72
+ paragraph: 'Design an outline to a chosen component',
73
+ properties: [{
74
+ property: 'HTML',
75
+ value: '32'
76
+ }, {
77
+ property: 'SVG',
78
+ value: 'TBA'
79
+ }]
88
80
  }, {
89
- property: 'Transitions',
90
- value: 'TBA'
81
+ icon: 'iconsOutline',
82
+ iconTheme: 'color',
83
+ title: 'Icons',
84
+ paragraph: 'Label a role of subject with glyphs',
85
+ properties: [{
86
+ property: 'All',
87
+ value: ICONS && Object.keys(ICONS).length
88
+ }, {
89
+ property: 'Linear',
90
+ value: ICONS && Object.keys(ICONS).filter(v => v.includes('Outline')).length
91
+ }, {
92
+ property: 'Colored',
93
+ value: ICONS && Object.keys(ICONS).filter(v => v.includes('Colored')).length
94
+ }]
91
95
  }, {
92
- property: 'Animations',
93
- value: 'TBA'
94
- }]
95
- }, {
96
- icon: 'deviceMobileOutline',
97
- title: 'Breakpoints',
98
- paragraph: 'Label a role of subject with glyphs',
99
- properties: [{
100
- property: 'Breakpoints',
101
- value: __projectSystem.MEDIA && Object.keys(__projectSystem.MEDIA).length
96
+ icon: 'clock',
97
+ iconTheme: 'icons',
98
+ title: 'Timing',
99
+ paragraph: 'Tokens for transitions and animations',
100
+ properties: [{
101
+ property: 'Timing base',
102
+ value: TIMING && TIMING.base + 'ms'
103
+ }, {
104
+ property: 'Ratio',
105
+ value: TIMING && TIMING.ratio
106
+ }, {
107
+ property: 'Transitions',
108
+ value: 'TBA'
109
+ }, {
110
+ property: 'Animations',
111
+ value: 'TBA'
112
+ }]
102
113
  }, {
103
- property: 'Screens',
104
- value: __projectSystem.DEVICES && Object.keys(__projectSystem.DEVICES).length
105
- }]
106
- }, {
107
- icon: 'threeDots',
108
- title: 'Sequence',
109
- paragraph: 'The mapping system of generative sizing units',
110
- properties: [{
111
- property: 'Breakpoints',
112
- value: '8'
114
+ icon: 'deviceMobileOutline',
115
+ title: 'Breakpoints',
116
+ paragraph: 'Label a role of subject with glyphs',
117
+ properties: [{
118
+ property: 'Breakpoints',
119
+ value: MEDIA && Object.keys(MEDIA).length
120
+ }, {
121
+ property: 'Screens',
122
+ value: DEVICES && Object.keys(DEVICES).length
123
+ }]
113
124
  }, {
114
- property: 'Screens',
115
- value: '3'
125
+ icon: 'threeDots',
126
+ title: 'Sequence',
127
+ paragraph: 'The mapping system of generative sizing units',
128
+ properties: [{
129
+ property: 'Breakpoints',
130
+ value: '8'
131
+ }, {
132
+ property: 'Screens',
133
+ value: '3'
134
+ }]
116
135
  }]
117
- }]
118
- })
136
+ }
137
+ }
@@ -1,6 +1,6 @@
1
1
  'use strict'
2
2
 
3
- import { ClickableItem } from '@symbo.ls/components'
3
+ import { ClickableItem, Link } from '@symbo.ls/components'
4
4
  import { DesignComponent } from '../../../components'
5
5
 
6
6
  import state from './state'
@@ -13,7 +13,7 @@ export const content = {
13
13
  },
14
14
 
15
15
  childExtend: {
16
- extend: [ClickableItem, DesignComponent],
16
+ extend: [Link, ClickableItem, DesignComponent],
17
17
  props: {
18
18
  maxWidth: 'none',
19
19
  width: '100%',
@@ -35,7 +35,7 @@ export default {
35
35
  title: { text: 'Name the project' },
36
36
  element: {
37
37
  extend: Input,
38
- props: ({ state }) => ({
38
+ props: ({ state }) => ({
39
39
  placeholder: 'You name it',
40
40
  value: state.projectName,
41
41
  required: true
@@ -70,7 +70,6 @@ export default {
70
70
 
71
71
  urlVisibility: {
72
72
  title: { text: 'URL Access' },
73
- title: {},
74
73
  element: {
75
74
  extend: [SelectField],
76
75
  props: {
@@ -1,6 +1,6 @@
1
1
  'use strict'
2
2
 
3
- import { fetch, observe, set, upload } from '@symbo.ls/based'
3
+ import { observe, set, upload } from '@symbo.ls/based'
4
4
  import { User } from '@symbo.ls/components'
5
5
  import { UploadImage } from '../../../components'
6
6
 
@@ -64,7 +64,7 @@ export const CreateProject = {
64
64
  extend: Personalize,
65
65
 
66
66
  back: null,
67
-
67
+
68
68
  HeaderHeading: {
69
69
  props: { margin: '- - D1 -' },
70
70
  Caption: { text: ({ state }) => `Hi ${state.userName}, let's start` },
@@ -78,7 +78,7 @@ export const CreateProject = {
78
78
  { props: { text: `You can connect Symbols to your app and style it online.` } }
79
79
  ]
80
80
  },
81
-
81
+
82
82
  Form: {
83
83
  state: {},
84
84
  Flex: {},