| module.exports = function (Component) { | ||
| const {React} = this.imports; | ||
| // todo: do declaration and call extensions | ||
| return this.withUtilities (Component); | ||
| }; |
| const constructGetClasses = props => (stylesState = {}) => { | ||
| let addedState = ''; | ||
| for (let state in stylesState) | ||
| if (!!stylesState[state]) addedState += ' ' + state; | ||
| const newClasses = Object.assign ({}, props.classes); | ||
| for (let className in newClasses) | ||
| newClasses[className] += addedState; | ||
| return newClasses; | ||
| }; | ||
| const constructGetAnchor = React => componentProps => { | ||
| const {anchors} = componentProps; | ||
| return ({children, name}) => { | ||
| if (!anchors || !anchors[name]) return children; | ||
| const AnchorOverride = anchors[name]; | ||
| return React.createElement (AnchorOverride, componentProps); | ||
| }; | ||
| }; | ||
| module.exports = function (Component) { | ||
| const {React, injectSheet} = this.imports; | ||
| const {defaultStyles} = Component; | ||
| const WithUtils = props => | ||
| React.createElement (Component, { | ||
| ...props, | ||
| getClasses: constructGetClasses (props), | ||
| getAnchor: constructGetAnchor (React), | ||
| }); | ||
| return props => { | ||
| const styles = this.mergeStyles (defaultStyles, props.styles, {}); | ||
| const ComponentWithSheet = injectSheet (styles) (WithUtils); | ||
| return React.createElement (ComponentWithSheet, props); | ||
| }; | ||
| }; |
+1
-1
| { | ||
| "name": "ponytail", | ||
| "version": "1.0.47", | ||
| "version": "1.0.48", | ||
| "description": "Rethinking maintenance of multiple sites.", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -5,4 +5,5 @@ module.exports = { | ||
| mergeStyles: require ('./mergeStyles'), | ||
| withClasses: require ('./withClasses'), | ||
| withUtilities: require ('./withUtilities'), | ||
| initialise: require ('./initialise'), | ||
| startTale: require ('./startTale'), | ||
| }; |
@@ -6,4 +6,2 @@ module.exports = function({React, injectSheet}) { | ||
| }; | ||
| console.log ('this', this); | ||
| }; |
| const constructGetClasses = props => (stylesState = {}) => { | ||
| let addedState = ''; | ||
| for (let state in stylesState) | ||
| if (!!stylesState[state]) addedState += ' ' + state; | ||
| const newClasses = Object.assign ({}, props.classes); | ||
| for (let className in newClasses) | ||
| newClasses[className] += addedState; | ||
| return newClasses; | ||
| }; | ||
| module.exports = function (Component, {defaultStyles}) { | ||
| const {React, injectSheet} = this.imports; | ||
| const Styled = props => | ||
| React.createElement (Component, { | ||
| ...props, | ||
| getClasses: constructGetClasses (props), | ||
| }); | ||
| return props => { | ||
| const styles = this.mergeStyles (defaultStyles, props.styles, {}); | ||
| const ComponentWithSheet = injectSheet (styles) (Styled); | ||
| return React.createElement (ComponentWithSheet, props); | ||
| }; | ||
| }; |
9746
5.84%26
4%247
6.47%