children: any -> children: ReactNode (#3061)

We use `children: any` in a bunch of places, but the proper type for
these is `ReactNode`. This diff fixes those.

### Change Type

- [x] `patch` — Bug fix
This commit is contained in:
alex 2024-03-04 14:48:40 +00:00 committed by GitHub
parent 18a550ccdb
commit 15c760f7ea
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
36 changed files with 505 additions and 188 deletions

View file

@ -1,7 +1,8 @@
'use client' 'use client'
import { ThemeProvider } from 'next-themes' import { ThemeProvider } from 'next-themes'
import { ReactNode } from 'react'
export function Providers({ children }: { children: any }) { export function Providers({ children }: { children: ReactNode }) {
return <ThemeProvider enableSystem>{children}</ThemeProvider> return <ThemeProvider enableSystem>{children}</ThemeProvider>
} }

View file

@ -1,9 +1,9 @@
'use client' 'use client'
import { useRouter } from 'next/navigation' import { useRouter } from 'next/navigation'
import { useEffect } from 'react' import { ReactNode, useEffect } from 'react'
let AutoRefresh = ({ children }: { children: any }) => { let AutoRefresh = ({ children }: { children: ReactNode }) => {
return children return children
} }

View file

@ -1,4 +1,4 @@
import { useEffect, useState, version } from 'react' import { ReactNode, useEffect, useState, version } from 'react'
import { LoadingScreen } from 'tldraw' import { LoadingScreen } from 'tldraw'
import { useUrl } from '../hooks/useUrl' import { useUrl } from '../hooks/useUrl'
import { trackAnalyticsEvent } from '../utils/trackAnalyticsEvent' import { trackAnalyticsEvent } from '../utils/trackAnalyticsEvent'
@ -47,7 +47,7 @@ export function IFrameProtector({
| 'history-snapshot' | 'history-snapshot'
| 'history' | 'history'
| 'local' | 'local'
children: any children: ReactNode
}) { }) {
const [embeddedState, setEmbeddedState] = useState< const [embeddedState, setEmbeddedState] = useState<
'iframe-unknown' | 'iframe-not-allowed' | 'not-iframe' | 'iframe-ok' 'iframe-unknown' | 'iframe-not-allowed' | 'not-iframe' | 'iframe-ok'

View file

@ -26,6 +26,7 @@ import { PointerEventHandler } from 'react';
import { react } from '@tldraw/state'; import { react } from '@tldraw/state';
import { default as React_2 } from 'react'; import { default as React_2 } from 'react';
import * as React_3 from 'react'; import * as React_3 from 'react';
import { ReactNode } from 'react';
import { SerializedSchema } from '@tldraw/store'; import { SerializedSchema } from '@tldraw/store';
import { SerializedStore } from '@tldraw/store'; import { SerializedStore } from '@tldraw/store';
import { ShapeProps } from '@tldraw/tlschema'; import { ShapeProps } from '@tldraw/tlschema';
@ -968,7 +969,7 @@ export class ErrorBoundary extends React_3.Component<React_3.PropsWithRef<React_
// @public (undocumented) // @public (undocumented)
export function ErrorScreen({ children }: { export function ErrorScreen({ children }: {
children: any; children: ReactNode;
}): JSX_2.Element; }): JSX_2.Element;
// @public (undocumented) // @public (undocumented)
@ -1211,7 +1212,7 @@ export function linesIntersect(A: VecLike, B: VecLike, C: VecLike, D: VecLike):
// @public (undocumented) // @public (undocumented)
export function LoadingScreen({ children }: { export function LoadingScreen({ children }: {
children: any; children: ReactNode;
}): JSX_2.Element; }): JSX_2.Element;
// @public // @public
@ -2021,7 +2022,7 @@ export const TldrawEditor: React_2.NamedExoticComponent<TldrawEditorProps>;
// @public // @public
export interface TldrawEditorBaseProps { export interface TldrawEditorBaseProps {
autoFocus?: boolean; autoFocus?: boolean;
children?: any; children?: ReactNode;
className?: string; className?: string;
components?: TLEditorComponents; components?: TLEditorComponents;
inferDarkMode?: boolean; inferDarkMode?: boolean;
@ -2228,7 +2229,7 @@ export type TLHandleProps = {
// @public (undocumented) // @public (undocumented)
export type TLHandlesProps = { export type TLHandlesProps = {
children: any; children: ReactNode;
}; };
// @public (undocumented) // @public (undocumented)

View file

@ -20461,7 +20461,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n children: any;\n}" "text": "{\n children: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -20483,8 +20492,8 @@
], ],
"fileUrlPath": "packages/editor/src/lib/TldrawEditor.tsx", "fileUrlPath": "packages/editor/src/lib/TldrawEditor.tsx",
"returnTypeTokenRange": { "returnTypeTokenRange": {
"startIndex": 3, "startIndex": 5,
"endIndex": 5 "endIndex": 7
}, },
"releaseTag": "Public", "releaseTag": "Public",
"overloadIndex": 1, "overloadIndex": 1,
@ -20493,7 +20502,7 @@
"parameterName": "{ children }", "parameterName": "{ children }",
"parameterTypeTokenRange": { "parameterTypeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
}, },
"isOptional": false "isOptional": false
} }
@ -24717,7 +24726,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n children: any;\n}" "text": "{\n children: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -24739,8 +24757,8 @@
], ],
"fileUrlPath": "packages/editor/src/lib/TldrawEditor.tsx", "fileUrlPath": "packages/editor/src/lib/TldrawEditor.tsx",
"returnTypeTokenRange": { "returnTypeTokenRange": {
"startIndex": 3, "startIndex": 5,
"endIndex": 5 "endIndex": 7
}, },
"releaseTag": "Public", "releaseTag": "Public",
"overloadIndex": 1, "overloadIndex": 1,
@ -24749,7 +24767,7 @@
"parameterName": "{ children }", "parameterName": "{ children }",
"parameterTypeTokenRange": { "parameterTypeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
}, },
"isOptional": false "isOptional": false
} }
@ -36359,8 +36377,9 @@
"text": "children?: " "text": "children?: "
}, },
{ {
"kind": "Content", "kind": "Reference",
"text": "any" "text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -38400,7 +38419,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n children: any;\n}" "text": "{\n children: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -38412,7 +38440,7 @@
"name": "TLHandlesProps", "name": "TLHandlesProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
} }
}, },
{ {

View file

@ -2,6 +2,7 @@ import { SerializedStore, Store, StoreSnapshot } from '@tldraw/store'
import { TLRecord, TLStore } from '@tldraw/tlschema' import { TLRecord, TLStore } from '@tldraw/tlschema'
import { Expand, Required, annotateError } from '@tldraw/utils' import { Expand, Required, annotateError } from '@tldraw/utils'
import React, { import React, {
ReactNode,
memo, memo,
useCallback, useCallback,
useLayoutEffect, useLayoutEffect,
@ -66,7 +67,7 @@ export interface TldrawEditorBaseProps {
/** /**
* The component's children. * The component's children.
*/ */
children?: any children?: ReactNode
/** /**
* An array of shape utils to use in the editor. * An array of shape utils to use in the editor.
@ -345,7 +346,7 @@ function Layout({
onMount, onMount,
autoFocus, autoFocus,
}: { }: {
children: any children: ReactNode
autoFocus: boolean autoFocus: boolean
onMount?: TLOnMountHandler onMount?: TLOnMountHandler
}) { }) {
@ -365,12 +366,12 @@ function Crash({ crashingError }: { crashingError: unknown }): null {
} }
/** @public */ /** @public */
export function LoadingScreen({ children }: { children: any }) { export function LoadingScreen({ children }: { children: ReactNode }) {
return <div className="tl-loading">{children}</div> return <div className="tl-loading">{children}</div>
} }
/** @public */ /** @public */
export function ErrorScreen({ children }: { children: any }) { export function ErrorScreen({ children }: { children: ReactNode }) {
return <div className="tl-loading">{children}</div> return <div className="tl-loading">{children}</div>
} }

View file

@ -1,6 +1,8 @@
import { ReactNode } from 'react'
/** @public */ /** @public */
export type TLHandlesProps = { export type TLHandlesProps = {
children: any children: ReactNode
} }
/** @public */ /** @public */

View file

@ -1,4 +1,4 @@
import { ComponentType, createContext, useContext, useMemo } from 'react' import { ComponentType, ReactNode, createContext, useContext, useMemo } from 'react'
import { DefaultBackground } from '../components/default-components/DefaultBackground' import { DefaultBackground } from '../components/default-components/DefaultBackground'
import { DefaultBrush, TLBrushProps } from '../components/default-components/DefaultBrush' import { DefaultBrush, TLBrushProps } from '../components/default-components/DefaultBrush'
import { import {
@ -95,7 +95,7 @@ const EditorComponentsContext = createContext({} as TLEditorComponents & ErrorCo
type ComponentsContextProviderProps = { type ComponentsContextProviderProps = {
overrides?: TLEditorComponents overrides?: TLEditorComponents
children: any children: ReactNode
} }
export function EditorComponentsProvider({ export function EditorComponentsProvider({

View file

@ -274,7 +274,7 @@ export class BookmarkShapeUtil extends BaseBoxShapeUtil<TLBookmarkShape> {
// @public (undocumented) // @public (undocumented)
export function BreakPointProvider({ forceMobile, children, }: { export function BreakPointProvider({ forceMobile, children, }: {
forceMobile?: boolean; forceMobile?: boolean;
children: any; children: ReactNode;
}): JSX_2.Element; }): JSX_2.Element;
// @internal (undocumented) // @internal (undocumented)
@ -523,7 +523,7 @@ export class EraserTool extends StateNode {
// @public (undocumented) // @public (undocumented)
export type EventsProviderProps = { export type EventsProviderProps = {
onEvent?: TLUiEventHandler; onEvent?: TLUiEventHandler;
children: any; children: React_3.ReactNode;
}; };
// @public (undocumented) // @public (undocumented)
@ -1399,7 +1399,7 @@ export const TldrawSelectionForeground: MemoExoticComponent<({ bounds, rotation,
// @public (undocumented) // @public (undocumented)
export const TldrawUi: React_2.NamedExoticComponent<{ export const TldrawUi: React_2.NamedExoticComponent<{
children?: any; children?: ReactNode;
hideUi?: boolean | undefined; hideUi?: boolean | undefined;
components?: Partial<{ components?: Partial<{
ContextMenu: null | React_2.ComponentType<TLUiContextMenuProps>; ContextMenu: null | React_2.ComponentType<TLUiContextMenuProps>;
@ -1562,7 +1562,7 @@ export function TldrawUiContextProvider({ overrides, components, assetUrls, onUi
// @public // @public
export interface TldrawUiContextProviderProps { export interface TldrawUiContextProviderProps {
assetUrls?: RecursivePartial<TLUiAssetUrls>; assetUrls?: RecursivePartial<TLUiAssetUrls>;
children?: any; children?: ReactNode;
components?: TLUiComponents; components?: TLUiComponents;
forceMobile?: boolean; forceMobile?: boolean;
onUiEvent?: TLUiEventHandler; onUiEvent?: TLUiEventHandler;
@ -1627,13 +1627,13 @@ export function TldrawUiMenuCheckboxItem<TranslationKey extends string = string,
export function TldrawUiMenuContextProvider({ type, sourceId, children, }: TLUiMenuContextProviderProps): JSX_2.Element; export function TldrawUiMenuContextProvider({ type, sourceId, children, }: TLUiMenuContextProviderProps): JSX_2.Element;
// @public (undocumented) // @public (undocumented)
export function TldrawUiMenuGroup({ id, label, children }: TLUiMenuGroupProps): any; export function TldrawUiMenuGroup({ id, label, children }: TLUiMenuGroupProps): boolean | JSX_2.Element | Iterable<ReactNode> | null | number | string | undefined;
// @public (undocumented) // @public (undocumented)
export function TldrawUiMenuItem<TranslationKey extends string = string, IconType extends string = string>({ disabled, spinner, readonlyOk, id, kbd, label, icon, onSelect, noClose, }: TLUiMenuItemProps<TranslationKey, IconType>): JSX_2.Element | null; export function TldrawUiMenuItem<TranslationKey extends string = string, IconType extends string = string>({ disabled, spinner, readonlyOk, id, kbd, label, icon, onSelect, noClose, }: TLUiMenuItemProps<TranslationKey, IconType>): JSX_2.Element | null;
// @public (undocumented) // @public (undocumented)
export function TldrawUiMenuSubmenu<Translation extends string = string>({ id, disabled, label, size, children, }: TLUiMenuSubmenuProps<Translation>): any; export function TldrawUiMenuSubmenu<Translation extends string = string>({ id, disabled, label, size, children, }: TLUiMenuSubmenuProps<Translation>): boolean | JSX_2.Element | Iterable<ReactNode> | null | number | string | undefined;
// @public (undocumented) // @public (undocumented)
export function TldrawUiPopover({ id, children, onOpenChange, open }: TLUiPopoverProps): JSX_2.Element; export function TldrawUiPopover({ id, children, onOpenChange, open }: TLUiPopoverProps): JSX_2.Element;
@ -1677,7 +1677,7 @@ export type TLUiActionsContextType = Record<string, TLUiActionItem>;
// @public (undocumented) // @public (undocumented)
export type TLUiActionsMenuProps = { export type TLUiActionsMenuProps = {
children?: any; children?: ReactNode;
}; };
// @public (undocumented) // @public (undocumented)
@ -1697,7 +1697,7 @@ export type TLUiButtonIconProps = {
// @public (undocumented) // @public (undocumented)
export type TLUiButtonLabelProps = { export type TLUiButtonLabelProps = {
children?: any; children?: ReactNode;
}; };
// @public (undocumented) // @public (undocumented)
@ -1732,18 +1732,18 @@ export type TLUiComponents = Partial<{
// @public (undocumented) // @public (undocumented)
export type TLUiComponentsProviderProps = { export type TLUiComponentsProviderProps = {
overrides?: TLUiComponents; overrides?: TLUiComponents;
children: any; children: ReactNode;
}; };
// @public (undocumented) // @public (undocumented)
export interface TLUiContextMenuProps { export interface TLUiContextMenuProps {
// (undocumented) // (undocumented)
children?: any; children?: ReactNode;
} }
// @public (undocumented) // @public (undocumented)
export type TLUiDebugMenuProps = { export type TLUiDebugMenuProps = {
children?: any; children?: ReactNode;
}; };
// @public (undocumented) // @public (undocumented)
@ -1759,20 +1759,20 @@ export interface TLUiDialog {
// @public (undocumented) // @public (undocumented)
export type TLUiDialogBodyProps = { export type TLUiDialogBodyProps = {
className?: string; className?: string;
children: any; children: ReactNode;
style?: React.CSSProperties; style?: React.CSSProperties;
}; };
// @public (undocumented) // @public (undocumented)
export type TLUiDialogFooterProps = { export type TLUiDialogFooterProps = {
className?: string; className?: string;
children: any; children: ReactNode;
}; };
// @public (undocumented) // @public (undocumented)
export type TLUiDialogHeaderProps = { export type TLUiDialogHeaderProps = {
className?: string; className?: string;
children: any; children: ReactNode;
}; };
// @public (undocumented) // @public (undocumented)
@ -1795,7 +1795,7 @@ export type TLUiDialogsContextType = {
// @public (undocumented) // @public (undocumented)
export type TLUiDialogTitleProps = { export type TLUiDialogTitleProps = {
className?: string; className?: string;
children: any; children: ReactNode;
}; };
// @public (undocumented) // @public (undocumented)
@ -1803,7 +1803,7 @@ export interface TLUiDropdownMenuCheckboxItemProps {
// (undocumented) // (undocumented)
checked?: boolean; checked?: boolean;
// (undocumented) // (undocumented)
children: any; children: ReactNode;
// (undocumented) // (undocumented)
disabled?: boolean; disabled?: boolean;
// (undocumented) // (undocumented)
@ -1815,7 +1815,7 @@ export interface TLUiDropdownMenuCheckboxItemProps {
// @public (undocumented) // @public (undocumented)
export type TLUiDropdownMenuContentProps = { export type TLUiDropdownMenuContentProps = {
id?: string; id?: string;
children: any; children: ReactNode;
alignOffset?: number; alignOffset?: number;
sideOffset?: number; sideOffset?: number;
align?: 'center' | 'end' | 'start'; align?: 'center' | 'end' | 'start';
@ -1824,13 +1824,13 @@ export type TLUiDropdownMenuContentProps = {
// @public (undocumented) // @public (undocumented)
export type TLUiDropdownMenuGroupProps = { export type TLUiDropdownMenuGroupProps = {
children: any; children: ReactNode;
}; };
// @public (undocumented) // @public (undocumented)
export interface TLUiDropdownMenuItemProps { export interface TLUiDropdownMenuItemProps {
// (undocumented) // (undocumented)
children: any; children: ReactNode;
// (undocumented) // (undocumented)
noClose?: boolean; noClose?: boolean;
} }
@ -1838,7 +1838,7 @@ export interface TLUiDropdownMenuItemProps {
// @public (undocumented) // @public (undocumented)
export type TLUiDropdownMenuRootProps = { export type TLUiDropdownMenuRootProps = {
id: string; id: string;
children: any; children: ReactNode;
modal?: boolean; modal?: boolean;
debugOpen?: boolean; debugOpen?: boolean;
}; };
@ -1846,7 +1846,7 @@ export type TLUiDropdownMenuRootProps = {
// @public (undocumented) // @public (undocumented)
export type TLUiDropdownMenuSubProps = { export type TLUiDropdownMenuSubProps = {
id: string; id: string;
children: any; children: ReactNode;
}; };
// @public (undocumented) // @public (undocumented)
@ -1860,7 +1860,7 @@ export type TLUiDropdownMenuSubTriggerProps = {
// @public (undocumented) // @public (undocumented)
export interface TLUiDropdownMenuTriggerProps { export interface TLUiDropdownMenuTriggerProps {
// (undocumented) // (undocumented)
children?: any; children?: ReactNode;
} }
// @public (undocumented) // @public (undocumented)
@ -2041,12 +2041,12 @@ export type TLUiEventSource = 'actions-menu' | 'context-menu' | 'debug-panel' |
// @public (undocumented) // @public (undocumented)
export type TLUiHelperButtonsProps = { export type TLUiHelperButtonsProps = {
children?: any; children?: ReactNode;
}; };
// @public (undocumented) // @public (undocumented)
export type TLUiHelpMenuProps = { export type TLUiHelpMenuProps = {
children?: any; children?: ReactNode;
}; };
// @public (undocumented) // @public (undocumented)
@ -2075,7 +2075,7 @@ export interface TLUiInputProps {
// (undocumented) // (undocumented)
autoselect?: boolean; autoselect?: boolean;
// (undocumented) // (undocumented)
children?: any; children?: React_3.ReactNode;
// (undocumented) // (undocumented)
className?: string; className?: string;
// (undocumented) // (undocumented)
@ -2113,12 +2113,12 @@ export interface TLUiKbdProps {
// @public (undocumented) // @public (undocumented)
export type TLUiKeyboardShortcutsDialogProps = TLUiDialogProps & { export type TLUiKeyboardShortcutsDialogProps = TLUiDialogProps & {
children?: any; children?: ReactNode;
}; };
// @public (undocumented) // @public (undocumented)
export type TLUiMainMenuProps = { export type TLUiMainMenuProps = {
children?: any; children?: ReactNode;
}; };
// @public (undocumented) // @public (undocumented)
@ -2149,7 +2149,7 @@ export type TLUiMenuGroupProps<TranslationKey extends string = string> = {
label?: { label?: {
[key: string]: TranslationKey; [key: string]: TranslationKey;
} | TranslationKey; } | TranslationKey;
children?: any; children?: ReactNode;
}; };
// @public (undocumented) // @public (undocumented)
@ -2175,7 +2175,7 @@ export type TLUiMenuSubmenuProps<Translation extends string = string> = {
[key: string]: Translation; [key: string]: Translation;
} | Translation; } | Translation;
disabled?: boolean; disabled?: boolean;
children: any; children: ReactNode;
size?: 'medium' | 'small' | 'tiny' | 'wide'; size?: 'medium' | 'small' | 'tiny' | 'wide';
}; };
@ -2212,7 +2212,7 @@ export interface TLUiPopoverTriggerProps {
// @public (undocumented) // @public (undocumented)
export type TLUiQuickActionsProps = { export type TLUiQuickActionsProps = {
children?: any; children?: ReactNode;
}; };
// @internal (undocumented) // @internal (undocumented)
@ -2239,7 +2239,7 @@ export type TLUiStylePanelContentProps = {
// @public (undocumented) // @public (undocumented)
export interface TLUiStylePanelProps { export interface TLUiStylePanelProps {
// (undocumented) // (undocumented)
children?: any; children?: ReactNode;
// (undocumented) // (undocumented)
isMobile?: boolean; isMobile?: boolean;
} }
@ -2323,7 +2323,7 @@ export type TLUiToolsProviderProps = {
overrides?: (editor: Editor, tools: TLUiToolsContextType, helpers: { overrides?: (editor: Editor, tools: TLUiToolsContextType, helpers: {
insertMedia: () => void; insertMedia: () => void;
}) => TLUiToolsContextType; }) => TLUiToolsContextType;
children: any; children: React_3.ReactNode;
}; };
// @public (undocumented) // @public (undocumented)
@ -2341,7 +2341,7 @@ export type TLUiTranslationKey = 'action.align-bottom' | 'action.align-center-ho
// @public (undocumented) // @public (undocumented)
export type TLUiZoomMenuProps = { export type TLUiZoomMenuProps = {
children?: any; children?: ReactNode;
}; };
// @public (undocumented) // @public (undocumented)

View file

@ -2203,7 +2203,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n forceMobile?: boolean;\n children: any;\n}" "text": "{\n forceMobile?: boolean;\n children: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -2225,8 +2234,8 @@
], ],
"fileUrlPath": "packages/tldraw/src/lib/ui/context/breakpoints.tsx", "fileUrlPath": "packages/tldraw/src/lib/ui/context/breakpoints.tsx",
"returnTypeTokenRange": { "returnTypeTokenRange": {
"startIndex": 3, "startIndex": 5,
"endIndex": 5 "endIndex": 7
}, },
"releaseTag": "Public", "releaseTag": "Public",
"overloadIndex": 1, "overloadIndex": 1,
@ -2235,7 +2244,7 @@
"parameterName": "{ forceMobile, children, }", "parameterName": "{ forceMobile, children, }",
"parameterTypeTokenRange": { "parameterTypeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
}, },
"isOptional": false "isOptional": false
} }
@ -5806,7 +5815,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": ";\n children: any;\n}" "text": ";\n children: "
},
{
"kind": "Reference",
"text": "React.ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -5818,7 +5836,7 @@
"name": "EventsProviderProps", "name": "EventsProviderProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 4 "endIndex": 6
} }
}, },
{ {
@ -16156,7 +16174,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "<{\n children?: any;\n hideUi?: boolean | undefined;\n components?: " "text": "<{\n children?: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n hideUi?: boolean | undefined;\n components?: "
}, },
{ {
"kind": "Reference", "kind": "Reference",
@ -16966,7 +16993,7 @@
"name": "TldrawUi", "name": "TldrawUi",
"variableTypeTokenRange": { "variableTypeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 181 "endIndex": 183
} }
}, },
{ {
@ -17534,8 +17561,9 @@
"text": "children?: " "text": "children?: "
}, },
{ {
"kind": "Content", "kind": "Reference",
"text": "any" "text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -18693,7 +18721,34 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "any" "text": "boolean | import(\"react/jsx-runtime\")."
},
{
"kind": "Reference",
"text": "JSX.Element",
"canonicalReference": "@types/react!JSX.Element:interface"
},
{
"kind": "Content",
"text": " | "
},
{
"kind": "Reference",
"text": "Iterable",
"canonicalReference": "!Iterable:interface"
},
{
"kind": "Content",
"text": "<"
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": "> | null | number | string | undefined"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -18703,7 +18758,7 @@
"fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/menus/TldrawUiMenuGroup.tsx", "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/menus/TldrawUiMenuGroup.tsx",
"returnTypeTokenRange": { "returnTypeTokenRange": {
"startIndex": 3, "startIndex": 3,
"endIndex": 4 "endIndex": 10
}, },
"releaseTag": "Public", "releaseTag": "Public",
"overloadIndex": 1, "overloadIndex": 1,
@ -18874,7 +18929,34 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "any" "text": "boolean | import(\"react/jsx-runtime\")."
},
{
"kind": "Reference",
"text": "JSX.Element",
"canonicalReference": "@types/react!JSX.Element:interface"
},
{
"kind": "Content",
"text": " | "
},
{
"kind": "Reference",
"text": "Iterable",
"canonicalReference": "!Iterable:interface"
},
{
"kind": "Content",
"text": "<"
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": "> | null | number | string | undefined"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -18884,7 +18966,7 @@
"fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/menus/TldrawUiMenuSubmenu.tsx", "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/menus/TldrawUiMenuSubmenu.tsx",
"returnTypeTokenRange": { "returnTypeTokenRange": {
"startIndex": 8, "startIndex": 8,
"endIndex": 9 "endIndex": 15
}, },
"releaseTag": "Public", "releaseTag": "Public",
"overloadIndex": 1, "overloadIndex": 1,
@ -19474,19 +19556,28 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n children?: any;\n}" "text": "{\n children?: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
"text": ";" "text": ";"
} }
], ],
"fileUrlPath": "packages/tldraw/.tsbuild-api/lib/ui/components/ActionsMenu/DefaultActionsMenu.d.ts", "fileUrlPath": "packages/tldraw/src/lib/ui/components/ActionsMenu/DefaultActionsMenu.tsx",
"releaseTag": "Public", "releaseTag": "Public",
"name": "TLUiActionsMenuProps", "name": "TLUiActionsMenuProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
} }
}, },
{ {
@ -19592,7 +19683,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n children?: any;\n}" "text": "{\n children?: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -19604,7 +19704,7 @@
"name": "TLUiButtonLabelProps", "name": "TLUiButtonLabelProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
} }
}, },
{ {
@ -20000,7 +20100,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": ";\n children: any;\n}" "text": ";\n children: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -20012,7 +20121,7 @@
"name": "TLUiComponentsProviderProps", "name": "TLUiComponentsProviderProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 4 "endIndex": 6
} }
}, },
{ {
@ -20025,7 +20134,7 @@
"text": "export interface TLUiContextMenuProps " "text": "export interface TLUiContextMenuProps "
} }
], ],
"fileUrlPath": "packages/tldraw/.tsbuild-api/lib/ui/components/ContextMenu/DefaultContextMenu.d.ts", "fileUrlPath": "packages/tldraw/src/lib/ui/components/ContextMenu/DefaultContextMenu.tsx",
"releaseTag": "Public", "releaseTag": "Public",
"name": "TLUiContextMenuProps", "name": "TLUiContextMenuProps",
"preserveMemberOrder": false, "preserveMemberOrder": false,
@ -20040,15 +20149,15 @@
"text": "children?: " "text": "children?: "
}, },
{ {
"kind": "Content", "kind": "Reference",
"text": "any" "text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
}, },
{ {
"kind": "Content", "kind": "Content",
"text": ";" "text": ";"
} }
], ],
"fileUrlPath": "packages/tldraw/src/lib/ui/components/ContextMenu/DefaultContextMenu.tsx",
"isReadonly": false, "isReadonly": false,
"isOptional": true, "isOptional": true,
"releaseTag": "Public", "releaseTag": "Public",
@ -20072,7 +20181,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n children?: any;\n}" "text": "{\n children?: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -20084,7 +20202,7 @@
"name": "TLUiDebugMenuProps", "name": "TLUiDebugMenuProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
} }
}, },
{ {
@ -20211,7 +20329,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n className?: string;\n children: any;\n style?: " "text": "{\n className?: string;\n children: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n style?: "
}, },
{ {
"kind": "Reference", "kind": "Reference",
@ -20232,7 +20359,7 @@
"name": "TLUiDialogBodyProps", "name": "TLUiDialogBodyProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 4 "endIndex": 6
} }
}, },
{ {
@ -20246,7 +20373,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n className?: string;\n children: any;\n}" "text": "{\n className?: string;\n children: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -20258,7 +20394,7 @@
"name": "TLUiDialogFooterProps", "name": "TLUiDialogFooterProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
} }
}, },
{ {
@ -20272,19 +20408,28 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n className?: string;\n children: any;\n}" "text": "{\n className?: string;\n children: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
"text": ";" "text": ";"
} }
], ],
"fileUrlPath": "packages/tldraw/.tsbuild-api/lib/ui/components/primitives/TldrawUiDialog.d.ts", "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDialog.tsx",
"releaseTag": "Public", "releaseTag": "Public",
"name": "TLUiDialogHeaderProps", "name": "TLUiDialogHeaderProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
} }
}, },
{ {
@ -20414,7 +20559,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n className?: string;\n children: any;\n}" "text": "{\n className?: string;\n children: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -20426,7 +20580,7 @@
"name": "TLUiDialogTitleProps", "name": "TLUiDialogTitleProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
} }
}, },
{ {
@ -20481,8 +20635,9 @@
"text": "children: " "text": "children: "
}, },
{ {
"kind": "Content", "kind": "Reference",
"text": "any" "text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -20602,7 +20757,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n id?: string;\n children: any;\n alignOffset?: number;\n sideOffset?: number;\n align?: 'center' | 'end' | 'start';\n side?: 'bottom' | 'left' | 'right' | 'top';\n}" "text": "{\n id?: string;\n children: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n alignOffset?: number;\n sideOffset?: number;\n align?: 'center' | 'end' | 'start';\n side?: 'bottom' | 'left' | 'right' | 'top';\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -20614,7 +20778,7 @@
"name": "TLUiDropdownMenuContentProps", "name": "TLUiDropdownMenuContentProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
} }
}, },
{ {
@ -20628,7 +20792,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n children: any;\n}" "text": "{\n children: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -20640,7 +20813,7 @@
"name": "TLUiDropdownMenuGroupProps", "name": "TLUiDropdownMenuGroupProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
} }
}, },
{ {
@ -20668,8 +20841,9 @@
"text": "children: " "text": "children: "
}, },
{ {
"kind": "Content", "kind": "Reference",
"text": "any" "text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -20726,7 +20900,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n id: string;\n children: any;\n modal?: boolean;\n debugOpen?: boolean;\n}" "text": "{\n id: string;\n children: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n modal?: boolean;\n debugOpen?: boolean;\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -20738,7 +20921,7 @@
"name": "TLUiDropdownMenuRootProps", "name": "TLUiDropdownMenuRootProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
} }
}, },
{ {
@ -20752,7 +20935,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n id: string;\n children: any;\n}" "text": "{\n id: string;\n children: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -20764,7 +20956,7 @@
"name": "TLUiDropdownMenuSubProps", "name": "TLUiDropdownMenuSubProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
} }
}, },
{ {
@ -20818,8 +21010,9 @@
"text": "children?: " "text": "children?: "
}, },
{ {
"kind": "Content", "kind": "Reference",
"text": "any" "text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -22807,7 +23000,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n children?: any;\n}" "text": "{\n children?: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -22819,7 +23021,7 @@
"name": "TLUiHelperButtonsProps", "name": "TLUiHelperButtonsProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
} }
}, },
{ {
@ -22833,19 +23035,28 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n children?: any;\n}" "text": "{\n children?: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
"text": ";" "text": ";"
} }
], ],
"fileUrlPath": "packages/tldraw/.tsbuild-api/lib/ui/components/HelpMenu/DefaultHelpMenu.d.ts", "fileUrlPath": "packages/tldraw/src/lib/ui/components/HelpMenu/DefaultHelpMenu.tsx",
"releaseTag": "Public", "releaseTag": "Public",
"name": "TLUiHelpMenuProps", "name": "TLUiHelpMenuProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
} }
}, },
{ {
@ -23179,8 +23390,9 @@
"text": "children?: " "text": "children?: "
}, },
{ {
"kind": "Content", "kind": "Reference",
"text": "any" "text": "React.ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -23695,7 +23907,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": " & {\n children?: any;\n}" "text": " & {\n children?: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -23707,7 +23928,7 @@
"name": "TLUiKeyboardShortcutsDialogProps", "name": "TLUiKeyboardShortcutsDialogProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 3 "endIndex": 5
} }
}, },
{ {
@ -23721,19 +23942,28 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n children?: any;\n}" "text": "{\n children?: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
"text": ";" "text": ";"
} }
], ],
"fileUrlPath": "packages/tldraw/.tsbuild-api/lib/ui/components/MainMenu/DefaultMainMenu.d.ts", "fileUrlPath": "packages/tldraw/src/lib/ui/components/MainMenu/DefaultMainMenu.tsx",
"releaseTag": "Public", "releaseTag": "Public",
"name": "TLUiMainMenuProps", "name": "TLUiMainMenuProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
} }
}, },
{ {
@ -23916,7 +24146,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n id: string;\n label?: {\n [key: string]: TranslationKey;\n } | TranslationKey;\n children?: any;\n}" "text": "{\n id: string;\n label?: {\n [key: string]: TranslationKey;\n } | TranslationKey;\n children?: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -23941,7 +24180,7 @@
], ],
"typeTokenRange": { "typeTokenRange": {
"startIndex": 5, "startIndex": 5,
"endIndex": 6 "endIndex": 8
} }
}, },
{ {
@ -24071,7 +24310,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n id: string;\n label?: {\n [key: string]: Translation;\n } | Translation;\n disabled?: boolean;\n children: any;\n size?: 'medium' | 'small' | 'tiny' | 'wide';\n}" "text": "{\n id: string;\n label?: {\n [key: string]: Translation;\n } | Translation;\n disabled?: boolean;\n children: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n size?: 'medium' | 'small' | 'tiny' | 'wide';\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -24096,7 +24344,7 @@
], ],
"typeTokenRange": { "typeTokenRange": {
"startIndex": 5, "startIndex": 5,
"endIndex": 6 "endIndex": 8
} }
}, },
{ {
@ -24347,19 +24595,28 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n children?: any;\n}" "text": "{\n children?: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
"text": ";" "text": ";"
} }
], ],
"fileUrlPath": "packages/tldraw/.tsbuild-api/lib/ui/components/QuickActions/DefaultQuickActions.d.ts", "fileUrlPath": "packages/tldraw/src/lib/ui/components/QuickActions/DefaultQuickActions.tsx",
"releaseTag": "Public", "releaseTag": "Public",
"name": "TLUiQuickActionsProps", "name": "TLUiQuickActionsProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
} }
}, },
{ {
@ -24416,7 +24673,7 @@
"text": "export interface TLUiStylePanelProps " "text": "export interface TLUiStylePanelProps "
} }
], ],
"fileUrlPath": "packages/tldraw/.tsbuild-api/lib/ui/components/StylePanel/DefaultStylePanel.d.ts", "fileUrlPath": "packages/tldraw/src/lib/ui/components/StylePanel/DefaultStylePanel.tsx",
"releaseTag": "Public", "releaseTag": "Public",
"name": "TLUiStylePanelProps", "name": "TLUiStylePanelProps",
"preserveMemberOrder": false, "preserveMemberOrder": false,
@ -24431,15 +24688,15 @@
"text": "children?: " "text": "children?: "
}, },
{ {
"kind": "Content", "kind": "Reference",
"text": "any" "text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
}, },
{ {
"kind": "Content", "kind": "Content",
"text": ";" "text": ";"
} }
], ],
"fileUrlPath": "packages/tldraw/src/lib/ui/components/StylePanel/DefaultStylePanel.tsx",
"isReadonly": false, "isReadonly": false,
"isOptional": true, "isOptional": true,
"releaseTag": "Public", "releaseTag": "Public",
@ -24467,7 +24724,6 @@
"text": ";" "text": ";"
} }
], ],
"fileUrlPath": "packages/tldraw/src/lib/ui/components/StylePanel/DefaultStylePanel.tsx",
"isReadonly": false, "isReadonly": false,
"isOptional": true, "isOptional": true,
"releaseTag": "Public", "releaseTag": "Public",
@ -25297,7 +25553,16 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": ";\n children: any;\n}" "text": ";\n children: "
},
{
"kind": "Reference",
"text": "React.ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
@ -25309,7 +25574,7 @@
"name": "TLUiToolsProviderProps", "name": "TLUiToolsProviderProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 8 "endIndex": 10
} }
}, },
{ {
@ -25420,19 +25685,28 @@
}, },
{ {
"kind": "Content", "kind": "Content",
"text": "{\n children?: any;\n}" "text": "{\n children?: "
},
{
"kind": "Reference",
"text": "ReactNode",
"canonicalReference": "@types/react!React.ReactNode:type"
},
{
"kind": "Content",
"text": ";\n}"
}, },
{ {
"kind": "Content", "kind": "Content",
"text": ";" "text": ";"
} }
], ],
"fileUrlPath": "packages/tldraw/.tsbuild-api/lib/ui/components/ZoomMenu/DefaultZoomMenu.d.ts", "fileUrlPath": "packages/tldraw/src/lib/ui/components/ZoomMenu/DefaultZoomMenu.tsx",
"releaseTag": "Public", "releaseTag": "Public",
"name": "TLUiZoomMenuProps", "name": "TLUiZoomMenuProps",
"typeTokenRange": { "typeTokenRange": {
"startIndex": 1, "startIndex": 1,
"endIndex": 2 "endIndex": 4
} }
}, },
{ {

View file

@ -1,5 +1,5 @@
import { useEditor, useValue } from '@tldraw/editor' import { useEditor, useValue } from '@tldraw/editor'
import { memo } from 'react' import { ReactNode, memo } from 'react'
import { PORTRAIT_BREAKPOINT } from '../../constants' import { PORTRAIT_BREAKPOINT } from '../../constants'
import { useBreakpoint } from '../../context/breakpoints' import { useBreakpoint } from '../../context/breakpoints'
import { useReadonly } from '../../hooks/useReadonly' import { useReadonly } from '../../hooks/useReadonly'
@ -16,7 +16,7 @@ import { DefaultActionsMenuContent } from './DefaultActionsMenuContent'
/** @public */ /** @public */
export type TLUiActionsMenuProps = { export type TLUiActionsMenuProps = {
children?: any children?: ReactNode
} }
/** @public */ /** @public */

View file

@ -1,13 +1,13 @@
import * as _ContextMenu from '@radix-ui/react-context-menu' import * as _ContextMenu from '@radix-ui/react-context-menu'
import { preventDefault, useContainer, useEditor, useEditorComponents } from '@tldraw/editor' import { preventDefault, useContainer, useEditor, useEditorComponents } from '@tldraw/editor'
import { memo, useCallback } from 'react' import { ReactNode, memo, useCallback } from 'react'
import { useMenuIsOpen } from '../../hooks/useMenuIsOpen' import { useMenuIsOpen } from '../../hooks/useMenuIsOpen'
import { TldrawUiMenuContextProvider } from '../primitives/menus/TldrawUiMenuContext' import { TldrawUiMenuContextProvider } from '../primitives/menus/TldrawUiMenuContext'
import { DefaultContextMenuContent } from './DefaultContextMenuContent' import { DefaultContextMenuContent } from './DefaultContextMenuContent'
/** @public */ /** @public */
export interface TLUiContextMenuProps { export interface TLUiContextMenuProps {
children?: any children?: ReactNode
} }
/** @public */ /** @public */

View file

@ -1,3 +1,4 @@
import { ReactNode } from 'react'
import { TldrawUiButton } from '../primitives/Button/TldrawUiButton' import { TldrawUiButton } from '../primitives/Button/TldrawUiButton'
import { TldrawUiButtonIcon } from '../primitives/Button/TldrawUiButtonIcon' import { TldrawUiButtonIcon } from '../primitives/Button/TldrawUiButtonIcon'
import { import {
@ -10,7 +11,7 @@ import { DefaultDebugMenuContent } from './DefaultDebugMenuContent'
/** @public */ /** @public */
export type TLUiDebugMenuProps = { export type TLUiDebugMenuProps = {
children?: any children?: ReactNode
} }
/** @public */ /** @public */

View file

@ -169,6 +169,7 @@ export function DefaultDebugMenuContent() {
/> />
{(() => { {(() => {
if (error) throw Error('oh no!') if (error) throw Error('oh no!')
return null
})()} })()}
<TldrawUiMenuItem id="throw-error" onSelect={() => setError(true)} label={'Throw error'} /> <TldrawUiMenuItem id="throw-error" onSelect={() => setError(true)} label={'Throw error'} />
<TldrawUiMenuItem id="hard-reset" onSelect={hardResetEditor} label={'Hard reset'} /> <TldrawUiMenuItem id="hard-reset" onSelect={hardResetEditor} label={'Hard reset'} />

View file

@ -1,4 +1,4 @@
import { memo } from 'react' import { ReactNode, memo } from 'react'
import { PORTRAIT_BREAKPOINT } from '../../constants' import { PORTRAIT_BREAKPOINT } from '../../constants'
import { useBreakpoint } from '../../context/breakpoints' import { useBreakpoint } from '../../context/breakpoints'
import { useTranslation } from '../../hooks/useTranslation/useTranslation' import { useTranslation } from '../../hooks/useTranslation/useTranslation'
@ -14,7 +14,7 @@ import { DefaultHelpMenuContent } from './DefaultHelpMenuContent'
/** @public */ /** @public */
export type TLUiHelpMenuProps = { export type TLUiHelpMenuProps = {
children?: any children?: ReactNode
} }
/** @public */ /** @public */

View file

@ -1,9 +1,10 @@
import { ReactNode } from 'react'
import { TldrawUiMenuContextProvider } from '../primitives/menus/TldrawUiMenuContext' import { TldrawUiMenuContextProvider } from '../primitives/menus/TldrawUiMenuContext'
import { DefaultHelperButtonsContent } from './DefaultHelperButtonsContent' import { DefaultHelperButtonsContent } from './DefaultHelperButtonsContent'
/** @public */ /** @public */
export type TLUiHelperButtonsProps = { export type TLUiHelperButtonsProps = {
children?: any children?: ReactNode
} }
/** @public */ /** @public */

View file

@ -1,5 +1,5 @@
import classNames from 'classnames' import classNames from 'classnames'
import { memo } from 'react' import { ReactNode, memo } from 'react'
import { PORTRAIT_BREAKPOINT } from '../../constants' import { PORTRAIT_BREAKPOINT } from '../../constants'
import { useBreakpoint } from '../../context/breakpoints' import { useBreakpoint } from '../../context/breakpoints'
import { TLUiDialogProps } from '../../context/dialogs' import { TLUiDialogProps } from '../../context/dialogs'
@ -15,7 +15,7 @@ import { DefaultKeyboardShortcutsDialogContent } from './DefaultKeyboardShortcut
/** @public */ /** @public */
export type TLUiKeyboardShortcutsDialogProps = TLUiDialogProps & { export type TLUiKeyboardShortcutsDialogProps = TLUiDialogProps & {
children?: any children?: ReactNode
} }
/** @public */ /** @public */

View file

@ -1,6 +1,6 @@
import * as _Dropdown from '@radix-ui/react-dropdown-menu' import * as _Dropdown from '@radix-ui/react-dropdown-menu'
import { useContainer } from '@tldraw/editor' import { useContainer } from '@tldraw/editor'
import { memo } from 'react' import { ReactNode, memo } from 'react'
import { useMenuIsOpen } from '../../hooks/useMenuIsOpen' import { useMenuIsOpen } from '../../hooks/useMenuIsOpen'
import { useTranslation } from '../../hooks/useTranslation/useTranslation' import { useTranslation } from '../../hooks/useTranslation/useTranslation'
import { TldrawUiButton } from '../primitives/Button/TldrawUiButton' import { TldrawUiButton } from '../primitives/Button/TldrawUiButton'
@ -10,7 +10,7 @@ import { DefaultMainMenuContent } from './DefaultMainMenuContent'
/** @public */ /** @public */
export type TLUiMainMenuProps = { export type TLUiMainMenuProps = {
children?: any children?: ReactNode
} }
/** @public */ /** @public */

View file

@ -1,10 +1,10 @@
import { memo } from 'react' import { ReactNode, memo } from 'react'
import { TldrawUiMenuContextProvider } from '../primitives/menus/TldrawUiMenuContext' import { TldrawUiMenuContextProvider } from '../primitives/menus/TldrawUiMenuContext'
import { DefaultQuickActionsContent } from './DefaultQuickActionsContent' import { DefaultQuickActionsContent } from './DefaultQuickActionsContent'
/** @public */ /** @public */
export type TLUiQuickActionsProps = { export type TLUiQuickActionsProps = {
children?: any children?: ReactNode
} }
/** @public */ /** @public */

View file

@ -1,13 +1,13 @@
import { useEditor } from '@tldraw/editor' import { useEditor } from '@tldraw/editor'
import classNames from 'classnames' import classNames from 'classnames'
import { memo, useCallback } from 'react' import { ReactNode, memo, useCallback } from 'react'
import { useRelevantStyles } from '../../hooks/useRelevantStyles' import { useRelevantStyles } from '../../hooks/useRelevantStyles'
import { DefaultStylePanelContent } from './DefaultStylePanelContent' import { DefaultStylePanelContent } from './DefaultStylePanelContent'
/** @public */ /** @public */
export interface TLUiStylePanelProps { export interface TLUiStylePanelProps {
isMobile?: boolean isMobile?: boolean
children?: any children?: ReactNode
} }
/** @public */ /** @public */

View file

@ -1,6 +1,6 @@
import * as _Dropdown from '@radix-ui/react-dropdown-menu' import * as _Dropdown from '@radix-ui/react-dropdown-menu'
import { ANIMATION_MEDIUM_MS, useContainer, useEditor, useValue } from '@tldraw/editor' import { ANIMATION_MEDIUM_MS, useContainer, useEditor, useValue } from '@tldraw/editor'
import { forwardRef, memo, useCallback } from 'react' import { ReactNode, forwardRef, memo, useCallback } from 'react'
import { PORTRAIT_BREAKPOINT } from '../../constants' import { PORTRAIT_BREAKPOINT } from '../../constants'
import { useBreakpoint } from '../../context/breakpoints' import { useBreakpoint } from '../../context/breakpoints'
import { useMenuIsOpen } from '../../hooks/useMenuIsOpen' import { useMenuIsOpen } from '../../hooks/useMenuIsOpen'
@ -11,7 +11,7 @@ import { DefaultZoomMenuContent } from './DefaultZoomMenuContent'
/** @public */ /** @public */
export type TLUiZoomMenuProps = { export type TLUiZoomMenuProps = {
children?: any children?: ReactNode
} }
/** @public */ /** @public */

View file

@ -1,5 +1,7 @@
import { ReactNode } from 'react'
/** @public */ /** @public */
export type TLUiButtonLabelProps = { children?: any } export type TLUiButtonLabelProps = { children?: ReactNode }
/** @public */ /** @public */
export function TldrawUiButtonLabel({ children }: TLUiButtonLabelProps) { export function TldrawUiButtonLabel({ children }: TLUiButtonLabelProps) {

View file

@ -1,12 +1,13 @@
import * as _Dialog from '@radix-ui/react-dialog' import * as _Dialog from '@radix-ui/react-dialog'
import classNames from 'classnames' import classNames from 'classnames'
import { ReactNode } from 'react'
import { TldrawUiButton } from './Button/TldrawUiButton' import { TldrawUiButton } from './Button/TldrawUiButton'
import { TldrawUiButtonIcon } from './Button/TldrawUiButtonIcon' import { TldrawUiButtonIcon } from './Button/TldrawUiButtonIcon'
/** @public */ /** @public */
export type TLUiDialogHeaderProps = { export type TLUiDialogHeaderProps = {
className?: string className?: string
children: any children: ReactNode
} }
/** @public */ /** @public */
@ -17,7 +18,7 @@ export function TldrawUiDialogHeader({ className, children }: TLUiDialogHeaderPr
/** @public */ /** @public */
export type TLUiDialogTitleProps = { export type TLUiDialogTitleProps = {
className?: string className?: string
children: any children: ReactNode
} }
/** @public */ /** @public */
@ -49,7 +50,7 @@ export function TldrawUiDialogCloseButton() {
/** @public */ /** @public */
export type TLUiDialogBodyProps = { export type TLUiDialogBodyProps = {
className?: string className?: string
children: any children: ReactNode
style?: React.CSSProperties style?: React.CSSProperties
} }
@ -65,7 +66,7 @@ export function TldrawUiDialogBody({ className, children, style }: TLUiDialogBod
/** @public */ /** @public */
export type TLUiDialogFooterProps = { export type TLUiDialogFooterProps = {
className?: string className?: string
children: any children: ReactNode
} }
/** @public */ /** @public */

View file

@ -1,5 +1,6 @@
import * as _DropdownMenu from '@radix-ui/react-dropdown-menu' import * as _DropdownMenu from '@radix-ui/react-dropdown-menu'
import { preventDefault, useContainer } from '@tldraw/editor' import { preventDefault, useContainer } from '@tldraw/editor'
import { ReactNode } from 'react'
import { useMenuIsOpen } from '../../hooks/useMenuIsOpen' import { useMenuIsOpen } from '../../hooks/useMenuIsOpen'
import { TldrawUiButton } from './Button/TldrawUiButton' import { TldrawUiButton } from './Button/TldrawUiButton'
import { TldrawUiButtonIcon } from './Button/TldrawUiButtonIcon' import { TldrawUiButtonIcon } from './Button/TldrawUiButtonIcon'
@ -9,7 +10,7 @@ import { TldrawUiIcon } from './TldrawUiIcon'
/** @public */ /** @public */
export type TLUiDropdownMenuRootProps = { export type TLUiDropdownMenuRootProps = {
id: string id: string
children: any children: ReactNode
modal?: boolean modal?: boolean
debugOpen?: boolean debugOpen?: boolean
} }
@ -37,7 +38,7 @@ export function TldrawUiDropdownMenuRoot({
/** @public */ /** @public */
export interface TLUiDropdownMenuTriggerProps { export interface TLUiDropdownMenuTriggerProps {
children?: any children?: ReactNode
} }
/** @public */ /** @public */
@ -58,7 +59,7 @@ export function TldrawUiDropdownMenuTrigger({ children, ...rest }: TLUiDropdownM
/** @public */ /** @public */
export type TLUiDropdownMenuContentProps = { export type TLUiDropdownMenuContentProps = {
id?: string id?: string
children: any children: ReactNode
alignOffset?: number alignOffset?: number
sideOffset?: number sideOffset?: number
align?: 'start' | 'center' | 'end' align?: 'start' | 'center' | 'end'
@ -92,7 +93,7 @@ export function TldrawUiDropdownMenuContent({
} }
/** @public */ /** @public */
export type TLUiDropdownMenuSubProps = { id: string; children: any } export type TLUiDropdownMenuSubProps = { id: string; children: ReactNode }
/** @public */ /** @public */
export function TldrawUiDropdownMenuSub({ id, children }: TLUiDropdownMenuSubProps) { export function TldrawUiDropdownMenuSub({ id, children }: TLUiDropdownMenuSubProps) {
@ -142,7 +143,7 @@ export type TLUiDropdownMenuSubContentProps = {
alignOffset?: number alignOffset?: number
sideOffset?: number sideOffset?: number
size?: 'tiny' | 'small' | 'medium' | 'wide' size?: 'tiny' | 'small' | 'medium' | 'wide'
children: any children: ReactNode
} }
/** @public */ /** @public */
@ -172,7 +173,7 @@ export function TldrawUiDropdownMenuSubContent({
/** @public */ /** @public */
export type TLUiDropdownMenuGroupProps = { export type TLUiDropdownMenuGroupProps = {
children: any children: ReactNode
} }
/** @public */ /** @public */
@ -196,7 +197,7 @@ export function TldrawUiDropdownMenuIndicator() {
/** @public */ /** @public */
export interface TLUiDropdownMenuItemProps { export interface TLUiDropdownMenuItemProps {
noClose?: boolean noClose?: boolean
children: any children: ReactNode
} }
/** @public */ /** @public */
@ -214,7 +215,7 @@ export interface TLUiDropdownMenuCheckboxItemProps {
onSelect?: (e: Event) => void onSelect?: (e: Event) => void
disabled?: boolean disabled?: boolean
title: string title: string
children: any children: ReactNode
} }
/** @public */ /** @public */

View file

@ -14,7 +14,7 @@ export interface TLUiInputProps {
iconLeft?: TLUiIconType | Exclude<string, TLUiIconType> iconLeft?: TLUiIconType | Exclude<string, TLUiIconType>
autofocus?: boolean autofocus?: boolean
autoselect?: boolean autoselect?: boolean
children?: any children?: React.ReactNode
defaultValue?: string defaultValue?: string
placeholder?: string placeholder?: string
onComplete?: (value: string) => void onComplete?: (value: string) => void

View file

@ -1,4 +1,5 @@
import { ContextMenuGroup } from '@radix-ui/react-context-menu' import { ContextMenuGroup } from '@radix-ui/react-context-menu'
import { ReactNode } from 'react'
import { unwrapLabel } from '../../../context/actions' import { unwrapLabel } from '../../../context/actions'
import { TLUiTranslationKey } from '../../../hooks/useTranslation/TLUiTranslationKey' import { TLUiTranslationKey } from '../../../hooks/useTranslation/TLUiTranslationKey'
import { useTranslation } from '../../../hooks/useTranslation/useTranslation' import { useTranslation } from '../../../hooks/useTranslation/useTranslation'
@ -12,7 +13,7 @@ export type TLUiMenuGroupProps<TranslationKey extends string = string> = {
* The label to display on the item. If it's a string, it will be translated. If it's an object, the keys will be used as the language keys and the values will be translated. * The label to display on the item. If it's a string, it will be translated. If it's an object, the keys will be used as the language keys and the values will be translated.
*/ */
label?: TranslationKey | { [key: string]: TranslationKey } label?: TranslationKey | { [key: string]: TranslationKey }
children?: any children?: ReactNode
} }
/** @public */ /** @public */

View file

@ -5,6 +5,7 @@ import {
ContextMenuSubTrigger, ContextMenuSubTrigger,
} from '@radix-ui/react-context-menu' } from '@radix-ui/react-context-menu'
import { useContainer } from '@tldraw/editor' import { useContainer } from '@tldraw/editor'
import { ReactNode } from 'react'
import { useMenuIsOpen } from '../../../hooks/useMenuIsOpen' import { useMenuIsOpen } from '../../../hooks/useMenuIsOpen'
import { TLUiTranslationKey } from '../../../hooks/useTranslation/TLUiTranslationKey' import { TLUiTranslationKey } from '../../../hooks/useTranslation/TLUiTranslationKey'
import { useTranslation } from '../../../hooks/useTranslation/useTranslation' import { useTranslation } from '../../../hooks/useTranslation/useTranslation'
@ -23,7 +24,7 @@ export type TLUiMenuSubmenuProps<Translation extends string = string> = {
id: string id: string
label?: Translation | { [key: string]: Translation } label?: Translation | { [key: string]: Translation }
disabled?: boolean disabled?: boolean
children: any children: ReactNode
size?: 'tiny' | 'small' | 'medium' | 'wide' size?: 'tiny' | 'small' | 'medium' | 'wide'
} }
@ -102,7 +103,7 @@ export function TldrawUiMenuSubmenu<Translation extends string = string>({
} }
/** @private */ /** @private */
export type TLUiContextMenuSubProps = { id: string; children: any } export type TLUiContextMenuSubProps = { id: string; children: ReactNode }
/** @private */ /** @private */
export function ContextMenuSubWithMenu({ id, children }: TLUiContextMenuSubProps) { export function ContextMenuSubWithMenu({ id, children }: TLUiContextMenuSubProps) {

View file

@ -1,4 +1,5 @@
import { RecursivePartial } from '@tldraw/editor' import { RecursivePartial } from '@tldraw/editor'
import { ReactNode } from 'react'
import { TLUiAssetUrls, useDefaultUiAssetUrlsWithOverrides } from '../assetUrls' import { TLUiAssetUrls, useDefaultUiAssetUrlsWithOverrides } from '../assetUrls'
import { ToolbarSchemaProvider } from '../hooks/useToolbarSchema' import { ToolbarSchemaProvider } from '../hooks/useToolbarSchema'
import { ToolsProvider } from '../hooks/useTools' import { ToolsProvider } from '../hooks/useTools'
@ -46,7 +47,7 @@ export interface TldrawUiContextProviderProps {
/** /**
* The component's children. * The component's children.
*/ */
children?: any children?: ReactNode
} }
/** @public */ /** @public */

View file

@ -63,7 +63,7 @@ export type ActionsProviderProps = {
actions: TLUiActionsContextType, actions: TLUiActionsContextType,
helpers: undefined helpers: undefined
) => TLUiActionsContextType ) => TLUiActionsContextType
children: any children: React.ReactNode
} }
function makeActions(actions: TLUiActionItem[]) { function makeActions(actions: TLUiActionItem[]) {

View file

@ -1,5 +1,5 @@
import { useEditor, useValue } from '@tldraw/editor' import { useEditor, useValue } from '@tldraw/editor'
import React, { useContext } from 'react' import React, { ReactNode, useContext } from 'react'
import { PORTRAIT_BREAKPOINT, PORTRAIT_BREAKPOINTS } from '../constants' import { PORTRAIT_BREAKPOINT, PORTRAIT_BREAKPOINTS } from '../constants'
const BreakpointContext = React.createContext(0) const BreakpointContext = React.createContext(0)
@ -10,7 +10,7 @@ export function BreakPointProvider({
children, children,
}: { }: {
forceMobile?: boolean forceMobile?: boolean
children: any children: ReactNode
}) { }) {
const editor = useEditor() const editor = useEditor()

View file

@ -1,5 +1,5 @@
import { useShallowObjectIdentity } from '@tldraw/editor' import { useShallowObjectIdentity } from '@tldraw/editor'
import { ComponentType, createContext, useContext, useMemo } from 'react' import { ComponentType, ReactNode, createContext, useContext, useMemo } from 'react'
import { import {
DefaultActionsMenu, DefaultActionsMenu,
TLUiActionsMenuProps, TLUiActionsMenuProps,
@ -61,7 +61,7 @@ const TldrawUiComponentsContext = createContext({} as TLUiComponents)
/** @public */ /** @public */
export type TLUiComponentsProviderProps = { export type TLUiComponentsProviderProps = {
overrides?: TLUiComponents overrides?: TLUiComponents
children: any children: ReactNode
} }
/** @public */ /** @public */

View file

@ -1,5 +1,5 @@
import { Editor, uniqueId, useEditor } from '@tldraw/editor' import { Editor, uniqueId, useEditor } from '@tldraw/editor'
import { ComponentType, createContext, useCallback, useContext, useState } from 'react' import { ComponentType, ReactNode, createContext, useCallback, useContext, useState } from 'react'
import { useUiEvents } from './events' import { useUiEvents } from './events'
/** @public */ /** @public */
@ -29,7 +29,7 @@ export const DialogsContext = createContext({} as TLUiDialogsContextType)
/** @internal */ /** @internal */
export type DialogsProviderProps = { export type DialogsProviderProps = {
overrides?: (editor: Editor) => TLUiDialogsContextType overrides?: (editor: Editor) => TLUiDialogsContextType
children: any children: ReactNode
} }
/** @internal */ /** @internal */

View file

@ -120,7 +120,7 @@ export const EventsContext = React.createContext<TLUiEventContextType>({} as TLU
/** @public */ /** @public */
export type EventsProviderProps = { export type EventsProviderProps = {
onEvent?: TLUiEventHandler onEvent?: TLUiEventHandler
children: any children: React.ReactNode
} }
/** @public */ /** @public */

View file

@ -1,5 +1,5 @@
import { Editor, uniqueId } from '@tldraw/editor' import { Editor, uniqueId } from '@tldraw/editor'
import { createContext, useCallback, useContext, useState } from 'react' import { ReactNode, createContext, useCallback, useContext, useState } from 'react'
import { TLUiIconType } from '../icon-types' import { TLUiIconType } from '../icon-types'
/** @public */ /** @public */
@ -34,7 +34,7 @@ export const ToastsContext = createContext({} as TLUiToastsContextType)
/** @internal */ /** @internal */
export type ToastsProviderProps = { export type ToastsProviderProps = {
overrides?: (editor: Editor) => TLUiToastsContextType overrides?: (editor: Editor) => TLUiToastsContextType
children: any children: ReactNode
} }
/** @internal */ /** @internal */

View file

@ -37,7 +37,7 @@ export type TLUiToolsProviderProps = {
tools: TLUiToolsContextType, tools: TLUiToolsContextType,
helpers: { insertMedia: () => void } helpers: { insertMedia: () => void }
) => TLUiToolsContextType ) => TLUiToolsContextType
children: any children: React.ReactNode
} }
/** @internal */ /** @internal */

View file

@ -7,7 +7,7 @@ import { TLUiTranslation, fetchTranslation } from './translations'
/** @public */ /** @public */
export interface TLUiTranslationProviderProps { export interface TLUiTranslationProviderProps {
children: any children: React.ReactNode
/** /**
* A collection of overrides different locales. * A collection of overrides different locales.
* *