@symbo.ls/preview 0.0.9

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.
Files changed (117) hide show
  1. package/.babelrc.js +5 -0
  2. package/.coveralls.yml +1 -0
  3. package/.eslintignore +1 -0
  4. package/.eslintrc.js +15 -0
  5. package/.prettierrc +4 -0
  6. package/.symbols/button-archived/index.js +63 -0
  7. package/.symbols/button-archived/style.js +5 -0
  8. package/.symbols/button-circle/index.js +62 -0
  9. package/.symbols/button-contacts/index.js +48 -0
  10. package/.symbols/button-contacts/style.js +13 -0
  11. package/.symbols/button-download/index.js +59 -0
  12. package/.symbols/button-pro/index.js +98 -0
  13. package/.symbols/button-pro/style.js +19 -0
  14. package/.symbols/button-theme-switcher/index.js +104 -0
  15. package/.symbols/button-theme-switcher/style.js +16 -0
  16. package/.symbols/button-user/index.js +82 -0
  17. package/.symbols/button-user/style.js +25 -0
  18. package/.symbols/categories.js +44 -0
  19. package/.symbols/datepicker/index.js +40 -0
  20. package/.symbols/datepicker/style.js +4 -0
  21. package/.symbols/dropdown-list/index.js +56 -0
  22. package/.symbols/field/index.js +40 -0
  23. package/.symbols/index.js +33 -0
  24. package/.symbols/label/index.js +40 -0
  25. package/.symbols/notification/index.js +49 -0
  26. package/.symbols/notification/style.js +5 -0
  27. package/.symbols/pills/index.js +37 -0
  28. package/.symbols/tooltip/index.js +38 -0
  29. package/.vscode/settings.json +3 -0
  30. package/README.md +19 -0
  31. package/app.webmanifest +4 -0
  32. package/index.html +22 -0
  33. package/package.json +48 -0
  34. package/protect-pwd.js +65 -0
  35. package/src/animations.js +71 -0
  36. package/src/app.js +79 -0
  37. package/src/assets/dots.png +0 -0
  38. package/src/assets/dotsDark.png +0 -0
  39. package/src/assets/fonts/FiraGO/FiraGO-Bold.woff2 +0 -0
  40. package/src/assets/fonts/FiraGO/FiraGO-Light.woff2 +0 -0
  41. package/src/assets/fonts/FiraGO/FiraGO-Medium.woff2 +0 -0
  42. package/src/assets/fonts/FiraGO/FiraGO-Regular.woff2 +0 -0
  43. package/src/assets/fonts/europa-bold-webfont.woff2 +0 -0
  44. package/src/assets/fonts/europa-bolditalic-webfont.woff2 +0 -0
  45. package/src/assets/fonts/europa-light-webfont.woff2 +0 -0
  46. package/src/assets/fonts/europa-lightitalic-webfont.woff2 +0 -0
  47. package/src/assets/fonts/europa-regular-webfont.woff2 +0 -0
  48. package/src/assets/fonts/europa-regularitalic-webfont.woff2 +0 -0
  49. package/src/assets/ovalCircle.svg +9 -0
  50. package/src/components/Header.js +21 -0
  51. package/src/components/index.js +3 -0
  52. package/src/config/color.js +8 -0
  53. package/src/config/font.js +0 -0
  54. package/src/config/index.js +19 -0
  55. package/src/config/theme.js +85 -0
  56. package/src/dev.html +19 -0
  57. package/src/index.js +33 -0
  58. package/src/pages/Account/index.js +241 -0
  59. package/src/pages/Account/setUpProject.js +142 -0
  60. package/src/pages/Color/colors.js +58 -0
  61. package/src/pages/Color/documentThemes.js +101 -0
  62. package/src/pages/Color/index.js +20 -0
  63. package/src/pages/Color/style.js +7 -0
  64. package/src/pages/Color/themes.js +131 -0
  65. package/src/pages/ColorEditor/colorTone.js +163 -0
  66. package/src/pages/ColorEditor/friendTheme.js +30 -0
  67. package/src/pages/ColorEditor/index.js +178 -0
  68. package/src/pages/ColorEditor/interactivity.js +116 -0
  69. package/src/pages/ColorEditor/ntc.js +1689 -0
  70. package/src/pages/ColorEditor/style.js +49 -0
  71. package/src/pages/ColorEditor/themingTools.js +107 -0
  72. package/src/pages/Components/grid.js +94 -0
  73. package/src/pages/Components/index.js +40 -0
  74. package/src/pages/Components/sidebar.js +23 -0
  75. package/src/pages/Components/style.js +16 -0
  76. package/src/pages/DesignSystem/index.js +106 -0
  77. package/src/pages/DesignSystem/style.js +1 -0
  78. package/src/pages/Editor/index.js +46 -0
  79. package/src/pages/Editor/layers.js +126 -0
  80. package/src/pages/Editor/scene.js +97 -0
  81. package/src/pages/Editor/style.js +13 -0
  82. package/src/pages/Editor/tools.js +360 -0
  83. package/src/pages/Export/_tools_old.js +49 -0
  84. package/src/pages/Export/const.js +18 -0
  85. package/src/pages/Export/description.js +56 -0
  86. package/src/pages/Export/index.js +74 -0
  87. package/src/pages/Export/scene.js +62 -0
  88. package/src/pages/Export/state.js +21 -0
  89. package/src/pages/Export/style.js +21 -0
  90. package/src/pages/Export/tools.js +14 -0
  91. package/src/pages/Icons/index.js +72 -0
  92. package/src/pages/Icons/style.js +1 -0
  93. package/src/pages/Library/index.js +32 -0
  94. package/src/pages/Library/style.js +36 -0
  95. package/src/pages/PageExtend.js +12 -0
  96. package/src/pages/Shapes/index.js +161 -0
  97. package/src/pages/Shapes/style.js +28 -0
  98. package/src/pages/Spaces/boxModel.js +3 -0
  99. package/src/pages/Spaces/index.js +58 -0
  100. package/src/pages/Spaces/preview.js +133 -0
  101. package/src/pages/Spaces/sequence.js +3 -0
  102. package/src/pages/Spaces/state.js +18 -0
  103. package/src/pages/Spaces/style.js +30 -0
  104. package/src/pages/Typography/docFonts.js +128 -0
  105. package/src/pages/Typography/docStyles.js +97 -0
  106. package/src/pages/Typography/index.js +52 -0
  107. package/src/pages/Typography/shared.js +10 -0
  108. package/src/pages/Typography/state.js +15 -0
  109. package/src/pages/Typography/style.js +11 -0
  110. package/src/pages/Typography/typeScale.js +104 -0
  111. package/src/pages/index.js +13 -0
  112. package/src/protect.js +114 -0
  113. package/src/state.js +7 -0
  114. package/src/style.js +7 -0
  115. package/src/test.js +30 -0
  116. package/svgSprite.config.js +7 -0
  117. package/test/index.test.js +5 -0
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="42px" height="42px" viewBox="0 0 42 42" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>background</title>
4
+ <g id="Shapes" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
5
+ <g id="Layout-/-search-Copy-2" transform="translate(-108.000000, -692.000000)" fill="#343434">
6
+ <path d="M128.953339,692 C136.09022,692 142.88754,693.896232 146.769521,699.700559 C149.021728,702.985154 150,708.965227 150,713.663937 C150,719.129426 146.368619,723.297044 143.147153,727.241113 C139.362853,731.875632 135.358188,734 128.953339,734 C122.595297,734 118.147575,732.011998 114.203089,727.241113 C111.092387,723.479398 108,719.177968 108,713.663937 C108,708.660879 111.44532,702.199107 114.203089,698.395557 C117.970817,693.19769 122.107179,692 128.953339,692 Z" id="background"></path>
7
+ </g>
8
+ </g>
9
+ </svg>
@@ -0,0 +1,21 @@
1
+ 'use strict'
2
+
3
+ import { HeaderOfMember } from '@symbo.ls/components'
4
+
5
+ export const Header = {
6
+ style: {
7
+ position: 'sticky',
8
+ width: '100%',
9
+ top: 0,
10
+ zIndex: 1
11
+ },
12
+
13
+ define: { isFloating: param => param },
14
+
15
+ content: {
16
+ extend: HeaderOfMember,
17
+ props: {
18
+ maxWidth: '100%'
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,3 @@
1
+ 'use strict'
2
+
3
+ export * from './Header'
@@ -0,0 +1,8 @@
1
+ 'use strict'
2
+
3
+ export const EDITOR_COLORS = {
4
+ modalBackground: '#141414',
5
+ modalFade: '#0E0E0E',
6
+ shapeColor: '#343434',
7
+ darkPurple: '#1c172a'
8
+ }
File without changes
@@ -0,0 +1,19 @@
1
+ 'use strict'
2
+
3
+ import { init } from '@symbo.ls/components'
4
+
5
+ import { EDITOR_COLORS } from './color'
6
+ import { COMPONENT_THEMES, EDITOR_THEMES } from './theme'
7
+
8
+ const PREVIEW_CONF = {
9
+ color: {
10
+ blue2: '#4676EC',
11
+ ...EDITOR_COLORS
12
+ },
13
+ theme: {
14
+ ...EDITOR_THEMES,
15
+ ...COMPONENT_THEMES
16
+ }
17
+ }
18
+
19
+ init({ verbose: false, ...PREVIEW_CONF })
@@ -0,0 +1,85 @@
1
+ 'use strict'
2
+
3
+ import dots from '../assets/dots.png'
4
+ import dotsDark from '../assets/dotsDark.png'
5
+
6
+ const MODAL = {
7
+ modalFade: {
8
+ color: 'white',
9
+ backdropFilter: 'blur(3px)',
10
+ backgroundColor: 'modalFade 0.75'
11
+ },
12
+ modalBackground: {
13
+ color: 'white',
14
+ backgroundColor: 'modalBackground'
15
+ }
16
+ }
17
+
18
+ const SCENE = {
19
+ darkScene: {
20
+ backgroundColor: 'white 0.02',
21
+ '> div': { backgroundImage: `url(${dots})` }
22
+ },
23
+ lightScene: {
24
+ backgroundColor: 'white',
25
+ '> div': { backgroundImage: `url(${dotsDark})` }
26
+ }
27
+ }
28
+
29
+ const DROPDOWN = {
30
+ dropdownItem: {
31
+ color: 'white 0.65',
32
+ state: {
33
+ hover: {
34
+ color: 'white',
35
+ background: 'gradient-light-active'
36
+ },
37
+ active: {
38
+ color: 'white',
39
+ background: 'gradient-light-active'
40
+ }
41
+ }
42
+ },
43
+ dropdownItemActive: {
44
+ color: 'white',
45
+ background: 'gradient-light-active'
46
+ }
47
+ }
48
+
49
+ export const EDITOR_THEMES = {
50
+ header: {
51
+ color: 'white',
52
+ backgroundColor: 'black 0.85',
53
+ borderColor: 'white 0.09',
54
+ backdropFilter: 'blur(3px)'
55
+ },
56
+
57
+ shape: {
58
+ background: 'shapeColor',
59
+ border: 'none'
60
+ },
61
+
62
+ ...MODAL,
63
+ ...SCENE,
64
+ ...DROPDOWN
65
+ }
66
+
67
+ export const COMPONENT_THEMES = {
68
+ lightDark: {
69
+ background: 'white',
70
+ color: 'darkPurple',
71
+ variants: {
72
+ inverse: true
73
+ }
74
+ },
75
+
76
+ alert: {
77
+ background: 'yellow',
78
+ color: 'black'
79
+ },
80
+
81
+ label: {
82
+ background: 'brown',
83
+ color: 'white'
84
+ }
85
+ }
package/src/dev.html ADDED
@@ -0,0 +1,19 @@
1
+ <html background="#000">
2
+ <head>
3
+ <title>Symbols Editor</title>
4
+ <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
5
+ <meta name="apple-mobile-web-app-capable" content="yes">
6
+
7
+ <meta charset="UTF-8">
8
+
9
+ <meta name="author" content="SymbolsApp">
10
+ <meta name="keywords" content="UIkit, Design System, Platform, Javascript, CSS, Less, Sass, Component, React, Angular, Vue, Svelte, HTML, Haml, Jade, Bootstrap, Semantic UI, Material, ">
11
+ <meta name="description" content="Introducing a highly customizable UI kit to decorate your app from scratch. Our space shares all the tools and supplies to design desired components. ">
12
+
13
+ <link rel="manifest" href="../app.webmanifest" crossorigin="use-credentials">
14
+ </head>
15
+ <body background="#000">
16
+ <style type="text/css">body {background: #000;}</style>
17
+ <script src="./index.js"></script>
18
+ </body>
19
+ </html>
package/src/index.js ADDED
@@ -0,0 +1,33 @@
1
+ 'use strict'
2
+
3
+ import './config'
4
+ import DOM from 'domql'
5
+ import SYMBOLS_CONF from '@symbo.ls/config'
6
+ import style from './style'
7
+
8
+ import * as smbls from '@symbo.ls/components'
9
+
10
+ import App from './app'
11
+ import { Header } from './components'
12
+ import { Library } from './pages'
13
+
14
+ smbls.init({ verbose: false, ...SYMBOLS_CONF })
15
+
16
+ DOM.define({
17
+ __filepath: param => param,
18
+ $setCollection: smbls.Collection.define.$setCollection
19
+ })
20
+
21
+ // export default DOM.create(App, DevFocus, 'app', { TODO: try this
22
+ export default DOM.create({
23
+ extend: App,
24
+ style,
25
+
26
+ Header,
27
+ routes: {
28
+ '/': Library
29
+ }
30
+ }, undefined, 'app', {
31
+ extend: [smbls.Box],
32
+ components: { ...smbls }
33
+ })
@@ -0,0 +1,241 @@
1
+ 'use strict'
2
+
3
+ import { Text, Block, Link, SquareButton, Img, ClickableItem, SelectToolWithCaption, Grid, CheckButton } from '@symbo.ls/components'
4
+ // import { account } from '../SignUp'
5
+
6
+ import setUpProject from './setUpProject'
7
+
8
+ import PageExtend from '../PageExtend'
9
+ import { logout } from '@symbo.ls/auth'
10
+
11
+ const sideBar = {
12
+ tag: 'aside',
13
+ extend: Block,
14
+ style: {
15
+ height: '100%',
16
+ borderRight: '1px solid rgba(255, 255, 255, .06)'
17
+ },
18
+ props: {
19
+ flexFlow: 'column',
20
+ flexAlign: 'flex-start space-between',
21
+ padding: '0 C 0 0'
22
+ },
23
+ nav: {
24
+ extend: Block,
25
+ props: {
26
+ flexFlow: 'column',
27
+ gap: 'A1'
28
+ },
29
+ childExtend: {
30
+ tag: 'a',
31
+
32
+ extend: [SquareButton, Link, ClickableItem],
33
+ props: {
34
+ theme: 'quaternary',
35
+ padding: 0,
36
+ boxSize: 'B1 B1'
37
+ },
38
+ style: { padding: 0 }
39
+ },
40
+
41
+ personal: {
42
+ props: { icon: 'githubOutline' },
43
+ style: { svg: { color: 'white' } },
44
+
45
+ on: {
46
+ click: (ev, el, s) => {
47
+ s.update({ activeTab: el.key })
48
+ Link.on.click(ev, el, s)
49
+ }
50
+ }
51
+ },
52
+ project: {
53
+ style: {
54
+ borderRadius: '100%',
55
+ display: 'block'
56
+ },
57
+ image: {
58
+ extend: Img,
59
+ attr: {
60
+ // src: 'https://p194.p3.n0.cdn.getcloudapp.com/items/yAubz2KN/IMG_2375.jpg?v=c59a92ea47a959e386e952c3d84c08e5'
61
+ src: 'https://ui-avatars.com/api/?font-size=0.5&size=150&name=Rockstar'
62
+ },
63
+ style: {
64
+ width: '100%',
65
+ height: '100%',
66
+ borderRadius: '100%'
67
+ }
68
+ },
69
+
70
+ on: {
71
+ click: (ev, el, s) => {
72
+ s.update({ activeTab: el.key })
73
+ Link.on.click(ev, el, s)
74
+ }
75
+ }
76
+ },
77
+
78
+ add: {
79
+ props: { icon: 'plus' },
80
+ style: { svg: { color: 'rgba(255, 255, 255, .25)' } },
81
+
82
+ on: {
83
+ click: (ev, el, s) => {
84
+ s.update({ activeTab: el.key })
85
+ Link.on.click(ev, el, s)
86
+ }
87
+ }
88
+ }
89
+ },
90
+
91
+ nav2: {
92
+ tag: 'nav',
93
+ extend: Block,
94
+ props: {
95
+ flexFlow: 'column',
96
+ gap: 'A1'
97
+ },
98
+
99
+ style: { svg: { color: 'rgba(255, 255, 255, .25)' } },
100
+ childExtend: {
101
+ extend: [SquareButton, Link],
102
+ props: {
103
+ theme: 'quaternary',
104
+ padding: 0,
105
+ boxSize: 'B1 B1'
106
+ },
107
+ style: { padding: 0 }
108
+ },
109
+
110
+ info: { props: { icon: 'info' } },
111
+ logout: {
112
+ props: { icon: 'upload' },
113
+
114
+ on: {
115
+ click: (ev, el, s) => {
116
+ logout()
117
+ }
118
+ }
119
+ }
120
+ }
121
+ }
122
+
123
+ const fillFields = {
124
+ extend: [Block, Grid],
125
+ props: {
126
+ columns: 'repeat(2, 1fr)',
127
+ columnGap: 'C',
128
+ rowGap: 'C2'
129
+ },
130
+ childExtend: {
131
+ extend: SelectToolWithCaption,
132
+ style: {
133
+ '> input': { width: '270x', minWidth: '270px', height: '42px' }
134
+ },
135
+ caption: {},
136
+ element: {
137
+ style: {
138
+ minWidth: `${270 / 16}em`,
139
+ height: `${42 / 16}em`
140
+ },
141
+ buttons: { ...[{ props: { theme: 'transparent' } }] }
142
+ }
143
+ },
144
+ ...[
145
+ {
146
+ caption: { props: { text: 'Your Username' } },
147
+ element: {
148
+ tag: 'input',
149
+ attr: {
150
+ value: 'nikoloza'
151
+ }
152
+ }
153
+ },
154
+ {
155
+ caption: { props: { text: 'Your role' } },
156
+ element: {
157
+ title: { props: { text: 'Design' } }
158
+ }
159
+ },
160
+ {
161
+ caption: { props: { text: 'Country and region' } },
162
+ element: {
163
+ props: { gap: 'W' },
164
+ title: {
165
+ props: { text: 'Georgia' },
166
+
167
+ style: {
168
+ '&::before': {
169
+ content: '"🇬🇪"'
170
+ }
171
+ }
172
+ }
173
+ }
174
+ },
175
+
176
+ {
177
+ caption: { props: { text: 'Time-zone' } },
178
+ element: {
179
+ props: { gap: 'W' },
180
+ title: {
181
+ props: { text: 'Tbilisi(GMT+4)' }
182
+ }
183
+ }
184
+ }
185
+ ]
186
+ }
187
+
188
+ const personalAccount = {
189
+ extend: Block,
190
+ props: {
191
+ // padding: '0 0 0 E',
192
+ flexFlow: 'column',
193
+ flexAlign: 'flex-start flex-start',
194
+ gap: 'C2'
195
+ },
196
+ caption: {
197
+ extend: [Text, Block],
198
+ props: {
199
+ text: 'Your personal account'
200
+ }
201
+ },
202
+
203
+ fields: {
204
+ extend: { fillFields }
205
+ },
206
+ button: {
207
+ extend: CheckButton,
208
+ props: {
209
+ text: 'Save Updates'
210
+ },
211
+ style: {
212
+ background: '#0079FD',
213
+ '> svg': { color: 'white' },
214
+ '&:hover': { background: '#0079FD' }
215
+ }
216
+ }
217
+ }
218
+
219
+ export default {
220
+ extend: PageExtend,
221
+ props: {
222
+ flexAlign: 'flex-start flex-start',
223
+ padding: 'C1 0 D1 0',
224
+ gap: 'E'
225
+ },
226
+ define: { routes: param => param },
227
+ state: {
228
+ activeTab: 'personal'
229
+ },
230
+
231
+ sideBar,
232
+
233
+ routes: {
234
+ personal: personalAccount,
235
+ project: setUpProject
236
+ },
237
+
238
+ page: {
239
+ content: (el, s) => ({ extend: el.parent.routes[s.activeTab] })
240
+ }
241
+ }
@@ -0,0 +1,142 @@
1
+ 'use strict'
2
+
3
+ import { Text, Block, Img, SquareButton, SelectTool } from '@symbo.ls/components'
4
+ import { SetUp } from '..'
5
+
6
+ export default {
7
+ caption: {
8
+ extend: [Block, Text],
9
+ props: {
10
+ text: 'Settings for Rockstar',
11
+ padding: '0 0 C2 0'
12
+ }
13
+ },
14
+ content: {
15
+ extend: SetUp,
16
+ style: { padding: 0 },
17
+ upload: {
18
+ caption: {},
19
+ content: {
20
+ extend: Block,
21
+ props: {
22
+ flexFlow: 'column',
23
+ gap: 'A'
24
+ },
25
+ style: { padding: `${17 / 16}em ${28 / 16}em ${10 / 16}em ${28 / 16}em` },
26
+ input: {},
27
+ icon: {
28
+ extend: Img,
29
+ attr: {
30
+ // src: 'https://p194.p3.n0.cdn.getcloudapp.com/items/yAubz2KN/IMG_2375.jpg?v=c59a92ea47a959e386e952c3d84c08e5'
31
+ src: 'https://ui-avatars.com/api/?font-size=0.5&size=150&name=Rockstar'
32
+ },
33
+ style: {
34
+ width: '42px',
35
+ height: '42px',
36
+ borderRadius: '100%',
37
+ opacity: 1
38
+ }
39
+ },
40
+ p: null,
41
+ buttons: {
42
+ extend: Block,
43
+ props: {
44
+ flexAlign: 'center space-between',
45
+ gap: 'Y'
46
+ },
47
+ childExtend: {
48
+ extend: SquareButton,
49
+ props: { theme: 'quaternary', round: 'Y' },
50
+ style: {
51
+ padding: 0,
52
+ width: `${24 / 16}em`,
53
+ height: `${24 / 16}em`
54
+ }
55
+ },
56
+ ...[
57
+ { props: { icon: 'info' } },
58
+ { props: { icon: 'trash' } }
59
+ ]
60
+ }
61
+ }
62
+ },
63
+
64
+ proj: {
65
+ fields: {
66
+ ...[
67
+ {
68
+ caption: {},
69
+ element: {
70
+ props: {
71
+ placeholder: null,
72
+ value: 'Rockstar, Inc'
73
+ }
74
+ }
75
+ },
76
+
77
+ {
78
+ caption: { props: { text: 'Project ID' } },
79
+ element: {
80
+ props: {
81
+ placeholder: null,
82
+ value: 'rockstarq'
83
+ }
84
+ }
85
+ },
86
+
87
+ {
88
+ style: { gridColumnEnd: 'span 1' },
89
+ caption: {},
90
+ element: {
91
+ title: { props: { text: 'Password protected' } }
92
+ }
93
+ },
94
+
95
+ {
96
+ caption: { style: { opacity: 0, color: 'black' } },
97
+ element: {
98
+ title: {
99
+ tag: 'input',
100
+ style: {
101
+ border: 'none',
102
+ outline: 'none',
103
+ background: 'transparent',
104
+ color: 'white'
105
+ },
106
+ attr: {
107
+ type: 'password'
108
+ }
109
+ },
110
+ buttons: {
111
+ ...[{ props: { icon: 'colorblindAltOutline', theme: 'quaternary' } }]
112
+ }
113
+ }
114
+ },
115
+
116
+ {
117
+ caption: { props: { text: 'Design tool' } },
118
+ element: {
119
+ title: {
120
+ props: { text: 'Figma' },
121
+ style: { color: 'white' }
122
+ }
123
+ }
124
+ },
125
+
126
+ {
127
+ caption: { props: { text: 'UI Framework' } },
128
+ element: {
129
+ extend: SelectTool,
130
+ title: {
131
+ props: { text: 'React' },
132
+ style: { color: 'white' }
133
+ },
134
+ buttons: { ...[{ props: { theme: 'transparent' } }] }
135
+ }
136
+ }
137
+
138
+ ]
139
+ }
140
+ }
141
+ }
142
+ }
@@ -0,0 +1,58 @@
1
+ 'use strict'
2
+
3
+ import { Button, SectionHeader, ColorTemplate } from '@symbo.ls/components'
4
+
5
+ export default {
6
+ tag: 'section',
7
+ header: {
8
+ extend: SectionHeader,
9
+ props: { padding: 'C 0 0 0' },
10
+ heading: {
11
+ caption: 'Color Palette',
12
+ p: { text: 'Document styling and theming' }
13
+ }
14
+ },
15
+ nav: {
16
+ style: {
17
+ display: 'flex',
18
+ gap: '1.2em',
19
+ alignItems: 'center'
20
+ },
21
+ colors: {
22
+ style: {
23
+ display: 'flex',
24
+ gap: '12px'
25
+ },
26
+
27
+ content: (el, s) => {
28
+ if (!el.__root.state.CONFIG) return
29
+ const { COLOR } = el.__root.state.CONFIG
30
+
31
+ const Colors = {}
32
+ Object.keys(COLOR).map(v => {
33
+ Colors[v] = { state: COLOR[v] }
34
+ })
35
+
36
+ return {
37
+ childExtend: ColorTemplate,
38
+ tag: 'fragment',
39
+
40
+ ...Colors
41
+ }
42
+ }
43
+ },
44
+ plus: {
45
+ extend: Button,
46
+ props: {
47
+ round: 8,
48
+ icon: 'plus'
49
+ },
50
+ style: {
51
+ height: `26px`,
52
+ width: `26px`,
53
+ background: 'rgba(255, 255, 255, .06)',
54
+ color: 'white'
55
+ }
56
+ }
57
+ }
58
+ }