Skip to content

Commit 2c086b1

Browse files
feat: export dedicated children aliases for DOM and React. (#94)
1 parent 73fd431 commit 2c086b1

12 files changed

Lines changed: 40 additions & 9 deletions

File tree

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@knighted/jsx",
3-
"version": "1.13.0",
3+
"version": "1.13.1",
44
"description": "Runtime JSX tagged template that renders DOM or React trees anywhere with or without a build step.",
55
"keywords": [
66
"jsx runtime",

src/debug/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ import { enableJsxDebugDiagnostics } from './diagnostics.js'
33
enableJsxDebugDiagnostics({ mode: 'always' })
44

55
export { jsx } from '../jsx.js'
6-
export type { JsxRenderable, JsxComponent } from '../jsx.js'
6+
export type { JsxRenderable, JsxChildren, JsxComponent } from '../jsx.js'

src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
export { jsx } from './jsx.js'
2-
export type { JsxRenderable, JsxComponent } from './jsx.js'
2+
export type { JsxRenderable, JsxChildren, JsxComponent } from './jsx.js'

src/internal/jsx-types.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ export type JsxRenderable =
99
| undefined
1010
| Iterable<JsxRenderable>
1111

12+
export type JsxChildren = JsxRenderable | JsxRenderable[]
13+
1214
export type JsxComponent<Props = Record<string, unknown>> = {
13-
(props: Props & { children?: JsxRenderable | JsxRenderable[] }): JsxRenderable
15+
(props: Props & { children?: JsxChildren }): JsxRenderable
1416
displayName?: string
1517
}

src/jsx.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import type { JsxComponent, JsxRenderable } from './internal/jsx-types.js'
4242

4343
type JsxContext = TemplateContext<JsxComponent>
4444
type ElementWithIndex = Element & Record<string, unknown>
45-
export type { JsxRenderable, JsxComponent } from './internal/jsx-types.js'
45+
export type { JsxRenderable, JsxChildren, JsxComponent } from './internal/jsx-types.js'
4646

4747
const ensureDomAvailable = () => {
4848
if (typeof document === 'undefined' || typeof document.createElement !== 'function') {

src/node/debug/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ enableJsxDebugDiagnostics({ mode: 'always' })
66
ensureNodeDom()
77

88
export const jsx = baseJsx
9-
export type { JsxRenderable, JsxComponent } from '../../jsx.js'
9+
export type { JsxRenderable, JsxChildren, JsxComponent } from '../../jsx.js'

src/node/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ import { jsx as baseJsx } from '../jsx.js'
44
ensureNodeDom()
55

66
export const jsx = baseJsx
7-
export type { JsxRenderable, JsxComponent } from '../jsx.js'
7+
export type { JsxRenderable, JsxChildren, JsxComponent } from '../jsx.js'

src/react/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
export { reactJsx } from './react-jsx.js'
22
export type {
3+
ReactJsxChildren,
34
ReactJsxComponent,
45
ReactJsxDomAttributes,
56
ReactJsxEventHandler,

src/react/react-jsx.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ export type ReactJsxComponent<Props = Record<string, unknown>> = ComponentType<
3636
>
3737

3838
export type ReactJsxRenderable = ReactNode
39+
export type ReactJsxChildren = ReactJsxRenderable | ReactJsxRenderable[]
3940
export type ReactJsxRef<T> = Ref<T>
4041
export type ReactJsxEventHandler<E extends SyntheticEvent> = EventHandler<E>
4142
export type ReactJsxDomAttributes<T = unknown> = DOMAttributes<T>

0 commit comments

Comments
 (0)