@slimr/styled 2.1.44 → 2.1.46
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/README.md +0 -1
- package/cjs/core.js +1 -37
- package/cjs/core.js.map +1 -1
- package/cjs/core.ts +3 -37
- package/esm/core.js +3 -39
- package/esm/core.js.map +1 -1
- package/esm/core.ts +3 -37
- package/package.json +1 -1
- package/src/core.ts +3 -37
package/README.md
CHANGED
|
@@ -12,7 +12,6 @@ Features:
|
|
|
12
12
|
- Zx/Css shorthand props like [chakra-ui](https://chakra-ui.com/docs/styled-system/style-props)
|
|
13
13
|
- Concise responsive CSS syntax Breakpoints shorthand similar to [chakra-ui](https://chakra-ui.com/docs/styled-system/responsive-styles)
|
|
14
14
|
- Import pre-enhanced HTML Elements like `Div` or `A` for profit
|
|
15
|
-
- Experimental: Will favor inline-style for performance reasons, if basic.
|
|
16
15
|
|
|
17
16
|
## Context
|
|
18
17
|
|
package/cjs/core.js
CHANGED
|
@@ -91,15 +91,7 @@ function styledBase(Component) {
|
|
|
91
91
|
}
|
|
92
92
|
`;
|
|
93
93
|
}
|
|
94
|
-
|
|
95
|
-
// If has media query styles, use css class. Otherwise favor inline styles
|
|
96
|
-
if (hasMediaQuery || cssStr) {
|
|
97
|
-
cssStr = zxToCss(_zx) + cssStr;
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
_zx = expandShorthandProps(_zx);
|
|
101
|
-
rest.style = { ...rest.style, ..._zx };
|
|
102
|
-
}
|
|
94
|
+
cssStr = zxToCss(_zx) + cssStr;
|
|
103
95
|
return (0, react_1.createElement)(Component, {
|
|
104
96
|
ref,
|
|
105
97
|
...rest,
|
|
@@ -114,34 +106,6 @@ exports.styledBase = styledBase;
|
|
|
114
106
|
/**********************
|
|
115
107
|
* Helper Functions
|
|
116
108
|
**********************/
|
|
117
|
-
/** Expands the shorthand props of a zx prop into css full */
|
|
118
|
-
function expandShorthandProps(zx) {
|
|
119
|
-
return Object.entries(zx).reduce((acc, [k, v]) => {
|
|
120
|
-
if (k === 'mx') {
|
|
121
|
-
acc.marginLeft = v;
|
|
122
|
-
acc.marginRight = v;
|
|
123
|
-
}
|
|
124
|
-
else if (k === 'my') {
|
|
125
|
-
acc.marginTop = v;
|
|
126
|
-
acc.marginBottom = v;
|
|
127
|
-
}
|
|
128
|
-
else if (k === 'px') {
|
|
129
|
-
acc.paddingLeft = v;
|
|
130
|
-
acc.paddingRight = v;
|
|
131
|
-
}
|
|
132
|
-
else if (k === 'py') {
|
|
133
|
-
acc.paddingTop = v;
|
|
134
|
-
acc.paddingBottom = v;
|
|
135
|
-
}
|
|
136
|
-
else if (k in css_1.shorthandPropsMap) {
|
|
137
|
-
acc[(0, util_1.toCamelCase)(css_1.shorthandPropsMap[k])] = v;
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
acc[k] = v;
|
|
141
|
-
}
|
|
142
|
-
return acc;
|
|
143
|
-
}, {});
|
|
144
|
-
}
|
|
145
109
|
/** Converts a zx prop into css string */
|
|
146
110
|
function zxToCss(zx) {
|
|
147
111
|
return Object.entries(zx)
|
package/cjs/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
package/cjs/core.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable prefer-const */
|
|
2
|
-
import {ShorthandProps, classJoin, css
|
|
2
|
+
import {ShorthandProps, classJoin, css} from '@slimr/css'
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import {toKebabCase} from '@slimr/util'
|
|
5
5
|
import {CSSProperties, FC, HTMLAttributes, createElement, forwardRef} from 'react'
|
|
6
6
|
|
|
7
7
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -168,14 +168,7 @@ export function styledBase<C extends FC<allowableAny>>(Component: C) {
|
|
|
168
168
|
`
|
|
169
169
|
}
|
|
170
170
|
|
|
171
|
-
|
|
172
|
-
// If has media query styles, use css class. Otherwise favor inline styles
|
|
173
|
-
if (hasMediaQuery || cssStr) {
|
|
174
|
-
cssStr = zxToCss(_zx) + cssStr
|
|
175
|
-
} else {
|
|
176
|
-
_zx = expandShorthandProps(_zx)
|
|
177
|
-
rest.style = {...rest.style, ..._zx} as CSSProperties
|
|
178
|
-
}
|
|
171
|
+
cssStr = zxToCss(_zx) + cssStr
|
|
179
172
|
|
|
180
173
|
return createElement(Component, {
|
|
181
174
|
ref,
|
|
@@ -197,33 +190,6 @@ export function styledBase<C extends FC<allowableAny>>(Component: C) {
|
|
|
197
190
|
* Helper Functions
|
|
198
191
|
**********************/
|
|
199
192
|
|
|
200
|
-
/** Expands the shorthand props of a zx prop into css full */
|
|
201
|
-
function expandShorthandProps(zx: Zx) {
|
|
202
|
-
return Object.entries(zx).reduce(
|
|
203
|
-
(acc, [k, v]) => {
|
|
204
|
-
if (k === 'mx') {
|
|
205
|
-
acc.marginLeft = v
|
|
206
|
-
acc.marginRight = v
|
|
207
|
-
} else if (k === 'my') {
|
|
208
|
-
acc.marginTop = v
|
|
209
|
-
acc.marginBottom = v
|
|
210
|
-
} else if (k === 'px') {
|
|
211
|
-
acc.paddingLeft = v
|
|
212
|
-
acc.paddingRight = v
|
|
213
|
-
} else if (k === 'py') {
|
|
214
|
-
acc.paddingTop = v
|
|
215
|
-
acc.paddingBottom = v
|
|
216
|
-
} else if (k in shorthandPropsMap) {
|
|
217
|
-
acc[toCamelCase(shorthandPropsMap[k as keyof typeof shorthandPropsMap])] = v
|
|
218
|
-
} else {
|
|
219
|
-
acc[k] = v
|
|
220
|
-
}
|
|
221
|
-
return acc
|
|
222
|
-
},
|
|
223
|
-
{} as Record<string, allowableAny>
|
|
224
|
-
)
|
|
225
|
-
}
|
|
226
|
-
|
|
227
193
|
/** Converts a zx prop into css string */
|
|
228
194
|
function zxToCss(zx: Zx): string {
|
|
229
195
|
return Object.entries(zx)
|
package/esm/core.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable prefer-const */
|
|
2
|
-
import { classJoin, css
|
|
3
|
-
import {
|
|
2
|
+
import { classJoin, css } from '@slimr/css';
|
|
3
|
+
import { toKebabCase } from '@slimr/util';
|
|
4
4
|
import { createElement, forwardRef } from 'react';
|
|
5
5
|
/**
|
|
6
6
|
* The core functionality of the exported `styled` Object.
|
|
@@ -88,15 +88,7 @@ export function styledBase(Component) {
|
|
|
88
88
|
}
|
|
89
89
|
`;
|
|
90
90
|
}
|
|
91
|
-
|
|
92
|
-
// If has media query styles, use css class. Otherwise favor inline styles
|
|
93
|
-
if (hasMediaQuery || cssStr) {
|
|
94
|
-
cssStr = zxToCss(_zx) + cssStr;
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
_zx = expandShorthandProps(_zx);
|
|
98
|
-
rest.style = { ...rest.style, ..._zx };
|
|
99
|
-
}
|
|
91
|
+
cssStr = zxToCss(_zx) + cssStr;
|
|
100
92
|
return createElement(Component, {
|
|
101
93
|
ref,
|
|
102
94
|
...rest,
|
|
@@ -110,34 +102,6 @@ export function styledBase(Component) {
|
|
|
110
102
|
/**********************
|
|
111
103
|
* Helper Functions
|
|
112
104
|
**********************/
|
|
113
|
-
/** Expands the shorthand props of a zx prop into css full */
|
|
114
|
-
function expandShorthandProps(zx) {
|
|
115
|
-
return Object.entries(zx).reduce((acc, [k, v]) => {
|
|
116
|
-
if (k === 'mx') {
|
|
117
|
-
acc.marginLeft = v;
|
|
118
|
-
acc.marginRight = v;
|
|
119
|
-
}
|
|
120
|
-
else if (k === 'my') {
|
|
121
|
-
acc.marginTop = v;
|
|
122
|
-
acc.marginBottom = v;
|
|
123
|
-
}
|
|
124
|
-
else if (k === 'px') {
|
|
125
|
-
acc.paddingLeft = v;
|
|
126
|
-
acc.paddingRight = v;
|
|
127
|
-
}
|
|
128
|
-
else if (k === 'py') {
|
|
129
|
-
acc.paddingTop = v;
|
|
130
|
-
acc.paddingBottom = v;
|
|
131
|
-
}
|
|
132
|
-
else if (k in shorthandPropsMap) {
|
|
133
|
-
acc[toCamelCase(shorthandPropsMap[k])] = v;
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
acc[k] = v;
|
|
137
|
-
}
|
|
138
|
-
return acc;
|
|
139
|
-
}, {});
|
|
140
|
-
}
|
|
141
105
|
/** Converts a zx prop into css string */
|
|
142
106
|
function zxToCss(zx) {
|
|
143
107
|
return Object.entries(zx)
|
package/esm/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EAAiB,SAAS,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
package/esm/core.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable prefer-const */
|
|
2
|
-
import {ShorthandProps, classJoin, css
|
|
2
|
+
import {ShorthandProps, classJoin, css} from '@slimr/css'
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import {toKebabCase} from '@slimr/util'
|
|
5
5
|
import {CSSProperties, FC, HTMLAttributes, createElement, forwardRef} from 'react'
|
|
6
6
|
|
|
7
7
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -168,14 +168,7 @@ export function styledBase<C extends FC<allowableAny>>(Component: C) {
|
|
|
168
168
|
`
|
|
169
169
|
}
|
|
170
170
|
|
|
171
|
-
|
|
172
|
-
// If has media query styles, use css class. Otherwise favor inline styles
|
|
173
|
-
if (hasMediaQuery || cssStr) {
|
|
174
|
-
cssStr = zxToCss(_zx) + cssStr
|
|
175
|
-
} else {
|
|
176
|
-
_zx = expandShorthandProps(_zx)
|
|
177
|
-
rest.style = {...rest.style, ..._zx} as CSSProperties
|
|
178
|
-
}
|
|
171
|
+
cssStr = zxToCss(_zx) + cssStr
|
|
179
172
|
|
|
180
173
|
return createElement(Component, {
|
|
181
174
|
ref,
|
|
@@ -197,33 +190,6 @@ export function styledBase<C extends FC<allowableAny>>(Component: C) {
|
|
|
197
190
|
* Helper Functions
|
|
198
191
|
**********************/
|
|
199
192
|
|
|
200
|
-
/** Expands the shorthand props of a zx prop into css full */
|
|
201
|
-
function expandShorthandProps(zx: Zx) {
|
|
202
|
-
return Object.entries(zx).reduce(
|
|
203
|
-
(acc, [k, v]) => {
|
|
204
|
-
if (k === 'mx') {
|
|
205
|
-
acc.marginLeft = v
|
|
206
|
-
acc.marginRight = v
|
|
207
|
-
} else if (k === 'my') {
|
|
208
|
-
acc.marginTop = v
|
|
209
|
-
acc.marginBottom = v
|
|
210
|
-
} else if (k === 'px') {
|
|
211
|
-
acc.paddingLeft = v
|
|
212
|
-
acc.paddingRight = v
|
|
213
|
-
} else if (k === 'py') {
|
|
214
|
-
acc.paddingTop = v
|
|
215
|
-
acc.paddingBottom = v
|
|
216
|
-
} else if (k in shorthandPropsMap) {
|
|
217
|
-
acc[toCamelCase(shorthandPropsMap[k as keyof typeof shorthandPropsMap])] = v
|
|
218
|
-
} else {
|
|
219
|
-
acc[k] = v
|
|
220
|
-
}
|
|
221
|
-
return acc
|
|
222
|
-
},
|
|
223
|
-
{} as Record<string, allowableAny>
|
|
224
|
-
)
|
|
225
|
-
}
|
|
226
|
-
|
|
227
193
|
/** Converts a zx prop into css string */
|
|
228
194
|
function zxToCss(zx: Zx): string {
|
|
229
195
|
return Object.entries(zx)
|
package/package.json
CHANGED
package/src/core.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable prefer-const */
|
|
2
|
-
import {ShorthandProps, classJoin, css
|
|
2
|
+
import {ShorthandProps, classJoin, css} from '@slimr/css'
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import {toKebabCase} from '@slimr/util'
|
|
5
5
|
import {CSSProperties, FC, HTMLAttributes, createElement, forwardRef} from 'react'
|
|
6
6
|
|
|
7
7
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -168,14 +168,7 @@ export function styledBase<C extends FC<allowableAny>>(Component: C) {
|
|
|
168
168
|
`
|
|
169
169
|
}
|
|
170
170
|
|
|
171
|
-
|
|
172
|
-
// If has media query styles, use css class. Otherwise favor inline styles
|
|
173
|
-
if (hasMediaQuery || cssStr) {
|
|
174
|
-
cssStr = zxToCss(_zx) + cssStr
|
|
175
|
-
} else {
|
|
176
|
-
_zx = expandShorthandProps(_zx)
|
|
177
|
-
rest.style = {...rest.style, ..._zx} as CSSProperties
|
|
178
|
-
}
|
|
171
|
+
cssStr = zxToCss(_zx) + cssStr
|
|
179
172
|
|
|
180
173
|
return createElement(Component, {
|
|
181
174
|
ref,
|
|
@@ -197,33 +190,6 @@ export function styledBase<C extends FC<allowableAny>>(Component: C) {
|
|
|
197
190
|
* Helper Functions
|
|
198
191
|
**********************/
|
|
199
192
|
|
|
200
|
-
/** Expands the shorthand props of a zx prop into css full */
|
|
201
|
-
function expandShorthandProps(zx: Zx) {
|
|
202
|
-
return Object.entries(zx).reduce(
|
|
203
|
-
(acc, [k, v]) => {
|
|
204
|
-
if (k === 'mx') {
|
|
205
|
-
acc.marginLeft = v
|
|
206
|
-
acc.marginRight = v
|
|
207
|
-
} else if (k === 'my') {
|
|
208
|
-
acc.marginTop = v
|
|
209
|
-
acc.marginBottom = v
|
|
210
|
-
} else if (k === 'px') {
|
|
211
|
-
acc.paddingLeft = v
|
|
212
|
-
acc.paddingRight = v
|
|
213
|
-
} else if (k === 'py') {
|
|
214
|
-
acc.paddingTop = v
|
|
215
|
-
acc.paddingBottom = v
|
|
216
|
-
} else if (k in shorthandPropsMap) {
|
|
217
|
-
acc[toCamelCase(shorthandPropsMap[k as keyof typeof shorthandPropsMap])] = v
|
|
218
|
-
} else {
|
|
219
|
-
acc[k] = v
|
|
220
|
-
}
|
|
221
|
-
return acc
|
|
222
|
-
},
|
|
223
|
-
{} as Record<string, allowableAny>
|
|
224
|
-
)
|
|
225
|
-
}
|
|
226
|
-
|
|
227
193
|
/** Converts a zx prop into css string */
|
|
228
194
|
function zxToCss(zx: Zx): string {
|
|
229
195
|
return Object.entries(zx)
|