UNPKG

@universal-labs/native-twin-nextjs

Version:
32 lines 1.42 kB
"use strict"; 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