@anansi/webpack-config
Version:
Production ready webpack for React
263 lines (240 loc) • 17.7 kB
JavaScript
var _jsxFileName = "/home/ntucker/src/anansi/packages/webpack-config-anansi/src/__fixtures__/linaria/src/index.tsx";
import { css } from '@linaria/core';
import { styled } from '@linaria/react';
import React from 'react';
// Basic styled component
import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "react/jsx-dev-runtime";
const Button = styled.button`
background-color: blue;
color: white;
padding: 8px 16px;
border: none;
cursor: pointer;
&:hover {
background-color: darkblue;
}
`;
// Styled component with props and interpolations
const Container = styled.div`
padding: ${props => props.size || '16px'};
background-color: ${props => props.color || 'white'};
display: flex;
flex-direction: column;
gap: 8px;
`;
// Base component to be extended
const Base = styled.div`
padding: 16px;
border: 1px solid #ccc;
`;
// Extended styled component
const Extended = styled(Base)`
margin: 8px;
border-width: 2px;
`;
// CSS tagged template with variable interpolations
const color = 'blue';
const fontSize = '16px';
const stylesWithVars = css`
color: ${color};
font-size: ${fontSize};
`;
// CSS with nested selectors
const nestedStyles = css`
.container {
display: flex;
flex-direction: column;
}
.item {
padding: 8px;
}
`;
// Styled component with nested selectors including component references
const StyledContainer = styled.div`
padding: 16px;
${Button} {
margin: 8px;
}
.icon {
margin-right: 8px;
}
`;
// Styled component with TypeScript props interface
const TypedButton = styled.button`
background-color: ${props => props.primary ? 'blue' : 'gray'};
color: white;
padding: 8px 16px;
`;
// Styled component with media queries
const media = {
tablet: '768px',
desktop: '1024px'
};
const ResponsiveContainer = styled.div`
padding: 16px;
@media (min-width: ${media.tablet}) {
padding: 24px;
}
@media (min-width: ${media.desktop}) {
padding: 32px;
}
`;
// Styled component with CSS variables
const CSSVarContainer = styled.div`
--main-color: blue;
--padding-size: 16px;
color: var(--main-color);
padding: var(--padding-size);
`;
// Global styles with :global() selector
const globalStyles = css`
:global() {
body {
margin: 0;
font-family: sans-serif;
}
}
`;
// Styled component with conditional styles
const ConditionalButton = styled.button`
padding: 8px 16px;
border: none;
cursor: pointer;
${props => props.disabled ? `
opacity: 0.5;
cursor: not-allowed;
` : ``}
`;
// Header style
const header = css`
text-transform: uppercase;
font-size: 24px;
margin-bottom: 16px;
`;
function App({
name = 'Linaria'
}) {
return /*#__PURE__*/_jsxDEV(_Fragment, {
children: [/*#__PURE__*/_jsxDEV("div", {
className: globalStyles
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 154,
columnNumber: 7
}, this), /*#__PURE__*/_jsxDEV(ResponsiveContainer, {
children: [/*#__PURE__*/_jsxDEV("h1", {
className: header,
children: ["Hello from ", name, " fixture"]
}, void 0, true, {
fileName: _jsxFileName,
lineNumber: 156,
columnNumber: 9
}, this), /*#__PURE__*/_jsxDEV(Container, {
size: "24px",
color: "red",
children: [/*#__PURE__*/_jsxDEV(Button, {
children: "Click me"
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 158,
columnNumber: 11
}, this), /*#__PURE__*/_jsxDEV(TypedButton, {
primary: true,
children: "Primary Button"
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 159,
columnNumber: 11
}, this), /*#__PURE__*/_jsxDEV(TypedButton, {
children: "Secondary Button"
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 160,
columnNumber: 11
}, this)]
}, void 0, true, {
fileName: _jsxFileName,
lineNumber: 157,
columnNumber: 9
}, this), /*#__PURE__*/_jsxDEV(Extended, {
children: "Extended Component"
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 162,
columnNumber: 9
}, this), /*#__PURE__*/_jsxDEV("div", {
className: stylesWithVars,
children: "CSS with variable interpolations"
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 163,
columnNumber: 9
}, this), /*#__PURE__*/_jsxDEV("div", {
className: nestedStyles,
children: /*#__PURE__*/_jsxDEV("div", {
className: "container",
children: /*#__PURE__*/_jsxDEV("div", {
className: "item",
children: "Nested styles"
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 166,
columnNumber: 13
}, this)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 165,
columnNumber: 11
}, this)
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 164,
columnNumber: 9
}, this), /*#__PURE__*/_jsxDEV(StyledContainer, {
children: [/*#__PURE__*/_jsxDEV(Button, {
children: "Button inside styled container"
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 170,
columnNumber: 11
}, this), /*#__PURE__*/_jsxDEV("span", {
className: "icon",
children: "Icon"
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 171,
columnNumber: 11
}, this)]
}, void 0, true, {
fileName: _jsxFileName,
lineNumber: 169,
columnNumber: 9
}, this), /*#__PURE__*/_jsxDEV(CSSVarContainer, {
children: "CSS Variables"
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 173,
columnNumber: 9
}, this), /*#__PURE__*/_jsxDEV(ConditionalButton, {
children: "Normal Button"
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 174,
columnNumber: 9
}, this), /*#__PURE__*/_jsxDEV(ConditionalButton, {
disabled: true,
children: "Disabled Button"
}, void 0, false, {
fileName: _jsxFileName,
lineNumber: 175,
columnNumber: 9
}, this)]
}, void 0, true, {
fileName: _jsxFileName,
lineNumber: 155,
columnNumber: 7
}, this)]
}, void 0, true);
}
export default App;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjc3MiLCJzdHlsZWQiLCJSZWFjdCIsImpzeERFViIsIl9qc3hERVYiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkJ1dHRvbiIsImJ1dHRvbiIsIkNvbnRhaW5lciIsImRpdiIsInByb3BzIiwic2l6ZSIsImNvbG9yIiwiQmFzZSIsIkV4dGVuZGVkIiwiZm9udFNpemUiLCJzdHlsZXNXaXRoVmFycyIsIm5lc3RlZFN0eWxlcyIsIlN0eWxlZENvbnRhaW5lciIsIlR5cGVkQnV0dG9uIiwicHJpbWFyeSIsIm1lZGlhIiwidGFibGV0IiwiZGVza3RvcCIsIlJlc3BvbnNpdmVDb250YWluZXIiLCJDU1NWYXJDb250YWluZXIiLCJnbG9iYWxTdHlsZXMiLCJDb25kaXRpb25hbEJ1dHRvbiIsImRpc2FibGVkIiwiaGVhZGVyIiwiQXBwIiwibmFtZSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiZmlsZU5hbWUiLCJfanN4RmlsZU5hbWUiLCJsaW5lTnVtYmVyIiwiY29sdW1uTnVtYmVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL19fZml4dHVyZXNfXy9saW5hcmlhL3NyYy9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGxpbmFyaWEvY29yZSc7XG5pbXBvcnQgeyBzdHlsZWQgfSBmcm9tICdAbGluYXJpYS9yZWFjdCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG4vLyBCYXNpYyBzdHlsZWQgY29tcG9uZW50XG5jb25zdCBCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrYmx1ZTtcbiAgfVxuYDtcblxuLy8gU3R5bGVkIGNvbXBvbmVudCB3aXRoIHByb3BzIGFuZCBpbnRlcnBvbGF0aW9uc1xuaW50ZXJmYWNlIENvbnRhaW5lclByb3BzIHtcbiAgc2l6ZT86IHN0cmluZztcbiAgY29sb3I/OiBzdHJpbmc7XG59XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXY8Q29udGFpbmVyUHJvcHM+YFxuICBwYWRkaW5nOiAke3Byb3BzID0+IHByb3BzLnNpemUgfHwgJzE2cHgnfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5jb2xvciB8fCAnd2hpdGUnfTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG5gO1xuXG4vLyBCYXNlIGNvbXBvbmVudCB0byBiZSBleHRlbmRlZFxuY29uc3QgQmFzZSA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDE2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG5gO1xuXG4vLyBFeHRlbmRlZCBzdHlsZWQgY29tcG9uZW50XG5jb25zdCBFeHRlbmRlZCA9IHN0eWxlZChCYXNlKWBcbiAgbWFyZ2luOiA4cHg7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuYDtcblxuLy8gQ1NTIHRhZ2dlZCB0ZW1wbGF0ZSB3aXRoIHZhcmlhYmxlIGludGVycG9sYXRpb25zXG5jb25zdCBjb2xvciA9ICdibHVlJztcbmNvbnN0IGZvbnRTaXplID0gJzE2cHgnO1xuY29uc3Qgc3R5bGVzV2l0aFZhcnMgPSBjc3NgXG4gIGNvbG9yOiAke2NvbG9yfTtcbiAgZm9udC1zaXplOiAke2ZvbnRTaXplfTtcbmA7XG5cbi8vIENTUyB3aXRoIG5lc3RlZCBzZWxlY3RvcnNcbmNvbnN0IG5lc3RlZFN0eWxlcyA9IGNzc2BcbiAgLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLml0ZW0ge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgfVxuYDtcblxuLy8gU3R5bGVkIGNvbXBvbmVudCB3aXRoIG5lc3RlZCBzZWxlY3RvcnMgaW5jbHVkaW5nIGNvbXBvbmVudCByZWZlcmVuY2VzXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAxNnB4O1xuXG4gICR7QnV0dG9ufSB7XG4gICAgbWFyZ2luOiA4cHg7XG4gIH1cblxuICAuaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIH1cbmA7XG5cbi8vIFN0eWxlZCBjb21wb25lbnQgd2l0aCBUeXBlU2NyaXB0IHByb3BzIGludGVyZmFjZVxuaW50ZXJmYWNlIEJ1dHRvblByb3BzIHtcbiAgcHJpbWFyeT86IGJvb2xlYW47XG59XG5cbmNvbnN0IFR5cGVkQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjxCdXR0b25Qcm9wcz5gXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gKHByb3BzLnByaW1hcnkgPyAnYmx1ZScgOiAnZ3JheScpfTtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiA4cHggMTZweDtcbmA7XG5cbi8vIFN0eWxlZCBjb21wb25lbnQgd2l0aCBtZWRpYSBxdWVyaWVzXG5jb25zdCBtZWRpYSA9IHtcbiAgdGFibGV0OiAnNzY4cHgnLFxuICBkZXNrdG9wOiAnMTAyNHB4Jyxcbn07XG5cbmNvbnN0IFJlc3BvbnNpdmVDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAxNnB4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAke21lZGlhLnRhYmxldH0pIHtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICR7bWVkaWEuZGVza3RvcH0pIHtcbiAgICBwYWRkaW5nOiAzMnB4O1xuICB9XG5gO1xuXG4vLyBTdHlsZWQgY29tcG9uZW50IHdpdGggQ1NTIHZhcmlhYmxlc1xuY29uc3QgQ1NTVmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgLS1tYWluLWNvbG9yOiBibHVlO1xuICAtLXBhZGRpbmctc2l6ZTogMTZweDtcblxuICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gIHBhZGRpbmc6IHZhcigtLXBhZGRpbmctc2l6ZSk7XG5gO1xuXG4vLyBHbG9iYWwgc3R5bGVzIHdpdGggOmdsb2JhbCgpIHNlbGVjdG9yXG5jb25zdCBnbG9iYWxTdHlsZXMgPSBjc3NgXG4gIDpnbG9iYWwoKSB7XG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICB9XG4gIH1cbmA7XG5cbi8vIFN0eWxlZCBjb21wb25lbnQgd2l0aCBjb25kaXRpb25hbCBzdHlsZXNcbmNvbnN0IENvbmRpdGlvbmFsQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjx7IGRpc2FibGVkPzogYm9vbGVhbiB9PmBcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICR7cHJvcHMgPT5cbiAgICBwcm9wcy5kaXNhYmxlZCA/XG4gICAgICBgXG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGBcbiAgICA6IGBgfVxuYDtcblxuLy8gSGVhZGVyIHN0eWxlXG5jb25zdCBoZWFkZXIgPSBjc3NgXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbmA7XG5cbmludGVyZmFjZSBBcHBQcm9wcyB7XG4gIG5hbWU/OiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIEFwcCh7IG5hbWUgPSAnTGluYXJpYScgfTogQXBwUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2dsb2JhbFN0eWxlc30gLz5cbiAgICAgIDxSZXNwb25zaXZlQ29udGFpbmVyPlxuICAgICAgICA8aDEgY2xhc3NOYW1lPXtoZWFkZXJ9PkhlbGxvIGZyb20ge25hbWV9IGZpeHR1cmU8L2gxPlxuICAgICAgICA8Q29udGFpbmVyIHNpemU9XCIyNHB4XCIgY29sb3I9XCJyZWRcIj5cbiAgICAgICAgICA8QnV0dG9uPkNsaWNrIG1lPC9CdXR0b24+XG4gICAgICAgICAgPFR5cGVkQnV0dG9uIHByaW1hcnk+UHJpbWFyeSBCdXR0b248L1R5cGVkQnV0dG9uPlxuICAgICAgICAgIDxUeXBlZEJ1dHRvbj5TZWNvbmRhcnkgQnV0dG9uPC9UeXBlZEJ1dHRvbj5cbiAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgIDxFeHRlbmRlZD5FeHRlbmRlZCBDb21wb25lbnQ8L0V4dGVuZGVkPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzV2l0aFZhcnN9PkNTUyB3aXRoIHZhcmlhYmxlIGludGVycG9sYXRpb25zPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtuZXN0ZWRTdHlsZXN9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIml0ZW1cIj5OZXN0ZWQgc3R5bGVzPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8U3R5bGVkQ29udGFpbmVyPlxuICAgICAgICAgIDxCdXR0b24+QnV0dG9uIGluc2lkZSBzdHlsZWQgY29udGFpbmVyPC9CdXR0b24+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaWNvblwiPkljb248L3NwYW4+XG4gICAgICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICAgICAgICA8Q1NTVmFyQ29udGFpbmVyPkNTUyBWYXJpYWJsZXM8L0NTU1ZhckNvbnRhaW5lcj5cbiAgICAgICAgPENvbmRpdGlvbmFsQnV0dG9uPk5vcm1hbCBCdXR0b248L0NvbmRpdGlvbmFsQnV0dG9uPlxuICAgICAgICA8Q29uZGl0aW9uYWxCdXR0b24gZGlzYWJsZWQ+RGlzYWJsZWQgQnV0dG9uPC9Db25kaXRpb25hbEJ1dHRvbj5cbiAgICAgIDwvUmVzcG9uc2l2ZUNvbnRhaW5lcj5cbiAgICA8Lz5cbiAg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Q0FBQyxlQUN0RWxDLE9BQUE7UUFBSzhCLFNBQVMsRUFBRWhCLFlBQWE7UUFBQWUsUUFBQSxlQUMzQjdCLE9BQUE7VUFBSzhCLFNBQVMsRUFBQyxXQUFXO1VBQUFELFFBQUEsZUFDeEI3QixPQUFBO1lBQUs4QixTQUFTLEVBQUMsTUFBTTtZQUFBRCxRQUFBLEVBQUM7VUFBYTtZQUFBRSxRQUFBLEVBQUFDLFlBQUE7WUFBQUMsVUFBQTtZQUFBQyxZQUFBO1VBQUEsT0FBSztRQUFDO1VBQUFILFFBQUEsRUFBQUMsWUFBQTtVQUFBQyxVQUFBO1VBQUFDLFlBQUE7UUFBQSxPQUN0QztNQUFDO1FBQUFILFFBQUEsRUFBQUMsWUFBQTtRQUFBQyxVQUFBO1FBQUFDLFlBQUE7TUFBQSxPQUNILENBQUMsZUFDTmxDLE9BQUEsQ0FBQ2UsZUFBZTtRQUFBYyxRQUFBLGdCQUNkN0IsT0FBQSxDQUFDRyxNQUFNO1VBQUEwQixRQUFBLEVBQUM7UUFBOEI7VUFBQUUsUUFBQSxFQUFBQyxZQUFBO1VBQUFDLFVBQUE7VUFBQUMsWUFBQTtRQUFBLE9BQVEsQ0FBQyxlQUMvQ2xDLE9BQUE7VUFBTThCLFNBQVMsRUFBQyxNQUFNO1VBQUFELFFBQUEsRUFBQztRQUFJO1VBQUFFLFFBQUEsRUFBQUMsWUFBQTtVQUFBQyxVQUFBO1VBQUFDLFlBQUE7UUFBQSxPQUFNLENBQUM7TUFBQTtRQUFBSCxRQUFBLEVBQUFDLFlBQUE7UUFBQUMsVUFBQTtRQUFBQyxZQUFBO01BQUEsT0FDbkIsQ0FBQyxlQUNsQmxDLE9BQUEsQ0FBQ3NCLGVBQWU7UUFBQU8sUUFBQSxFQUFDO01BQWE7UUFBQUUsUUFBQSxFQUFBQyxZQUFBO1FBQUFDLFVBQUE7UUFBQUMsWUFBQTtNQUFBLE9BQWlCLENBQUMsZUFDaERsQyxPQUFBLENBQUN3QixpQkFBaUI7UUFBQUssUUFBQSxFQUFDO01BQWE7UUFBQUUsUUFBQSxFQUFBQyxZQUFBO1FBQUFDLFVBQUE7UUFBQUMsWUFBQTtNQUFBLE9BQW1CLENBQUMsZUFDcERsQyxPQUFBLENBQUN3QixpQkFBaUI7UUFBQ0MsUUFBUTtRQUFBSSxRQUFBLEVBQUM7TUFBZTtRQUFBRSxRQUFBLEVBQUFDLFlBQUE7UUFBQUMsVUFBQTtRQUFBQyxZQUFBO01BQUEsT0FBbUIsQ0FBQztJQUFBO01BQUFILFFBQUEsRUFBQUMsWUFBQTtNQUFBQyxVQUFBO01BQUFDLFlBQUE7SUFBQSxPQUM1QyxDQUFDO0VBQUEsZUFDdEIsQ0FBQztBQUVQO0FBRUEsZUFBZVAsR0FBRyIsImlnbm9yZUxpc3QiOltdfQ==