next-yak
Version:
next-yak is a CSS-in-JS solution tailored for Next.js that seamlessly combines the expressive power of styled-components syntax with efficient build-time extraction of CSS using Next.js's built-in CSS configuration
34 lines (33 loc) • 1.54 kB
text/typescript
import * as _$react from "react";
import ReactJSXRuntime from "react/jsx-runtime";
//#region runtime/cssLiteral.d.ts
type ComponentStyles<TProps> = (props: TProps) => {
className: string;
style?: {
[key: string]: string;
};
};
//#endregion
//#region runtime/jsx-runtime.d.ts
type WithConditionalCSSProp<P> = "className" | "style" extends keyof P ? string extends P["className" & keyof P] ? Record<string, any> extends P["style" & keyof P] ? {
css?: ComponentStyles<Record<keyof any, never>>;
} : {} : {} : {};
declare const Fragment: _$react.ExoticComponent<_$react.FragmentProps>;
declare const jsx: typeof ReactJSXRuntime.jsx;
declare const jsxs: typeof ReactJSXRuntime.jsxs;
declare namespace YakJSX {
type Element = React.JSX.Element;
type ElementType = React.JSX.ElementType;
type ElementClass = React.JSX.ElementClass;
type ElementAttributesProperty = React.JSX.ElementAttributesProperty;
type ElementChildrenAttribute = React.JSX.ElementChildrenAttribute;
type LibraryManagedAttributes<C, P> = P extends unknown ? WithConditionalCSSProp<P> & React.JSX.LibraryManagedAttributes<C, P> : never;
type IntrinsicAttributes = React.JSX.IntrinsicAttributes;
type IntrinsicClassAttributes<T> = React.JSX.IntrinsicClassAttributes<T>;
type IntrinsicElements = { [K in keyof React.JSX.IntrinsicElements]: React.JSX.IntrinsicElements[K] & {
css?: ComponentStyles<Record<keyof any, never>>;
} };
}
//#endregion
export { Fragment, type YakJSX as JSX, YakJSX, jsx, jsxs };
//# sourceMappingURL=jsx-runtime.d.cts.map