UNPKG

@twstyled/babel-preset

Version:

Babel plugin for twstyled -- the full-featured Tailwind CSS + CSS in JS Compiler

32 lines (31 loc) 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const stylis_1 = require("stylis"); function default_1(babel, options) { return function processCssText(state, index, item) { const { selector, cssText: rawCss } = item; const templateState = { cssText: rawCss || '', className: item.className, index, item }; options.stylisMiddleware.forEach((middleware) => { middleware.enter(state, templateState); }); templateState.cssText = stylis_1.serialize(stylis_1.compile(`${selector}{${rawCss}}`), stylis_1.middleware(options.stylisMiddleware .map((middleware) => (element, index, children, callback) => { middleware.stylis(state, templateState, element); }) .concat([stylis_1.stringify]))); options.stylisMiddleware.forEach((middleware) => { middleware.exit(state, templateState); }); state.cssText += `${templateState.cssText}\n`; return { cssText: templateState.cssText, className: templateState.className }; }; } exports.default = default_1;