# @askrjs/askr/jsx-runtime

> Published API exports for @askrjs/askr/jsx-runtime.

Source: [https://askrjs.com/docs/reference/api/askr/jsx-runtime](https://askrjs.com/docs/reference/api/askr/jsx-runtime)

Status: stable. Packages: @askrjs/askr/jsx-runtime.

**Published packages are authoritative.** Examples may lag behind a published contract. When guidance differs, verify the exports and TypeScript declarations in your installed package, then file an issue.

## Exports

This entrypoint publishes 8 exports from the declarations shipped by @askrjs/askr.

### `Fragment`

```ts
Fragment: typeof Fragment
```

The element type marker for JSX fragments (`<>...</>`), groups children without a wrapper element.

### `jsx`

```ts
jsx: { (type: EagerControlPrimitive, props: Props | null, key?: string | number): unknown; <TTag extends keyof KnownIntrinsicElementProps>(type: TTag, props: KnownIntrinsicElementProps[TTag] | null, key?: string | number): JSXElement; <TTag extends string>(type: Exclude<TTag, keyof KnownIntrinsicElementProps>, props: IntrinsicFallbackProps | null, key?: string | number): JSXElement; <TProps extends object>(type: (props: TProps) => unknown, props: TProps | null, key?: string | number): JSXElement; (type: symbol, props: Props | null, key?: string | number): JSXElement; }
```

JSX factory for elements with a single or no child, used by the `jsxImportSource` transform.

### `JSX`

```ts
JSX: any
```

### `JSXComponent`

```ts
JSXComponent: {
  bivarianceHack(props: TProps): unknown;
}['bivarianceHack']
```

A component function accepting `TProps`, usable as a JSX element's `type`.

### `jsxDEV`

```ts
jsxDEV: { (type: EagerControlPrimitive, props: Props | null, key?: string | number, isStaticChildren?: boolean): unknown; <TTag extends keyof KnownIntrinsicElementProps>(type: TTag, props: KnownIntrinsicElementProps[TTag] | null, key?: string | number, isStaticChildren?: boolean): JSXElement; <TTag extends string>(type: Exclude<TTag, keyof KnownIntrinsicElementProps>, props: IntrinsicFallbackProps | null, key?: string | number, isStaticChildren?: boolean): JSXElement; <TProps extends object>(type: (props: TProps) => unknown, props: TProps | null, key?: string | number, isStaticChildren?: boolean): JSXElement; (type: symbol, props: Props | null, key?: string | number, isStaticChildren?: boolean): JSXElement; }
```

### `JSXElement`

```ts
JSXElement: any
```

The vnode shape produced by JSX/`jsx()` calls.

- `$$typeof`: Internal element marker

- `type`: Element type: string, component, Fragment, etc

- `props`: Props bag

- `key`: Optional key (normalized by runtime)

### `JSXElementType`

```ts
JSXElementType: string | JSXComponent | symbol
```

Valid `type` values for a JSX element: a tag name, a component, or a symbol (e.g. `Fragment`).

### `jsxs`

```ts
jsxs: { (type: EagerControlPrimitive, props: Props | null, key?: string | number): unknown; <TTag extends keyof KnownIntrinsicElementProps>(type: TTag, props: KnownIntrinsicElementProps[TTag] | null, key?: string | number): JSXElement; <TTag extends string>(type: Exclude<TTag, keyof KnownIntrinsicElementProps>, props: IntrinsicFallbackProps | null, key?: string | number): JSXElement; <TProps extends object>(type: (props: TProps) => unknown, props: TProps | null, key?: string | number): JSXElement; (type: symbol, props: Props | null, key?: string | number): JSXElement; }
```

JSX factory for elements with multiple static children, used by the `jsxImportSource` transform.

## Documentation navigation

[Previous](https://askrjs.com/docs/reference/api/askr/ssg/index.md) | [Next](https://askrjs.com/docs/reference/api/askr/jsx-dev-runtime/index.md)
