Spaces:
Sleeping
Sleeping
| import * as React from 'react' | |
| import Emotion, { createEmotionProps } from './emotion-element' | |
| import { EmotionJSX } from './jsx-namespace' | |
| import { hasOwn } from './utils' | |
| export const jsx: typeof React.createElement = function ( | |
| type: any, | |
| props: any | |
| ): any { | |
| // eslint-disable-next-line prefer-rest-params | |
| let args: any = arguments | |
| if (props == null || !hasOwn.call(props, 'css')) { | |
| return React.createElement.apply(undefined, args) | |
| } | |
| let argsLength = args.length | |
| let createElementArgArray: any = new Array(argsLength) | |
| createElementArgArray[0] = Emotion | |
| createElementArgArray[1] = createEmotionProps(type, props) | |
| for (let i = 2; i < argsLength; i++) { | |
| createElementArgArray[i] = args[i] | |
| } | |
| return React.createElement.apply(null, createElementArgArray) | |
| } | |
| export namespace jsx { | |
| export namespace JSX { | |
| export type ElementType = EmotionJSX.ElementType | |
| export interface Element extends EmotionJSX.Element {} | |
| export interface ElementClass extends EmotionJSX.ElementClass {} | |
| export interface ElementAttributesProperty | |
| extends EmotionJSX.ElementAttributesProperty {} | |
| export interface ElementChildrenAttribute | |
| extends EmotionJSX.ElementChildrenAttribute {} | |
| export type LibraryManagedAttributes<C, P> = | |
| EmotionJSX.LibraryManagedAttributes<C, P> | |
| export interface IntrinsicAttributes | |
| extends EmotionJSX.IntrinsicAttributes {} | |
| export interface IntrinsicClassAttributes<T> | |
| extends EmotionJSX.IntrinsicClassAttributes<T> {} | |
| export type IntrinsicElements = EmotionJSX.IntrinsicElements | |
| } | |
| } | |