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
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
'data-styled';
|
|
13
13
|
var SC_ATTR_ACTIVE = 'active';
|
|
14
14
|
var SC_ATTR_VERSION = 'data-styled-version';
|
|
15
|
-
var SC_VERSION = "6.0.0-beta.
|
|
15
|
+
var SC_VERSION = "6.0.0-beta.3";
|
|
16
16
|
var SPLITTER = '/*!sc*/\n';
|
|
17
17
|
var IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;
|
|
18
18
|
var DISABLE_SPEEDY = Boolean(typeof SC_DISABLE_SPEEDY === 'boolean'
|
|
@@ -924,8 +924,8 @@
|
|
|
924
924
|
* inlined version of
|
|
925
925
|
* https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/hyphenateStyleName.js
|
|
926
926
|
*/
|
|
927
|
-
var uppercaseCheck = /
|
|
928
|
-
var uppercasePattern = /
|
|
927
|
+
var uppercaseCheck = /[A-Z]/;
|
|
928
|
+
var uppercasePattern = /[A-Z]/g;
|
|
929
929
|
var msPattern = /^ms-/;
|
|
930
930
|
var prefixAndLowerCase = function (char) { return "-".concat(char.toLowerCase()); };
|
|
931
931
|
/**
|
|
@@ -942,7 +942,7 @@
|
|
|
942
942
|
* is converted to `-ms-`.
|
|
943
943
|
*/
|
|
944
944
|
function hyphenateStyleName(string) {
|
|
945
|
-
return uppercaseCheck.test(string)
|
|
945
|
+
return uppercaseCheck.test(string) && !string.startsWith('--')
|
|
946
946
|
? string.replace(uppercasePattern, prefixAndLowerCase).replace(msPattern, '-ms-')
|
|
947
947
|
: string;
|
|
948
948
|
}
|
|
@@ -1046,8 +1046,7 @@
|
|
|
1046
1046
|
function isStaticRules(rules) {
|
|
1047
1047
|
for (var i = 0; i < rules.length; i += 1) {
|
|
1048
1048
|
var rule = rules[i];
|
|
1049
|
-
if (isFunction(rule) &&
|
|
1050
|
-
!isStyledComponent(rule)) {
|
|
1049
|
+
if (isFunction(rule) && !isStyledComponent(rule)) {
|
|
1051
1050
|
// functions are allowed to be static if they're just being
|
|
1052
1051
|
// used to get the classname of a nested styled component
|
|
1053
1052
|
return false;
|
|
@@ -1855,35 +1854,10 @@
|
|
|
1855
1854
|
SC_VERSION + name + identifiers[name]));
|
|
1856
1855
|
return parentComponentId ? "".concat(parentComponentId, "-").concat(componentId) : componentId;
|
|
1857
1856
|
}
|
|
1858
|
-
function useResolvedAttrs(theme, props, attrs) {
|
|
1859
|
-
if (theme === void 0) { theme = EMPTY_OBJECT; }
|
|
1860
|
-
// NOTE: can't memoize this
|
|
1861
|
-
// returns [context, resolvedAttrs]
|
|
1862
|
-
// where resolvedAttrs is only the things injected by the attrs themselves
|
|
1863
|
-
var context = __assign(__assign({}, props), { theme: theme });
|
|
1864
|
-
attrs.forEach(function (attrDef) {
|
|
1865
|
-
// @ts-expect-error narrowing isn't working properly for some reason
|
|
1866
|
-
var resolvedAttrDef = typeof attrDef === 'function' ? attrDef(context) : attrDef;
|
|
1867
|
-
var key;
|
|
1868
|
-
/* eslint-disable guard-for-in */
|
|
1869
|
-
for (key in resolvedAttrDef) {
|
|
1870
|
-
// @ts-expect-error bad types
|
|
1871
|
-
context[key] =
|
|
1872
|
-
key === 'className'
|
|
1873
|
-
? joinStrings(context[key], resolvedAttrDef[key])
|
|
1874
|
-
: key === 'style'
|
|
1875
|
-
? __assign(__assign({}, context[key]), resolvedAttrDef[key]) : resolvedAttrDef[key];
|
|
1876
|
-
}
|
|
1877
|
-
/* eslint-enable guard-for-in */
|
|
1878
|
-
});
|
|
1879
|
-
return context;
|
|
1880
|
-
}
|
|
1881
1857
|
function useInjectedStyle(componentStyle, isStatic, resolvedAttrs, warnTooManyClasses) {
|
|
1882
1858
|
var styleSheet = useStyleSheet();
|
|
1883
1859
|
var stylis = useStylis();
|
|
1884
|
-
var className = isStatic
|
|
1885
|
-
? componentStyle.generateAndInjectStyles(EMPTY_OBJECT, styleSheet, stylis)
|
|
1886
|
-
: componentStyle.generateAndInjectStyles(resolvedAttrs, styleSheet, stylis);
|
|
1860
|
+
var className = componentStyle.generateAndInjectStyles(isStatic ? EMPTY_OBJECT : resolvedAttrs, styleSheet, stylis);
|
|
1887
1861
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
1888
1862
|
React.useDebugValue(className);
|
|
1889
1863
|
if (!isStatic && warnTooManyClasses) {
|
|
@@ -1898,36 +1872,56 @@
|
|
|
1898
1872
|
// NOTE: the non-hooks version only subscribes to this when !componentStyle.isStatic,
|
|
1899
1873
|
// but that'd be against the rules-of-hooks. We could be naughty and do it anyway as it
|
|
1900
1874
|
// should be an immutable value, but behave for now.
|
|
1901
|
-
var theme = determineTheme(props, React.useContext(ThemeContext), defaultProps);
|
|
1902
|
-
var context =
|
|
1875
|
+
var theme = determineTheme(props, React.useContext(ThemeContext), defaultProps) || EMPTY_OBJECT;
|
|
1876
|
+
var context = componentAttrs.reduce(function (p, attrDef) {
|
|
1877
|
+
var resolvedAttrDef = typeof attrDef === 'function' ? attrDef(p) : attrDef;
|
|
1878
|
+
var key;
|
|
1879
|
+
/* eslint-disable guard-for-in */
|
|
1880
|
+
for (key in resolvedAttrDef) {
|
|
1881
|
+
// @ts-expect-error bad types
|
|
1882
|
+
p[key] =
|
|
1883
|
+
key === 'className'
|
|
1884
|
+
? // @ts-expect-error bad types
|
|
1885
|
+
joinStrings(p[key], resolvedAttrDef[key])
|
|
1886
|
+
: key === 'style'
|
|
1887
|
+
? // @ts-expect-error bad types
|
|
1888
|
+
__assign(__assign({}, p[key]), resolvedAttrDef[key]) : // @ts-expect-error bad types
|
|
1889
|
+
resolvedAttrDef[key];
|
|
1890
|
+
}
|
|
1891
|
+
/* eslint-enable guard-for-in */
|
|
1892
|
+
return p;
|
|
1893
|
+
}, __assign(__assign({}, props), { theme: theme }));
|
|
1903
1894
|
var generatedClassName = useInjectedStyle(componentStyle, isStatic, context, forwardedComponent.warnTooManyClasses );
|
|
1904
1895
|
var refToForward = forwardedRef;
|
|
1905
|
-
var elementToBeCreated = context
|
|
1896
|
+
var elementToBeCreated = context.as || target;
|
|
1906
1897
|
var isTargetTag = isTag(elementToBeCreated);
|
|
1907
|
-
var propsForElement = {};
|
|
1908
1898
|
// eslint-disable-next-line guard-for-in
|
|
1909
1899
|
for (var key in context) {
|
|
1900
|
+
// @ts-expect-error type narrowing not working properly
|
|
1910
1901
|
if (key[0] === '$' || key === 'as' || key === 'theme')
|
|
1911
|
-
|
|
1902
|
+
context[key] = undefined;
|
|
1912
1903
|
else if (key === 'forwardedAs') {
|
|
1913
|
-
|
|
1904
|
+
context.as = context[key];
|
|
1905
|
+
context[key] = undefined;
|
|
1914
1906
|
}
|
|
1915
|
-
else if (shouldForwardProp ? shouldForwardProp(key, elementToBeCreated) :
|
|
1907
|
+
else if (shouldForwardProp ? !shouldForwardProp(key, elementToBeCreated) : false) {
|
|
1916
1908
|
// Don't pass through non HTML tags through to HTML elements
|
|
1917
|
-
|
|
1909
|
+
// @ts-expect-error we don't know ahead of time
|
|
1910
|
+
context[key] = undefined;
|
|
1918
1911
|
}
|
|
1919
1912
|
}
|
|
1920
|
-
|
|
1913
|
+
context[
|
|
1921
1914
|
// handle custom elements which React doesn't properly alias
|
|
1922
1915
|
isTargetTag &&
|
|
1923
1916
|
domElements.indexOf(elementToBeCreated) === -1
|
|
1924
1917
|
? 'class'
|
|
1925
1918
|
: 'className'] = foldedComponentIds
|
|
1926
|
-
.concat(styledComponentId,
|
|
1919
|
+
.concat(styledComponentId, generatedClassName !== styledComponentId ? generatedClassName : '', context.className || '')
|
|
1927
1920
|
.filter(Boolean)
|
|
1928
1921
|
.join(' ');
|
|
1929
|
-
|
|
1930
|
-
|
|
1922
|
+
// @ts-expect-error idk the type is probably wrong in this file
|
|
1923
|
+
context.ref = refToForward;
|
|
1924
|
+
return React.createElement(elementToBeCreated, context);
|
|
1931
1925
|
}
|
|
1932
1926
|
function createStyledComponent(target, options, rules) {
|
|
1933
1927
|
var isTargetStyledComp = isStyledComponent(target);
|