smbls 0.8.37 → 0.8.40
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/package.json +1 -1
- package/src/Link.js +0 -2
- package/src/Media.js +10 -18
package/package.json
CHANGED
package/src/Link.js
CHANGED
package/src/Media.js
CHANGED
|
@@ -47,13 +47,15 @@ const convertPropsToClass = (props, result, element) => {
|
|
|
47
47
|
const applyMediaProps = (key, props, result, element) => {
|
|
48
48
|
const mediaName = CONFIG_MEDIA[key.slice(1)]
|
|
49
49
|
const generatedClass = convertPropsToClass(props, result, element)
|
|
50
|
+
|
|
50
51
|
const rootState = element.__root ? element.__root.state : element.state
|
|
51
52
|
const { globalTheme } = rootState
|
|
52
53
|
const name = key.slice(1)
|
|
54
|
+
const isTheme = ['dark', 'light'].includes(name)
|
|
53
55
|
const matchesGlobal = name === globalTheme
|
|
54
56
|
|
|
55
|
-
if (globalTheme) {
|
|
56
|
-
if (matchesGlobal) merge(result, generatedClass)
|
|
57
|
+
if (globalTheme && isTheme) {
|
|
58
|
+
if (matchesGlobal) return merge(result, generatedClass)
|
|
57
59
|
return
|
|
58
60
|
}
|
|
59
61
|
|
|
@@ -70,7 +72,8 @@ const applySelectorProps = (key, props, result, element) => {
|
|
|
70
72
|
|
|
71
73
|
const applyCaseProps = (key, props, result, element) => {
|
|
72
74
|
const caseKey = key.slice(1)
|
|
73
|
-
|
|
75
|
+
const isPropTrue = element.props[caseKey]
|
|
76
|
+
if (!CONFIG_CASES[caseKey] && !isPropTrue) return
|
|
74
77
|
return merge(result, convertPropsToClass(props, result, element))
|
|
75
78
|
}
|
|
76
79
|
|
|
@@ -81,6 +84,8 @@ const applyConditionalCaseProps = (key, props, result, element) => {
|
|
|
81
84
|
return merge(result, convertPropsToClass(props, result, element))
|
|
82
85
|
}
|
|
83
86
|
|
|
87
|
+
const applyTrueProps = (props, result, element) => merge(result, convertPropsToClass(props, result, element))
|
|
88
|
+
|
|
84
89
|
const beforeClassAssign = (element, s) => {
|
|
85
90
|
const { props, class: className } = element
|
|
86
91
|
|
|
@@ -115,27 +120,14 @@ export const initUpdate = element => {
|
|
|
115
120
|
const setter = keySetters[key.slice(0, 1)]
|
|
116
121
|
if (key === 'theme') {
|
|
117
122
|
props.update({ themeModifier: globalTheme }, { preventRecursive: true, ignoreInitUpdate: true })
|
|
118
|
-
}
|
|
123
|
+
} else if (key === 'true') applyTrueProps(props[key], CLASS_NAMES, element)
|
|
124
|
+
|
|
119
125
|
if (setter) setter(key, props[key], CLASS_NAMES, element)
|
|
120
126
|
}
|
|
121
127
|
|
|
122
128
|
if (Object.keys(CLASS_NAMES.media).length) className.media = CLASS_NAMES.media
|
|
123
129
|
className.selector = CLASS_NAMES.selector
|
|
124
130
|
className.case = CLASS_NAMES.case
|
|
125
|
-
|
|
126
|
-
// for (const screen in props) {
|
|
127
|
-
// if (screen.slice(0, 1) === '@') {
|
|
128
|
-
// const mediaName = screen.slice(1)
|
|
129
|
-
// const mediaKey = `@media screen and ${CONFIG_MEDIA[mediaName]}`
|
|
130
|
-
// if (mediaName === 'dark' || mediaName === 'light') {
|
|
131
|
-
// const { MEDIA_FORCE } = className
|
|
132
|
-
// if (!MEDIA_FORCE) className.media = {}
|
|
133
|
-
// if (globalTheme === mediaName) {
|
|
134
|
-
// className.MEDIA_FORCED = className.MEDIA[mediaKey]
|
|
135
|
-
// } else className.MEDIA_FORCED = {}
|
|
136
|
-
// }
|
|
137
|
-
// }
|
|
138
|
-
// }
|
|
139
131
|
}
|
|
140
132
|
|
|
141
133
|
export const Responsive = {
|