@symbo.ls/atoms 2.10.256 → 2.10.257
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Block.js +8 -9
- package/Shape/index.js +3 -1
- package/Theme.js +41 -61
- package/package.json +6 -3
package/Block.js
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import { getSpacingBasedOnRatio, getSpacingByKey } from '@symbo.ls/scratch'
|
|
5
|
-
|
|
6
|
-
const transfromGap = gap => isString(gap) && ({
|
|
7
|
-
gap: gap.split(' ').map(v => getSpacingByKey(v, 'gap').gap).join(' ')
|
|
8
|
-
})
|
|
3
|
+
import { getSpacingBasedOnRatio, getSpacingByKey, transfromGap } from '@symbo.ls/scratch'
|
|
9
4
|
|
|
10
5
|
export const Block = {
|
|
11
6
|
class: {
|
|
@@ -100,7 +95,9 @@ export const Block = {
|
|
|
100
95
|
marginBlockStart: ({ props }) => props.marginBlockStart ? getSpacingBasedOnRatio(props, 'marginBlockStart') : null,
|
|
101
96
|
marginBlockEnd: ({ props }) => props.marginBlockEnd ? getSpacingBasedOnRatio(props, 'marginBlockEnd') : null,
|
|
102
97
|
|
|
103
|
-
gap: ({ props }) => props.gap ?
|
|
98
|
+
gap: ({ props }) => props.gap ? ({
|
|
99
|
+
gap: transfromGap(props.gap)
|
|
100
|
+
}) : null,
|
|
104
101
|
gridArea: ({ props }) => props.gridArea && ({ gridArea: props.gridArea }),
|
|
105
102
|
|
|
106
103
|
flex: ({ props }) => props.flex && ({ flex: props.flex }),
|
|
@@ -131,7 +128,9 @@ export const Block = {
|
|
|
131
128
|
},
|
|
132
129
|
|
|
133
130
|
gridColumn: ({ props }) => props.gridColumn && ({ gridColumn: props.gridColumn }),
|
|
134
|
-
gridColumnStart: ({ props }) => props.columnStart ? ({
|
|
131
|
+
gridColumnStart: ({ props }) => props.columnStart ? ({
|
|
132
|
+
gridColumnStart: props.columnStart
|
|
133
|
+
}) : null,
|
|
135
134
|
gridRow: ({ props }) => props.gridRow && ({ gridRow: props.gridRow }),
|
|
136
135
|
gridRowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,
|
|
137
136
|
|
|
@@ -145,7 +144,7 @@ export const Block = {
|
|
|
145
144
|
},
|
|
146
145
|
|
|
147
146
|
columns: ({ props }) => props.columns && ({ columns: props.columns }),
|
|
148
|
-
columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props
|
|
147
|
+
columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,
|
|
149
148
|
columnSpan: ({ props }) => props.columnSpan && ({ columns: props.columnSpan }),
|
|
150
149
|
columnFill: ({ props }) => props.columnFill && ({ columns: props.columnFill }),
|
|
151
150
|
columnCount: ({ props }) => props.columnCount && ({ columns: props.columnCount })
|
package/Shape/index.js
CHANGED
|
@@ -28,7 +28,9 @@ export const Shape = {
|
|
|
28
28
|
},
|
|
29
29
|
shapeDirectionColor: ({ props }) => {
|
|
30
30
|
const { background, backgroundColor } = props
|
|
31
|
-
const borderColor =
|
|
31
|
+
const borderColor = {
|
|
32
|
+
borderColor: getMediaColor(background || backgroundColor)
|
|
33
|
+
}
|
|
32
34
|
return props.shapeDirection ? borderColor : null
|
|
33
35
|
},
|
|
34
36
|
|
package/Theme.js
CHANGED
|
@@ -1,56 +1,14 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
getMediaTheme,
|
|
5
|
+
getMediaColor,
|
|
6
|
+
transformTextStroke,
|
|
7
|
+
transformShadow
|
|
8
|
+
} from '@symbo.ls/scratch'
|
|
4
9
|
|
|
5
10
|
import { depth } from './Shape/style'
|
|
6
11
|
|
|
7
|
-
const isBorderStyle = str =>
|
|
8
|
-
['none', 'hidden', 'dotted', 'dashed', 'solid', 'double', 'groove', 'ridge', 'inset', 'outset', 'initial'].some(v => str.includes(v))
|
|
9
|
-
|
|
10
|
-
const transformBorder = border => {
|
|
11
|
-
const arr = border.split(', ')
|
|
12
|
-
return arr.map(v => {
|
|
13
|
-
v = v.trim()
|
|
14
|
-
if (v.slice(0, 2) === '--') return `var(${v})`
|
|
15
|
-
else if (isBorderStyle(v)) return v || 'solid'
|
|
16
|
-
else if (v.slice(-2) === 'px' || v.slice(-2) === 'em') return v // TODO: add map spacing
|
|
17
|
-
else if (getColor(v).length > 2) return getColor(v)
|
|
18
|
-
return getSpacingByKey(v, 'border').border
|
|
19
|
-
}).join(' ')
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const transformTextStroke = stroke => ({
|
|
23
|
-
WebkitTextStroke: stroke.split(', ').map(v => {
|
|
24
|
-
if (v.slice(0, 2) === '--') return `var(${v})`
|
|
25
|
-
if (v.includes('px')) return v
|
|
26
|
-
else if (getColor(v)) return getColor(v)
|
|
27
|
-
}).join(' ')
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
export const transformShadow = shadows => shadows.split('|').map(shadow => {
|
|
31
|
-
return shadow.split(', ').map(v => {
|
|
32
|
-
v = v.trim()
|
|
33
|
-
if (v.slice(0, 2) === '--') return `var(${v})`
|
|
34
|
-
if (getColor(v).length > 2) return getColor(v)
|
|
35
|
-
if (v.includes('px') || v.slice(-2) === 'em') return v
|
|
36
|
-
const arr = v.split(' ')
|
|
37
|
-
if (!arr.length) return v
|
|
38
|
-
return arr.map(v => getSpacingByKey(v, 'shadow').shadow).join(' ')
|
|
39
|
-
}).join(' ')
|
|
40
|
-
}).join(',')
|
|
41
|
-
|
|
42
|
-
const transformBackgroundImage = (backgroundImage, ctx, globalTheme) => ({
|
|
43
|
-
backgroundImage: backgroundImage.split(', ').map(v => {
|
|
44
|
-
if (v.slice(0, 2) === '--') return `var(${v})`
|
|
45
|
-
if (v.includes('url') || v.includes('gradient')) return v
|
|
46
|
-
else if (ctx.designSystem.GRADIENT[backgroundImage]) {
|
|
47
|
-
return getMediaColor(backgroundImage, 'backgroundImage', globalTheme)
|
|
48
|
-
}
|
|
49
|
-
else if (v.includes('/') || v.includes('http')) return `url(${v})`
|
|
50
|
-
return v
|
|
51
|
-
}).join(' ')
|
|
52
|
-
})
|
|
53
|
-
|
|
54
12
|
export const getSystemTheme = ({ context, state }) => {
|
|
55
13
|
const rootState = state && state.__root
|
|
56
14
|
return rootState ? rootState.globalTheme : context.designSystem && context.designSystem.globalTheme
|
|
@@ -58,7 +16,7 @@ export const getSystemTheme = ({ context, state }) => {
|
|
|
58
16
|
|
|
59
17
|
export const Theme = {
|
|
60
18
|
class: {
|
|
61
|
-
depth: ({ props }) => depth[props.depth],
|
|
19
|
+
depth: ({ props }) => props.depth && depth[props.depth],
|
|
62
20
|
|
|
63
21
|
theme: (element) => {
|
|
64
22
|
const { props } = element
|
|
@@ -71,33 +29,47 @@ export const Theme = {
|
|
|
71
29
|
const { props } = element
|
|
72
30
|
const globalTheme = getSystemTheme(element)
|
|
73
31
|
if (!props.color) return
|
|
74
|
-
return
|
|
32
|
+
return {
|
|
33
|
+
color: getMediaColor(props.color, globalTheme)
|
|
34
|
+
}
|
|
75
35
|
},
|
|
76
36
|
|
|
77
37
|
background: (element) => {
|
|
78
38
|
const { props } = element
|
|
79
39
|
const globalTheme = getSystemTheme(element)
|
|
80
40
|
if (!props.background) return
|
|
81
|
-
return
|
|
41
|
+
return {
|
|
42
|
+
background: getMediaColor(props.background, globalTheme)
|
|
43
|
+
}
|
|
82
44
|
},
|
|
83
45
|
|
|
84
46
|
backgroundColor: (element) => {
|
|
85
47
|
const { props } = element
|
|
86
48
|
const globalTheme = getSystemTheme(element)
|
|
87
49
|
if (!props.backgroundColor) return
|
|
88
|
-
return
|
|
50
|
+
return {
|
|
51
|
+
backgroundColor: getMediaColor(props.backgroundColor, globalTheme)
|
|
52
|
+
}
|
|
89
53
|
},
|
|
90
54
|
|
|
91
55
|
backgroundImage: (element) => {
|
|
92
|
-
const { props
|
|
56
|
+
const { props } = element
|
|
93
57
|
const globalTheme = getSystemTheme(element)
|
|
94
58
|
if (!props.backgroundImage) return
|
|
95
|
-
return
|
|
59
|
+
return ({
|
|
60
|
+
backgroundSize: transformBackgroundImage(props.backgroundImage, globalTheme)
|
|
61
|
+
})
|
|
96
62
|
},
|
|
97
|
-
backgroundSize: ({ props }) => props.backgroundSize ? ({
|
|
98
|
-
|
|
63
|
+
backgroundSize: ({ props }) => props.backgroundSize ? ({
|
|
64
|
+
backgroundSize: props.backgroundSize
|
|
65
|
+
}) : null,
|
|
66
|
+
backgroundPosition: ({ props }) => props.backgroundPosition ? ({
|
|
67
|
+
backgroundPosition: props.backgroundPosition
|
|
68
|
+
}) : null,
|
|
99
69
|
|
|
100
|
-
textStroke: ({ props }) => props.textStroke ?
|
|
70
|
+
textStroke: ({ props }) => props.textStroke ? ({
|
|
71
|
+
WebkitTextStroke: transformTextStroke(props.textStroke)
|
|
72
|
+
}) : null,
|
|
101
73
|
|
|
102
74
|
outline: ({ props }) => props.outline && ({
|
|
103
75
|
outline: transformBorder(props.outline)
|
|
@@ -106,8 +78,12 @@ export const Theme = {
|
|
|
106
78
|
border: ({ props }) => props.border && ({
|
|
107
79
|
border: transformBorder(props.border)
|
|
108
80
|
}),
|
|
109
|
-
borderColor: ({ props }) =>
|
|
110
|
-
|
|
81
|
+
borderColor: ({ props }) => props.borderColor && ({
|
|
82
|
+
borderColor: getMediaColor(props.borderColor)
|
|
83
|
+
}),
|
|
84
|
+
borderStyle: ({ props }) => props.borderStyle && ({
|
|
85
|
+
borderStyle: props.borderStyle
|
|
86
|
+
}),
|
|
111
87
|
|
|
112
88
|
borderLeft: ({ props }) => props.borderLeft && ({
|
|
113
89
|
borderLeft: transformBorder(props.borderLeft)
|
|
@@ -130,8 +106,12 @@ export const Theme = {
|
|
|
130
106
|
textShadow: transformShadow(props.textShadow)
|
|
131
107
|
}),
|
|
132
108
|
|
|
133
|
-
opacity: ({ props }) => props.opacity && ({
|
|
134
|
-
|
|
109
|
+
opacity: ({ props }) => props.opacity && ({
|
|
110
|
+
opacity: props.opacity
|
|
111
|
+
}),
|
|
112
|
+
visibility: ({ props }) => props.visibility && ({
|
|
113
|
+
visibility: props.visibility
|
|
114
|
+
}),
|
|
135
115
|
|
|
136
116
|
columnRule: ({ props }) => props.columnRule && ({
|
|
137
117
|
columnRule: transformBorder(props.columnRule)
|
package/package.json
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@symbo.ls/atoms",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.257",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"gitHead": "
|
|
6
|
+
"gitHead": "3c16c123fa0b6cf00a16e2178bbbfd1049d4c0cc",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@domql/utils": "latest",
|
|
9
9
|
"@symbo.ls/create-emotion": "latest",
|
|
10
10
|
"@symbo.ls/init": "latest",
|
|
11
11
|
"@symbo.ls/scratch": "latest"
|
|
12
12
|
},
|
|
13
|
-
"source": "src/index.js"
|
|
13
|
+
"source": "src/index.js",
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"@babel/core": "^7.12.0"
|
|
16
|
+
}
|
|
14
17
|
}
|