@symbo.ls/preview 2.7.21 → 2.7.24

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 (149) hide show
  1. package/.eslintrc.js +2 -8
  2. package/.vscode/settings.json +4 -1
  3. package/README.md +1 -0
  4. package/config.js +6 -0
  5. package/define.js +10 -0
  6. package/index.html +5 -5
  7. package/index.js +6 -9
  8. package/package.json +9 -28
  9. package/src/app.js +33 -38
  10. package/state.js +14 -0
  11. package/svgSprite.config.js +2 -2
  12. package/.babelrc.js +0 -5
  13. package/.coveralls.yml +0 -1
  14. package/.eslintignore +0 -1
  15. package/.legacy/_tools_old.js +0 -49
  16. package/.legacy/boxModel.js +0 -3
  17. package/.legacy/index copy.js +0 -45
  18. package/.legacy/preview.js +0 -133
  19. package/.legacy/sequence.js +0 -3
  20. package/.legacy/style.js +0 -30
  21. package/.prettierrc +0 -4
  22. package/.vscode/extensions.json +0 -5
  23. package/src/assets/dark.png +0 -0
  24. package/src/assets/fonts/FiraGO/FiraGO-Bold.woff2 +0 -0
  25. package/src/assets/fonts/FiraGO/FiraGO-Light.woff2 +0 -0
  26. package/src/assets/fonts/FiraGO/FiraGO-Medium.woff2 +0 -0
  27. package/src/assets/fonts/FiraGO/FiraGO-Regular.woff2 +0 -0
  28. package/src/assets/fonts/europa-bold-webfont.woff2 +0 -0
  29. package/src/assets/fonts/europa-bolditalic-webfont.woff2 +0 -0
  30. package/src/assets/fonts/europa-light-webfont.woff2 +0 -0
  31. package/src/assets/fonts/europa-lightitalic-webfont.woff2 +0 -0
  32. package/src/assets/fonts/europa-regular-webfont.woff2 +0 -0
  33. package/src/assets/fonts/europa-regularitalic-webfont.woff2 +0 -0
  34. package/src/assets/mask1.png +0 -0
  35. package/src/assets/mask2.png +0 -0
  36. package/src/assets/ovalCircle.svg +0 -9
  37. package/src/assets/shapes.png +0 -0
  38. package/src/assets/space.png +0 -0
  39. package/src/assets/type.png +0 -0
  40. package/src/components/Aside.js +0 -101
  41. package/src/components/Banner.js +0 -58
  42. package/src/components/ColorText.js +0 -29
  43. package/src/components/ColorsPalette.js +0 -69
  44. package/src/components/ColumnParagrphs.js +0 -22
  45. package/src/components/ContinueButton.js +0 -14
  46. package/src/components/DesignComponent.js +0 -81
  47. package/src/components/FontText.js +0 -193
  48. package/src/components/Header.js +0 -53
  49. package/src/components/HeaderHeading.js +0 -23
  50. package/src/components/IconsGroup.js +0 -64
  51. package/src/components/Page.js +0 -135
  52. package/src/components/ResponsivePreview.js +0 -44
  53. package/src/components/Route.js +0 -1
  54. package/src/components/ShapePreview.js +0 -63
  55. package/src/components/ShapeSet.js +0 -85
  56. package/src/components/SlidersWithResponsive.js +0 -23
  57. package/src/components/SpacingButton/actionButtons.js +0 -41
  58. package/src/components/SpacingButton/dropdown.js +0 -114
  59. package/src/components/SpacingButton/index.js +0 -250
  60. package/src/components/SpacingButton/props.js +0 -45
  61. package/src/components/SpacingPreview.js +0 -156
  62. package/src/components/SpacingTable.js +0 -213
  63. package/src/components/ThemeButtons.js +0 -41
  64. package/src/components/UploadImage.js +0 -31
  65. package/src/components/Widget.js +0 -1
  66. package/src/components/index.js +0 -25
  67. package/src/pages/Account/Personal.js +0 -59
  68. package/src/pages/Account/Project.js +0 -40
  69. package/src/pages/Account/fields.js +0 -74
  70. package/src/pages/Account/fieldsGridProps.js +0 -15
  71. package/src/pages/Account/index.js +0 -117
  72. package/src/pages/Color/globalThemes.js +0 -32
  73. package/src/pages/Color/index.js +0 -18
  74. package/src/pages/Color/palette.js +0 -36
  75. package/src/pages/Color/themes.js +0 -37
  76. package/src/pages/Components/grid.js +0 -99
  77. package/src/pages/Components/index.js +0 -37
  78. package/src/pages/Components/sidebar.js +0 -28
  79. package/src/pages/Components/style.js +0 -16
  80. package/src/pages/DesignSystem/Dashboard/banners.js +0 -38
  81. package/src/pages/DesignSystem/Dashboard/designElements.js +0 -124
  82. package/src/pages/DesignSystem/Dashboard/index.js +0 -22
  83. package/src/pages/DesignSystem/Dashboard/quickstart.js +0 -84
  84. package/src/pages/DesignSystem/Dashboard/state.js +0 -142
  85. package/src/pages/DesignSystem/Dashboard/summary.js +0 -52
  86. package/src/pages/DesignSystem/index.js +0 -187
  87. package/src/pages/Editor/index.js +0 -46
  88. package/src/pages/Editor/layers.js +0 -126
  89. package/src/pages/Editor/scene.js +0 -95
  90. package/src/pages/Editor/style.js +0 -13
  91. package/src/pages/Editor/tools.js +0 -360
  92. package/src/pages/Export/const.js +0 -19
  93. package/src/pages/Export/description.js +0 -88
  94. package/src/pages/Export/gist.js +0 -23
  95. package/src/pages/Export/index.js +0 -82
  96. package/src/pages/Export/scene.js +0 -59
  97. package/src/pages/Export/state.js +0 -23
  98. package/src/pages/Export/tools.js +0 -101
  99. package/src/pages/Fonts/fontFaces.js +0 -50
  100. package/src/pages/Fonts/fontFamilies.js +0 -48
  101. package/src/pages/Fonts/index.js +0 -16
  102. package/src/pages/Fonts/state.js +0 -5
  103. package/src/pages/Icons/index.js +0 -92
  104. package/src/pages/Icons/style.js +0 -1
  105. package/src/pages/Init/ChooseEnvironment.js +0 -149
  106. package/src/pages/Init/ChooseProject.js +0 -61
  107. package/src/pages/Init/CreateDocumentTheme.js +0 -176
  108. package/src/pages/Init/CreatePalette.js +0 -94
  109. package/src/pages/Init/FontText.js +0 -33
  110. package/src/pages/Init/Personalize/fields.js +0 -120
  111. package/src/pages/Init/Personalize/icon.js +0 -76
  112. package/src/pages/Init/Personalize/index.js +0 -120
  113. package/src/pages/Init/index.js +0 -39
  114. package/src/pages/Library/disabled.js +0 -38
  115. package/src/pages/Library/index.js +0 -33
  116. package/src/pages/MediaQuery/index.js +0 -46
  117. package/src/pages/MediaQuery/lists.js +0 -299
  118. package/src/pages/MediaQuery/state.js +0 -149
  119. package/src/pages/MediaQuery/typeScale.js +0 -69
  120. package/src/pages/Shapes/index.js +0 -75
  121. package/src/pages/Shapes/shapeSet.js +0 -133
  122. package/src/pages/Shapes/style.js +0 -11
  123. package/src/pages/Spaces/index.js +0 -65
  124. package/src/pages/Spaces/sequence.js +0 -34
  125. package/src/pages/Spaces/templates.js +0 -37
  126. package/src/pages/State/index.js +0 -87
  127. package/src/pages/Theme/buttonTitlesGrid.js +0 -47
  128. package/src/pages/Theme/buttonsHeader.js +0 -33
  129. package/src/pages/Theme/friendTheme.js +0 -30
  130. package/src/pages/Theme/index.js +0 -226
  131. package/src/pages/Theme/interactivity.js +0 -115
  132. package/src/pages/Theme/ntc.js +0 -1689
  133. package/src/pages/Theme/preview.js +0 -152
  134. package/src/pages/Theme/selectsGrid.js +0 -74
  135. package/src/pages/Theme/style.js +0 -38
  136. package/src/pages/Theme/themingTools.js +0 -106
  137. package/src/pages/Typography/collection.js +0 -115
  138. package/src/pages/Typography/documentStyles.js +0 -113
  139. package/src/pages/Typography/index.js +0 -71
  140. package/src/pages/Typography/rangeButtons.js +0 -58
  141. package/src/pages/Typography/shared.js +0 -9
  142. package/src/pages/Typography/stylesHelpers.js +0 -30
  143. package/src/pages/Typography/typeScale.js +0 -83
  144. package/src/pages/__Account/__/index.js +0 -241
  145. package/src/pages/__Account/__/setUpProject.js +0 -142
  146. package/src/pages/__Account/index.js +0 -111
  147. package/src/pages/index.js +0 -17
  148. package/src/state.js +0 -20
  149. package/src/style.js +0 -20
@@ -1,133 +0,0 @@
1
- 'use strict'
2
-
3
- import { ShapeSet } from '../../components'
4
-
5
- export const rectangle = {
6
- extend: ShapeSet,
7
- label: {
8
- text: 'Rectangle ',
9
- span: 'with rounds'
10
- },
11
- list: {
12
- $setStateCollection: () => [
13
- { borderRadius: '0' },
14
- { borderRadius: 'X' },
15
- { borderRadius: 'Y' },
16
- { borderRadius: 'Z' },
17
- { borderRadius: 'A' },
18
- { borderRadius: 'B' },
19
- { borderRadius: 'C' }
20
- ]
21
- }
22
- }
23
-
24
- export const circle = {
25
- extend: ShapeSet,
26
- label: { text: 'Circle' },
27
- list: {
28
- $setStateCollection: () => [
29
- { shape: 'circle' }
30
- ]
31
- }
32
- }
33
-
34
- export const toolTip = {
35
- extend: ShapeSet,
36
- label: { text: 'Tooltip' },
37
- list: {
38
- childExtend: {
39
- props: {
40
- childProps: { borderRadius: 'Y1' }
41
- }
42
- },
43
-
44
- $setStateCollection: () => [
45
- { shape: 'tooltip', shapeDirection: 'top' },
46
- { shape: 'tooltip', shapeDirection: 'right' },
47
- { shape: 'tooltip', shapeDirection: 'bottom' },
48
- { shape: 'tooltip', shapeDirection: 'left' }
49
- ]
50
- }
51
- }
52
-
53
- export const tagShape = {
54
- extend: ShapeSet,
55
- label: { text: 'Tag' },
56
- list: {
57
- childExtend: {
58
- props: {
59
- padding: 'B C2+W',
60
- childProps: { borderRadius: 6 }
61
- }
62
- },
63
- $setStateCollection: () => [
64
- { shape: 'tag', shapeDirection: 'left' },
65
- { shape: 'tag', shapeDirection: 'right' }
66
- ]
67
- }
68
- }
69
-
70
- export const bubble = {
71
- extend: ShapeSet,
72
- label: { text: 'Bubble' },
73
-
74
- list: {
75
- $setStateCollection: () => [
76
- { borderRadius: 'X B B X' },
77
- { borderRadius: 'B X X B' },
78
- { borderRadius: 'X X B B' },
79
- { borderRadius: 'B B X X' },
80
- { borderRadius: 'B X X X' },
81
- { borderRadius: 'X B X X' },
82
- { borderRadius: 'X X B X' },
83
- { borderRadius: 'X X X B' }
84
- ]
85
- }
86
- }
87
-
88
- export const chevron = {
89
- extend: ShapeSet,
90
- label: { text: 'Chevron' },
91
- list: {
92
- childExtend: {
93
- props: {
94
- padding: 'B C2+W'
95
- }
96
- },
97
- $setStateCollection: () => [
98
- { shape: 'chevron', shapeDirection: 'left' },
99
- { shape: 'chevron', shapeDirection: 'right' }
100
- ]
101
- }
102
- }
103
-
104
- export const tv = {
105
- extend: ShapeSet,
106
- label: { text: 'TV' },
107
- list: {
108
- childExtend: {
109
- props: {
110
- padding: 'B B2',
111
- childProps: { minWidth: 'D' }
112
- }
113
- },
114
- $setStateCollection: () => [
115
- { shape: 'tv' }
116
- ]
117
- }
118
- }
119
-
120
- export const hexagon = {
121
- extend: ShapeSet,
122
- label: { text: 'Hexagon' },
123
- list: {
124
- childExtend: {
125
- props: {
126
- padding: 'B C2+W'
127
- }
128
- },
129
- $setStateCollection: () => [
130
- { shape: 'hexagon' }
131
- ]
132
- }
133
- }
@@ -1,11 +0,0 @@
1
- 'use strict'
2
-
3
- export const styleUploadSVG = {
4
- div: {
5
- background: 'rgba(255, 255, 255, .05)',
6
- display: 'flex',
7
- alignItems: 'center'
8
- },
9
-
10
- input: { display: 'none' }
11
- }
@@ -1,65 +0,0 @@
1
- 'use strict'
2
-
3
- import { mapSequence, sortSequence } from '@symbo.ls/components'
4
- import sequence from './sequence'
5
- import templates from './templates'
6
-
7
- export const Spaces = {
8
- state: 'PROJECT_SYSTEM',
9
-
10
- SectionHeader: {
11
- margin: '0 0 C',
12
- title: 'Spacing',
13
- p: 'Unlike typography, component may has the properties of padding, gap, width and rest.'
14
- },
15
-
16
- cnt: {
17
- state: 'SPACING',
18
-
19
- SlidersWithResponsive: {},
20
-
21
- Line: {},
22
-
23
- templates,
24
-
25
- Line_2: {},
26
-
27
- sequence,
28
-
29
- on: {
30
- stateCreated: (el, s) => {
31
- s.update({
32
- base: s.base || 16,
33
- ratio: s.ratio || 1.618,
34
- range: s.range || [-5, +12],
35
- subSequence: s.subSequence || true,
36
- templates: s.templates || {},
37
- scales: {},
38
- sequence: {},
39
- vars: {},
40
- props: {},
41
- type: 'demo-spacing',
42
- sampleText: 'Today is a big day for our tribe. The year ends.'
43
- }, {
44
- preventUpdate: true,
45
- preventUpdateListener: true
46
- })
47
-
48
- if (s.base && s.range) s.sequence = mapSequence(s, sortSequence)
49
- },
50
- stateUpdated: (el, s, changes) => {
51
- const { base, ratio, range, subSequence } = changes
52
-
53
- s.update({
54
- base,
55
- ratio,
56
- range,
57
- subSequence
58
- }, {
59
- preventUpdate: true,
60
- preventUpdateListener: true
61
- })
62
- }
63
- }
64
- }
65
- }
@@ -1,34 +0,0 @@
1
- 'use strict'
2
-
3
- import { Flex } from '@symbo.ls/components'
4
-
5
- export default {
6
- extend: [Flex],
7
-
8
- props: {
9
- lazyLoad: true,
10
- flow: 'column',
11
- gap: 'C1'
12
- },
13
-
14
- SectionHeader: {
15
- title: 'Sequence',
16
- p: 'Spacing scale is a set of values that are used to define the padding, margin, gap and width of components.',
17
- margin: '0'
18
- },
19
-
20
- Flex: {
21
- props: {
22
- lazyLoad: true,
23
- flow: 'column',
24
- gap: 'B1',
25
-
26
- table: { flex: 1 },
27
- preview: { flex: 1 }
28
- },
29
-
30
- SpacingTable: {
31
- state: 'sequence'
32
- }
33
- }
34
- }
@@ -1,37 +0,0 @@
1
- 'use strict'
2
-
3
- import { Flex } from '@symbo.ls/components'
4
-
5
- export default {
6
- extend: [Flex],
7
-
8
- state: 'templates',
9
-
10
- props: {
11
- flow: 'column',
12
- gap: 'C1'
13
- },
14
-
15
- SectionHeader: {
16
- title: 'Templates',
17
- p: 'Spacing scale is a set of values that are used to define the padding, margin, gap and width of components.',
18
- margin: '0'
19
- },
20
-
21
- cnt: {
22
- extend: Flex,
23
- props: { columns: 'repeat(3, 1fr)' },
24
-
25
- $setStateCollection: (el, s) => {
26
- const SPACING = s.parse()
27
- const templates = SPACING.templates || {}
28
-
29
- const HELPERS = Object.keys(templates)
30
- .filter(v => v.slice(0, 1) === '.')
31
-
32
- el.removeContent()
33
-
34
- return HELPERS
35
- }
36
- }
37
- }
@@ -1,87 +0,0 @@
1
- 'use strict'
2
-
3
- import { Input, Flex, CommonField } from '@symbo.ls/components'
4
-
5
- const sideBar = {
6
- tag: 'aside'
7
- }
8
-
9
- export const State = {
10
- sideBar,
11
-
12
- form: {
13
- extend: Flex,
14
-
15
- props: {
16
- flow: 'column',
17
- gap: 'A2',
18
- margin: 'C1 - -',
19
- width: 'G2'
20
- },
21
-
22
- childExtend: {
23
- extend: CommonField,
24
-
25
- element: {
26
- on: {
27
- input: (ev, el, s) => {
28
- const rootState = el.__root.state
29
- const key = el.parent.key.toUpperCase()
30
- const obj = {
31
- PROJECT_STATE: { [key]: el.node.value }
32
- }
33
- rootState.update(obj)
34
- }
35
- }
36
- }
37
- },
38
-
39
- title: {
40
- title: 'Title',
41
- element: {
42
- extend: Input
43
- }
44
- },
45
-
46
- websiteDesc: {
47
- title: 'Description',
48
- element: {
49
- extend: Input
50
- }
51
- },
52
-
53
- websiteTags: {
54
- title: 'Tags',
55
- element: {
56
- extend: Input
57
- }
58
- },
59
-
60
- headline: {
61
- title: 'Headline',
62
- element: {
63
- extend: Input
64
- }
65
- },
66
-
67
- paragraph: {
68
- title: 'Paragraph',
69
- element: {
70
- extend: Input
71
- }
72
- },
73
-
74
- bookNowUrl: {
75
- title: 'Book now URL:',
76
- element: {
77
- extend: Input
78
- }
79
- }
80
- },
81
-
82
- on: {
83
- stateUpdated: (el, s) => {
84
- s.projectSystemUpdate({ PROJECT_STATE: s.parse })
85
- }
86
- }
87
- }
@@ -1,47 +0,0 @@
1
- 'use strict'
2
-
3
- import { ButtonTitle, Grid } from '@symbo.ls/components'
4
-
5
- export const columnTitleButton = {
6
- extend: ButtonTitle,
7
- props: {
8
- flow: 'column',
9
- align: 'flex-start flex-start',
10
- gap: 'Z2',
11
- title: {
12
- color: 'gray8',
13
- textTransform: 'capitalize'
14
- },
15
- iconBox: {
16
- background: 'gray2',
17
- icon: { icon: 'plus' }
18
- }
19
- }
20
- }
21
-
22
- export const buttonTitlesGrid = {
23
- extend: Grid,
24
- props: {
25
- justiyItems: 'start',
26
- padding: 'B2 - - -',
27
- columns: 'repeat(4, auto)',
28
- gap: 'C1',
29
- width: '100%',
30
- justifyItems: 'start',
31
- '@tabletL': { columns: 'repeat(3, auto)' },
32
- '@tabletM': { columns: 'repeat(2, auto)' },
33
- childProps: { width: 'F+Z1' }
34
- },
35
-
36
- childExtend: {
37
- extend: columnTitleButton,
38
- title: {},
39
- iconBox: {}
40
- },
41
- ...[
42
- { props: { title: { text: 'shadow' } } },
43
- { props: { title: { text: 'Opacity' } } },
44
- { props: { title: { text: 'Background Blur' } } },
45
- { props: { title: { text: 'Blend mode' } } }
46
- ]
47
- }
@@ -1,33 +0,0 @@
1
- 'use strict'
2
-
3
- import { Flex, IconButton } from '@symbo.ls/components'
4
-
5
- const props = {
6
- gap: 'A2',
7
- margin: '- - - auto',
8
- childProps: {
9
- theme: 'none',
10
- background: 'transparent',
11
- color: 'gray7',
12
- ':hover': {
13
- background: 'gray3',
14
- color: 'white'
15
- }
16
- }
17
- }
18
-
19
- export const buttonsHeader = {
20
- extend: Flex,
21
- props,
22
-
23
- childExtend: IconButton,
24
- $setPropsCollection: () => [
25
- { icon: 'cursorOutline' },
26
- { icon: 'clickOutline' },
27
- { icon: 'clickOutline' },
28
- { icon: 'focusOutline' },
29
- { icon: 'selection' },
30
- { icon: 'colorInvert' },
31
- { icon: 'accessibilityOutline' }
32
- ]
33
- }
@@ -1,30 +0,0 @@
1
- 'use strict'
2
-
3
- import { CommonField, SelectField } from '@symbo.ls/components'
4
-
5
- export const friendTheme = {
6
- extend: CommonField,
7
- style: { paddingBlock: 0 },
8
- caption: {
9
- tag: 'h6',
10
- props: { text: 'Friend themes', size: 'B' },
11
- style: { opacity: 1, fontWeight: 'normal', margin: 0 }
12
- },
13
- element: {
14
- extend: SelectField,
15
- style: {
16
- background: 'transparent',
17
- paddingLeft: 0,
18
- '&:hover': { background: 'transparent' }
19
- },
20
- title: null,
21
- buttons: {
22
- ...[
23
- {
24
- props: { icon: 'plus' },
25
- style: { padding: `${10 / 16}em` }
26
- }
27
- ]
28
- }
29
- }
30
- }
@@ -1,226 +0,0 @@
1
- 'use strict'
2
-
3
- import {
4
- PageTemplate,
5
- Button,
6
- Flex,
7
- SectionHeader,
8
- Pseudo,
9
- CommonField
10
- } from '@symbo.ls/components'
11
-
12
- import preview from './preview'
13
-
14
- import { buttonsHeader } from './buttonsHeader'
15
- import { selectsGrid } from './selectsGrid'
16
- import { buttonTitlesGrid, columnTitleButton } from './buttonTitlesGrid'
17
-
18
- const ThemeNameField = {
19
- tag: 'label',
20
- attr: { for: 'name-it' },
21
- extend: CommonField,
22
-
23
- props: {
24
- gap: '0',
25
- title: {
26
- text: 'Name the theme',
27
- fontSize: 'Z'
28
- },
29
-
30
- element: {
31
- whiteSpace: 'nowrap',
32
- minWidth: 'C1',
33
- maxWidth: 'fit-content',
34
- outline: 'none',
35
- fontSize: 'C2',
36
- round: '0',
37
- textTransform: 'capitalize',
38
-
39
- border: 'dashed, gray3',
40
- borderWidth: '0 0 1px',
41
-
42
- ':empty::before': {
43
- content: '"You name it"',
44
- color: 'gray5'
45
- }
46
- }
47
- },
48
-
49
- title: {},
50
- element: {
51
- extend: Pseudo,
52
- text: ({ state }) => state.themeName,
53
- attr: { contentEditable: true, id: 'name-it' }
54
- }
55
- }
56
-
57
- const footer = { //eslint-disable-line
58
- extend: [Flex],
59
- props: {
60
- height: 'C2',
61
- padding: '0 A'
62
- },
63
- style: {
64
- margin: 'auto -80px 0',
65
- justifyContent: 'space-between',
66
- alignItems: 'center'
67
- },
68
- nav: {
69
- extend: [Flex],
70
- props: { gap: 'A' },
71
- childExtend: {
72
- extend: [Button],
73
- props: {
74
- size: 'Z',
75
- width: 'B2',
76
- height: 'B2',
77
- theme: 'transparent'
78
- }
79
- },
80
- ...[
81
- { props: { icon: 'starOutline' } },
82
- { props: { icon: 'copyOutline' } },
83
- { props: { icon: 'share' } }
84
- ]
85
- },
86
- span: {
87
- props: {
88
- text: 'Autosaved 1 second ago',
89
- size: 'Y'
90
- },
91
- style: { opacity: '.35' }
92
- },
93
-
94
- export: {
95
- extend: Flex,
96
- style: {
97
- alignItems: 'center'
98
- },
99
- span: {
100
- props: {
101
- text: 'Export:',
102
- size: 'Y',
103
- padding: '0 B1 0 0'
104
- },
105
- style: { opacity: '.35' }
106
- },
107
- nav: {
108
- extend: [Flex],
109
- props: { gap: 'Y2' },
110
- childExtend: {
111
- extend: [Button],
112
- props: {
113
- size: 'Z',
114
- width: 'B2',
115
- height: 'B2',
116
- theme: 'transparent'
117
- },
118
- style: {
119
- color: 'white'
120
- }
121
- },
122
- ...[
123
- { props: { icon: 'themeOutline' } },
124
- { props: { icon: 'sketch' } },
125
- { props: { icon: 'arrowAngleMirroringHorizontal' } }
126
- ]
127
- }
128
- }
129
- }
130
-
131
- export const Theme = {
132
- key: 'ColorEditor',
133
-
134
- extend: PageTemplate,
135
-
136
- state: 'PROJECT_SYSTEM',
137
-
138
- props: {
139
- padding: '- D2 - -',
140
- boxSizing: 'border-box'
141
- },
142
-
143
- header: {
144
- extend: SectionHeader,
145
- props: {
146
- margin: '0 - B2 0',
147
- justifyContent: 'space-between'
148
- },
149
- heading: null,
150
- ThemeNameField,
151
- nav: null,
152
- buttons: { extend: buttonsHeader },
153
- SceneThemingBar: {}
154
- },
155
-
156
- cnt: {
157
- extend: Flex,
158
- props: { gap: 'C2', margin: 'Z 0 0' },
159
- state: 'THEME',
160
-
161
- preview,
162
-
163
- colorEdit: {
164
- state: window.location.pathname.split('theme/')[1],
165
-
166
- props: {
167
- flex: '1',
168
- gap: '',
169
- flexFlow: 'column'
170
- },
171
-
172
- colors: {
173
- props: {
174
- padding: '- - C1 -',
175
- border: 'solid, gray2',
176
- borderWidth: '0 0 1px 0'
177
- },
178
- selectsGrid,
179
- buttonTitlesGrid
180
- },
181
-
182
- selectors: {
183
- childExtend: {
184
- extend: CommonField,
185
- state: true,
186
- props: ({ key }) => ({
187
- border: 'solid, gray2',
188
- borderWidth: '0 0 1px 0',
189
- gap: 'B2',
190
- padding: 'B - C1 -',
191
- title: {
192
- text: key,
193
- color: 'white'
194
- }
195
- }),
196
- title: {},
197
- element: { extend: selectsGrid }
198
- },
199
-
200
- ':hover': {},
201
- ':focus': {},
202
- ':active': {},
203
- ':selection': {},
204
- ':disabled': {}
205
- },
206
-
207
- friendThemes: {
208
- extend: columnTitleButton,
209
- props: {
210
- padding: 'C2 - - -',
211
- title: {
212
- text: 'Friend themes',
213
- fontSize: 'A1',
214
- color: 'gray9'
215
- }
216
- },
217
- title: {},
218
- iconBox: {}
219
- }
220
- }
221
- }
222
-
223
- // AccessibilityCheck: {
224
- // padding: 'E 0 F'
225
- // },
226
- }