@nekobird/styled-chemistry
Version:
A theming system for css-in-js.
3 lines (2 loc) • 13.3 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require("react"),t=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,o=require("styled-components");function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var n=function(e){return"number"==typeof e&&!isNaN(e)},i=function(e){return n(e)||"string"==typeof e},p=function(e){return function(e){return n(e)&&e%1==0}(e)&&e>=0},l=function(e){return e&&"set"in e&&"object"===s(e.set)&&Array.isArray(e.set)},a=function(e){return function(r){return p(r)?r:function(e){return function(r){return"string"==typeof r&&"alias"in e&&"object"===s(e.alias)&&p(e.alias[r])}}(e)(r)?e.alias[r]:void 0===r?p(e.default)?e.default:0:null}},u=function(e){return n(e)?e.toString():e},m=function(e){return"object"===s(e)&&Array.isArray(e)&&e.length>0},d=function(e,r){return function(){for(var t=arguments.length,o=new Array(t),s=0;s<t;s++)o[s]=arguments[s];var n=JSON.stringify(o);if(r.has(n))return r.get(n);var i=e.apply(void 0,o);return r.set(n,i),i}},g=function(e){return d((function(r){if(!m(e.set))return null;var t=a(e)(r),o=p(t)?e.set[t]:null;return i(o)?u(o):null}),new Map)},c=function(e){return function(r){return d((function(t){if(!m(r.set))return null;var o=a(r)(t),s=p(o)?r.set[o]:null;if("function"==typeof s){var n=s(e);return i(n)?u(n):null}return null}),new Map)}},f=function(e){return function(r){return Object.keys(r).reduce((function(t,o){var s=r[o];return t[o]=l(s)?c(e)(s):function(e){return function(r){return function(t){return c(e)(r[t])}}}(e)(s),t}),{})}},y=function(e){return function(r){return function(t){return d((function(o){if(!m(t.set))return null;var s=a(t)(o),n=p(s)?t.set[s]:null;if("function"==typeof n){var l=n(e,r);return i(l)?u(l):null}return null}),new Map)}}},b=function(e){return function(r){return function(t){return Object.keys(t).reduce((function(o,s){var n=t[s];return o[s]=l(n)?y(e)(r)(n):function(e){return function(r){return function(t){return function(o){return y(e)(r)(t[o])}}}}(e)(r)(n),o}),{})}}};const P=r.createContext(null);var N={enableBreakpointMapping:!0,mediaRule:function(e){return"@media only screen and (min-width: ".concat(e,")")}},h=function(e){return Array.isArray(e)&&2===e.length&&"string"==typeof e[0]&&function(e){return i(e)||null===e}(e[1])},S=function(e){return function(r){return i(r)?e.map((function(e){return"".concat(e,": ").concat(r,";")})).join("\n"):null}},x=function(e){return function(r){var t=h(r)?i(r[1])?e(r[0])(r[1]):e(r[0])():"string"==typeof r?e(r)():null;return null!==t?u(t):null}},v=function(e){return function(r){var t=i(r)?e(r):e();return null!==t?u(t):null}},w=function(e){return"isSuperSet"in e&&"boolean"==typeof e.isSuperSet&&!0===e.isSuperSet},k=function(e){var r=z(e)?w(e)?x(e.get):v(e.get):function(e){return e};return function(t){var o=function(e){return Array.isArray(e)?e:[e]}(t).map((function(e){return r(e)}));return e.styleProperties?o.map(S(e.styleProperties)):o}},z=function(e){return"get"in e&&"function"==typeof e.get},R=function(e){var r=z(e)?w(e)?x(e.get):v(e.get):function(e){return e};return function(t){return e.styleProperties?S(e.styleProperties)(r(t)):r(t)}},C=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:N;return function(r){return function(t){return function(o){var s=r(t);if(e.enableBreakpointMapping&&m(o.breakpoints)){var n=o.breakpoints.map((function(e){return t.elements.breakpoint(e)||e})).sort(),p=s.reduce((function(e,r){return r.propNames.forEach((function(t){void 0!==o[t]&&e.push(k(r)(o[t]))})),e}),[]);return n.reduce((function(r,t,o){if(i(t)){var s=p.map((function(e){return e[o+1]})).join("\n");s.trim()&&(r+="\n ".concat(e.mediaRule(u(t))," {\n ").concat(s,"\n }\n "))}return r}),p.map((function(e){return e[0]})).join("\n"))}return s.reduce((function(e,r){return r.propNames.forEach((function(t){void 0!==o[t]&&e.push(R(r)(o[t]))})),e}),[]).join("\n")}}}},W=C()((function(e){return[{propNames:["background"],styleProperties:["background"]},{get:e.elements.image,propNames:["backgroundImage"],styleProperties:["background-image"]},{propNames:["backgroundSize"],styleProperties:["background-size"]},{propNames:["backgroundPosition"],styleProperties:["background-position"]},{propNames:["backgroundRepeat"],styleProperties:["background-repeat"]}]})),A=C()((function(e){return[{propNames:["border"],styleProperties:["border"]},{get:e.elements.borderWidth,propNames:["borderWidth"],styleProperties:["border-width"]},{get:e.elements.borderStyle,propNames:["borderStyle"],styleProperties:["border-style"]},{get:e.elements.color,isSuperSet:!0,propNames:["borderColor"],styleProperties:["border-color"]},{get:e.elements.radius,propNames:["borderRadius"],styleProperties:["border-radius"]},{propNames:["borderTop"],styleProperties:["border-top"]},{get:e.elements.borderWidth,propNames:["borderTopWidth"],styleProperties:["border-top-width"]},{get:e.elements.borderStyle,propNames:["borderTopStyle"],styleProperties:["border-top-style"]},{get:e.elements.color,isSuperSet:!0,propNames:["borderTopColor"],styleProperties:["border-top-color"]},{get:e.elements.radius,propNames:["borderTopLeftRadius"],styleProperties:["border-top-left-radius"]},{get:e.elements.radius,propNames:["borderTopRightRadius"],styleProperties:["border-top-right-radius"]},{propNames:["borderRight"],styleProperties:["border-right"]},{get:e.elements.borderWidth,propNames:["borderRightWidth"],styleProperties:["border-right-width"]},{get:e.elements.borderStyle,propNames:["borderRightStyle"],styleProperties:["border-right-style"]},{get:e.elements.color,isSuperSet:!0,propNames:["borderRightColor"],styleProperties:["border-right-color"]},{propNames:["borderBottom"],styleProperties:["border-bottom"]},{get:e.elements.borderWidth,propNames:["borderBottomWidth"],styleProperties:["border-bottom-width"]},{get:e.elements.borderStyle,propNames:["borderBottomStyle"],styleProperties:["border-bottom-style"]},{get:e.elements.color,isSuperSet:!0,propNames:["borderBottomColor"],styleProperties:["border-bottom-color"]},{get:e.elements.radius,propNames:["borderBottomLeftRadius"],styleProperties:["border-bottom-left-radius"]},{get:e.elements.radius,propNames:["borderBottomRightRadius"],styleProperties:["border-bottom-right-radius"]},{propNames:["borderLeft"],styleProperties:["border-left"]},{get:e.elements.borderWidth,propNames:["borderLeftWidth"],styleProperties:["border-left-width"]},{get:e.elements.borderStyle,propNames:["borderLeftStyle"],styleProperties:["border-left-style"]},{get:e.elements.color,isSuperSet:!0,propNames:["borderLeftColor"],styleProperties:["border-left-color"]},{propNames:["borderX"],styleProperties:["border-left","border-right"]},{propNames:["borderY"],styleProperties:["border-top","border-bottom"]}]})),j=C()((function(e){return[{get:e.elements.color,isSuperSet:!0,propNames:["color"],styleProperties:["color"]},{get:e.elements.color,isSuperSet:!0,propNames:["bg","backgroundColor"],styleProperties:["background-color"]},{get:e.elements.opacity,isSuperSet:!1,propNames:["opacity"],styleProperties:["opacity"]}]})),T=C()((function(e){return[{propNames:["alignItems"],styleProperties:["align-items"]},{propNames:["alignContent"],styleProperties:["align-content"]},{propNames:["justifyItems"],styleProperties:["justify-items"]},{propNames:["justifyContent"],styleProperties:["justify-content"]},{propNames:["flexWrap"],styleProperties:["flex-wrap"]},{propNames:["flexDirection"],styleProperties:["flex-direction"]},{propNames:["flex"],styleProperties:["flex"]},{propNames:["flexGrow"],styleProperties:["flex-grow"]},{propNames:["flexShrink"],styleProperties:["flex-shrink"]},{propNames:["flexBasis"],styleProperties:["flex-basis"]},{propNames:["justifySelf"],styleProperties:["justify-self"]},{propNames:["alignSelf"],styleProperties:["align-self"]},{propNames:["order"],styleProperties:["order"]}]})),B=C()((function(e){return[{get:e.elements.space,isSuperSet:!1,propNames:["gridGap"],styleProperties:["grid-gap"]},{get:e.elements.space,isSuperSet:!1,propNames:["gridRowGap"],styleProperties:["grid-row-gap"]},{get:e.elements.space,isSuperSet:!1,propNames:["gridColumnGap"],styleProperties:["grid-column-gap"]},{propNames:["gridColumn"],styleProperties:["grid-column"]},{propNames:["gridRow"],styleProperties:["grid-row"]},{propNames:["gridArea"],styleProperties:["grid-area"]},{propNames:["gridAutoFlow"],styleProperties:["grid-auto-flow"]},{propNames:["gridAutoRows"],styleProperties:["grid-auto-rows"]},{propNames:["gridAutoColumns"],styleProperties:["grid-auto-columns"]},{propNames:["gridTemplateRows"],styleProperties:["grid-template-rows"]},{propNames:["gridTemplateColumns"],styleProperties:["grid-template-columns"]},{propNames:["gridTemplateAreas"],styleProperties:["grid-template-areas"]}]})),L=C()((function(e){return[{get:e.elements.size,propNames:["width"],styleProperties:["width"]},{get:e.elements.size,propNames:["height"],styleProperties:["height"]},{get:e.elements.size,propNames:["minWidth"],styleProperties:["min-width"]},{get:e.elements.size,propNames:["maxWidth"],styleProperties:["max-width"]},{get:e.elements.size,propNames:["minHeight"],styleProperties:["min-height"]},{get:e.elements.size,propNames:["maxHeight"],styleProperties:["max-height"]},{get:e.elements.size,propNames:["size"],styleProperties:["width","height"]},{propNames:["display"],styleProperties:["display"]},{propNames:["verticalAlign"],styleProperties:["vertical-align"]},{propNames:["overflow"],styleProperties:["overflow"]},{propNames:["overflowX"],styleProperties:["overflow-x"]},{propNames:["overflowY"],styleProperties:["overflow-y"]}]})),F=C()((function(e){return[{propNames:["position"],styleProperties:["position"]},{get:e.elements.zIndex,propNames:["zIndex"],styleProperties:["z-index"]},{get:e.elements.space,propNames:["top"],styleProperties:["top"]},{get:e.elements.space,propNames:["right"],styleProperties:["right"]},{get:e.elements.space,propNames:["bottom"],styleProperties:["bottom"]},{get:e.elements.space,propNames:["left"],styleProperties:["left"]}]})),I=C()((function(e){return[{propNames:["text-shadow"],styleProperties:["text-shadow"]},{propNames:["box-shadow"],styleProperties:["box-shadow"]}]})),M=C()((function(e){return[{get:e.elements.space,propNames:["m","margin"],styleProperties:["margin"]},{get:e.elements.space,propNames:["mx","marginX"],styleProperties:["margin-left","margin-right"]},{get:e.elements.space,propNames:["my","marginY"],styleProperties:["margin-top","margin-bottom"]},{get:e.elements.space,propNames:["mt","marginTop"],styleProperties:["margin-top"]},{get:e.elements.space,propNames:["mb","marginBottom"],styleProperties:["margin-bottom"]},{get:e.elements.space,propNames:["ml","marginLeft"],styleProperties:["margin-left"]},{propNames:["mr","marginRight"],get:e.elements.space,styleProperties:["margin-right"]},{get:e.elements.space,propNames:["p","padding"],styleProperties:["padding"]},{get:e.elements.space,propNames:["px","paddingX"],styleProperties:["padding-left","padding-right"]},{get:e.elements.space,propNames:["py","paddingY"],styleProperties:["padding-top","padding-bottom"]},{get:e.elements.space,propNames:["pl","paddingLeft"],styleProperties:["padding-left"]},{get:e.elements.space,propNames:["pr","paddingRight"],styleProperties:["padding-right"]}]})),O=C()((function(e){return[{get:e.elements.fontFamily,propNames:["fontFamily"],styleProperties:["font-family"]},{get:e.elements.fontSize,propNames:["fontSize"],styleProperties:["font-size"]},{get:e.elements.fontWeight,propNames:["fontWeight"],styleProperties:["font-weight"]},{get:e.elements.lineHeight,propNames:["lineHeight"],styleProperties:["line-height"]},{get:e.elements.letterSpacing,propNames:["letterSpacing"],styleProperties:["letter-spacing"]},{propNames:["textAlign"],styleProperties:["text-align"]},{propNames:["fontStyle"],styleProperties:["font-style"]}]}));exports.PROPS_TO_STYLE_MAP_DEFAULT_CONFIG=N,exports.StyleChemistryContext=P,exports.StyleChemistryProvider=({children:e,theme:r})=>t.createElement(P.Provider,{value:r},t.createElement(o.ThemeProvider,{theme:r},e)),exports.background=W,exports.border=A,exports.color=j,exports.createStyleProps=C,exports.createTheme=function(e){var r=function(e){return{borderStyle:g(e.borderStyles),borderWidth:g(e.borderWidths),breakpoint:g(e.breakpoints),color:(r=e.colors,function(e){return g(r[e])}),fontFamily:g(e.fontFamilies),fontSize:g(e.fontSizes),fontWeight:g(e.fontWeights),image:g(e.images),letterSpacing:g(e.letterSpacings),lineHeight:g(e.lineHeights),opacity:g(e.opacities),radius:g(e.radii),size:g(e.sizes),space:g(e.spaces),time:g(e.times),timingFunction:g(e.timingFunctions),zIndex:g(e.zIndices)};var r}(e);return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=f(r)(t);return function(){var s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=b(r)(o)(s);return{elements:r,compounds:o,mixtures:n,original:{elements:e,compounds:t,mixtures:s}}}}},exports.flexbox=T,exports.grid=B,exports.layout=L,exports.position=F,exports.shadow=I,exports.space=M,exports.typography=O,exports.useStyleChemistryTheme=()=>r.useContext(P);
//# sourceMappingURL=styled-chemistry.js.map