Skip to content

Unable to customize css tagged template with string expressions #113

@avdotion

Description

@avdotion

There is a goal to assign all length in css code by multiplication to fix value. For example, let us take a segment 12px as a common, then all applicable lengths are in range [ 12, 24, ... ]. There is a reason to use string expressions in the reshadow css tagged template.

Down here there is an example to customize the width of children that way. Webpack answers with the following:

CssSyntaxError: /Users/avdotion/sandbox/reshadow-issue/src/App.js: reshadow/macro: /Users/avdotion/sandbox/reshadow-issue/src/App.js:2:3: Unclosed block Learn more: https://www.npmjs.com/package/reshadow

import React from 'react';
import {css} from 'reshadow/macro';

import Child from './Child';

const CHILD_WIDTH = '150px';

const childStyles = css`
  |child {
    width: ${CHILD_WIDTH};
    background-color: red;
  }
`;

const App = () => (
  <Child styles={childStyles} />
);

export default App;
import React from 'react';
import styled, {use} from 'reshadow/macro';

const Child = ({styles}) => styled(styles)(
  <use.child>
    child
  </use.child>
);

export default Child;

Please help to figure out how to solve the task with the reshadow tools.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions