@universal-labs/native-twin-nextjs
Version:
React Native Web Tailwindcss for nextjs
32 lines • 1.42 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.installDocument = void 0;
const tslib_1 = require("tslib");
/* eslint-env node */
const react_1 = require("react");
const native_twin_1 = require("@universal-labs/native-twin");
const document_1 = tslib_1.__importDefault(require("next/document"));
function installDocument(BaseComponent = document_1.default) {
// @ts-ignore
return class NativeTailwindDocument extends BaseComponent {
// @ts-ignore
static async getInitialProps(ctx) {
const defaultGetInitialProps = ctx.defaultGetInitialProps.bind(ctx);
ctx.defaultGetInitialProps = async (ctx, options = {}) => {
const props = await defaultGetInitialProps(ctx, options);
const { html, css } = (0, native_twin_1.extract)(props.html);
const styles = (0, react_1.createElement)(react_1.Fragment, null, (0, react_1.createElement)('style', {
'data-native-twin': '',
nonce: options.nonce,
dangerouslySetInnerHTML: {
__html: css,
},
}), props.styles);
return { ...props, html, styles };
};
return BaseComponent.getInitialProps(ctx);
}
};
}
exports.installDocument = installDocument;
//# sourceMappingURL=_document.js.map
;