@symbo.ls/preview 2.0.7 → 2.6.0

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 (216) hide show
  1. package/{src/pages/Export → .legacy}/_tools_old.js +7 -6
  2. package/.legacy/index copy.js +45 -0
  3. package/{src/pages/Spaces → .legacy}/preview.js +14 -14
  4. package/{src/pages/Spaces → .legacy}/style.js +0 -3
  5. package/.vscode/extensions.json +5 -0
  6. package/index.html +4 -14
  7. package/index.js +44 -0
  8. package/package.json +32 -32
  9. package/src/app.js +30 -68
  10. package/src/assets/dark.png +0 -0
  11. package/src/assets/mask1.png +0 -0
  12. package/src/assets/mask2.png +0 -0
  13. package/src/assets/shapes.png +0 -0
  14. package/src/assets/space.png +0 -0
  15. package/src/assets/type.png +0 -0
  16. package/src/components/Aside.js +101 -0
  17. package/src/components/Banner.js +58 -0
  18. package/src/components/ColorText.js +29 -0
  19. package/src/components/ColorsPalette.js +69 -0
  20. package/src/components/ColumnParagrphs.js +23 -0
  21. package/src/components/ContinueButton.js +14 -0
  22. package/src/components/DesignComponent.js +80 -0
  23. package/src/components/FontText.js +193 -0
  24. package/src/components/Header.js +50 -0
  25. package/src/components/HeaderHeading.js +23 -0
  26. package/src/components/IconsGroup.js +60 -0
  27. package/src/components/Page.js +135 -0
  28. package/src/components/ResponsivePreview.js +44 -0
  29. package/src/components/Route.js +1 -0
  30. package/src/components/ShapePreview.js +63 -0
  31. package/src/components/ShapeSet.js +85 -0
  32. package/src/components/SlidersWithResponsive.js +23 -0
  33. package/src/components/SpacingButton/actionButtons.js +41 -0
  34. package/src/components/SpacingButton/dropdown.js +114 -0
  35. package/src/components/SpacingButton/index.js +248 -0
  36. package/src/components/SpacingButton/props.js +45 -0
  37. package/src/components/SpacingPreview.js +154 -0
  38. package/src/components/SpacingTable.js +210 -0
  39. package/src/components/ThemeButtons.js +42 -0
  40. package/src/components/UploadImage.js +61 -0
  41. package/src/components/Widget.js +1 -0
  42. package/src/components/index.js +25 -0
  43. package/src/config/index.js +12 -31
  44. package/src/config/theme.js +1 -71
  45. package/src/pages/Account/__/index.js +241 -0
  46. package/src/pages/Account/{setUpProject.js → __/setUpProject.js} +10 -10
  47. package/src/pages/Account/index.js +17 -147
  48. package/src/pages/Color/globalThemes.js +30 -0
  49. package/src/pages/Color/index.js +7 -10
  50. package/src/pages/Color/palette.js +35 -0
  51. package/src/pages/Color/themes.js +23 -117
  52. package/src/pages/Components/grid.js +99 -0
  53. package/src/pages/Components/index.js +37 -0
  54. package/src/pages/Components/sidebar.js +28 -0
  55. package/src/pages/Components/style.js +16 -0
  56. package/src/pages/DesignSystem/Dashboard/banners.js +38 -0
  57. package/src/pages/DesignSystem/Dashboard/designElements.js +124 -0
  58. package/src/pages/DesignSystem/Dashboard/index.js +22 -0
  59. package/src/pages/DesignSystem/Dashboard/quickstart.js +86 -0
  60. package/src/pages/DesignSystem/Dashboard/state.js +118 -0
  61. package/src/pages/DesignSystem/Dashboard/summary.js +40 -0
  62. package/src/pages/DesignSystem/index.js +187 -0
  63. package/src/pages/Editor/index.js +7 -9
  64. package/src/pages/Editor/layers.js +14 -14
  65. package/src/pages/Editor/scene.js +7 -9
  66. package/src/pages/Editor/tools.js +22 -22
  67. package/src/pages/Export/const.js +3 -4
  68. package/src/pages/Export/description.js +58 -87
  69. package/src/pages/Export/gist.js +23 -0
  70. package/src/pages/Export/index.js +48 -39
  71. package/src/pages/Export/scene.js +98 -61
  72. package/src/pages/Export/state.js +11 -5
  73. package/src/pages/Export/tools.js +41 -86
  74. package/src/pages/Fonts/fontFaces.js +50 -0
  75. package/src/pages/Fonts/fontFamilies.js +47 -0
  76. package/src/pages/Fonts/index.js +15 -0
  77. package/src/pages/Fonts/state.js +5 -0
  78. package/src/pages/Icons/index.js +73 -69
  79. package/src/pages/Icons/style.js +0 -18
  80. package/src/pages/Init/ChooseEnvironment.js +104 -0
  81. package/src/pages/Init/CreateDocumentTheme.js +166 -0
  82. package/src/pages/Init/CreatePalette.js +72 -0
  83. package/src/pages/Init/FontText.js +23 -0
  84. package/src/pages/Init/Personalize/fields.js +109 -0
  85. package/src/pages/Init/Personalize/icon.js +42 -0
  86. package/src/pages/Init/Personalize/index.js +37 -0
  87. package/src/pages/Init/index.js +36 -0
  88. package/src/pages/Library/disabled.js +38 -0
  89. package/src/pages/Library/index.js +24 -47
  90. package/src/pages/MediaQuery/index.js +46 -0
  91. package/src/pages/MediaQuery/lists.js +285 -0
  92. package/src/pages/MediaQuery/state.js +150 -0
  93. package/src/pages/MediaQuery/typeScale.js +69 -0
  94. package/src/pages/Shapes/index.js +54 -204
  95. package/src/pages/Shapes/shapeSet.js +133 -0
  96. package/src/pages/Shapes/style.js +0 -28
  97. package/src/pages/Spaces/index.js +23 -47
  98. package/src/pages/Spaces/sequence.js +30 -1
  99. package/src/pages/Spaces/state.js +12 -14
  100. package/src/pages/State/index.js +86 -0
  101. package/src/pages/{ColorEditor → Theme}/friendTheme.js +3 -3
  102. package/src/pages/Theme/index.js +197 -0
  103. package/src/pages/{ColorEditor → Theme}/interactivity.js +6 -7
  104. package/src/pages/Theme/preview.js +153 -0
  105. package/src/pages/{ColorEditor → Theme}/style.js +1 -12
  106. package/src/pages/{ColorEditor → Theme}/themingTools.js +12 -12
  107. package/src/pages/Typography/collection.js +110 -0
  108. package/src/pages/Typography/documentStyles.js +125 -0
  109. package/src/pages/Typography/index.js +28 -36
  110. package/src/pages/Typography/rangeButtons.js +58 -0
  111. package/src/pages/Typography/shared.js +2 -3
  112. package/src/pages/Typography/state.js +9 -8
  113. package/src/pages/Typography/stylesHelpers.js +30 -0
  114. package/src/pages/Typography/typeScale.js +63 -82
  115. package/src/pages/index.js +15 -23
  116. package/src/style.js +15 -12
  117. package/svgSprite.config.js +2 -1
  118. package/README.md +0 -19
  119. package/app.webmanifest +0 -4
  120. package/netlify.toml +0 -19
  121. package/protect-pwd.js +0 -65
  122. package/src/animations.js +0 -71
  123. package/src/assets/dots.png +0 -0
  124. package/src/assets/dotsDark.png +0 -0
  125. package/src/data/Symbols.sketch +0 -0
  126. package/src/data/_Symbols.sketch/document.json +0 -1
  127. package/src/data/_Symbols.sketch/fonts/6c9956fc8970ec3d8268c3f286afe19d954fc40b +0 -0
  128. package/src/data/_Symbols.sketch/fonts/750e9b005158d57108ebbcf288e2582f078d6735 +0 -0
  129. package/src/data/_Symbols.sketch/fonts/86c45cb69ad4ba2a8e6d0b81f20964b33f4eca6c +0 -0
  130. package/src/data/_Symbols.sketch/fonts/f97cec7aed309ec77b4fd3005d1a3e0d86c2a7b9 +0 -0
  131. package/src/data/_Symbols.sketch/images/0427bc225ee7dc33db78252defd5b2e4cd5b7467.png +0 -0
  132. package/src/data/_Symbols.sketch/images/0c4846cdd2f11ffb23c9ce063380fc934f7a11ea.png +0 -0
  133. package/src/data/_Symbols.sketch/images/55d3f5e93869fbd70e8dfbca1ce3dfa0cc9f2dbe.png +0 -0
  134. package/src/data/_Symbols.sketch/images/67ae1583a9d77eec7106f5016f48b5594a02b3f6.png +0 -0
  135. package/src/data/_Symbols.sketch/images/7152b3ea22388d53052d0212995a1805527ea862.png +0 -0
  136. package/src/data/_Symbols.sketch/images/72f1896a8462385fd596bc35f240382ba15814fc.png +0 -0
  137. package/src/data/_Symbols.sketch/images/73e4245b1f867343001657193ff2318c9cf2ef53.png +0 -0
  138. package/src/data/_Symbols.sketch/images/7b89dae77676fb4cfd072e0830cff9c27afd11c6.png +0 -0
  139. package/src/data/_Symbols.sketch/images/811e2b516575d3b4e7709dfef6369bce7dae0a26.png +0 -0
  140. package/src/data/_Symbols.sketch/images/82d006789579f2ee1fa45c9116f7cd7dd1bcbe37.png +0 -0
  141. package/src/data/_Symbols.sketch/images/8a896270aa4da8e2401d0ea76e46dc9b9125e59a.png +0 -0
  142. package/src/data/_Symbols.sketch/images/966688c4a579283836f15ab69c8b76e11b236ff5.png +0 -0
  143. package/src/data/_Symbols.sketch/images/b903a498e1d438e8bb12de5422f732c717b79eff.png +0 -0
  144. package/src/data/_Symbols.sketch/images/b9f3cae81a855e21ae75185dcb6ae6551c5447f1.png +0 -0
  145. package/src/data/_Symbols.sketch/images/cd0f908410abf4cad7a4501539eb0711c41a182f.png +0 -0
  146. package/src/data/_Symbols.sketch/images/d54f15f130ba4f1d4ad56f03c01ac06fe0ab4f56.png +0 -0
  147. package/src/data/_Symbols.sketch/images/df5a20029363f95abc58b2c8972e1417d84c8aa7.png +0 -0
  148. package/src/data/_Symbols.sketch/images/e889546970c931244400c2f70412c39123029cb3.png +0 -0
  149. package/src/data/_Symbols.sketch/images/f420a7a2beb15bee5d2ecbba8f296c6d4b22dfa3.png +0 -0
  150. package/src/data/_Symbols.sketch/meta.json +0 -1
  151. package/src/data/_Symbols.sketch/pages/31D11772-FB33-42EC-A3CC-79F63922E04D.json +0 -1
  152. package/src/data/_Symbols.sketch/pages/35BD91AD-F0ED-4002-891D-F1B3250E88C1.json +0 -1
  153. package/src/data/_Symbols.sketch/pages/4831AF31-ECB8-4DA6-B4D0-C1095D42146C.json +0 -1
  154. package/src/data/_Symbols.sketch/pages/6FCC0155-B3F4-4792-892E-523D45315AFD.json +0 -1
  155. package/src/data/_Symbols.sketch/pages/7996D5DD-C5B2-4EE7-9DE8-2C05E2ACA9F3.json +0 -1
  156. package/src/data/_Symbols.sketch/pages/B314C0F3-0038-473F-A127-536AF28E5272.json +0 -1
  157. package/src/data/_Symbols.sketch/pages/B6798E64-F7E9-40F5-9BD0-88A548478438.json +0 -1
  158. package/src/data/_Symbols.sketch/pages/B9B28DF3-EDC2-4D5B-A412-12B3B2E7DE58.json +0 -1
  159. package/src/data/_Symbols.sketch/pages/CA6E47E4-DAF7-4D1D-8DDC-D5A60508D9A0.json +0 -1
  160. package/src/data/_Symbols.sketch/pages/D6F5EB10-9D31-47AC-9077-1CE8CB2C2448.json +0 -1
  161. package/src/data/_Symbols.sketch/previews/preview.png +0 -0
  162. package/src/data/_Symbols.sketch/user.json +0 -1
  163. package/src/data/categories.js +0 -44
  164. package/src/data/components/button-archived/index.js +0 -63
  165. package/src/data/components/button-archived/style.js +0 -5
  166. package/src/data/components/button-circle/index.js +0 -54
  167. package/src/data/components/button-contacts/index.js +0 -56
  168. package/src/data/components/button-contacts/style.js +0 -13
  169. package/src/data/components/button-download/index.js +0 -63
  170. package/src/data/components/button-pro/index.js +0 -98
  171. package/src/data/components/button-pro/style.js +0 -19
  172. package/src/data/components/button-theme-switcher/index.js +0 -104
  173. package/src/data/components/button-theme-switcher/style.js +0 -16
  174. package/src/data/components/button-user/index.js +0 -82
  175. package/src/data/components/button-user/style.js +0 -25
  176. package/src/data/components/datepicker/index.js +0 -40
  177. package/src/data/components/datepicker/style.js +0 -4
  178. package/src/data/components/dropdown-list/index.js +0 -56
  179. package/src/data/components/field/index.js +0 -40
  180. package/src/data/components/index.js +0 -34
  181. package/src/data/components/label/index.js +0 -40
  182. package/src/data/components/notification/index.js +0 -55
  183. package/src/data/components/notification/style.js +0 -20
  184. package/src/data/components/pills/index.js +0 -37
  185. package/src/data/components/tooltip/index.js +0 -38
  186. package/src/data/filters.js +0 -3
  187. package/src/data/index.js +0 -3
  188. package/src/data/library/button-circle/index.js +0 -52
  189. package/src/data/library/button-join/index.js +0 -61
  190. package/src/data/library/family-bundle/index.js +0 -99
  191. package/src/data/library/family-bundle/style.js +0 -27
  192. package/src/data/library/index.js +0 -15
  193. package/src/data/library/join-class/index.js +0 -45
  194. package/src/data/library/parent-mode/index.js +0 -69
  195. package/src/data/library/parent-mode/style.js +0 -25
  196. package/src/index.html +0 -57
  197. package/src/index.js +0 -7
  198. package/src/pages/Color/colors.js +0 -58
  199. package/src/pages/Color/documentThemes.js +0 -101
  200. package/src/pages/Color/style.js +0 -7
  201. package/src/pages/ColorEditor/colorTone.js +0 -163
  202. package/src/pages/ColorEditor/index.js +0 -178
  203. package/src/pages/Export/header.js +0 -37
  204. package/src/pages/Export/style.js +0 -28
  205. package/src/pages/Library/style.js +0 -43
  206. package/src/pages/PageProto.js +0 -26
  207. package/src/pages/Typography/docFonts.js +0 -128
  208. package/src/pages/Typography/docStyles.js +0 -97
  209. package/src/pages/Typography/style.js +0 -11
  210. package/src/protect.js +0 -114
  211. package/src/state.js +0 -3
  212. package/src/test.js +0 -30
  213. package/test/index.test.js +0 -5
  214. /package/{src/pages/Spaces → .legacy}/boxModel.js +0 -0
  215. /package/{src/data/favorites.js → .legacy/sequence.js} +0 -0
  216. /package/src/pages/{ColorEditor → Theme}/ntc.js +0 -0
@@ -0,0 +1,50 @@
1
+ 'use strict'
2
+
3
+ import { Grid, Hoverable, FontObject } from '@symbo.ls/components'
4
+ import { TypeSection } from '../Typography/shared'
5
+
6
+ const mapFonts = (el, s) => {
7
+ if (!s.__system) return
8
+ const { FONT } = s.__system
9
+ const fontKeys = Object.keys(FONT)
10
+
11
+ return fontKeys.map(v => {
12
+ const font = FONT[v]
13
+ const weights = Object.keys(font)
14
+ const weightsLength = weights.length
15
+ const fontWeightCaption = weights[0] === 'variable' ? 'variable' : `${weightsLength} style${weightsLength > 1 ? 's' : ''}`
16
+
17
+ return {
18
+ title: v,
19
+ href: `/fonts/font-settings/${v}`,
20
+ labels: [
21
+ { icon: 'fontVariable', text: fontWeightCaption }
22
+ ]
23
+ }
24
+ })
25
+ }
26
+
27
+ export default {
28
+ extend: TypeSection,
29
+ header: {
30
+ state: {
31
+ title: 'Document Fonts',
32
+ p: 'Document @font-face, default and backup fonts',
33
+ nav: [{
34
+ icon: 'plus',
35
+ href: '/fonts/upload-font'
36
+ }]
37
+ }
38
+ },
39
+
40
+ content: {
41
+ extend: Grid,
42
+ props: {
43
+ columns: 'repeat(2, 1fr)',
44
+ gap: 'A',
45
+ margin: '0 -Z'
46
+ },
47
+ childExtend: [FontObject, Hoverable],
48
+ $setStateCollection: mapFonts
49
+ }
50
+ }
@@ -0,0 +1,47 @@
1
+ 'use strict'
2
+
3
+ import { Grid, Hoverable, FontFamilyObject } from '@symbo.ls/components'
4
+ import { TypeSection } from '../Typography/shared'
5
+
6
+ const mapFontFamilies = (el, s) => {
7
+ if (!s.__system) return
8
+ const { FONT_FAMILY } = s.__system
9
+ const fontFamilyKeys = Object.keys(FONT_FAMILY)
10
+
11
+ return fontFamilyKeys.map(v => {
12
+ const val = FONT_FAMILY[v]
13
+ if (v === 'default') return
14
+ return {
15
+ title: v,
16
+ href: `/fonts/font-family/${v}`,
17
+ val
18
+ }
19
+ }).filter(v => v)
20
+ }
21
+
22
+ export default {
23
+ extend: TypeSection,
24
+ header: {
25
+ state: {
26
+ title: 'Font Families',
27
+ p: 'Setup a set and fallback fonts as font families',
28
+ nav: [{
29
+ icon: 'plus',
30
+ href: '/fonts/add-font-family',
31
+ scrollToTop: false
32
+ }]
33
+ }
34
+ },
35
+
36
+ content: {
37
+ extend: Grid,
38
+ props: {
39
+ columns: 'repeat(4, 1fr)',
40
+ gap: 'A',
41
+ margin: '0 -Z'
42
+ },
43
+
44
+ childExtend: [FontFamilyObject, Hoverable],
45
+ $setStateCollection: mapFontFamilies
46
+ }
47
+ }
@@ -0,0 +1,15 @@
1
+ 'use strict'
2
+
3
+ import fontFaces from './fontFaces'
4
+ import fontFamilies from './fontFamilies'
5
+
6
+ import { state } from './state'
7
+
8
+ export const Fonts = {
9
+ state,
10
+
11
+ fontFaces,
12
+ line3: { extend: 'Line' },
13
+
14
+ fontFamilies
15
+ }
@@ -0,0 +1,5 @@
1
+ 'use strict'
2
+
3
+ export const state = {
4
+ sampleText: 'Today is a big day for our tribe. The year ends.'
5
+ }
@@ -1,88 +1,92 @@
1
1
  'use strict'
2
2
 
3
- import style, { styleIconsOption } from './style'
3
+ import * as ACCESSIBILITY from '@symbo.ls/icons/src/accessibility'
4
+ import * as BOXMODEL from '@symbo.ls/icons/src/boxModel'
5
+ import * as DISPLAY from '@symbo.ls/icons/src/display'
6
+ import * as INTERACTIVE from '@symbo.ls/icons/src/interactive'
7
+ import * as LOGOS from '@symbo.ls/icons/src/logos'
8
+ import * as SIGNS from '@symbo.ls/icons/src/signs'
9
+ import * as STYLE from '@symbo.ls/icons/src/style'
10
+ import * as KEYBOARD from '@symbo.ls/icons/src/keyboard'
11
+ import * as SVG from '@symbo.ls/icons/src/svg'
12
+ import * as TECH from '@symbo.ls/icons/src/tech'
13
+ import * as TEXT from '@symbo.ls/icons/src/text'
4
14
 
5
- import { IconText, Direction, ClickableItem, SectionHeader, sprite, Grid, Block } from '@symbo.ls/all'
6
- import { PageProto } from '..'
15
+ import { IconsGroup } from '../../components'
7
16
 
8
- const IconsOption = {
9
- style: styleIconsOption,
10
- header: { proto: SectionHeader },
11
-
12
- iconSet: {
13
- proto: Grid,
14
- props: {
15
- columns: 'repeat(12, 1fr)',
16
- gap: 'Z'
17
- }
18
- }
17
+ const ArraizeIconsCategory = (library, state) => {
18
+ const list = Object.keys(library)
19
+ if (state.searched) return list.filter(value => value.includes(state.searched))
20
+ return list
19
21
  }
20
22
 
21
- const ICONS = Object.keys(sprite).map(key => ({ key: '_' + key }))
23
+ const ICON_GROUPS = state => [{
24
+ title: 'Document Icons',
25
+ p: 'All ungrouped document icons',
26
+ list: ArraizeIconsCategory(SVG, state)
27
+ }, {
28
+ title: 'Accessibility',
29
+ list: ArraizeIconsCategory(ACCESSIBILITY, state)
30
+ }, {
31
+ title: 'Box Model',
32
+ list: ArraizeIconsCategory(BOXMODEL, state)
33
+ }, {
34
+ title: 'Display',
35
+ list: ArraizeIconsCategory(DISPLAY, state)
36
+ }, {
37
+ title: 'Interactive',
38
+ list: ArraizeIconsCategory(INTERACTIVE, state)
39
+ }, {
40
+ title: 'Logos',
41
+ list: ArraizeIconsCategory(LOGOS, state)
42
+ }, {
43
+ title: 'Signs',
44
+ list: ArraizeIconsCategory(SIGNS, state)
45
+ }, {
46
+ title: 'Style',
47
+ list: ArraizeIconsCategory(STYLE, state)
48
+ }, {
49
+ title: 'Keys',
50
+ list: ArraizeIconsCategory(KEYBOARD, state)
51
+ }, {
52
+ title: 'Tech',
53
+ list: ArraizeIconsCategory(TECH, state)
54
+ }, {
55
+ title: 'Text',
56
+ list: ArraizeIconsCategory(TEXT, state)
57
+ }]
22
58
 
23
- const copyStringToClipboard = str => {
24
- var el = document.createElement('textarea')
25
- el.value = str
26
- el.setAttribute('readonly', '')
27
- el.style = { position: 'absolute', left: '-9999px' }
28
- document.body.appendChild(el)
29
- el.select()
30
- document.execCommand('copy')
31
- document.body.removeChild(el)
32
- }
59
+ export const Icons = {
60
+ state: {},
33
61
 
34
- const documentIcons = {
35
- proto: IconsOption,
62
+ SectionHeader: {
63
+ extend: true,
36
64
 
37
- header: {
38
- props: { padding: 'C 0 B1 0' },
39
65
  heading: {
40
- caption: { props: { text: 'Document Icons' } },
41
- p: { props: { text: 'All ungrouped document icons' } }
66
+ title: 'Icons',
67
+ p: 'Unlike typography, component may has the properties of padding, gap, width and rest.'
42
68
  },
43
- nav: {
44
- ...[
45
- {
46
- props: {
47
- icon: 'upload',
48
- href: '/icons/upload-icon'
49
- }
50
- },
51
- { props: { icon: 'arrowAngleUp' } }
52
- ]
53
- }
54
- },
55
69
 
56
- iconSet: {
57
- childProto: {
58
- proto: [ClickableItem, IconText, Direction, Block],
59
- props: el => ({
60
- round: 'Z',
61
- size: 'D',
62
- aspectRatio: '1 / 1',
63
- flexAlign: 'center center',
64
- icon: el.key.slice(1)
65
- }),
66
- on: {
67
- click: (event, element, state) => {
68
- copyStringToClipboard(element.key.slice(1))
69
- }
70
- }
70
+ Search: {
71
+ margin: '- -Z2 - -',
72
+ placeholder: 'Search Icons'
71
73
  },
72
74
 
73
- ...ICONS
74
- }
75
- }
76
-
77
- export default {
78
- style,
75
+ nav: null
76
+ },
79
77
 
80
- proto: PageProto,
78
+ Line: {},
81
79
 
82
- content: {
83
- tag: 'section',
80
+ Flex: {
81
+ props: {
82
+ flow: 'column',
83
+ gap: 'D1'
84
+ },
84
85
 
85
- documentIcons
86
- // navigationIcons
86
+ childExtend: IconsGroup,
87
+ $setStateCollection: (el, state) => {
88
+ el.removeContent()
89
+ return ICON_GROUPS(state)
90
+ }
87
91
  }
88
92
  }
@@ -1,19 +1 @@
1
1
  'use strict'
2
-
3
- export const styleIconsOption = {
4
- '> div': {
5
- '> div': {
6
- '&:hover': {
7
- background: 'rgba(255, 255, 255, .06)'
8
- },
9
- '&:hover > svg': {
10
- color: 'white'
11
- }
12
- }
13
- }
14
- }
15
-
16
- export default {
17
- section: {
18
- }
19
- }
@@ -0,0 +1,104 @@
1
+ 'use strict'
2
+
3
+ import { Flex, CommonField, WiderButton, ClickableItem } from '@symbo.ls/components'
4
+
5
+ import { InitPage } from '../../components'
6
+
7
+ const ButtonOptions = {
8
+ tag: 'section',
9
+ extend: CommonField,
10
+
11
+ props: {
12
+ gap: 'Z2',
13
+ element: {
14
+ gap: 'A',
15
+ maxWidth: 'I',
16
+ alignItems: 'center',
17
+ childProps: {
18
+ theme: 'quaternary',
19
+ color: 'white .8',
20
+ round: 'Z1',
21
+ fontSize: 'A2'
22
+ }
23
+ }
24
+ },
25
+
26
+ title: {},
27
+ element: {
28
+ extend: Flex,
29
+ childExtend: {
30
+ extend: [WiderButton, ClickableItem],
31
+ on: {
32
+ click: (ev, el, s) => {
33
+ s.parent.update({ })
34
+ }
35
+ }
36
+ }
37
+ }
38
+ }
39
+
40
+ const yourEnvironment = {
41
+ extend: ButtonOptions,
42
+ props: {
43
+ margin: '- - C2 -',
44
+ title: { text: 'Your environment' }
45
+ },
46
+
47
+ title: {},
48
+ element: { ...[
49
+ { props: { icon: 'html' } },
50
+ { props: { icon: 'js outline' } },
51
+ { props: { icon: 'ts outline' } },
52
+ { props: { icon: 'pdf' } },
53
+ {
54
+ props: {
55
+ boxSizing: 'content-box',
56
+ padding: 'Z B',
57
+ width: 'auto',
58
+ borderRadius: 'B',
59
+ text: `I'm just playing`,
60
+ aspectRatio: 'auto'
61
+ },
62
+ icon: null
63
+ }
64
+ ] }
65
+ }
66
+
67
+ const yourFramework = {
68
+ extend: ButtonOptions,
69
+ props: {
70
+ margin: '- - F -',
71
+ title: { text: 'Your framework' }
72
+ },
73
+ title: {},
74
+ element: { ...[
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
+ ] }
82
+ }
83
+
84
+ export const ChooseEnvironment = {
85
+ extend: InitPage,
86
+
87
+ back: { props: { href: '/init/font' } },
88
+
89
+ HeaderHeading: {
90
+ margin: '- - D -',
91
+
92
+ Caption: { text: 'And finally,' },
93
+ H1: { text: 'Your environment' }
94
+ },
95
+
96
+ yourEnvironment,
97
+ yourFramework,
98
+
99
+ ContinueButton: {
100
+ text: 'Create Symbols',
101
+ theme: 'primary',
102
+ href: '/design-system'
103
+ }
104
+ }
@@ -0,0 +1,166 @@
1
+ 'use strict'
2
+
3
+ import { Clickable, Flex, GlobalThemeTemplate } from '@symbo.ls/components'
4
+ import { InitPage } from '../../components'
5
+
6
+ const paragraphs = {
7
+ extend: Flex,
8
+ childExtend: { tag: 'p' },
9
+ ...['To personalize your Symbols experience, we need to get started with themes',
10
+ 'Please fill in the document dark and light themes']
11
+ }
12
+
13
+ const modes = {
14
+ extend: Flex,
15
+ props: {
16
+ gap: 'C',
17
+ margin: '- -Z E2'
18
+ },
19
+
20
+ childExtend: {
21
+ extend: [Clickable, GlobalThemeTemplate],
22
+
23
+ props: ({ state }) => ({
24
+ minWidth: 'G3',
25
+ maxWidth: '406px',
26
+ position: 'relative',
27
+ maxHeight: 'E2',
28
+ boxSizing: 'content-box',
29
+ align: 'flex-start flex-start',
30
+ padding: 'A A Z',
31
+ overflow: 'hidden',
32
+ round: 'A1',
33
+ color: state.color,
34
+ background: state.background,
35
+ wrap: 'wrap',
36
+ transitionProperty: 'transform, opacity, border-radius',
37
+
38
+ icon: {
39
+ boxSize: 'C C',
40
+ color: 'yellow 1 +5',
41
+ background: 'yellow .2',
42
+ pointerEvents: 'none',
43
+ fontSize: `B`
44
+ },
45
+
46
+ article: {
47
+ padding: 'X2 - - -',
48
+ title: { fontSize: 'D2', fontWeight: 'bold' }
49
+ },
50
+
51
+ '.active': {
52
+ opacity: '1',
53
+ round: 'A1 A1 Y2 Y2',
54
+
55
+ style: {
56
+ '[buttons]': {
57
+ opacity: '1',
58
+ transform: 'translate3d(0, 0, 0)'
59
+ }
60
+ }
61
+ }
62
+ }),
63
+
64
+ icon: {},
65
+ article: {},
66
+
67
+ ThemeButtons: {
68
+ position: 'absolute',
69
+ left: 'W',
70
+ right: 'W',
71
+ bottom: 'W',
72
+ opacity: '0',
73
+ transition: 'B defaultBezier',
74
+ transitionProperty: 'transform, opacity',
75
+ transform: 'translate3d(0, 100%, 0)',
76
+ columnGap: 'W'
77
+ },
78
+
79
+ Span: {
80
+ width: '100%',
81
+ fontSize: 'Z',
82
+ color: 'gray7',
83
+ fontStyle: 'italic',
84
+ margin: 'C 0 0 X2',
85
+ text: 'click to change'
86
+ },
87
+
88
+ on: {
89
+ click: (ev, el, s) => {
90
+ if (ev.target === el.node) {
91
+ el.setProps({ active: !el.props.active })
92
+ }
93
+ },
94
+ stateUpdated: (el, s, changes) => {
95
+ const { color, background } = s
96
+ s.systemUpdate({
97
+ THEME: {
98
+ document: {
99
+ ['@' + s.key]: { color, background }
100
+ }
101
+ }
102
+ }, { preventUpdate: true })
103
+ }
104
+ }
105
+ },
106
+
107
+ $setStateCollection: ({ state }) => state.values
108
+ }
109
+
110
+ export const CreateDocumentTheme = {
111
+ extend: InitPage,
112
+
113
+ props: {
114
+ flow: 'column',
115
+ align: 'flex-start',
116
+
117
+ paragraphs: {
118
+ gap: 'E',
119
+ margin: '- - D1 -',
120
+ childProps: {
121
+ color: 'gray6',
122
+ maxWidth: `G1`
123
+ }
124
+ }
125
+ },
126
+
127
+ back: { props: { href: '/init/' } },
128
+
129
+ HeaderHeading: {},
130
+ paragraphs,
131
+ modes,
132
+
133
+ ContinueButton: {
134
+ href: '/init/pallete'
135
+ },
136
+
137
+ on: {
138
+ init: ({ state }) => {
139
+ const { THEME, COLOR } = state.__system
140
+ const { document } = THEME
141
+ const dark = document['@dark']
142
+ const light = document['@light']
143
+
144
+ const colorRef = {
145
+ light: {
146
+ key: 'light',
147
+ title: 'Day',
148
+ icon: 'sun',
149
+ color: COLOR[light.color] || light.color || '#000000',
150
+ background: COLOR[light.background] || light.background || '#FFFFFF'
151
+ },
152
+ dark: {
153
+ key: 'dark',
154
+ title: 'Night',
155
+ icon: 'moon',
156
+ color: COLOR[dark.color] || dark.color || '#FFFFFF',
157
+ background: COLOR[dark.background] || dark.background || '#000000'
158
+ }
159
+ }
160
+
161
+ state.update({
162
+ values: colorRef
163
+ }, { preventUpdate: true, ignoreInitUpdate: true })
164
+ }
165
+ }
166
+ }
@@ -0,0 +1,72 @@
1
+ 'use strict'
2
+
3
+ import { Flex, ColorPickerWithTitle } from '@symbo.ls/components'
4
+ import { InitPage } from '../../components'
5
+
6
+ const colors = {
7
+ extend: Flex,
8
+ props: {
9
+ width: 'F3',
10
+ flow: 'column',
11
+ gap: 'B1',
12
+ opacity: '.75'
13
+ },
14
+
15
+ childExtend: {
16
+ extend: ColorPickerWithTitle,
17
+ props: ({ state }) => ({
18
+ title: { text: state.title }
19
+ })
20
+ },
21
+
22
+ $setStateCollection: ({ state }) => [{
23
+ title: 'Accent color',
24
+ value: state[0]
25
+ }, {
26
+ title: 'Secondary Color',
27
+ value: state[1]
28
+ }, {
29
+ title: 'Inactive Color',
30
+ value: state[2]
31
+ }]
32
+ }
33
+
34
+ const content = {
35
+ extend: Flex,
36
+ props: {
37
+ margin: '- - F -',
38
+ align: 'flex-start',
39
+ gap: 'E2',
40
+ ColorsPalette: {
41
+ margin: '- - - auto'
42
+ }
43
+ },
44
+
45
+ colors,
46
+
47
+ ImageColorPicker: {},
48
+ ColorsPalette: {
49
+ props: ({ state }) => ({
50
+ hide: state.imageUrl,
51
+ margin: '- - auto'
52
+ })
53
+ }
54
+ }
55
+
56
+ export const CreatePallete = {
57
+ extend: InitPage,
58
+
59
+ back: { props: { href: '/init/theme' } },
60
+
61
+ HeaderHeading: {
62
+ margin: '- - D -',
63
+ Caption: { text: `Let's get started` },
64
+ H1: { text: 'Create your palette' }
65
+ },
66
+
67
+ content,
68
+
69
+ ContinueButton: {
70
+ href: '/init/font'
71
+ }
72
+ }
@@ -0,0 +1,23 @@
1
+ 'use strict'
2
+
3
+ import { InitPage } from '../../components'
4
+
5
+ export const FontText = {
6
+ extend: InitPage,
7
+
8
+ back: { props: { href: '/init/pallete' } },
9
+
10
+ HeaderHeading: {
11
+ props: { margin: '- - D2 -' },
12
+ Caption: { text: `Let's make sure` },
13
+ H1: { text: 'Texts look good?' }
14
+ },
15
+
16
+ FontText: {
17
+ margin: '- -Z'
18
+ },
19
+
20
+ ContinueButton: {
21
+ href: '/init/env'
22
+ }
23
+ }