🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@react-style-system/ssr

Package Overview
Dependencies
Maintainers
1
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@react-style-system/ssr - npm Package Compare versions

Comparing version
0.0.0-b5c8ab30e
to
0.0.0-c6fdbe987
+7
-23
index.esm.js

@@ -0,24 +1,6 @@

import _extends from '@babel/runtime/helpers/extends';
import React, { useMemo, forwardRef } from 'react';
import classNames from 'classnames';
import { useTheme, useColorContext, css } from '@react-style-system/core';
import { useTheme, useColorContext } from '@react-style-system/core';
export * from '@react-style-system/core';
function _extends() {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
function hashStyleObj(styleObj) {

@@ -63,3 +45,5 @@ if (!styleObj) return '';

const variableObject = stylesFn({
css,
css: () => {
throw new Error('css tag was executed in SSR mode');
},
color,

@@ -102,3 +86,3 @@ theme,

const incomingStyle = incomingStyles[key];
merged[key] = classNames(thisStyle, incomingStyle);
merged[key] = [thisStyle, incomingStyle].filter(Boolean).join(' ');
return merged;

@@ -119,3 +103,3 @@ }, {});

ref: ref,
className: classNames(mergedStyles.root, rootClassName, incomingClassName),
className: [mergedStyles.root, rootClassName, incomingClassName].filter(Boolean).join(' '),
style: { ...rootStyles,

@@ -122,0 +106,0 @@ ...incomingStyle,

@@ -1,1 +0,1 @@

{"version":3,"file":"index.esm.js","sources":["../../packages/ssr/src/createStyles.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport classNames from 'classnames';\nimport {\n ReactComponent,\n StyleProps,\n StyleFnArgs,\n GetComponentProps,\n UseStyles,\n css,\n useTheme,\n useColorContext,\n createReadablePalette,\n} from '@react-style-system/core';\n\nfunction hashStyleObj(\n styleObj: { [key: string]: string | undefined } | null | undefined,\n) {\n if (!styleObj) return '';\n\n return Object.keys(styleObj)\n .map(key => `${key}_${styleObj[key]}`)\n .join('__|__');\n}\n\nfunction usePreserveReference<\n T extends { [key: string]: string | undefined } | null | undefined\n>(styleObj: T): T {\n return useMemo(\n () => styleObj,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [hashStyleObj(styleObj)],\n );\n}\n\n// preserve the object reference\nconst empty = {};\n\nconst identity = <T extends any>(t: T) => t;\n\nfunction createStyles<Styles extends { [key: string]: string }, Theme = any>(\n stylesFn: (args: StyleFnArgs<Theme>) => Styles,\n) {\n function useStyles<\n Props extends StyleProps<Styles>,\n ComponentType extends ReactComponent = 'div'\n >(\n props: Props = {} as any,\n component?: ComponentType,\n ): Omit<Props, 'surface' | 'color' | 'style' | 'styles' | 'className'> & {\n Root: React.ComponentType<GetComponentProps<ComponentType>>;\n styles: Styles & { cssVariableObject: { [key: string]: string } };\n } {\n const theme = useTheme<Theme>();\n const { color, surface } = useColorContext(props);\n const {\n color: _color,\n surface: _surface,\n className: incomingClassName,\n style: _incomingStyle,\n styles: _incomingStyles = empty as Styles,\n ...restOfProps\n } = props;\n\n const incomingStyle = usePreserveReference(_incomingStyle as any);\n const incomingStyles = usePreserveReference(_incomingStyles as any);\n\n // create a map of unprocessed styles\n const { cssVariableObject, classes, classNamePrefix } = useMemo(() => {\n const variableObject: any = stylesFn({\n css,\n color,\n theme,\n surface,\n staticVar: identity,\n });\n\n const { classNamePrefix, ...classNamesVariableValues } = variableObject;\n\n const cssVariableObject = Object.entries(classNamesVariableValues)\n .map(([className, values]) =>\n (values as string[]).map((value, i) => ({\n key: `--${classNamePrefix}-${className}-${i}`,\n value,\n })),\n )\n .flat()\n .reduce((acc, { key, value }) => {\n acc[key] = value;\n return acc;\n }, {} as { [key: string]: string });\n\n return {\n cssVariableObject,\n classes: Object.keys(classNamesVariableValues),\n classNamePrefix,\n };\n }, [color, surface, theme]);\n\n // calculate the class names\n const thisStyles = useMemo(() => {\n return classes\n .map(key => [key, `${classNamePrefix}-${key}`])\n .reduce((acc, [key, className]) => {\n acc[key as keyof Styles] = className as Styles[keyof Styles];\n return acc;\n }, {} as Styles);\n }, [classNamePrefix, classes]);\n\n const mergedStyles = useMemo(() => {\n const thisStyleKeys = Object.keys(thisStyles) as Array<keyof Styles>;\n\n const mergedStyles = thisStyleKeys.reduce((merged, key) => {\n const thisStyle = thisStyles[key];\n const incomingStyle = incomingStyles[key];\n\n merged[key] = classNames(\n thisStyle,\n incomingStyle,\n ) as Styles[keyof Styles];\n\n return merged;\n }, {} as Styles);\n\n return { ...mergedStyles, cssVariableObject };\n }, [thisStyles, cssVariableObject, incomingStyles]);\n\n const Component = (component || 'div') as React.ComponentType<any>;\n\n const Root = useMemo(() => {\n return forwardRef((rootProps: StyleProps<Styles>, ref: any) => {\n const { className: rootClassName, style: rootStyles } = rootProps;\n\n return (\n <Component\n {...rootProps}\n ref={ref}\n className={classNames(\n mergedStyles.root,\n rootClassName,\n incomingClassName,\n )}\n style={{\n ...rootStyles,\n ...incomingStyle,\n ...cssVariableObject,\n }}\n />\n );\n }) as React.ComponentType<GetComponentProps<ComponentType>>;\n }, [\n mergedStyles.root,\n incomingClassName,\n incomingStyle,\n cssVariableObject,\n ]);\n\n return {\n Root,\n styles: mergedStyles,\n ...restOfProps,\n };\n }\n\n // This is a type-assertion so ensure that this type is compatible with the\n // `UseStyles` type. TODO: may want to find a better way to enforce this\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n useStyles as UseStyles<any, any>;\n\n return useStyles;\n}\n\nexport default createStyles;\n"],"names":["hashStyleObj","styleObj","Object","keys","map","key","join","usePreserveReference","useMemo","empty","identity","t","createStyles","stylesFn","useStyles","props","component","theme","useTheme","color","surface","useColorContext","_color","_surface","className","incomingClassName","style","_incomingStyle","styles","_incomingStyles","restOfProps","incomingStyle","incomingStyles","cssVariableObject","classes","classNamePrefix","variableObject","css","staticVar","classNamesVariableValues","entries","values","value","i","flat","reduce","acc","thisStyles","mergedStyles","thisStyleKeys","merged","thisStyle","classNames","Component","Root","forwardRef","rootProps","ref","rootClassName","rootStyles","root"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAcA,SAASA,YAAT,CACEC,QADF,EAEE;AACA,MAAI,CAACA,QAAL,EAAe,OAAO,EAAP;AAEf,SAAOC,MAAM,CAACC,IAAP,CAAYF,QAAZ,EACJG,GADI,CACAC,GAAG,IAAK,GAAEA,GAAI,IAAGJ,QAAQ,CAACI,GAAD,CAAM,EAD/B,EAEJC,IAFI,CAEC,OAFD,CAAP;AAGD;;AAED,SAASC,oBAAT,CAEEN,QAFF,EAEkB;AAChB,SAAOO,OAAO,CACZ,MAAMP,QADM;AAGZ,GAACD,YAAY,CAACC,QAAD,CAAb,CAHY,CAAd;AAKD;;;AAGD,MAAMQ,KAAK,GAAG,EAAd;;AAEA,MAAMC,QAAQ,GAAmBC,CAAhB,IAAyBA,CAA1C;;AAEA,SAASC,YAAT,CACEC,QADF,EAEE;AACA,WAASC,SAAT,CAIEC,KAAY,GAAG,EAJjB,EAKEC,SALF,EASE;AACA,UAAMC,KAAK,GAAGC,QAAQ,EAAtB;AACA,UAAM;AAAEC,MAAAA,KAAF;AAASC,MAAAA;AAAT,QAAqBC,eAAe,CAACN,KAAD,CAA1C;AACA,UAAM;AACJI,MAAAA,KAAK,EAAEG,MADH;AAEJF,MAAAA,OAAO,EAAEG,QAFL;AAGJC,MAAAA,SAAS,EAAEC,iBAHP;AAIJC,MAAAA,KAAK,EAAEC,cAJH;AAKJC,MAAAA,MAAM,EAAEC,eAAe,GAAGpB,KALtB;AAMJ,SAAGqB;AANC,QAOFf,KAPJ;AASA,UAAMgB,aAAa,GAAGxB,oBAAoB,CAACoB,cAAD,CAA1C;AACA,UAAMK,cAAc,GAAGzB,oBAAoB,CAACsB,eAAD,CAA3C,CAbA;;AAgBA,UAAM;AAAEI,MAAAA,iBAAF;AAAqBC,MAAAA,OAArB;AAA8BC,MAAAA;AAA9B,QAAkD3B,OAAO,CAAC,MAAM;AACpE,YAAM4B,cAAmB,GAAGvB,QAAQ,CAAC;AACnCwB,QAAAA,GADmC;AAEnClB,QAAAA,KAFmC;AAGnCF,QAAAA,KAHmC;AAInCG,QAAAA,OAJmC;AAKnCkB,QAAAA,SAAS,EAAE5B;AALwB,OAAD,CAApC;AAQA,YAAM;AAAEyB,QAAAA,eAAF;AAAmB,WAAGI;AAAtB,UAAmDH,cAAzD;AAEA,YAAMH,iBAAiB,GAAG/B,MAAM,CAACsC,OAAP,CAAeD,wBAAf,EACvBnC,GADuB,CACnB,CAAC,CAACoB,SAAD,EAAYiB,MAAZ,CAAD,KACFA,MAAD,CAAqBrC,GAArB,CAAyB,CAACsC,KAAD,EAAQC,CAAR,MAAe;AACtCtC,QAAAA,GAAG,EAAG,KAAI8B,eAAgB,IAAGX,SAAU,IAAGmB,CAAE,EADN;AAEtCD,QAAAA;AAFsC,OAAf,CAAzB,CAFsB,EAOvBE,IAPuB,GAQvBC,MARuB,CAQhB,CAACC,GAAD,EAAM;AAAEzC,QAAAA,GAAF;AAAOqC,QAAAA;AAAP,OAAN,KAAyB;AAC/BI,QAAAA,GAAG,CAACzC,GAAD,CAAH,GAAWqC,KAAX;AACA,eAAOI,GAAP;AACD,OAXuB,EAWrB,EAXqB,CAA1B;AAaA,aAAO;AACLb,QAAAA,iBADK;AAELC,QAAAA,OAAO,EAAEhC,MAAM,CAACC,IAAP,CAAYoC,wBAAZ,CAFJ;AAGLJ,QAAAA;AAHK,OAAP;AAKD,KA7B8D,EA6B5D,CAAChB,KAAD,EAAQC,OAAR,EAAiBH,KAAjB,CA7B4D,CAA/D,CAhBA;;AAgDA,UAAM8B,UAAU,GAAGvC,OAAO,CAAC,MAAM;AAC/B,aAAO0B,OAAO,CACX9B,GADI,CACAC,GAAG,IAAI,CAACA,GAAD,EAAO,GAAE8B,eAAgB,IAAG9B,GAAI,EAAhC,CADP,EAEJwC,MAFI,CAEG,CAACC,GAAD,EAAM,CAACzC,GAAD,EAAMmB,SAAN,CAAN,KAA2B;AACjCsB,QAAAA,GAAG,CAACzC,GAAD,CAAH,GAA2BmB,SAA3B;AACA,eAAOsB,GAAP;AACD,OALI,EAKF,EALE,CAAP;AAMD,KAPyB,EAOvB,CAACX,eAAD,EAAkBD,OAAlB,CAPuB,CAA1B;AASA,UAAMc,YAAY,GAAGxC,OAAO,CAAC,MAAM;AACjC,YAAMyC,aAAa,GAAG/C,MAAM,CAACC,IAAP,CAAY4C,UAAZ,CAAtB;AAEA,YAAMC,YAAY,GAAGC,aAAa,CAACJ,MAAd,CAAqB,CAACK,MAAD,EAAS7C,GAAT,KAAiB;AACzD,cAAM8C,SAAS,GAAGJ,UAAU,CAAC1C,GAAD,CAA5B;AACA,cAAM0B,aAAa,GAAGC,cAAc,CAAC3B,GAAD,CAApC;AAEA6C,QAAAA,MAAM,CAAC7C,GAAD,CAAN,GAAc+C,UAAU,CACtBD,SADsB,EAEtBpB,aAFsB,CAAxB;AAKA,eAAOmB,MAAP;AACD,OAVoB,EAUlB,EAVkB,CAArB;AAYA,aAAO,EAAE,GAAGF,YAAL;AAAmBf,QAAAA;AAAnB,OAAP;AACD,KAhB2B,EAgBzB,CAACc,UAAD,EAAad,iBAAb,EAAgCD,cAAhC,CAhByB,CAA5B;AAkBA,UAAMqB,SAAS,GAAIrC,SAAS,IAAI,KAAhC;AAEA,UAAMsC,IAAI,GAAG9C,OAAO,CAAC,MAAM;AACzB,aAAO+C,UAAU,CAAC,CAACC,SAAD,EAAgCC,GAAhC,KAA6C;AAC7D,cAAM;AAAEjC,UAAAA,SAAS,EAAEkC,aAAb;AAA4BhC,UAAAA,KAAK,EAAEiC;AAAnC,YAAkDH,SAAxD;AAEA,4BACE,oBAAC,SAAD,eACMA,SADN;AAEE,UAAA,GAAG,EAAEC,GAFP;AAGE,UAAA,SAAS,EAAEL,UAAU,CACnBJ,YAAY,CAACY,IADM,EAEnBF,aAFmB,EAGnBjC,iBAHmB,CAHvB;AAQE,UAAA,KAAK,EAAE,EACL,GAAGkC,UADE;AAEL,eAAG5B,aAFE;AAGL,eAAGE;AAHE;AART,WADF;AAgBD,OAnBgB,CAAjB;AAoBD,KArBmB,EAqBjB,CACDe,YAAY,CAACY,IADZ,EAEDnC,iBAFC,EAGDM,aAHC,EAIDE,iBAJC,CArBiB,CAApB;AA4BA,WAAO;AACLqB,MAAAA,IADK;AAEL1B,MAAAA,MAAM,EAAEoB,YAFH;AAGL,SAAGlB;AAHE,KAAP;AAKD,GAxHD;AA+HA,SAAOhB,SAAP;AACD;;;;"}
{"version":3,"file":"index.esm.js","sources":["../../packages/ssr/src/createStyles.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport {\n ReactComponent,\n StyleProps,\n StyleFnArgs,\n GetComponentProps,\n UseStyles,\n useTheme,\n useColorContext,\n} from '@react-style-system/core';\n\nfunction hashStyleObj(\n styleObj: { [key: string]: string | undefined } | null | undefined,\n) {\n if (!styleObj) return '';\n\n return Object.keys(styleObj)\n .map((key) => `${key}_${styleObj[key]}`)\n .join('__|__');\n}\n\nfunction usePreserveReference<\n T extends { [key: string]: string | undefined } | null | undefined\n>(styleObj: T): T {\n return useMemo(\n () => styleObj,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [hashStyleObj(styleObj)],\n );\n}\n\n// preserve the object reference\nconst empty = {};\n\nconst identity = <T extends any>(t: T) => t;\n\nfunction createStyles<Styles extends { [key: string]: string }, Theme = any>(\n stylesFn: (args: StyleFnArgs<Theme>) => Styles,\n) {\n function useStyles<\n Props extends StyleProps<Styles>,\n ComponentType extends ReactComponent = 'div'\n >(\n props: Props = {} as any,\n component?: ComponentType,\n ): Omit<Props, 'surface' | 'color' | 'style' | 'styles' | 'className'> & {\n Root: React.ComponentType<GetComponentProps<ComponentType>>;\n styles: Styles & { cssVariableObject: { [key: string]: string } };\n } {\n const theme = useTheme<Theme>();\n const { color, surface } = useColorContext(props);\n const {\n color: _color,\n surface: _surface,\n className: incomingClassName,\n style: _incomingStyle,\n styles: _incomingStyles = empty as Styles,\n ...restOfProps\n } = props;\n\n const incomingStyle = usePreserveReference(_incomingStyle as any);\n const incomingStyles = usePreserveReference(_incomingStyles as any);\n\n // create a map of unprocessed styles\n const { cssVariableObject, classes, classNamePrefix } = useMemo(() => {\n const variableObject: any = stylesFn({\n css: () => {\n throw new Error('css tag was executed in SSR mode');\n },\n color,\n theme,\n surface,\n staticVar: identity,\n });\n\n const { classNamePrefix, ...classNamesVariableValues } = variableObject;\n\n const cssVariableObject = Object.entries(classNamesVariableValues)\n .map(([className, values]) =>\n (values as string[]).map((value, i) => ({\n key: `--${classNamePrefix}-${className}-${i}`,\n value,\n })),\n )\n .flat()\n .reduce((acc, { key, value }) => {\n acc[key] = value;\n return acc;\n }, {} as { [key: string]: string });\n\n return {\n cssVariableObject,\n classes: Object.keys(classNamesVariableValues),\n classNamePrefix,\n };\n }, [color, surface, theme]);\n\n // calculate the class names\n const thisStyles = useMemo(() => {\n return classes\n .map((key) => [key, `${classNamePrefix}-${key}`])\n .reduce((acc, [key, className]) => {\n acc[key as keyof Styles] = className as Styles[keyof Styles];\n return acc;\n }, {} as Styles);\n }, [classNamePrefix, classes]);\n\n const mergedStyles = useMemo(() => {\n const thisStyleKeys = Object.keys(thisStyles) as Array<keyof Styles>;\n\n const mergedStyles = thisStyleKeys.reduce((merged, key) => {\n const thisStyle = thisStyles[key];\n const incomingStyle = incomingStyles[key];\n\n merged[key] = [thisStyle, incomingStyle]\n .filter(Boolean)\n .join(' ') as Styles[keyof Styles];\n\n return merged;\n }, {} as Styles);\n\n return { ...mergedStyles, cssVariableObject };\n }, [thisStyles, cssVariableObject, incomingStyles]);\n\n const Component = (component || 'div') as React.ComponentType<any>;\n\n const Root = useMemo(() => {\n return forwardRef((rootProps: StyleProps<Styles>, ref: any) => {\n const { className: rootClassName, style: rootStyles } = rootProps;\n\n return (\n <Component\n {...rootProps}\n ref={ref}\n className={[mergedStyles.root, rootClassName, incomingClassName]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...rootStyles,\n ...incomingStyle,\n ...cssVariableObject,\n }}\n />\n );\n }) as React.ComponentType<GetComponentProps<ComponentType>>;\n }, [\n mergedStyles.root,\n incomingClassName,\n incomingStyle,\n cssVariableObject,\n ]);\n\n return {\n Root,\n styles: mergedStyles,\n ...restOfProps,\n };\n }\n\n // This is a type-assertion so ensure that this type is compatible with the\n // `UseStyles` type. TODO: may want to find a better way to enforce this\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n useStyles as UseStyles<any, any>;\n\n return useStyles;\n}\n\nexport default createStyles;\n"],"names":["hashStyleObj","styleObj","Object","keys","map","key","join","usePreserveReference","useMemo","empty","identity","t","createStyles","stylesFn","useStyles","props","component","theme","useTheme","color","surface","useColorContext","_color","_surface","className","incomingClassName","style","_incomingStyle","styles","_incomingStyles","restOfProps","incomingStyle","incomingStyles","cssVariableObject","classes","classNamePrefix","variableObject","css","Error","staticVar","classNamesVariableValues","entries","values","value","i","flat","reduce","acc","thisStyles","mergedStyles","thisStyleKeys","merged","thisStyle","filter","Boolean","Component","Root","forwardRef","rootProps","ref","rootClassName","rootStyles","root"],"mappings":"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"}
+12
-11
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('classnames'), require('@react-style-system/core')) :
typeof define === 'function' && define.amd ? define(['exports', 'react', 'classnames', '@react-style-system/core'], factory) :
(global = global || self, factory(global.ReactStyleSystem = {}, global.React, global.classNames, global.ReactStyleSystem));
}(this, (function (exports, React, classNames, core) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('@react-style-system/core')) :
typeof define === 'function' && define.amd ? define(['exports', 'react', '@react-style-system/core'], factory) :
(global = global || self, factory(global.ReactStyleSystem = {}, global.React, global.ReactStyleSystem));
}(this, (function (exports, React, core) { 'use strict';
var React__default = 'default' in React ? React['default'] : React;
classNames = classNames && Object.prototype.hasOwnProperty.call(classNames, 'default') ? classNames['default'] : classNames;

@@ -153,3 +152,3 @@ function _defineProperty(obj, key, value) {

if (n === "Object" && o.constructor) n = o.constructor.name;
if (n === "Map" || n === "Set") return Array.from(n);
if (n === "Map" || n === "Set") return Array.from(o);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);

@@ -214,3 +213,5 @@ }

var variableObject = stylesFn({
css: core.css,
css: function css() {
throw new Error('css tag was executed in SSR mode');
},
color: color,

@@ -270,6 +271,6 @@ theme: theme,

var incomingStyle = incomingStyles[key];
merged[key] = classNames(thisStyle, incomingStyle);
merged[key] = [thisStyle, incomingStyle].filter(Boolean).join(' ');
return merged;
}, {});
return _objectSpread2({}, mergedStyles, {
return _objectSpread2(_objectSpread2({}, mergedStyles), {}, {
cssVariableObject: cssVariableObject

@@ -285,4 +286,4 @@ });

ref: ref,
className: classNames(mergedStyles.root, rootClassName, incomingClassName),
style: _objectSpread2({}, rootStyles, {}, incomingStyle, {}, cssVariableObject)
className: [mergedStyles.root, rootClassName, incomingClassName].filter(Boolean).join(' '),
style: _objectSpread2(_objectSpread2(_objectSpread2({}, rootStyles), incomingStyle), cssVariableObject)
}));

@@ -289,0 +290,0 @@ });

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sources":["../../packages/ssr/src/createStyles.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport classNames from 'classnames';\nimport {\n ReactComponent,\n StyleProps,\n StyleFnArgs,\n GetComponentProps,\n UseStyles,\n css,\n useTheme,\n useColorContext,\n createReadablePalette,\n} from '@react-style-system/core';\n\nfunction hashStyleObj(\n styleObj: { [key: string]: string | undefined } | null | undefined,\n) {\n if (!styleObj) return '';\n\n return Object.keys(styleObj)\n .map(key => `${key}_${styleObj[key]}`)\n .join('__|__');\n}\n\nfunction usePreserveReference<\n T extends { [key: string]: string | undefined } | null | undefined\n>(styleObj: T): T {\n return useMemo(\n () => styleObj,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [hashStyleObj(styleObj)],\n );\n}\n\n// preserve the object reference\nconst empty = {};\n\nconst identity = <T extends any>(t: T) => t;\n\nfunction createStyles<Styles extends { [key: string]: string }, Theme = any>(\n stylesFn: (args: StyleFnArgs<Theme>) => Styles,\n) {\n function useStyles<\n Props extends StyleProps<Styles>,\n ComponentType extends ReactComponent = 'div'\n >(\n props: Props = {} as any,\n component?: ComponentType,\n ): Omit<Props, 'surface' | 'color' | 'style' | 'styles' | 'className'> & {\n Root: React.ComponentType<GetComponentProps<ComponentType>>;\n styles: Styles & { cssVariableObject: { [key: string]: string } };\n } {\n const theme = useTheme<Theme>();\n const { color, surface } = useColorContext(props);\n const {\n color: _color,\n surface: _surface,\n className: incomingClassName,\n style: _incomingStyle,\n styles: _incomingStyles = empty as Styles,\n ...restOfProps\n } = props;\n\n const incomingStyle = usePreserveReference(_incomingStyle as any);\n const incomingStyles = usePreserveReference(_incomingStyles as any);\n\n // create a map of unprocessed styles\n const { cssVariableObject, classes, classNamePrefix } = useMemo(() => {\n const variableObject: any = stylesFn({\n css,\n color,\n theme,\n surface,\n staticVar: identity,\n });\n\n const { classNamePrefix, ...classNamesVariableValues } = variableObject;\n\n const cssVariableObject = Object.entries(classNamesVariableValues)\n .map(([className, values]) =>\n (values as string[]).map((value, i) => ({\n key: `--${classNamePrefix}-${className}-${i}`,\n value,\n })),\n )\n .flat()\n .reduce((acc, { key, value }) => {\n acc[key] = value;\n return acc;\n }, {} as { [key: string]: string });\n\n return {\n cssVariableObject,\n classes: Object.keys(classNamesVariableValues),\n classNamePrefix,\n };\n }, [color, surface, theme]);\n\n // calculate the class names\n const thisStyles = useMemo(() => {\n return classes\n .map(key => [key, `${classNamePrefix}-${key}`])\n .reduce((acc, [key, className]) => {\n acc[key as keyof Styles] = className as Styles[keyof Styles];\n return acc;\n }, {} as Styles);\n }, [classNamePrefix, classes]);\n\n const mergedStyles = useMemo(() => {\n const thisStyleKeys = Object.keys(thisStyles) as Array<keyof Styles>;\n\n const mergedStyles = thisStyleKeys.reduce((merged, key) => {\n const thisStyle = thisStyles[key];\n const incomingStyle = incomingStyles[key];\n\n merged[key] = classNames(\n thisStyle,\n incomingStyle,\n ) as Styles[keyof Styles];\n\n return merged;\n }, {} as Styles);\n\n return { ...mergedStyles, cssVariableObject };\n }, [thisStyles, cssVariableObject, incomingStyles]);\n\n const Component = (component || 'div') as React.ComponentType<any>;\n\n const Root = useMemo(() => {\n return forwardRef((rootProps: StyleProps<Styles>, ref: any) => {\n const { className: rootClassName, style: rootStyles } = rootProps;\n\n return (\n <Component\n {...rootProps}\n ref={ref}\n className={classNames(\n mergedStyles.root,\n rootClassName,\n incomingClassName,\n )}\n style={{\n ...rootStyles,\n ...incomingStyle,\n ...cssVariableObject,\n }}\n />\n );\n }) as React.ComponentType<GetComponentProps<ComponentType>>;\n }, [\n mergedStyles.root,\n incomingClassName,\n incomingStyle,\n cssVariableObject,\n ]);\n\n return {\n Root,\n styles: mergedStyles,\n ...restOfProps,\n };\n }\n\n // This is a type-assertion so ensure that this type is compatible with the\n // `UseStyles` type. TODO: may want to find a better way to enforce this\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n useStyles as UseStyles<any, any>;\n\n return useStyles;\n}\n\nexport default createStyles;\n"],"names":["hashStyleObj","styleObj","Object","keys","map","key","join","usePreserveReference","useMemo","empty","identity","t","createStyles","stylesFn","useStyles","props","component","theme","useTheme","useColorContext","color","surface","_color","_surface","incomingClassName","className","_incomingStyle","style","styles","_incomingStyles","restOfProps","incomingStyle","incomingStyles","variableObject","css","staticVar","classNamePrefix","classNamesVariableValues","cssVariableObject","entries","values","value","i","flat","reduce","acc","classes","thisStyles","mergedStyles","thisStyleKeys","merged","thisStyle","classNames","Component","Root","forwardRef","rootProps","ref","rootClassName","rootStyles","React","root"],"mappings":"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"}
{"version":3,"file":"index.js","sources":["../../packages/ssr/src/createStyles.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport {\n ReactComponent,\n StyleProps,\n StyleFnArgs,\n GetComponentProps,\n UseStyles,\n useTheme,\n useColorContext,\n} from '@react-style-system/core';\n\nfunction hashStyleObj(\n styleObj: { [key: string]: string | undefined } | null | undefined,\n) {\n if (!styleObj) return '';\n\n return Object.keys(styleObj)\n .map((key) => `${key}_${styleObj[key]}`)\n .join('__|__');\n}\n\nfunction usePreserveReference<\n T extends { [key: string]: string | undefined } | null | undefined\n>(styleObj: T): T {\n return useMemo(\n () => styleObj,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [hashStyleObj(styleObj)],\n );\n}\n\n// preserve the object reference\nconst empty = {};\n\nconst identity = <T extends any>(t: T) => t;\n\nfunction createStyles<Styles extends { [key: string]: string }, Theme = any>(\n stylesFn: (args: StyleFnArgs<Theme>) => Styles,\n) {\n function useStyles<\n Props extends StyleProps<Styles>,\n ComponentType extends ReactComponent = 'div'\n >(\n props: Props = {} as any,\n component?: ComponentType,\n ): Omit<Props, 'surface' | 'color' | 'style' | 'styles' | 'className'> & {\n Root: React.ComponentType<GetComponentProps<ComponentType>>;\n styles: Styles & { cssVariableObject: { [key: string]: string } };\n } {\n const theme = useTheme<Theme>();\n const { color, surface } = useColorContext(props);\n const {\n color: _color,\n surface: _surface,\n className: incomingClassName,\n style: _incomingStyle,\n styles: _incomingStyles = empty as Styles,\n ...restOfProps\n } = props;\n\n const incomingStyle = usePreserveReference(_incomingStyle as any);\n const incomingStyles = usePreserveReference(_incomingStyles as any);\n\n // create a map of unprocessed styles\n const { cssVariableObject, classes, classNamePrefix } = useMemo(() => {\n const variableObject: any = stylesFn({\n css: () => {\n throw new Error('css tag was executed in SSR mode');\n },\n color,\n theme,\n surface,\n staticVar: identity,\n });\n\n const { classNamePrefix, ...classNamesVariableValues } = variableObject;\n\n const cssVariableObject = Object.entries(classNamesVariableValues)\n .map(([className, values]) =>\n (values as string[]).map((value, i) => ({\n key: `--${classNamePrefix}-${className}-${i}`,\n value,\n })),\n )\n .flat()\n .reduce((acc, { key, value }) => {\n acc[key] = value;\n return acc;\n }, {} as { [key: string]: string });\n\n return {\n cssVariableObject,\n classes: Object.keys(classNamesVariableValues),\n classNamePrefix,\n };\n }, [color, surface, theme]);\n\n // calculate the class names\n const thisStyles = useMemo(() => {\n return classes\n .map((key) => [key, `${classNamePrefix}-${key}`])\n .reduce((acc, [key, className]) => {\n acc[key as keyof Styles] = className as Styles[keyof Styles];\n return acc;\n }, {} as Styles);\n }, [classNamePrefix, classes]);\n\n const mergedStyles = useMemo(() => {\n const thisStyleKeys = Object.keys(thisStyles) as Array<keyof Styles>;\n\n const mergedStyles = thisStyleKeys.reduce((merged, key) => {\n const thisStyle = thisStyles[key];\n const incomingStyle = incomingStyles[key];\n\n merged[key] = [thisStyle, incomingStyle]\n .filter(Boolean)\n .join(' ') as Styles[keyof Styles];\n\n return merged;\n }, {} as Styles);\n\n return { ...mergedStyles, cssVariableObject };\n }, [thisStyles, cssVariableObject, incomingStyles]);\n\n const Component = (component || 'div') as React.ComponentType<any>;\n\n const Root = useMemo(() => {\n return forwardRef((rootProps: StyleProps<Styles>, ref: any) => {\n const { className: rootClassName, style: rootStyles } = rootProps;\n\n return (\n <Component\n {...rootProps}\n ref={ref}\n className={[mergedStyles.root, rootClassName, incomingClassName]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...rootStyles,\n ...incomingStyle,\n ...cssVariableObject,\n }}\n />\n );\n }) as React.ComponentType<GetComponentProps<ComponentType>>;\n }, [\n mergedStyles.root,\n incomingClassName,\n incomingStyle,\n cssVariableObject,\n ]);\n\n return {\n Root,\n styles: mergedStyles,\n ...restOfProps,\n };\n }\n\n // This is a type-assertion so ensure that this type is compatible with the\n // `UseStyles` type. TODO: may want to find a better way to enforce this\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n useStyles as UseStyles<any, any>;\n\n return useStyles;\n}\n\nexport default createStyles;\n"],"names":["hashStyleObj","styleObj","Object","keys","map","key","join","usePreserveReference","useMemo","empty","identity","t","createStyles","stylesFn","useStyles","props","component","theme","useTheme","useColorContext","color","surface","_color","_surface","incomingClassName","className","_incomingStyle","style","styles","_incomingStyles","restOfProps","incomingStyle","incomingStyles","variableObject","css","Error","staticVar","classNamePrefix","classNamesVariableValues","cssVariableObject","entries","values","value","i","flat","reduce","acc","classes","thisStyles","mergedStyles","thisStyleKeys","merged","thisStyle","filter","Boolean","Component","Root","forwardRef","rootProps","ref","rootClassName","rootStyles","React","root"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWA,SAASA,YAAT,CACEC,QADF,EAEE;EACA,MAAI,CAACA,QAAL,EAAe,OAAO,EAAP;EAEf,SAAOC,MAAM,CAACC,IAAP,CAAYF,QAAZ,EACJG,GADI,CACA,UAACC,GAAD;EAAA,qBAAYA,GAAZ,cAAmBJ,QAAQ,CAACI,GAAD,CAA3B;EAAA,GADA,EAEJC,IAFI,CAEC,OAFD,CAAP;EAGD;;EAED,SAASC,oBAAT,CAEEN,QAFF,EAEkB;EAChB,SAAOO,aAAO,CACZ;EAAA,WAAMP,QAAN;EAAA,GADY;EAGZ,GAACD,YAAY,CAACC,QAAD,CAAb,CAHY,CAAd;EAKD;;;EAGD,IAAMQ,KAAK,GAAG,EAAd;;EAEA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAgBC,CAAhB;EAAA,SAAyBA,CAAzB;EAAA,CAAjB;;EAEA,SAASC,YAAT,CACEC,QADF,EAEE;EACA,WAASC,SAAT,GASE;EAAA,QALAC,KAKA,uEALe,EAKf;EAAA,QAJAC,SAIA;EACA,QAAMC,KAAK,GAAGC,aAAQ,EAAtB;;EADA,2BAE2BC,oBAAe,CAACJ,KAAD,CAF1C;EAAA,QAEQK,KAFR,oBAEQA,KAFR;EAAA,QAEeC,OAFf,oBAEeA,OAFf;;EAAA,QAISC,MAJT,GAUIP,KAVJ,CAIEK,KAJF;EAAA,QAKWG,QALX,GAUIR,KAVJ,CAKEM,OALF;EAAA,QAMaG,iBANb,GAUIT,KAVJ,CAMEU,SANF;EAAA,QAOSC,cAPT,GAUIX,KAVJ,CAOEY,KAPF;EAAA,wBAUIZ,KAVJ,CAQEa,MARF;EAAA,QAQUC,eARV,8BAQ4BpB,KAR5B;EAAA,QASKqB,WATL,4BAUIf,KAVJ;;EAYA,QAAMgB,aAAa,GAAGxB,oBAAoB,CAACmB,cAAD,CAA1C;EACA,QAAMM,cAAc,GAAGzB,oBAAoB,CAACsB,eAAD,CAA3C,CAbA;;EAAA,mBAgBwDrB,aAAO,CAAC,YAAM;EACpE,UAAMyB,cAAmB,GAAGpB,QAAQ,CAAC;EACnCqB,QAAAA,GAAG,EAAE,eAAM;EACT,gBAAM,IAAIC,KAAJ,CAAU,kCAAV,CAAN;EACD,SAHkC;EAInCf,QAAAA,KAAK,EAALA,KAJmC;EAKnCH,QAAAA,KAAK,EAALA,KALmC;EAMnCI,QAAAA,OAAO,EAAPA,OANmC;EAOnCe,QAAAA,SAAS,EAAE1B;EAPwB,OAAD,CAApC;;EADoE,UAW5D2B,eAX4D,GAWXJ,cAXW,CAW5DI,eAX4D;EAAA,UAWxCC,wBAXwC,4BAWXL,cAXW;;EAapE,UAAMM,iBAAiB,GAAGrC,MAAM,CAACsC,OAAP,CAAeF,wBAAf,EACvBlC,GADuB,CACnB;EAAA;EAAA,YAAEqB,SAAF;EAAA,YAAagB,MAAb;;EAAA,eACFA,MAAD,CAAqBrC,GAArB,CAAyB,UAACsC,KAAD,EAAQC,CAAR;EAAA,iBAAe;EACtCtC,YAAAA,GAAG,cAAOgC,eAAP,cAA0BZ,SAA1B,cAAuCkB,CAAvC,CADmC;EAEtCD,YAAAA,KAAK,EAALA;EAFsC,WAAf;EAAA,SAAzB,CADG;EAAA,OADmB,EAOvBE,IAPuB,GAQvBC,MARuB,CAQhB,UAACC,GAAD,SAAyB;EAAA,YAAjBzC,GAAiB,SAAjBA,GAAiB;EAAA,YAAZqC,KAAY,SAAZA,KAAY;EAC/BI,QAAAA,GAAG,CAACzC,GAAD,CAAH,GAAWqC,KAAX;EACA,eAAOI,GAAP;EACD,OAXuB,EAWrB,EAXqB,CAA1B;EAaA,aAAO;EACLP,QAAAA,iBAAiB,EAAjBA,iBADK;EAELQ,QAAAA,OAAO,EAAE7C,MAAM,CAACC,IAAP,CAAYmC,wBAAZ,CAFJ;EAGLD,QAAAA,eAAe,EAAfA;EAHK,OAAP;EAKD,KA/B8D,EA+B5D,CAACjB,KAAD,EAAQC,OAAR,EAAiBJ,KAAjB,CA/B4D,CAhB/D;EAAA,QAgBQsB,iBAhBR,YAgBQA,iBAhBR;EAAA,QAgB2BQ,OAhB3B,YAgB2BA,OAhB3B;EAAA,QAgBoCV,eAhBpC,YAgBoCA,eAhBpC;;;EAkDA,QAAMW,UAAU,GAAGxC,aAAO,CAAC,YAAM;EAC/B,aAAOuC,OAAO,CACX3C,GADI,CACA,UAACC,GAAD;EAAA,eAAS,CAACA,GAAD,YAASgC,eAAT,cAA4BhC,GAA5B,EAAT;EAAA,OADA,EAEJwC,MAFI,CAEG,UAACC,GAAD,SAA2B;EAAA;EAAA,YAApBzC,GAAoB;EAAA,YAAfoB,SAAe;;EACjCqB,QAAAA,GAAG,CAACzC,GAAD,CAAH,GAA2BoB,SAA3B;EACA,eAAOqB,GAAP;EACD,OALI,EAKF,EALE,CAAP;EAMD,KAPyB,EAOvB,CAACT,eAAD,EAAkBU,OAAlB,CAPuB,CAA1B;EASA,QAAME,YAAY,GAAGzC,aAAO,CAAC,YAAM;EACjC,UAAM0C,aAAa,GAAGhD,MAAM,CAACC,IAAP,CAAY6C,UAAZ,CAAtB;EAEA,UAAMC,YAAY,GAAGC,aAAa,CAACL,MAAd,CAAqB,UAACM,MAAD,EAAS9C,GAAT,EAAiB;EACzD,YAAM+C,SAAS,GAAGJ,UAAU,CAAC3C,GAAD,CAA5B;EACA,YAAM0B,aAAa,GAAGC,cAAc,CAAC3B,GAAD,CAApC;EAEA8C,QAAAA,MAAM,CAAC9C,GAAD,CAAN,GAAc,CAAC+C,SAAD,EAAYrB,aAAZ,EACXsB,MADW,CACJC,OADI,EAEXhD,IAFW,CAEN,GAFM,CAAd;EAIA,eAAO6C,MAAP;EACD,OAToB,EASlB,EATkB,CAArB;EAWA,+CAAYF,YAAZ;EAA0BV,QAAAA,iBAAiB,EAAjBA;EAA1B;EACD,KAf2B,EAezB,CAACS,UAAD,EAAaT,iBAAb,EAAgCP,cAAhC,CAfyB,CAA5B;EAiBA,QAAMuB,SAAS,GAAIvC,SAAS,IAAI,KAAhC;EAEA,QAAMwC,IAAI,GAAGhD,aAAO,CAAC,YAAM;EACzB,aAAOiD,gBAAU,CAAC,UAACC,SAAD,EAAgCC,GAAhC,EAA6C;EAAA,YAC1CC,aAD0C,GACLF,SADK,CACrDjC,SADqD;EAAA,YACpBoC,UADoB,GACLH,SADK,CAC3B/B,KAD2B;EAG7D,4BACEmC,6BAAC,SAAD,eACMJ,SADN;EAEE,UAAA,GAAG,EAAEC,GAFP;EAGE,UAAA,SAAS,EAAE,CAACV,YAAY,CAACc,IAAd,EAAoBH,aAApB,EAAmCpC,iBAAnC,EACR6B,MADQ,CACDC,OADC,EAERhD,IAFQ,CAEH,GAFG,CAHb;EAME,UAAA,KAAK,mDACAuD,UADA,GAEA9B,aAFA,GAGAQ,iBAHA;EANP,WADF;EAcD,OAjBgB,CAAjB;EAkBD,KAnBmB,EAmBjB,CACDU,YAAY,CAACc,IADZ,EAEDvC,iBAFC,EAGDO,aAHC,EAIDQ,iBAJC,CAnBiB,CAApB;EA0BA;EACEiB,MAAAA,IAAI,EAAJA,IADF;EAEE5B,MAAAA,MAAM,EAAEqB;EAFV,OAGKnB,WAHL;EAKD,GAvHD;EA8HA,SAAOhB,SAAP;EACD;;;;;;;;;;;;;;;;;;;;"}
{
"name": "@react-style-system/ssr",
"version": "0.0.0-b5c8ab30e",
"version": "0.0.0-c6fdbe987",
"author": {

@@ -13,3 +13,3 @@ "email": "ricokahler@me.com",

},
"description": "a carefully thought-out system system for React components",
"description": "a lean, component-centric style system for React components",
"keywords": [

@@ -26,6 +26,7 @@ "css",

"dependencies": {
"@react-style-system/core": "0.0.0-b5c8ab30e",
"@react-style-system/core": "0.0.0-c6fdbe987",
"@types/classnames": "2.2.10",
"classnames": "2.2.6"
"classnames": "2.2.6",
"@babel/runtime": "7.9.6"
}
}