styled-components 6.0.0-beta.2 → 6.0.0-beta.3
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/dist/constructors/constructWithOptions.d.ts +26 -25
- package/dist/constructors/createGlobalStyle.d.ts +2 -2
- package/dist/constructors/css.d.ts +1 -1
- package/dist/constructors/keyframes.d.ts +1 -1
- package/dist/constructors/styled.d.ts +176 -180
- package/dist/hoc/withTheme.d.ts +2 -2
- package/dist/models/GlobalStyle.d.ts +1 -1
- package/dist/models/InlineStyle.d.ts +1 -1
- package/dist/models/StyledComponent.d.ts +1 -1
- package/dist/models/StyledNativeComponent.d.ts +2 -2
- package/dist/native/index.d.ts +25 -29
- package/dist/styled-components.browser.cjs.js +38 -44
- package/dist/styled-components.browser.cjs.js.map +1 -1
- package/dist/styled-components.browser.esm.js +38 -44
- package/dist/styled-components.browser.esm.js.map +1 -1
- package/dist/styled-components.cjs.js +38 -44
- package/dist/styled-components.cjs.js.map +1 -1
- package/dist/styled-components.esm.js +38 -44
- package/dist/styled-components.esm.js.map +1 -1
- package/dist/styled-components.js +38 -44
- package/dist/styled-components.js.map +1 -1
- package/dist/styled-components.min.js +1 -1
- package/dist/styled-components.min.js.map +1 -1
- package/dist/test/utils.d.ts +176 -180
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +45 -39
- package/dist/utils/determineTheme.d.ts +2 -2
- package/dist/utils/empties.d.ts +2 -2
- package/dist/utils/flatten.d.ts +3 -3
- package/dist/utils/interleave.d.ts +1 -1
- package/dist/utils/isStaticRules.d.ts +1 -1
- package/dist/utils/isStyledComponent.d.ts +1 -1
- package/dist/utils/mixinDeep.d.ts +2 -2
- package/native/dist/constructors/constructWithOptions.d.ts +26 -25
- package/native/dist/constructors/createGlobalStyle.d.ts +2 -2
- package/native/dist/constructors/css.d.ts +1 -1
- package/native/dist/constructors/keyframes.d.ts +1 -1
- package/native/dist/constructors/styled.d.ts +176 -180
- package/native/dist/hoc/withTheme.d.ts +2 -2
- package/native/dist/models/GlobalStyle.d.ts +1 -1
- package/native/dist/models/InlineStyle.d.ts +1 -1
- package/native/dist/models/StyledComponent.d.ts +1 -1
- package/native/dist/models/StyledNativeComponent.d.ts +2 -2
- package/native/dist/native/index.d.ts +25 -29
- package/native/dist/styled-components.native.cjs.js +10 -17
- package/native/dist/styled-components.native.cjs.js.map +1 -1
- package/native/dist/styled-components.native.esm.js +10 -17
- package/native/dist/styled-components.native.esm.js.map +1 -1
- package/native/dist/test/utils.d.ts +176 -180
- package/native/dist/types.d.ts +45 -39
- package/native/dist/utils/determineTheme.d.ts +2 -2
- package/native/dist/utils/empties.d.ts +2 -2
- package/native/dist/utils/flatten.d.ts +3 -3
- package/native/dist/utils/interleave.d.ts +1 -1
- package/native/dist/utils/isStaticRules.d.ts +1 -1
- package/native/dist/utils/isStyledComponent.d.ts +1 -1
- package/native/dist/utils/mixinDeep.d.ts +2 -2
- package/package.json +2 -2
|
@@ -8,7 +8,7 @@ var SC_ATTR = (typeof process !== 'undefined' && (process.env.REACT_APP_SC_ATTR
|
|
|
8
8
|
'data-styled';
|
|
9
9
|
var SC_ATTR_ACTIVE = 'active';
|
|
10
10
|
var SC_ATTR_VERSION = 'data-styled-version';
|
|
11
|
-
var SC_VERSION = "6.0.0-beta.
|
|
11
|
+
var SC_VERSION = "6.0.0-beta.3";
|
|
12
12
|
var SPLITTER = '/*!sc*/\n';
|
|
13
13
|
var IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;
|
|
14
14
|
var DISABLE_SPEEDY = Boolean(typeof SC_DISABLE_SPEEDY === 'boolean'
|
|
@@ -1130,8 +1130,8 @@ function addUnitIfNeeded(name, value) {
|
|
|
1130
1130
|
* inlined version of
|
|
1131
1131
|
* https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/hyphenateStyleName.js
|
|
1132
1132
|
*/
|
|
1133
|
-
var uppercaseCheck = /
|
|
1134
|
-
var uppercasePattern = /
|
|
1133
|
+
var uppercaseCheck = /[A-Z]/;
|
|
1134
|
+
var uppercasePattern = /[A-Z]/g;
|
|
1135
1135
|
var msPattern = /^ms-/;
|
|
1136
1136
|
var prefixAndLowerCase = function (char) { return "-".concat(char.toLowerCase()); };
|
|
1137
1137
|
/**
|
|
@@ -1148,7 +1148,7 @@ var prefixAndLowerCase = function (char) { return "-".concat(char.toLowerCase())
|
|
|
1148
1148
|
* is converted to `-ms-`.
|
|
1149
1149
|
*/
|
|
1150
1150
|
function hyphenateStyleName(string) {
|
|
1151
|
-
return uppercaseCheck.test(string)
|
|
1151
|
+
return uppercaseCheck.test(string) && !string.startsWith('--')
|
|
1152
1152
|
? string.replace(uppercasePattern, prefixAndLowerCase).replace(msPattern, '-ms-')
|
|
1153
1153
|
: string;
|
|
1154
1154
|
}
|
|
@@ -1238,8 +1238,7 @@ function flatten(chunk, executionContext, styleSheet, stylisInstance) {
|
|
|
1238
1238
|
function isStaticRules(rules) {
|
|
1239
1239
|
for (var i = 0; i < rules.length; i += 1) {
|
|
1240
1240
|
var rule = rules[i];
|
|
1241
|
-
if (isFunction(rule) &&
|
|
1242
|
-
!isStyledComponent(rule)) {
|
|
1241
|
+
if (isFunction(rule) && !isStyledComponent(rule)) {
|
|
1243
1242
|
// functions are allowed to be static if they're just being
|
|
1244
1243
|
// used to get the classname of a nested styled component
|
|
1245
1244
|
return false;
|
|
@@ -1373,35 +1372,10 @@ function generateId(displayName, parentComponentId) {
|
|
|
1373
1372
|
SC_VERSION + name + identifiers[name]));
|
|
1374
1373
|
return parentComponentId ? "".concat(parentComponentId, "-").concat(componentId) : componentId;
|
|
1375
1374
|
}
|
|
1376
|
-
function useResolvedAttrs(theme, props, attrs) {
|
|
1377
|
-
if (theme === void 0) { theme = EMPTY_OBJECT; }
|
|
1378
|
-
// NOTE: can't memoize this
|
|
1379
|
-
// returns [context, resolvedAttrs]
|
|
1380
|
-
// where resolvedAttrs is only the things injected by the attrs themselves
|
|
1381
|
-
var context = __assign(__assign({}, props), { theme: theme });
|
|
1382
|
-
attrs.forEach(function (attrDef) {
|
|
1383
|
-
// @ts-expect-error narrowing isn't working properly for some reason
|
|
1384
|
-
var resolvedAttrDef = typeof attrDef === 'function' ? attrDef(context) : attrDef;
|
|
1385
|
-
var key;
|
|
1386
|
-
/* eslint-disable guard-for-in */
|
|
1387
|
-
for (key in resolvedAttrDef) {
|
|
1388
|
-
// @ts-expect-error bad types
|
|
1389
|
-
context[key] =
|
|
1390
|
-
key === 'className'
|
|
1391
|
-
? joinStrings(context[key], resolvedAttrDef[key])
|
|
1392
|
-
: key === 'style'
|
|
1393
|
-
? __assign(__assign({}, context[key]), resolvedAttrDef[key]) : resolvedAttrDef[key];
|
|
1394
|
-
}
|
|
1395
|
-
/* eslint-enable guard-for-in */
|
|
1396
|
-
});
|
|
1397
|
-
return context;
|
|
1398
|
-
}
|
|
1399
1375
|
function useInjectedStyle(componentStyle, isStatic, resolvedAttrs, warnTooManyClasses) {
|
|
1400
1376
|
var styleSheet = useStyleSheet();
|
|
1401
1377
|
var stylis = useStylis();
|
|
1402
|
-
var className = isStatic
|
|
1403
|
-
? componentStyle.generateAndInjectStyles(EMPTY_OBJECT, styleSheet, stylis)
|
|
1404
|
-
: componentStyle.generateAndInjectStyles(resolvedAttrs, styleSheet, stylis);
|
|
1378
|
+
var className = componentStyle.generateAndInjectStyles(isStatic ? EMPTY_OBJECT : resolvedAttrs, styleSheet, stylis);
|
|
1405
1379
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
1406
1380
|
if (process.env.NODE_ENV !== 'production')
|
|
1407
1381
|
useDebugValue(className);
|
|
@@ -1418,36 +1392,56 @@ function useStyledComponentImpl(forwardedComponent, props, forwardedRef, isStati
|
|
|
1418
1392
|
// NOTE: the non-hooks version only subscribes to this when !componentStyle.isStatic,
|
|
1419
1393
|
// but that'd be against the rules-of-hooks. We could be naughty and do it anyway as it
|
|
1420
1394
|
// should be an immutable value, but behave for now.
|
|
1421
|
-
var theme = determineTheme(props, useContext(ThemeContext), defaultProps);
|
|
1422
|
-
var context =
|
|
1395
|
+
var theme = determineTheme(props, useContext(ThemeContext), defaultProps) || EMPTY_OBJECT;
|
|
1396
|
+
var context = componentAttrs.reduce(function (p, attrDef) {
|
|
1397
|
+
var resolvedAttrDef = typeof attrDef === 'function' ? attrDef(p) : attrDef;
|
|
1398
|
+
var key;
|
|
1399
|
+
/* eslint-disable guard-for-in */
|
|
1400
|
+
for (key in resolvedAttrDef) {
|
|
1401
|
+
// @ts-expect-error bad types
|
|
1402
|
+
p[key] =
|
|
1403
|
+
key === 'className'
|
|
1404
|
+
? // @ts-expect-error bad types
|
|
1405
|
+
joinStrings(p[key], resolvedAttrDef[key])
|
|
1406
|
+
: key === 'style'
|
|
1407
|
+
? // @ts-expect-error bad types
|
|
1408
|
+
__assign(__assign({}, p[key]), resolvedAttrDef[key]) : // @ts-expect-error bad types
|
|
1409
|
+
resolvedAttrDef[key];
|
|
1410
|
+
}
|
|
1411
|
+
/* eslint-enable guard-for-in */
|
|
1412
|
+
return p;
|
|
1413
|
+
}, __assign(__assign({}, props), { theme: theme }));
|
|
1423
1414
|
var generatedClassName = useInjectedStyle(componentStyle, isStatic, context, process.env.NODE_ENV !== 'production' ? forwardedComponent.warnTooManyClasses : undefined);
|
|
1424
1415
|
var refToForward = forwardedRef;
|
|
1425
|
-
var elementToBeCreated = context
|
|
1416
|
+
var elementToBeCreated = context.as || target;
|
|
1426
1417
|
var isTargetTag = isTag(elementToBeCreated);
|
|
1427
|
-
var propsForElement = {};
|
|
1428
1418
|
// eslint-disable-next-line guard-for-in
|
|
1429
1419
|
for (var key in context) {
|
|
1420
|
+
// @ts-expect-error type narrowing not working properly
|
|
1430
1421
|
if (key[0] === '$' || key === 'as' || key === 'theme')
|
|
1431
|
-
|
|
1422
|
+
context[key] = undefined;
|
|
1432
1423
|
else if (key === 'forwardedAs') {
|
|
1433
|
-
|
|
1424
|
+
context.as = context[key];
|
|
1425
|
+
context[key] = undefined;
|
|
1434
1426
|
}
|
|
1435
|
-
else if (shouldForwardProp ? shouldForwardProp(key, elementToBeCreated) :
|
|
1427
|
+
else if (shouldForwardProp ? !shouldForwardProp(key, elementToBeCreated) : false) {
|
|
1436
1428
|
// Don't pass through non HTML tags through to HTML elements
|
|
1437
|
-
|
|
1429
|
+
// @ts-expect-error we don't know ahead of time
|
|
1430
|
+
context[key] = undefined;
|
|
1438
1431
|
}
|
|
1439
1432
|
}
|
|
1440
|
-
|
|
1433
|
+
context[
|
|
1441
1434
|
// handle custom elements which React doesn't properly alias
|
|
1442
1435
|
isTargetTag &&
|
|
1443
1436
|
domElements.indexOf(elementToBeCreated) === -1
|
|
1444
1437
|
? 'class'
|
|
1445
1438
|
: 'className'] = foldedComponentIds
|
|
1446
|
-
.concat(styledComponentId,
|
|
1439
|
+
.concat(styledComponentId, generatedClassName !== styledComponentId ? generatedClassName : '', context.className || '')
|
|
1447
1440
|
.filter(Boolean)
|
|
1448
1441
|
.join(' ');
|
|
1449
|
-
|
|
1450
|
-
|
|
1442
|
+
// @ts-expect-error idk the type is probably wrong in this file
|
|
1443
|
+
context.ref = refToForward;
|
|
1444
|
+
return createElement(elementToBeCreated, context);
|
|
1451
1445
|
}
|
|
1452
1446
|
function createStyledComponent(target, options, rules) {
|
|
1453
1447
|
var isTargetStyledComp = isStyledComponent(target);
|