@symbo.ls/preview 0.0.97 → 2.0.7

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/README.md +19 -0
  2. package/app.webmanifest +4 -0
  3. package/index.html +14 -4
  4. package/netlify.toml +19 -0
  5. package/package.json +32 -32
  6. package/protect-pwd.js +65 -0
  7. package/src/animations.js +71 -0
  8. package/src/app.js +68 -30
  9. package/src/assets/dots.png +0 -0
  10. package/src/assets/dotsDark.png +0 -0
  11. package/src/config/index.js +31 -12
  12. package/src/config/theme.js +71 -1
  13. package/src/data/Symbols.sketch +0 -0
  14. package/src/data/_Symbols.sketch/document.json +1 -0
  15. package/src/data/_Symbols.sketch/fonts/6c9956fc8970ec3d8268c3f286afe19d954fc40b +0 -0
  16. package/src/data/_Symbols.sketch/fonts/750e9b005158d57108ebbcf288e2582f078d6735 +0 -0
  17. package/src/data/_Symbols.sketch/fonts/86c45cb69ad4ba2a8e6d0b81f20964b33f4eca6c +0 -0
  18. package/src/data/_Symbols.sketch/fonts/f97cec7aed309ec77b4fd3005d1a3e0d86c2a7b9 +0 -0
  19. package/src/data/_Symbols.sketch/images/0427bc225ee7dc33db78252defd5b2e4cd5b7467.png +0 -0
  20. package/src/data/_Symbols.sketch/images/0c4846cdd2f11ffb23c9ce063380fc934f7a11ea.png +0 -0
  21. package/src/data/_Symbols.sketch/images/55d3f5e93869fbd70e8dfbca1ce3dfa0cc9f2dbe.png +0 -0
  22. package/src/data/_Symbols.sketch/images/67ae1583a9d77eec7106f5016f48b5594a02b3f6.png +0 -0
  23. package/src/data/_Symbols.sketch/images/7152b3ea22388d53052d0212995a1805527ea862.png +0 -0
  24. package/src/data/_Symbols.sketch/images/72f1896a8462385fd596bc35f240382ba15814fc.png +0 -0
  25. package/src/data/_Symbols.sketch/images/73e4245b1f867343001657193ff2318c9cf2ef53.png +0 -0
  26. package/src/data/_Symbols.sketch/images/7b89dae77676fb4cfd072e0830cff9c27afd11c6.png +0 -0
  27. package/src/data/_Symbols.sketch/images/811e2b516575d3b4e7709dfef6369bce7dae0a26.png +0 -0
  28. package/src/data/_Symbols.sketch/images/82d006789579f2ee1fa45c9116f7cd7dd1bcbe37.png +0 -0
  29. package/src/data/_Symbols.sketch/images/8a896270aa4da8e2401d0ea76e46dc9b9125e59a.png +0 -0
  30. package/src/data/_Symbols.sketch/images/966688c4a579283836f15ab69c8b76e11b236ff5.png +0 -0
  31. package/src/data/_Symbols.sketch/images/b903a498e1d438e8bb12de5422f732c717b79eff.png +0 -0
  32. package/src/data/_Symbols.sketch/images/b9f3cae81a855e21ae75185dcb6ae6551c5447f1.png +0 -0
  33. package/src/data/_Symbols.sketch/images/cd0f908410abf4cad7a4501539eb0711c41a182f.png +0 -0
  34. package/src/data/_Symbols.sketch/images/d54f15f130ba4f1d4ad56f03c01ac06fe0ab4f56.png +0 -0
  35. package/src/data/_Symbols.sketch/images/df5a20029363f95abc58b2c8972e1417d84c8aa7.png +0 -0
  36. package/src/data/_Symbols.sketch/images/e889546970c931244400c2f70412c39123029cb3.png +0 -0
  37. package/src/data/_Symbols.sketch/images/f420a7a2beb15bee5d2ecbba8f296c6d4b22dfa3.png +0 -0
  38. package/src/data/_Symbols.sketch/meta.json +1 -0
  39. package/src/data/_Symbols.sketch/pages/31D11772-FB33-42EC-A3CC-79F63922E04D.json +1 -0
  40. package/src/data/_Symbols.sketch/pages/35BD91AD-F0ED-4002-891D-F1B3250E88C1.json +1 -0
  41. package/src/data/_Symbols.sketch/pages/4831AF31-ECB8-4DA6-B4D0-C1095D42146C.json +1 -0
  42. package/src/data/_Symbols.sketch/pages/6FCC0155-B3F4-4792-892E-523D45315AFD.json +1 -0
  43. package/src/data/_Symbols.sketch/pages/7996D5DD-C5B2-4EE7-9DE8-2C05E2ACA9F3.json +1 -0
  44. package/src/data/_Symbols.sketch/pages/B314C0F3-0038-473F-A127-536AF28E5272.json +1 -0
  45. package/src/data/_Symbols.sketch/pages/B6798E64-F7E9-40F5-9BD0-88A548478438.json +1 -0
  46. package/src/data/_Symbols.sketch/pages/B9B28DF3-EDC2-4D5B-A412-12B3B2E7DE58.json +1 -0
  47. package/src/data/_Symbols.sketch/pages/CA6E47E4-DAF7-4D1D-8DDC-D5A60508D9A0.json +1 -0
  48. package/src/data/_Symbols.sketch/pages/D6F5EB10-9D31-47AC-9077-1CE8CB2C2448.json +1 -0
  49. package/src/data/_Symbols.sketch/previews/preview.png +0 -0
  50. package/src/data/_Symbols.sketch/user.json +1 -0
  51. package/src/data/categories.js +44 -0
  52. package/src/data/components/button-archived/index.js +63 -0
  53. package/src/data/components/button-archived/style.js +5 -0
  54. package/src/data/components/button-circle/index.js +54 -0
  55. package/src/data/components/button-contacts/index.js +56 -0
  56. package/src/data/components/button-contacts/style.js +13 -0
  57. package/src/data/components/button-download/index.js +63 -0
  58. package/src/data/components/button-pro/index.js +98 -0
  59. package/src/data/components/button-pro/style.js +19 -0
  60. package/src/data/components/button-theme-switcher/index.js +104 -0
  61. package/src/data/components/button-theme-switcher/style.js +16 -0
  62. package/src/data/components/button-user/index.js +82 -0
  63. package/src/data/components/button-user/style.js +25 -0
  64. package/src/data/components/datepicker/index.js +40 -0
  65. package/src/data/components/datepicker/style.js +4 -0
  66. package/src/data/components/dropdown-list/index.js +56 -0
  67. package/src/data/components/field/index.js +40 -0
  68. package/src/data/components/index.js +34 -0
  69. package/src/data/components/label/index.js +40 -0
  70. package/src/data/components/notification/index.js +55 -0
  71. package/src/data/components/notification/style.js +20 -0
  72. package/src/data/components/pills/index.js +37 -0
  73. package/src/data/components/tooltip/index.js +38 -0
  74. package/src/data/index.js +3 -0
  75. package/src/data/library/button-circle/index.js +52 -0
  76. package/src/data/library/button-join/index.js +61 -0
  77. package/src/data/library/family-bundle/index.js +99 -0
  78. package/src/data/library/family-bundle/style.js +27 -0
  79. package/src/data/library/index.js +15 -0
  80. package/src/data/library/join-class/index.js +45 -0
  81. package/src/data/library/parent-mode/index.js +69 -0
  82. package/src/data/library/parent-mode/style.js +25 -0
  83. package/src/index.html +57 -0
  84. package/src/index.js +7 -0
  85. package/src/pages/Account/index.js +147 -17
  86. package/src/pages/Account/{__/setUpProject.js → setUpProject.js} +10 -10
  87. package/src/pages/Color/colors.js +58 -0
  88. package/src/pages/Color/documentThemes.js +101 -0
  89. package/src/pages/Color/index.js +10 -7
  90. package/src/pages/Color/style.js +7 -0
  91. package/src/pages/Color/themes.js +117 -23
  92. package/src/pages/ColorEditor/colorTone.js +163 -0
  93. package/src/pages/{Theme → ColorEditor}/friendTheme.js +3 -3
  94. package/src/pages/ColorEditor/index.js +178 -0
  95. package/src/pages/{Theme → ColorEditor}/interactivity.js +7 -6
  96. package/src/pages/{Theme → ColorEditor}/style.js +12 -1
  97. package/src/pages/{Theme → ColorEditor}/themingTools.js +12 -12
  98. package/src/pages/Editor/index.js +9 -7
  99. package/src/pages/Editor/layers.js +14 -14
  100. package/src/pages/Editor/scene.js +9 -7
  101. package/src/pages/Editor/tools.js +22 -22
  102. package/{.legacy → src/pages/Export}/_tools_old.js +6 -7
  103. package/src/pages/Export/const.js +4 -3
  104. package/src/pages/Export/description.js +87 -58
  105. package/src/pages/Export/header.js +37 -0
  106. package/src/pages/Export/index.js +39 -48
  107. package/src/pages/Export/scene.js +61 -98
  108. package/src/pages/Export/state.js +5 -11
  109. package/src/pages/Export/style.js +28 -0
  110. package/src/pages/Export/tools.js +86 -41
  111. package/src/pages/Icons/index.js +69 -73
  112. package/src/pages/Icons/style.js +18 -0
  113. package/src/pages/Library/index.js +47 -24
  114. package/src/pages/Library/style.js +43 -0
  115. package/src/pages/PageProto.js +26 -0
  116. package/src/pages/Shapes/index.js +204 -54
  117. package/src/pages/Shapes/style.js +28 -0
  118. package/src/pages/Spaces/boxModel.js +3 -0
  119. package/src/pages/Spaces/index.js +47 -23
  120. package/{.legacy → src/pages/Spaces}/preview.js +14 -14
  121. package/src/pages/Spaces/sequence.js +1 -30
  122. package/src/pages/Spaces/state.js +14 -12
  123. package/{.legacy → src/pages/Spaces}/style.js +3 -0
  124. package/src/pages/Typography/docFonts.js +128 -0
  125. package/src/pages/Typography/docStyles.js +97 -0
  126. package/src/pages/Typography/index.js +36 -28
  127. package/src/pages/Typography/shared.js +3 -2
  128. package/src/pages/Typography/state.js +8 -9
  129. package/src/pages/Typography/style.js +11 -0
  130. package/src/pages/Typography/typeScale.js +82 -63
  131. package/src/pages/index.js +23 -15
  132. package/src/protect.js +114 -0
  133. package/src/state.js +3 -0
  134. package/src/style.js +12 -15
  135. package/src/test.js +30 -0
  136. package/svgSprite.config.js +1 -2
  137. package/test/index.test.js +5 -0
  138. package/.legacy/index copy.js +0 -45
  139. package/.vscode/extensions.json +0 -5
  140. package/index.js +0 -44
  141. package/src/assets/dark.png +0 -0
  142. package/src/assets/mask1.png +0 -0
  143. package/src/assets/mask2.png +0 -0
  144. package/src/assets/shapes.png +0 -0
  145. package/src/assets/space.png +0 -0
  146. package/src/assets/type.png +0 -0
  147. package/src/components/Aside.js +0 -101
  148. package/src/components/Banner.js +0 -58
  149. package/src/components/ColorText.js +0 -29
  150. package/src/components/ColorsPalette.js +0 -69
  151. package/src/components/ColumnParagrphs.js +0 -23
  152. package/src/components/ContinueButton.js +0 -14
  153. package/src/components/DesignComponent.js +0 -80
  154. package/src/components/FontText.js +0 -193
  155. package/src/components/Header.js +0 -50
  156. package/src/components/HeaderHeading.js +0 -23
  157. package/src/components/IconsGroup.js +0 -60
  158. package/src/components/Page.js +0 -135
  159. package/src/components/ResponsivePreview.js +0 -44
  160. package/src/components/Route.js +0 -1
  161. package/src/components/ShapePreview.js +0 -63
  162. package/src/components/ShapeSet.js +0 -85
  163. package/src/components/SlidersWithResponsive.js +0 -23
  164. package/src/components/SpacingButton/actionButtons.js +0 -41
  165. package/src/components/SpacingButton/dropdown.js +0 -114
  166. package/src/components/SpacingButton/index.js +0 -248
  167. package/src/components/SpacingButton/props.js +0 -45
  168. package/src/components/SpacingPreview.js +0 -154
  169. package/src/components/SpacingTable.js +0 -210
  170. package/src/components/ThemeButtons.js +0 -42
  171. package/src/components/UploadImage.js +0 -61
  172. package/src/components/Widget.js +0 -1
  173. package/src/components/index.js +0 -25
  174. package/src/pages/Account/__/index.js +0 -241
  175. package/src/pages/Color/globalThemes.js +0 -30
  176. package/src/pages/Color/palette.js +0 -35
  177. package/src/pages/Components/grid.js +0 -99
  178. package/src/pages/Components/index.js +0 -37
  179. package/src/pages/Components/sidebar.js +0 -28
  180. package/src/pages/Components/style.js +0 -16
  181. package/src/pages/DesignSystem/Dashboard/banners.js +0 -38
  182. package/src/pages/DesignSystem/Dashboard/designElements.js +0 -124
  183. package/src/pages/DesignSystem/Dashboard/index.js +0 -22
  184. package/src/pages/DesignSystem/Dashboard/quickstart.js +0 -86
  185. package/src/pages/DesignSystem/Dashboard/state.js +0 -118
  186. package/src/pages/DesignSystem/Dashboard/summary.js +0 -40
  187. package/src/pages/DesignSystem/index.js +0 -187
  188. package/src/pages/Export/gist.js +0 -23
  189. package/src/pages/Fonts/fontFaces.js +0 -50
  190. package/src/pages/Fonts/fontFamilies.js +0 -47
  191. package/src/pages/Fonts/index.js +0 -15
  192. package/src/pages/Fonts/state.js +0 -5
  193. package/src/pages/Init/ChooseEnvironment.js +0 -104
  194. package/src/pages/Init/CreateDocumentTheme.js +0 -166
  195. package/src/pages/Init/CreatePalette.js +0 -72
  196. package/src/pages/Init/FontText.js +0 -23
  197. package/src/pages/Init/Personalize/fields.js +0 -109
  198. package/src/pages/Init/Personalize/icon.js +0 -42
  199. package/src/pages/Init/Personalize/index.js +0 -37
  200. package/src/pages/Init/index.js +0 -36
  201. package/src/pages/Library/disabled.js +0 -38
  202. package/src/pages/MediaQuery/index.js +0 -46
  203. package/src/pages/MediaQuery/lists.js +0 -285
  204. package/src/pages/MediaQuery/state.js +0 -150
  205. package/src/pages/MediaQuery/typeScale.js +0 -69
  206. package/src/pages/Shapes/shapeSet.js +0 -133
  207. package/src/pages/State/index.js +0 -86
  208. package/src/pages/Theme/index.js +0 -197
  209. package/src/pages/Theme/preview.js +0 -153
  210. package/src/pages/Typography/collection.js +0 -110
  211. package/src/pages/Typography/documentStyles.js +0 -125
  212. package/src/pages/Typography/rangeButtons.js +0 -58
  213. package/src/pages/Typography/stylesHelpers.js +0 -30
  214. /package/{.legacy/boxModel.js → src/data/favorites.js} +0 -0
  215. /package/{.legacy/sequence.js → src/data/filters.js} +0 -0
  216. /package/src/pages/{Theme → ColorEditor}/ntc.js +0 -0
@@ -0,0 +1,128 @@
1
+ 'use strict'
2
+
3
+ import { Block, Grid, FontObject, Link, SectionHeader, FontFamilyObject } from '@symbo.ls/all'
4
+ import { TypeSection } from './shared'
5
+
6
+ const mapFonts = (el, s) => {
7
+ if (!el.__root.state.CONFIG) return
8
+ const { FONT } = el.__root.state.CONFIG
9
+
10
+ const fontKeys = Object.keys(FONT)
11
+
12
+ return fontKeys.map(v => {
13
+ const font = FONT[v]
14
+ const weights = Object.keys(font)
15
+ const weightsLength = weights.length
16
+ const fontWeightCaption = weights[0] === 'variable' ? 'variable' : `${weightsLength} style${weightsLength > 1 ? 's' : ''}`
17
+
18
+ return {
19
+ props: {
20
+ href: `/typography/document-fonts/font-settings/${v}`,
21
+ fontTitle: v
22
+ },
23
+
24
+ caption: {},
25
+ p: {},
26
+ description: [
27
+ { props: { icon: 'variableFont', text: fontWeightCaption } }
28
+ ]
29
+ }
30
+ })
31
+ }
32
+
33
+ const line = {
34
+ proto: Block,
35
+ props: {
36
+ margin: 'D 0'
37
+ },
38
+ style: {
39
+ height: '.2px',
40
+ background: 'rgba(255, 255, 255, .1)',
41
+ marginLeft: '-100%',
42
+ marginRight: '-100%'
43
+ }
44
+ }
45
+
46
+ const fontFamilies = {
47
+ proto: Block,
48
+ props: { padding: '0 0 E 0' },
49
+ header: {
50
+ proto: SectionHeader,
51
+ heading: {
52
+ caption: { props: { text: 'Font Families' } },
53
+ p: { props: { text: 'Setup a set and fallback fonts as font FAMILIES' } }
54
+ }
55
+ },
56
+ content: {
57
+ proto: Grid,
58
+ props: {
59
+ flexAlign: 'center space-between',
60
+ columns: 'repeat(3, 1fr)',
61
+ gap: 'Z'
62
+ },
63
+ childProto: {
64
+ proto: [FontFamilyObject, Link],
65
+ props: { href: '/typography/document-fonts/font-family' },
66
+ style: { textDecoration: 'none' }
67
+ },
68
+
69
+ content: el => {
70
+ if (!el.__root.state.CONFIG) return
71
+ const { FONT_FAMILY } = el.__root.state.CONFIG
72
+
73
+ const FAMILIES = Object.keys(FONT_FAMILY).map(v => {
74
+ const val = FONT_FAMILY[v]
75
+ if (v === 'default') return null
76
+ return {
77
+ caption: { props: { text: v } },
78
+ p: { props: { text: val.value } }
79
+ }
80
+ })
81
+
82
+ return {
83
+ tag: 'fragment',
84
+ ...FAMILIES
85
+ }
86
+ }
87
+ }
88
+ }
89
+
90
+ export default {
91
+ proto: TypeSection,
92
+ header: {
93
+ proto: Block,
94
+ heading: {
95
+ p: { props: { text: 'Document @font-face, default and backup fonts' } }
96
+ },
97
+ nav: {
98
+ add: {
99
+ proto: Link,
100
+ props: {
101
+ icon: 'plus',
102
+ href: '/typography/document-fonts/upload-font'
103
+ }
104
+ }
105
+ }
106
+ },
107
+
108
+ wrapper: {
109
+ fonts: {
110
+ proto: Grid,
111
+ props: {
112
+ columns: 'repeat(2, 1fr)',
113
+ gap: 'A'
114
+ },
115
+
116
+ childProto: FontObject,
117
+
118
+ content: (el, s) => {
119
+ return {
120
+ tag: 'fragment',
121
+ ...mapFonts(el, s)
122
+ }
123
+ }
124
+ },
125
+ line,
126
+ fontFamilies
127
+ }
128
+ }
@@ -0,0 +1,97 @@
1
+ 'use strict'
2
+
3
+ import {
4
+ Icon, Link,
5
+ TypeHelpers,
6
+ DocumentStylesSequence
7
+ } from '@symbo.ls/all'
8
+ import { TypeSection } from './shared'
9
+
10
+ import { interactivityButton } from '../ColorEditor'
11
+
12
+ export default {
13
+ proto: TypeSection,
14
+
15
+ header: {
16
+ heading: {
17
+ p: { props: { text: 'Document styling and theming provides global themes of the entire app, imagine it as a :root styling' } }
18
+ },
19
+ nav: {
20
+ add: {
21
+ proto: Link,
22
+ props: {
23
+ href: '/typography/document-styles/html-tags',
24
+ icon: 'plus'
25
+ }
26
+ }
27
+ }
28
+ },
29
+
30
+ wrapper: {
31
+ bodyTags: {
32
+
33
+ cnt: {
34
+ style: { flex: 1 },
35
+
36
+ fonts: DocumentStylesSequence,
37
+
38
+ interactivities: {
39
+ style: {
40
+ paddingLeft: '8em',
41
+ display: 'flex',
42
+ gap: '1em',
43
+ marginTop: '1em'
44
+ },
45
+ childProto: {
46
+ proto: interactivityButton,
47
+ style: {
48
+ display: 'flex',
49
+ justifyContent: 'space-Between',
50
+ svg: { color: 'rgba(255, 255, 255, .35)' }
51
+ },
52
+ props: {
53
+ icon: 'plus'
54
+ }
55
+ },
56
+ ...[{
57
+ style: { width: '145px' },
58
+ props: { text: '<p>' }
59
+ }, {
60
+ style: { width: '145px' },
61
+ props: { text: '<code>' }
62
+ }, {
63
+ style: { width: '145px' },
64
+ props: { text: '<pre>' }
65
+ }, {
66
+ props: {
67
+ padding: 'Z',
68
+ text: ''
69
+ }
70
+ }, {
71
+ style: {
72
+ position: 'relative',
73
+ width: '207px'
74
+ },
75
+ props: {
76
+ text: 'Choose element'
77
+ },
78
+ icon2: {
79
+ proto: Icon,
80
+ props: { icon: 'arrowAngleDown' },
81
+ style: {
82
+ paddingRight: `${12.5 / 16}em`,
83
+ marginRight: `${12.5 / 16}em`,
84
+ borderRight: '1px solid rgba(255, 255, 255, .1)',
85
+ position: 'absolute',
86
+ right: `${25 / 16}em`,
87
+ height: '80%'
88
+ }
89
+ }
90
+ }]
91
+ }
92
+ }
93
+ },
94
+
95
+ TypeHelpers
96
+ }
97
+ }
@@ -1,44 +1,52 @@
1
1
  'use strict'
2
2
 
3
+ import PageProto from '../PageProto'
4
+
5
+ import { Link, TabHeader } from '@symbo.ls/all'
6
+
7
+ import style from './style'
3
8
  import state from './state'
4
9
 
10
+ import documentFonts from './docFonts'
11
+ import documentStyle from './docStyles'
5
12
  import typeScale from './typeScale'
6
- import documentStyles from './documentStyles'
7
- import stylesHelpers from './stylesHelpers'
8
- import { mapSequence, sortSequence } from '@symbo.ls/components'
9
13
 
10
- export const Typography = {
11
- state,
14
+ export default {
15
+ proto: PageProto,
12
16
 
13
- SectionHeader: {
14
- margin: '0 0 C',
15
- title: 'Typography',
16
- p: 'A general configuration of type properties on the document.'
17
+ on: {
18
+ init: (el, s) => {
19
+ const route = window.location.pathname
20
+ const routes = route.slice(1).split('/')
21
+ s.activeTab = routes[1] || state.activeTab
22
+ }
17
23
  },
18
24
 
19
- SlidersWithResponsive: {},
20
-
21
- line: { extend: 'Line' },
25
+ define: { routes: param => param },
22
26
 
23
- documentStyles,
24
- line1: { extend: 'Line' },
25
-
26
- stylesHelpers,
27
- line2: { extend: 'Line' },
27
+ style,
28
+ state,
28
29
 
29
- typeScale,
30
+ routes: {
31
+ 'document-fonts': documentFonts,
32
+ 'type-scale': typeScale,
33
+ 'document-styles': documentStyle
34
+ },
30
35
 
31
- on: {
32
- init: (el, s) => {
33
- if (!s.__system.TYPOGRAPHY) {
34
- s.systemUpdate({
35
- TYPOGRAPHY: { base: s.base, ratio: s.ratio }
36
- })
37
- }
38
- mapSequence(s, sortSequence)
36
+ header: {
37
+ proto: TabHeader,
38
+ style: {
39
+ paddingLeft: '2em'
39
40
  },
40
- stateUpdated: (el, s, changes) => {
41
- s.systemUpdate({ TYPOGRAPHY: changes })
41
+ tabs: {
42
+ childProto: { proto: [Link] },
43
+ 'document-fonts': { props: { text: 'Document Fonts' } },
44
+ 'type-scale': { props: { text: 'Type Scale' } },
45
+ 'document-styles': { props: { text: 'Document Styles' } }
42
46
  }
47
+ },
48
+
49
+ page: {
50
+ content: (el, s) => ({ proto: el.parent.routes[s.activeTab] })
43
51
  }
44
52
  }
@@ -1,9 +1,10 @@
1
1
  'use strict'
2
2
 
3
- import { SectionHeader } from '@symbo.ls/components'
3
+ import { SectionHeader } from '@symbo.ls/all'
4
4
 
5
5
  export const TypeSection = {
6
6
  header: {
7
- extend: SectionHeader
7
+ proto: SectionHeader,
8
+ heading: { caption: null }
8
9
  }
9
10
  }
@@ -1,16 +1,15 @@
1
1
  'use strict'
2
2
 
3
- export default ({ parent }) => ({
4
- base: 16,
3
+ export default {
4
+ base: 14,
5
5
  ratio: 1.125,
6
- range: [-3, +8],
7
- h1Matches: +6,
8
6
  scales: {},
7
+ range: [-3, +10],
8
+ h1Matches: +6,
9
9
  sequence: {},
10
- vars: {},
11
- // subSequence: true,
12
- type: 'demo-font-size',
10
+ type: 'font-size',
13
11
 
14
12
  sampleText: 'Today is a big day for our tribe. The year ends.',
15
- activeTab: ''
16
- })
13
+ activePage: 'typography',
14
+ activeTab: 'documentFonts'
15
+ }
@@ -0,0 +1,11 @@
1
+ 'use strict'
2
+
3
+ export const styleTypeScale = {
4
+ }
5
+
6
+ export default {
7
+ '> div header': {
8
+ lineHeight: '2em'
9
+ },
10
+ p: { margin: 0 }
11
+ }
@@ -1,85 +1,104 @@
1
1
  'use strict'
2
2
 
3
+ import { styleTypeScale } from './style'
4
+
3
5
  import {
4
- TypeScaleSequence,
5
- TestText,
6
- Flex,
7
- Grid,
8
- mapSequence,
9
- sortSequence
10
- } from '@symbo.ls/components'
6
+ Flex, Block, Text, Grid,
7
+ SequenceGraph,
8
+ SliderToolWithCaption,
9
+ StaticSpacing,
10
+ PreviewSettings,
11
+ ScalesSequence,
12
+ CommonField
13
+ } from '@symbo.ls/all'
11
14
 
12
- import { range0Buttons, range1Buttons } from './rangeButtons'
15
+ import { TypeSection } from './shared'
13
16
 
14
- export default {
15
- extend: Grid,
17
+ const ScalingTools = {
18
+ proto: Flex,
16
19
 
17
20
  props: {
18
- gap: 'D',
19
- templateColumns: 'var(--spacing-F2) 1fr',
20
-
21
- sidebar: {
22
- padding: 'B 0 0',
23
- widthRange: 'F2',
24
- position: 'sticky',
25
- top: 'E'
26
- },
27
-
28
- content: {
29
- overflow: 'hidden',
30
- flex: '1',
31
- flow: 'column',
32
- gap: 'C',
33
-
34
- header: {
35
- align: 'flex-end space-between',
36
- padding: '0 0 0 C',
37
- gap: 'C1'
38
- },
21
+ flow: 'column',
22
+ gap: 'A2'
23
+ },
39
24
 
40
- footer: {
41
- padding: '0 0 0 C'
25
+ fontSize: {
26
+ proto: [SliderToolWithCaption],
27
+ caption: { text: 'Base size' },
28
+ element: {
29
+ style: {
30
+ maxWidth: `${232 / 16}em`
42
31
  }
43
32
  }
44
33
  },
45
34
 
46
- sidebar: {
47
- SectionHeader: {
48
- title: 'TypeScale',
49
- p: 'Generate text sequence by a base size and ratio'
50
- },
35
+ sequence: {
36
+ proto: CommonField,
37
+ caption: { text: 'Sequence ratio' },
38
+ element: {
39
+ proto: StaticSpacing,
40
+ spacings: {
41
+ childProto: {
42
+ on: {
43
+ click: (ev, el, s) => s.update({ ratio: el.value.text })
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
49
+ }
51
50
 
52
- SequenceSliders: {
53
- flow: 'column'
54
- },
51
+ export default {
52
+ style: styleTypeScale,
53
+ proto: TypeSection,
55
54
 
56
- Paragraph: {
57
- margin: '0',
58
- fontSize: 'Z2',
59
- padding: 'B2 0',
60
- text: `Base size and ratio sequentially generate set by multiplying each next calculated unit by the ratio.`
55
+ header: {
56
+ heading: {
57
+ p: { props: { text: 'Generate text sequence by a base size and ratio' } }
58
+ },
59
+ nav: {
60
+ add: { props: { icon: 'plus' } }
61
61
  }
62
62
  },
63
63
 
64
- content: {
65
- extend: Flex,
64
+ wrapper: {
65
+ textTest: '',
66
+ fonts: '',
66
67
 
67
- header: {
68
- extend: Flex,
69
- range0Buttons,
70
- TestText
71
- },
68
+ cnt: {
69
+ proto: [Block, Grid],
72
70
 
73
- sequence: {
74
- extend: TypeScaleSequence,
75
- $setStateCollection: (el) => {
76
- const { state } = el
77
- state.sequence = {}
78
- el.removeContent()
79
- return mapSequence(state, sortSequence)
80
- }
81
- },
71
+ props: {
72
+ gap: 'D',
73
+ columns: '16em auto'
74
+ },
82
75
 
83
- footer: { range1Buttons }
76
+ aside: ScalingTools,
77
+
78
+ wrapper: {
79
+ settings: {
80
+ proto: PreviewSettings,
81
+ props: { margin: '0 0 B' }
82
+ },
83
+
84
+ fonts: ScalesSequence
85
+ },
86
+
87
+ sequenceSet: {
88
+ proto: CommonField,
89
+ props: { margin: 'C2 0' },
90
+ caption: {
91
+ proto: [Block, Text],
92
+ props: {
93
+ text: 'Sizing generated by this setting',
94
+ padding: '0 0 A 0'
95
+ }
96
+ },
97
+ element: {
98
+ proto: [SequenceGraph, Block, Text],
99
+ style: { '> span': { display: 'none' } }
100
+ }
101
+ }
102
+ }
84
103
  }
85
104
  }
@@ -1,17 +1,25 @@
1
1
  'use strict'
2
2
 
3
- export * from './Init'
4
- export * from './Components'
5
- export * from './Export'
6
- export * from './Fonts'
7
- export * from './Icons'
8
- export * from './Library'
9
- export * from './Color'
10
- export * from './Theme'
11
- export * from './Shapes'
12
- export * from './Spaces'
13
- export * from './Typography'
14
- export * from './State'
15
- export * from './MediaQuery'
16
- export * from './DesignSystem'
17
- export * from './Account'
3
+ import PageProto from './PageProto'
4
+
5
+ import Library from './Library'
6
+ import Export from './Export'
7
+ import Color from './Color'
8
+ import ColorEditor from './ColorEditor'
9
+ import Shapes from './Shapes'
10
+ import Spaces from './Spaces'
11
+ import Icons from './Icons'
12
+ import Typography from './Typography'
13
+
14
+ export {
15
+ PageProto,
16
+
17
+ Library,
18
+ Export,
19
+ Color,
20
+ ColorEditor,
21
+ Shapes,
22
+ Spaces,
23
+ Icons,
24
+ Typography
25
+ }
package/src/protect.js ADDED
@@ -0,0 +1,114 @@
1
+ 'use strict'
2
+
3
+ import './config'
4
+ import DOM from 'domql-preview'
5
+
6
+ import { auth, configureClient, login } from '@symbo.ls/auth'
7
+ // import { fetchAuth, READ_WAITLIST_USER, READ_COMPANY } from '@symbo.ls/fetch'
8
+ import { getCookie, setCookie } from 'domql-preview/packages/cookie'
9
+
10
+ import Loader from '@symbo.ls/loader'
11
+ import App from './app'
12
+
13
+ import { Box } from '@symbo.ls/all'
14
+ import { animateOnLoad } from './animations'
15
+
16
+ const protect = {
17
+ proto: [Box, Loader],
18
+ class: {
19
+ animation: (el, s) => animateOnLoad(true)
20
+ },
21
+ props: {
22
+ position: 'fixed !important',
23
+ left: '0',
24
+ top: '0',
25
+ boxSize: '100% 100%'
26
+ }
27
+ }
28
+
29
+ DOM.create(protect)
30
+
31
+ // const callApi = async (state, err, callback) => {
32
+ // try {
33
+ // // const queryCompany = READ_COMPANY()
34
+ // // const waitlistQuery = READ_WAITLIST_USER(state.userData.email)
35
+ // // fetchAuth(state.token, queryCompany, (rdata) => {
36
+ // // const { data } = rdata
37
+ // // if (data.companies) {
38
+ // // state.companyData = data && data.companies
39
+ // // } else {
40
+ // // fetchAuth(state.token, waitlistQuery, (rdata) => {
41
+ // // state.waitlistData = rdata.data
42
+ // // })
43
+ // // }
44
+ // // setCookie('hash', '1', 3)
45
+ // // })
46
+ // setCookie('hash', '1', 3)
47
+ // callback(state)
48
+ // } catch (e) {
49
+ // // Display errors in the console
50
+ // err(e)
51
+ // }
52
+ // }
53
+
54
+ const updateState = async (isAuthenticated) => {
55
+ App.state = {
56
+ token: await auth.auth0.getTokenSilently(),
57
+ userData: await auth.auth0.getUser(),
58
+ isAuthenticated
59
+ }
60
+
61
+ setCookie('hash', '1', 3)
62
+
63
+ // const STATE_JSON = state.companyData.state_json
64
+ // const RECEIVED_CONFIG = STATE_JSON ? JSON.parse(STATE_JSON) : {}
65
+ // state.companyState = RECEIVED_CONFIG
66
+
67
+ protect.remove()
68
+ DOM.create(App)
69
+
70
+ // callApi(App.state,
71
+ // e => {
72
+ // window.alert('Something went wrong, please contact support at: support@symbols.app')
73
+ // console.log(e)
74
+ // },
75
+ // state => {
76
+ // const STATE_JSON = state.companyData.state_json
77
+ // const RECEIVED_CONFIG = STATE_JSON ? JSON.parse(STATE_JSON) : {}
78
+ // state.companyState = RECEIVED_CONFIG
79
+
80
+ // protect.remove()
81
+ // DOM.create(App)
82
+ // }
83
+ // )
84
+ }
85
+
86
+ window.onload = async () => {
87
+ const hash = getCookie('hash')
88
+ if (hash) {
89
+ protect.remove()
90
+ DOM.create(App)
91
+ return
92
+ }
93
+
94
+ await configureClient()
95
+
96
+ const isAuthenticated = await auth.auth0.isAuthenticated()
97
+ console.log('isAuthenticated', isAuthenticated)
98
+ if (!isAuthenticated) {
99
+ login()
100
+ }
101
+
102
+ updateState(true)
103
+
104
+ if (isAuthenticated) return
105
+
106
+ const query = window.location.search
107
+ if (query.includes('code=') && query.includes('state=')) {
108
+ await auth.auth0.handleRedirectCallback()
109
+
110
+ updateState(isAuthenticated)
111
+
112
+ window.history.replaceState({}, document.title, '/')
113
+ }
114
+ }
package/src/state.js ADDED
@@ -0,0 +1,3 @@
1
+ 'use strict'
2
+
3
+ export default {}