@symbo.ls/preview 0.0.52 → 0.0.54

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 CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@symbo.ls/preview",
3
3
  "description": "",
4
4
  "author": "",
5
- "version": "0.0.52",
5
+ "version": "0.0.54",
6
6
  "repository": "https://github.com/rackai/editor",
7
7
  "main": "src/index.js",
8
8
  "scripts": {
package/src/app.js CHANGED
@@ -19,12 +19,11 @@ Object.keys(DesignSystem.routes).map(route => {
19
19
  SUB_ROUTES[route] = {
20
20
  extend: DesignSystem,
21
21
  page: {
22
- sidebar: {},
23
- main: {
22
+ DesignSystemNavbar: {},
23
+ Page: {
24
24
  extend: DesignSystem.routes[route]
25
25
  }
26
- },
27
- __filepath: 'pages/index.js'
26
+ }
28
27
  }
29
28
  })
30
29
 
@@ -0,0 +1,53 @@
1
+ 'use strict'
2
+
3
+ import { Link, ClickableItem, TooltipParent } from '@symbo.ls/components'
4
+ import { Flex, SquareButton } from 'smbls'
5
+
6
+ export const NavbarButton = {
7
+ extend: [ClickableItem, Link, SquareButton, TooltipParent],
8
+
9
+ props: ({ state }) => ({
10
+ href: state.href,
11
+ active: window.location.pathname.includes(state.href),
12
+ theme: null,
13
+ position: 'relative',
14
+ style: {
15
+ '&:hover, &:focus-visible': {
16
+ '& [tooltip]': {
17
+ transform: 'translate3d(0%,-50%,0)'
18
+ }
19
+ }
20
+ }
21
+ }),
22
+
23
+ Tooltip: ({ state }) => ({
24
+ background: 'black .95',
25
+ position: 'absolute',
26
+ pointerEvents: 'none',
27
+ top: '50%',
28
+ left: '100%',
29
+ shape: 'rectangle',
30
+ shapeDirection: null,
31
+ padding: 'X2 Z1',
32
+ transform: 'translate3d(5%, -50%, 0)',
33
+ opacity: '0',
34
+ visibility: 'hidden',
35
+ transition: 'B default-bezier',
36
+ transitionProperty: 'opacity, transform',
37
+ textAlign: 'start',
38
+ zIndex: 9999,
39
+ lineHeight: 1,
40
+ title: {
41
+ fontSize: 'Z',
42
+ text: state.tooltip
43
+ },
44
+ p: { text: null }
45
+ })
46
+ }
47
+
48
+ export const DesignSystemNavbar = {
49
+ tag: 'nav',
50
+ extend: Flex,
51
+
52
+ childExtend: NavbarButton
53
+ }
@@ -0,0 +1,60 @@
1
+ 'use strict'
2
+
3
+ import { copyStringToClipboard } from '@symbo.ls/utils'
4
+ import { ClickableItem, Link, IconText } from '@symbo.ls/components'
5
+
6
+ const IconItem = {
7
+ extend: [ClickableItem, Link, IconText],
8
+
9
+ props: ({ state }) => ({
10
+ round: 'A',
11
+ size: 'C1',
12
+ scrollToTop: false,
13
+ aspectRatio: '1 / 1',
14
+ flexAlign: 'center center',
15
+ href: '/icons/edit-icon/' + state.value,
16
+ theme: 'tertiary',
17
+ icon: {
18
+ fontSize: 'C2',
19
+ name: state.value
20
+ }
21
+ }),
22
+
23
+ on: {
24
+ click: (event, element, state) => {
25
+ copyStringToClipboard(state.value)
26
+ Link.on.click(event, element, state)
27
+ }
28
+ }
29
+ }
30
+
31
+ export const IconsGroup = {
32
+ state: { toggleShow: true },
33
+ props: ({ state }) => ({
34
+ hide: !Object.keys(state.list).length
35
+ }),
36
+
37
+ SectionHeader: {
38
+ extend: true,
39
+ heading: {},
40
+ nav: {
41
+ add: {
42
+ props: {
43
+ icon: 'plus',
44
+ href: '/icons/add-icon'
45
+ }
46
+ }
47
+ }
48
+ },
49
+
50
+ Grid: {
51
+ props: ({ state }) => ({
52
+ hide: !state.toggleShow,
53
+ columns: 'repeat(12, 1fr)',
54
+ gap: 'Z',
55
+ margin: '- -Z2'
56
+ }),
57
+ childExtend: IconItem,
58
+ $setStateCollection: ({ state }) => state.list
59
+ }
60
+ }
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { PageTemplate } from '@symbo.ls/components'
4
4
 
5
- export const PageExtend = {
5
+ export const Page = {
6
6
  tag: 'main',
7
7
  extend: PageTemplate,
8
8
 
@@ -0,0 +1 @@
1
+ 'use strict'
@@ -0,0 +1 @@
1
+ 'use strict'
@@ -1,8 +1,14 @@
1
1
  'use strict'
2
2
 
3
+ export * from './Widget'
4
+ export * from './Route'
5
+ export * from './Page'
3
6
  export * from './Header'
7
+ export * from './Aside'
8
+
4
9
  export * from './Banner'
5
10
  export * from './ShapeSet'
6
11
  export * from './ShapePreview'
7
12
  export * from './SpacingPreview'
8
13
  export * from './ResponsivePreview'
14
+ export * from './IconsGroup'
package/src/index.js CHANGED
@@ -7,9 +7,9 @@ import style from './style'
7
7
 
8
8
  import 'smbls'
9
9
  import * as smbls from '@symbo.ls/components'
10
+ import * as components from './components'
10
11
 
11
12
  import App from './app'
12
- import { Header } from './components'
13
13
  import { Library } from './pages'
14
14
  import { router, lastLevel } from '@domql/router'
15
15
 
@@ -28,13 +28,13 @@ const app = DOM.create({
28
28
  extend: App,
29
29
  style,
30
30
 
31
- header: Header,
31
+ header: components.Header,
32
32
  routes: {
33
33
  '/': Library
34
34
  }
35
35
  }, undefined, 'app', {
36
36
  extend: [smbls.Box],
37
- components: { ...smbls },
37
+ components: { ...smbls, ...components },
38
38
  context
39
39
  })
40
40
 
@@ -5,7 +5,7 @@ import { Text, Block, Link, SquareButton, Img, ClickableItem, SelectFieldWithCap
5
5
 
6
6
  import setUpProject from './setUpProject'
7
7
 
8
- import PageExtend from '../PageExtend'
8
+ import Page from '../Page'
9
9
  import { logout } from '@symbo.ls/auth'
10
10
 
11
11
  const sideBar = {
@@ -217,7 +217,7 @@ const personalAccount = {
217
217
  }
218
218
 
219
219
  export default {
220
- extend: PageExtend,
220
+ extend: Page,
221
221
  props: {
222
222
  flexAlign: 'flex-start flex-start',
223
223
  padding: 'C1 0 D1 0',
@@ -2,23 +2,17 @@
2
2
 
3
3
  import { router } from '@domql/router'
4
4
 
5
- import { DesignSystemDashboard } from './Dashboard'
6
- import {
7
- ClickableItem,
8
- Flex,
9
- Link,
10
- SquareButton,
11
- TooltipParent
12
- } from '@symbo.ls/components'
5
+ import { Flex } from '@symbo.ls/components'
13
6
 
14
7
  import {
8
+ Page,
15
9
  ShapePreview,
16
10
  ResponsivePreview,
17
11
  SpacingPreview
18
12
  } from '../../components'
19
13
 
14
+ import { DesignSystemDashboard } from './Dashboard'
20
15
  import {
21
- PageExtend,
22
16
  Color,
23
17
  Theme,
24
18
  Shapes,
@@ -120,28 +114,9 @@ export const DesignSystem = {
120
114
  maxWidth: '100%',
121
115
  width: '100%',
122
116
  flow: 'column',
123
- gap: 'B1'
124
- },
125
-
126
- define: { routes: param => param },
127
- routes: {
128
- '/design-system': DesignSystemDashboard,
129
- '/colors': Color,
130
- '/theme': Theme,
131
- '/typography': Typography,
132
- '/space': Spaces,
133
- '/shape': Shapes,
134
- '/fonts': Fonts,
135
- '/icons': Icons,
136
- '/media-query': MediaQuery
137
- // '/sequence': Sequence,
138
- // '/timing': Timing,
139
- },
140
-
141
- page: {
142
- extend: PageExtend,
117
+ gap: 'B1',
143
118
 
144
- props: {
119
+ page: {
145
120
  maxWidth: '100%',
146
121
  width: '100%',
147
122
  flow: 'row',
@@ -150,7 +125,7 @@ export const DesignSystem = {
150
125
  gap: 'B1',
151
126
  padding: 'D2 A C1',
152
127
 
153
- sidebar: {
128
+ DesignSystemNavbar: {
154
129
  gap: 'B1',
155
130
  flow: 'column',
156
131
  background: 'transparent',
@@ -160,77 +135,49 @@ export const DesignSystem = {
160
135
  top: 'E'
161
136
  },
162
137
 
163
- main: {
138
+ Page: {
139
+ padding: 'X2 C1 B1',
164
140
  flex: 1
165
141
  }
166
142
  },
167
143
 
168
- sidebar: {
169
- tag: 'nav',
170
- extend: Flex,
171
-
172
- childExtend: {
173
- extend: [ClickableItem, Link, SquareButton, TooltipParent],
174
- props: ({ state }) => ({
175
- href: state.href,
176
- active: window.location.pathname.includes(state.href),
177
- theme: null,
178
- position: 'relative',
179
- style: {
180
- '&:hover, &:focus-visible': {
181
- '& [tooltip]': {
182
- transform: 'translate3d(0%,-50%,0)'
183
- }
184
- }
185
- }
186
- }),
187
- Tooltip: ({ state }) => ({
188
- background: 'black .95',
189
- position: 'absolute',
190
- pointerEvents: 'none',
191
- top: '50%',
192
- left: '100%',
193
- shape: 'rectangle',
194
- shapeDirection: null,
195
- padding: 'X2 Z1',
196
- transform: 'translate3d(10%, -50%, 0)',
197
- opacity: '0',
198
- visibility: 'hidden',
199
- transition: 'B default-bezier',
200
- transitionProperty: 'opacity, transform',
201
- textAlign: 'start',
202
- zIndex: 9999,
203
- lineHeight: 1,
204
- title: {
205
- fontSize: 'Z',
206
- text: state.tooltip
207
- },
208
- p: { text: null }
209
- })
210
- },
211
-
212
- ...NAV
213
- },
214
-
215
- main: {
216
- tag: 'section',
217
- extend: PageExtend,
218
- props: {
219
- padding: 'X2 C1 B1'
220
- }
221
- }
222
- },
223
-
224
- widget: {
225
- props: {
144
+ widget: {
226
145
  padding: 'A',
227
146
  position: 'sticky',
228
147
  width: '100%',
229
148
  zIndex: 9999,
230
149
  bottom: '0'
150
+ }
151
+ },
152
+
153
+ define: { routes: param => param },
154
+ routes: {
155
+ '/design-system': DesignSystemDashboard,
156
+ '/colors': Color,
157
+ '/theme': Theme,
158
+ '/typography': Typography,
159
+ '/space': Spaces,
160
+ '/shape': Shapes,
161
+ '/fonts': Fonts,
162
+ '/icons': Icons,
163
+ '/media-query': MediaQuery
164
+ // '/sequence': Sequence,
165
+ // '/timing': Timing,
166
+ },
167
+
168
+ page: {
169
+ extend: Page,
170
+
171
+ DesignSystemNavbar: {
172
+ props: {},
173
+ ...NAV
231
174
  },
232
175
 
233
- state: ({ parent }) => ({ __ref: parent.page.main.state }),
176
+ Page: {}
177
+ },
178
+
179
+ widget: {
180
+ state: ({ parent }) => ({ __ref: parent.page.Page.state }),
234
181
 
235
182
  define: { routes: param => param },
236
183
  routes: {
@@ -3,7 +3,7 @@
3
3
  import { router, lastLevel } from '@domql/router' // eslint-disable-line no-unused-vars
4
4
 
5
5
  import { Flex } from '@symbo.ls/components'
6
- import { PageExtend } from '../PageExtend'
6
+ import { Page } from '../../components'
7
7
 
8
8
  import state from './state'
9
9
  import scene from './scene'
@@ -61,7 +61,7 @@ export const Export = {
61
61
  },
62
62
 
63
63
  cnt: {
64
- extend: [PageExtend],
64
+ extend: [Page],
65
65
 
66
66
  props: {
67
67
  padding: 'Z2 C1 A',
@@ -35,7 +35,6 @@ export default {
35
35
  },
36
36
  on: {
37
37
  click: (ev, el, s) => {
38
- console.log(s.direction)
39
38
  s.update({
40
39
  direction: s.direction === 'rtl' ? 'ltr' : 'rtl'
41
40
  })
@@ -1,9 +1,5 @@
1
1
  'use strict'
2
2
 
3
- import { copyStringToClipboard } from '@symbo.ls/utils'
4
-
5
- import { IconText, Flex, Link, ClickableItem, SectionHeader, Grid } from '@symbo.ls/components'
6
-
7
3
  import * as ACCESSIBILITY from '@symbo.ls/icons/src/accessibility'
8
4
  import * as BOXMODEL from '@symbo.ls/icons/src/boxModel'
9
5
  import * as DISPLAY from '@symbo.ls/icons/src/display'
@@ -16,64 +12,17 @@ import * as SVG from '@symbo.ls/icons/src/svg'
16
12
  import * as TECH from '@symbo.ls/icons/src/tech'
17
13
  import * as TEXT from '@symbo.ls/icons/src/text'
18
14
 
19
- const IconItem = {
20
- extend: [ClickableItem, Link, IconText],
21
- props: ({ state }) => ({
22
- round: 'A',
23
- size: 'C1',
24
- scrollToTop: false,
25
- aspectRatio: '1 / 1',
26
- flexAlign: 'center center',
27
- href: '/icons/edit-icon/' + state.value,
28
- theme: 'tertiary',
29
- icon: {
30
- fontSize: 'C2',
31
- name: state.value
32
- }
33
- }),
34
- on: {
35
- click: (event, element, state) => {
36
- copyStringToClipboard(state.value)
37
- Link.on.click(event, element, state)
38
- }
39
- }
40
- }
41
-
42
- const IconsGroup = {
43
- state: { toggleShow: true },
44
- props: ({ state }) => ({ hide: !Object.keys(state.list).length }),
45
-
46
- header: { extend: SectionHeader },
47
-
48
- iconSet: {
49
- extend: Grid,
50
- props: ({ state }) => ({
51
- hide: !state.toggleShow,
52
- columns: 'repeat(12, 1fr)',
53
- gap: 'Z',
54
- margin: '- -Z2'
55
- }),
56
-
57
- childExtend: IconItem,
58
- $setStateCollection: ({ state }) => state.list
59
- }
60
- }
15
+ import { IconsGroup } from '../../components'
61
16
 
62
17
  const ArraizeIconsCategory = (library, state) => {
63
18
  const list = Object.keys(library)
64
- if (state.searched) return list.filter(value => console.log(value, state.searched, value.includes(state.searched)) || value.includes(state.searched))
19
+ if (state.searched) return list.filter(value => value.includes(state.searched))
65
20
  return list
66
21
  }
67
22
 
68
23
  const ICON_GROUPS = state => [{
69
24
  title: 'Document Icons',
70
25
  p: 'All ungrouped document icons',
71
-
72
- nav: [{
73
- icon: 'plus',
74
- href: '/icons/add-icon'
75
- }],
76
-
77
26
  list: ArraizeIconsCategory(SVG, state)
78
27
  }, {
79
28
  title: 'Accessibility',
@@ -110,8 +59,9 @@ const ICON_GROUPS = state => [{
110
59
  export const Icons = {
111
60
  state: {},
112
61
 
113
- header: {
114
- extend: SectionHeader,
62
+ SectionHeader: {
63
+ extend: true,
64
+
115
65
  heading: {
116
66
  title: 'Icons',
117
67
  p: 'Unlike typography, component may has the properties of padding, gap, width and rest.'
@@ -127,8 +77,7 @@ export const Icons = {
127
77
 
128
78
  Line: {},
129
79
 
130
- cnt: {
131
- extend: Flex,
80
+ Flex: {
132
81
  props: {
133
82
  flow: 'column',
134
83
  gap: 'D1'
@@ -1,29 +1,29 @@
1
1
  'use strict'
2
2
 
3
- import { grid } from './style'
3
+ import { ComponentTemplate } from '@symbo.ls/components'
4
+ import { Page } from '../../components'
4
5
 
5
- import { SectionHeader, ComponentTemplate, Grid } from '@symbo.ls/components'
6
-
7
- import { PageExtend } from '..'
8
6
  import { LIBRARY } from '../../../.symbols'
9
7
 
10
8
  export const Library = {
11
- extend: PageExtend,
9
+ extend: Page,
12
10
 
13
- header: {
14
- extend: [SectionHeader],
15
- state: {
16
- title: 'My Symbols',
17
- p: 'This is the first collection of your components'
18
- }
11
+ SectionHeader: {
12
+ title: 'My Symbols',
13
+ p: 'This is the first collection of your components'
19
14
  },
20
15
 
21
- grid: {
22
- extend: Grid,
16
+ Grid: {
23
17
  props: {
24
18
  flex: 1,
25
- margin: '- -Z2',
26
- style: grid
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
27
  },
28
28
 
29
29
  childExtend: ComponentTemplate,
@@ -64,7 +64,6 @@ const BreakpointItem = {
64
64
  const { value } = el.node
65
65
  const exact = value === 'exact'
66
66
  s.update({ type: value }, { preventUpdate: true })
67
- console.log(s.parent.parent)
68
67
  s.parent.update({
69
68
  exact,
70
69
  breakpoints: {
@@ -221,7 +221,6 @@ export default {
221
221
  const propKey = state.value
222
222
  const active = tableState.props[propKey] === rowState.key
223
223
  if (active) {
224
- console.log('clicked')
225
224
  delete tableState.props[propKey] && tableState.update()
226
225
  } else {
227
226
  const allKeys = Object.keys(tableState.props)
@@ -230,8 +229,6 @@ export default {
230
229
  return v.includes(splitInWords[0]) && v.includes(splitInWords[1])
231
230
  })
232
231
  .forEach(v => delete tableState.props[v])
233
- console.log('clicked2')
234
-
235
232
  tableState.update({ props: { [propKey]: rowState.key } })
236
233
  }
237
234
  }
@@ -1,6 +1,5 @@
1
1
  'use strict'
2
2
 
3
- export * from './PageExtend'
4
3
  export * from './Components'
5
4
  export * from './Export'
6
5
  export * from './Fonts'
@@ -12,5 +11,4 @@ export * from './Shapes'
12
11
  export * from './Spaces'
13
12
  export * from './Typography'
14
13
  export * from './MediaQuery'
15
-
16
14
  export * from './DesignSystem'
@@ -1,36 +0,0 @@
1
- 'use strict'
2
-
3
- export const grid = {
4
- gridTemplateColumns: 'repeat(12, 1fr)',
5
- gridAutoFlow: 'dense',
6
- justifyItems: 'stretch',
7
- boxSizing: 'border-box',
8
- marginBottom: '2em',
9
- gap: '1em',
10
- gridAutoColumns: 'auto',
11
- gridAutoRows: 'auto',
12
-
13
- '@media only screen and (min-width: 1680px)': {
14
- gridTemplateColumns: 'repeat(12, 1fr)'
15
- }
16
- }
17
-
18
- export const styleFamilyBundle = {
19
- display: 'flex',
20
- alignItems: 'center',
21
- justifyContent: 'space-between',
22
- width: '50em',
23
- '> div': {
24
- display: 'flex',
25
- alignItems: 'center'
26
- },
27
- img: {
28
- width: '32px',
29
- height: '32px'
30
- },
31
- button: {
32
- '&:first-child': {
33
- marginRight: '8px'
34
- }
35
- }
36
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes