@opentui/solid 0.0.0-20260604-34bc02bf → 0.0.0-20260604-b7a3ea1b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.bun.js.map CHANGED
@@ -5,7 +5,7 @@
5
5
  "import { CliRenderer, createCliRenderer, engine, type CliRendererConfig } from \"@opentui/core\"\nimport { createTestRenderer, type TestRendererOptions } from \"@opentui/core/testing\"\nimport type { JSX } from \"./jsx-runtime.js\"\nimport { RendererContext } from \"./src/elements/index.js\"\nimport { _render as renderInternal, createComponent } from \"./src/reconciler.js\"\n\ntype DisposeFn = () => void\n\nconst mountSolidRoot = (renderer: CliRenderer, node: () => JSX.Element) => {\n let dispose: DisposeFn | undefined\n let disposeRequested = false\n let disposed = false\n let mounting = true\n let destroyRequested = false\n\n const originalDestroy = renderer.destroy.bind(renderer)\n\n const runDispose = () => {\n if (disposed) {\n return\n }\n\n if (!dispose) {\n disposeRequested = true\n return\n }\n\n disposed = true\n dispose()\n }\n\n renderer.once(\"destroy\", runDispose)\n\n renderer.destroy = () => {\n if (mounting) {\n destroyRequested = true\n return\n }\n\n originalDestroy()\n }\n\n try {\n dispose = renderInternal(\n () =>\n createComponent(RendererContext.Provider, {\n get value() {\n return renderer\n },\n get children() {\n return (createComponent as any)(node, {})\n },\n }),\n renderer.root,\n )\n } finally {\n mounting = false\n renderer.destroy = originalDestroy\n }\n\n if (disposeRequested) {\n runDispose()\n }\n\n if (destroyRequested) {\n originalDestroy()\n }\n}\n\nexport const render = async (node: () => JSX.Element, rendererOrConfig: CliRenderer | CliRendererConfig = {}) => {\n const renderer =\n rendererOrConfig instanceof CliRenderer\n ? rendererOrConfig\n : await createCliRenderer({\n ...rendererOrConfig,\n onDestroy: () => {\n rendererOrConfig.onDestroy?.()\n },\n })\n\n engine.attach(renderer)\n mountSolidRoot(renderer, node)\n}\n\nexport const testRender = async (node: () => JSX.Element, renderConfig: TestRendererOptions = {}) => {\n const testSetup = await createTestRenderer({\n ...renderConfig,\n onDestroy: () => {\n renderConfig.onDestroy?.()\n },\n })\n\n engine.attach(testSetup.renderer)\n mountSolidRoot(testSetup.renderer, node)\n\n return testSetup\n}\n\nexport * from \"./src/reconciler.js\"\nexport * from \"./src/elements/index.js\"\nexport * from \"./src/scrollback.js\"\nexport * from \"./src/time-to-first-draw.js\"\nexport * from \"./src/plugins/slot.js\"\nexport * from \"./src/types/elements.js\"\nexport { type JSX }\n",
6
6
  "import {\n ASCIIFontRenderable,\n BoxRenderable,\n CodeRenderable,\n DiffRenderable,\n InputRenderable,\n LineNumberRenderable,\n MarkdownRenderable,\n ScrollBoxRenderable,\n SelectRenderable,\n TabSelectRenderable,\n TextareaRenderable,\n TextAttributes,\n TextNodeRenderable,\n TextRenderable,\n type RenderContext,\n type TextNodeOptions,\n} from \"@opentui/core\"\nimport type { RenderableConstructor } from \"../types/elements.js\"\n\nclass SpanRenderable extends TextNodeRenderable {\n constructor(\n private readonly _ctx: RenderContext | null,\n options: TextNodeOptions,\n ) {\n super(options)\n }\n}\n\nexport const textNodeKeys = [\"span\", \"b\", \"strong\", \"i\", \"em\", \"u\", \"a\"] as const\nexport type TextNodeKey = (typeof textNodeKeys)[number]\n\nclass TextModifierRenderable extends SpanRenderable {\n constructor(options: any, modifier?: TextNodeKey) {\n super(null, options)\n\n // Set appropriate attributes based on modifier type\n if (modifier === \"b\" || modifier === \"strong\") {\n this.attributes = (this.attributes || 0) | TextAttributes.BOLD\n } else if (modifier === \"i\" || modifier === \"em\") {\n this.attributes = (this.attributes || 0) | TextAttributes.ITALIC\n } else if (modifier === \"u\") {\n this.attributes = (this.attributes || 0) | TextAttributes.UNDERLINE\n }\n }\n}\n\nexport class BoldSpanRenderable extends TextModifierRenderable {\n constructor(options: any) {\n super(options, \"b\")\n }\n}\n\nexport class ItalicSpanRenderable extends TextModifierRenderable {\n constructor(options: any) {\n super(options, \"i\")\n }\n}\n\nexport class UnderlineSpanRenderable extends TextModifierRenderable {\n constructor(options: any) {\n super(options, \"u\")\n }\n}\n\nexport class LineBreakRenderable extends SpanRenderable {\n constructor(_ctx: RenderContext | null, options: TextNodeOptions) {\n super(null, options)\n this.add()\n }\n\n public override add(): number {\n return super.add(\"\\n\")\n }\n}\n\nexport interface LinkOptions extends TextNodeOptions {\n href: string\n}\n\nexport class LinkRenderable extends SpanRenderable {\n constructor(_ctx: RenderContext | null, options: LinkOptions) {\n const linkOptions: TextNodeOptions = {\n ...options,\n link: { url: options.href },\n }\n super(null, linkOptions)\n }\n}\n\nexport const baseComponents = {\n box: BoxRenderable,\n text: TextRenderable,\n input: InputRenderable,\n select: SelectRenderable,\n textarea: TextareaRenderable,\n ascii_font: ASCIIFontRenderable,\n tab_select: TabSelectRenderable,\n scrollbox: ScrollBoxRenderable,\n code: CodeRenderable,\n diff: DiffRenderable,\n line_number: LineNumberRenderable,\n markdown: MarkdownRenderable,\n\n span: SpanRenderable,\n strong: BoldSpanRenderable,\n b: BoldSpanRenderable,\n em: ItalicSpanRenderable,\n i: ItalicSpanRenderable,\n u: UnderlineSpanRenderable,\n br: LineBreakRenderable,\n a: LinkRenderable,\n}\n\ntype ComponentCatalogue = Record<string, RenderableConstructor>\n\nexport const componentCatalogue: ComponentCatalogue = { ...baseComponents }\n\n/**\n * Extend the component catalogue with new renderable components\n *\n * @example\n * ```tsx\n * // Extend with an object of components\n * extend({\n * consoleButton: ButtonRenderable,\n * customBox: CustomBoxRenderable\n * })\n * ```\n */\nexport function extend<T extends ComponentCatalogue>(objects: T): void {\n Object.assign(componentCatalogue, objects)\n}\n\nexport function getComponentCatalogue(): ComponentCatalogue {\n return componentCatalogue\n}\n\nexport type { ExtendedComponentProps, ExtendedIntrinsicElements, RenderableConstructor } from \"../types/elements.js\"\n",
7
7
  "import {\n engine,\n PasteEvent,\n Selection,\n Timeline,\n type CliRenderer,\n type KeyEvent,\n type TimelineOptions,\n} from \"@opentui/core\"\nimport { createContext, createSignal, onCleanup, onMount, useContext } from \"solid-js\"\n\nexport const RendererContext = createContext<CliRenderer>()\n\nexport const useRenderer = () => {\n const renderer = useContext(RendererContext)\n\n if (!renderer) {\n throw new Error(\"No renderer found\")\n }\n\n return renderer\n}\n\nexport const onResize = (callback: (width: number, height: number) => void) => {\n const renderer = useRenderer()\n\n onMount(() => {\n renderer.on(\"resize\", callback)\n })\n\n onCleanup(() => {\n renderer.off(\"resize\", callback)\n })\n}\n\nexport const useTerminalDimensions = () => {\n const renderer = useRenderer()\n const [terminalDimensions, setTerminalDimensions] = createSignal<{\n width: number\n height: number\n }>({ width: renderer.width, height: renderer.height })\n\n const callback = (width: number, height: number) => {\n setTerminalDimensions({ width, height })\n }\n\n onResize(callback)\n\n return terminalDimensions\n}\n\nexport interface UseKeyboardOptions {\n /** Include release events - callback receives events with eventType: \"release\" */\n release?: boolean\n}\n\n/**\n * Subscribe to keyboard events.\n *\n * By default, only receives press events (including key repeats with `repeated: true`).\n * Use `options.release` to also receive release events.\n *\n * @example\n * // Basic press handling (includes repeats)\n * useKeyboard((e) => console.log(e.name, e.repeated ? \"(repeat)\" : \"\"))\n *\n * // With release events\n * useKeyboard((e) => {\n * if (e.eventType === \"release\") keys.delete(e.name)\n * else keys.add(e.name)\n * }, { release: true })\n */\nexport const useKeyboard = (callback: (key: KeyEvent) => void, options?: UseKeyboardOptions) => {\n const renderer = useRenderer()\n const keyHandler = renderer.keyInput\n onMount(() => {\n keyHandler.on(\"keypress\", callback)\n if (options?.release) {\n keyHandler.on(\"keyrelease\", callback)\n }\n })\n\n onCleanup(() => {\n keyHandler.off(\"keypress\", callback)\n if (options?.release) {\n keyHandler.off(\"keyrelease\", callback)\n }\n })\n}\n\nexport const usePaste = (callback: (event: PasteEvent) => void) => {\n const renderer = useRenderer()\n const keyHandler = renderer.keyInput\n onMount(() => {\n keyHandler.on(\"paste\", callback)\n })\n\n onCleanup(() => {\n keyHandler.off(\"paste\", callback)\n })\n}\n\n/**\n * @deprecated renamed to useKeyboard\n */\nexport const useKeyHandler = useKeyboard\n\nexport const onFocus = (callback: () => void) => {\n const renderer = useRenderer()\n\n onMount(() => {\n renderer.on(\"focus\", callback)\n })\n\n onCleanup(() => {\n renderer.off(\"focus\", callback)\n })\n}\n\nexport const onBlur = (callback: () => void) => {\n const renderer = useRenderer()\n\n onMount(() => {\n renderer.on(\"blur\", callback)\n })\n\n onCleanup(() => {\n renderer.off(\"blur\", callback)\n })\n}\n\nexport const useSelectionHandler = (callback: (selection: Selection) => void) => {\n const renderer = useRenderer()\n\n onMount(() => {\n renderer.on(\"selection\", callback)\n })\n\n onCleanup(() => {\n renderer.off(\"selection\", callback)\n })\n}\n\nexport const useTimeline = (options: TimelineOptions = {}): Timeline => {\n const timeline = new Timeline(options)\n\n onMount(() => {\n if (options.autoplay !== false) {\n timeline.play()\n }\n engine.register(timeline)\n })\n\n onCleanup(() => {\n timeline.pause()\n engine.unregister(timeline)\n })\n\n return timeline\n}\n",
8
- "import { createEffect, createMemo, getOwner, onCleanup, runWithOwner, splitProps, untrack } from \"solid-js\"\nimport { createSlotNode, createElement, insert, spread, type DomNode } from \"../reconciler.js\"\nimport type { JSX } from \"../../jsx-runtime.js\"\nimport type { ValidComponent, ComponentProps } from \"solid-js\"\nimport { useRenderer } from \"./hooks.js\"\n\n/**\n * Renders components somewhere else in the DOM\n *\n * Useful for inserting modals and tooltips outside of an cropping layout. If no mount point is given, the portal is inserted on the root renderable; it is wrapped in a `<box>`\n *\n * @description https://docs.solidjs.com/reference/components/portal\n */\nexport function Portal(props: { mount?: DomNode; ref?: (el: {}) => void; children: JSX.Element }): DomNode {\n const renderer = useRenderer()\n\n const marker = createSlotNode(),\n mount = () => props.mount || renderer.root,\n owner = getOwner()\n let content: undefined | (() => JSX.Element)\n\n createEffect(\n () => {\n // basically we backdoor into a sort of renderEffect here\n content || (content = runWithOwner(owner, () => createMemo(() => props.children)))\n const el = mount()\n const container = createElement(\"box\"),\n renderRoot = container\n\n Object.defineProperty(container, \"_$host\", {\n get() {\n return marker.parent\n },\n configurable: true,\n })\n insert(renderRoot, content)\n el.add(container)\n props.ref && (props as any).ref(container)\n onCleanup(() => el.remove(container.id))\n },\n undefined,\n { render: true },\n )\n return marker\n}\n\nexport type DynamicProps<T extends ValidComponent, P = ComponentProps<T>> = {\n [K in keyof P]: P[K]\n} & {\n component: T | undefined\n}\n\n/**\n * Renders an arbitrary component or element with the given props\n *\n * This is a lower level version of the `Dynamic` component, useful for\n * performance optimizations in libraries. Do not use this unless you know\n * what you are doing.\n * ```typescript\n * const element = () => multiline() ? 'textarea' : 'input';\n * createDynamic(element, { value: value() });\n * ```\n * @description https://docs.solidjs.com/reference/components/dynamic\n */\nexport function createDynamic<T extends ValidComponent>(\n component: () => T | undefined,\n props: ComponentProps<T>,\n): JSX.Element {\n const cached = createMemo<Function | string | undefined>(component)\n return createMemo(() => {\n const component = cached()\n switch (typeof component) {\n case \"function\":\n // if (isDev) Object.assign(component, { [$DEVCOMP]: true })\n return untrack(() => component(props))\n\n case \"string\":\n const el = createElement(component)\n spread(el, props)\n return el\n\n default:\n break\n }\n }) as unknown as JSX.Element\n}\n\n/**\n * Renders an arbitrary custom or native component and passes the other props\n * ```typescript\n * <Dynamic component={multiline() ? 'textarea' : 'input'} value={value()} />\n * ```\n * @description https://docs.solidjs.com/reference/components/dynamic\n */\nexport function Dynamic<T extends ValidComponent>(props: DynamicProps<T>): JSX.Element {\n const [, others] = splitProps(props, [\"component\"])\n return createDynamic(() => props.component, others as ComponentProps<T>)\n}\n",
8
+ "import { createEffect, createMemo, getOwner, onCleanup, runWithOwner, splitProps, untrack } from \"solid-js\"\nimport { createSlotNode, createElement, insert, spread, type DomNode } from \"../reconciler.js\"\nimport type { JSX } from \"../../jsx-runtime.js\"\nimport type { ValidComponent, ComponentProps } from \"solid-js\"\nimport { useRenderer } from \"./hooks.js\"\n\n/**\n * Renders components somewhere else in the DOM\n *\n * Useful for inserting modals and tooltips outside of an cropping layout. If no mount point is given, the portal is inserted on the root renderable; it is wrapped in a `<box>`\n *\n * @description https://docs.solidjs.com/reference/components/portal\n */\nexport function Portal(props: { mount?: DomNode; ref?: (el: {}) => void; children: JSX.Element }): JSX.Element {\n const renderer = useRenderer()\n\n const marker = createSlotNode(),\n mount = () => props.mount || renderer.root,\n owner = getOwner()\n let content: undefined | (() => JSX.Element)\n\n createEffect(\n () => {\n // basically we backdoor into a sort of renderEffect here\n content || (content = runWithOwner(owner, () => createMemo(() => props.children)))\n const el = mount()\n const container = createElement(\"box\"),\n renderRoot = container\n\n Object.defineProperty(container, \"_$host\", {\n get() {\n return marker.parent\n },\n configurable: true,\n })\n insert(renderRoot, content)\n el.add(container)\n props.ref && (props as any).ref(container)\n onCleanup(() => el.remove(container.id))\n },\n undefined,\n { render: true },\n )\n // The reconciler consumes this marker as the runtime representation of the portal JSX node.\n return marker as unknown as JSX.Element\n}\n\nexport type DynamicProps<T extends ValidComponent, P = ComponentProps<T>> = {\n [K in keyof P]: P[K]\n} & {\n component: T | undefined\n}\n\n/**\n * Renders an arbitrary component or element with the given props\n *\n * This is a lower level version of the `Dynamic` component, useful for\n * performance optimizations in libraries. Do not use this unless you know\n * what you are doing.\n * ```typescript\n * const element = () => multiline() ? 'textarea' : 'input';\n * createDynamic(element, { value: value() });\n * ```\n * @description https://docs.solidjs.com/reference/components/dynamic\n */\nexport function createDynamic<T extends ValidComponent>(\n component: () => T | undefined,\n props: ComponentProps<T>,\n): JSX.Element {\n const cached = createMemo<Function | string | undefined>(component)\n return createMemo(() => {\n const component = cached()\n switch (typeof component) {\n case \"function\":\n // if (isDev) Object.assign(component, { [$DEVCOMP]: true })\n return untrack(() => component(props))\n\n case \"string\":\n const el = createElement(component)\n spread(el, props)\n return el\n\n default:\n break\n }\n }) as unknown as JSX.Element\n}\n\n/**\n * Renders an arbitrary custom or native component and passes the other props\n * ```typescript\n * <Dynamic component={multiline() ? 'textarea' : 'input'} value={value()} />\n * ```\n * @description https://docs.solidjs.com/reference/components/dynamic\n */\nexport function Dynamic<T extends ValidComponent>(props: DynamicProps<T>): JSX.Element {\n const [, others] = splitProps(props, [\"component\"])\n return createDynamic(() => props.component, others as ComponentProps<T>)\n}\n",
9
9
  "/* @refresh skip */\nimport {\n BaseRenderable,\n createTextAttributes,\n InputRenderable,\n InputRenderableEvents,\n isTextNodeRenderable,\n parseColor,\n Renderable,\n RootTextNodeRenderable,\n ScrollBoxRenderable,\n SelectRenderable,\n SelectRenderableEvents,\n TabSelectRenderable,\n TabSelectRenderableEvents,\n TextNodeRenderable,\n TextRenderable,\n type TextNodeOptions,\n} from \"@opentui/core\"\nimport { decodeHTML } from \"entities\"\nimport { useContext } from \"solid-js\"\nimport { createRenderer } from \"./renderer/index.js\"\nimport { getComponentCatalogue, RendererContext, SlotRenderable } from \"./elements/index.js\"\nimport { getNextId } from \"./utils/id-counter.js\"\nimport { log } from \"./utils/log.js\"\n\nclass TextNode extends TextNodeRenderable {\n public static override fromString(text: string, options: Partial<TextNodeOptions> = {}): TextNode {\n const node = new TextNode(options)\n node.add(text)\n return node\n }\n}\n\nexport type DomNode = BaseRenderable\n\n/**\n * Gets the id of a node, or content if it's a text chunk.\n * Intended for use in logging.\n * @param node The node to get the id of.\n * @returns Log-friendly id of the node.\n */\nconst logId = (node?: DomNode): string | undefined => {\n if (!node) return undefined\n return node.id\n}\n\nconst getNodeChildren = (node: DomNode) => {\n let children\n if (node instanceof TextRenderable) {\n children = node.getTextChildren()\n } else {\n children = node.getChildren()\n }\n return children\n}\n\nfunction _insertNode(parent: DomNode, node: DomNode, anchor?: DomNode): void {\n log(\n \"Inserting node:\",\n logId(node),\n \"into parent:\",\n logId(parent),\n \"with anchor:\",\n logId(anchor),\n node instanceof TextNode,\n )\n\n if (node instanceof SlotRenderable) {\n node.parent = parent\n node = node.getSlotChild(parent)\n }\n\n if (anchor && anchor instanceof SlotRenderable) {\n anchor = anchor.getSlotChild(parent)\n }\n\n if (isTextNodeRenderable(node)) {\n if (!(parent instanceof TextRenderable) && !isTextNodeRenderable(parent)) {\n throw new Error(\n `Orphan text error: \"${node\n .toChunks()\n .map((c) => c.text)\n .join(\"\")}\" must have a <text> as a parent: ${parent.id} above ${node.id}`,\n )\n }\n }\n\n // Renderable nodes\n if (!(parent instanceof BaseRenderable)) {\n console.error(\"[INSERT]\", \"Tried to mount a non base renderable\")\n // Can't be a noop, have to panic\n throw new Error(\"Tried to mount a non base renderable\")\n }\n\n if (!anchor) {\n parent.add(node)\n return\n }\n\n const children = getNodeChildren(parent)\n\n const anchorIndex = children.findIndex((el) => el.id === anchor.id)\n if (anchorIndex === -1) {\n log(\"[INSERT]\", \"Could not find anchor\", logId(parent), logId(anchor), \"[children]\", ...children.map((c) => c.id))\n }\n\n parent.add(node, anchorIndex)\n}\n\nfunction _removeNode(parent: DomNode, node: DomNode): void {\n log(\"Removing node:\", logId(node), \"from parent:\", logId(parent))\n\n let slotParent: SlotRenderable | undefined\n\n if (node instanceof SlotRenderable) {\n slotParent = node\n const slotChild = slotParent.getSlotChildForRemoval(parent)\n if (!slotChild) {\n if (slotParent.parent === parent) {\n slotParent.parent = null\n }\n return\n }\n\n node = slotChild\n }\n\n parent.remove(node.id)\n\n slotParent?.didRemoveSlotChild(parent, node)\n\n process.nextTick(() => {\n if (node instanceof BaseRenderable && !node.parent) {\n node.destroyRecursively()\n return\n }\n })\n}\n\nfunction _createTextNode(value: string | number): TextNode {\n log(\"Creating text node:\", value)\n\n const id = getNextId(\"text-node\")\n\n if (typeof value === \"number\") {\n value = value.toString()\n }\n\n return TextNode.fromString(decodeHTML(value), { id })\n}\n\nexport function createSlotNode(): SlotRenderable {\n const id = getNextId(\"slot-node\")\n log(\"Creating slot node\", id)\n return new SlotRenderable(id)\n}\n\nfunction _getParentNode(childNode: DomNode): DomNode | undefined {\n log(\"Getting parent of node:\", logId(childNode))\n\n let parent = childNode.parent ?? undefined\n if (parent instanceof RootTextNodeRenderable) {\n parent = parent.textParent ?? undefined\n }\n // ScrollBox delegates add/remove to its internal `content` wrapper\n // (scrollbox → wrapper → viewport → content), so children report\n // `content` as their parent. Return the ScrollBox so the identity\n // check in cleanChildren (getParentNode(el) === parent) succeeds.\n const scrollBoxCandidate = parent?.parent?.parent?.parent\n if (scrollBoxCandidate instanceof ScrollBoxRenderable && scrollBoxCandidate.content === parent) {\n parent = scrollBoxCandidate\n }\n return parent\n}\n\nexport const {\n render: _render,\n effect,\n memo,\n createComponent,\n createElement,\n createTextNode,\n insertNode,\n insert,\n spread,\n setProp,\n mergeProps,\n use,\n} = createRenderer<DomNode>({\n createElement(tagName: string): DomNode {\n log(\"Creating element:\", tagName)\n const id = getNextId(tagName)\n const solidRenderer = useContext(RendererContext)\n if (!solidRenderer) {\n throw new Error(\"No renderer found\")\n }\n const elements = getComponentCatalogue()\n\n if (!elements[tagName]) {\n throw new Error(`[Reconciler] Unknown component type: ${tagName}`)\n }\n\n const element = new elements[tagName](solidRenderer, { id })\n log(\"Element created with id:\", id)\n return element\n },\n\n createTextNode: _createTextNode,\n\n createSlotNode,\n\n replaceText(textNode: TextNode, value: string): void {\n log(\"Replacing text:\", value, \"in node:\", logId(textNode))\n\n if (!(textNode instanceof TextNode)) return\n textNode.replace(decodeHTML(value), 0)\n },\n\n setProperty(node: DomNode, name: string, value: any, prev: any): void {\n if (name.startsWith(\"on:\")) {\n const eventName = name.slice(3)\n if (value) {\n node.on(eventName, value)\n }\n if (prev) {\n node.off(eventName, prev)\n }\n\n return\n }\n\n if (isTextNodeRenderable(node)) {\n if (name === \"href\") {\n node.link = { url: value }\n return\n }\n\n if (name === \"style\") {\n node.attributes |= createTextAttributes(value)\n node.fg = value.fg ? parseColor(value.fg) : node.fg\n node.bg = value.bg ? parseColor(value.bg) : node.bg\n return\n }\n\n return\n }\n\n switch (name) {\n case \"id\":\n log(\"Id mapped\", node.id, \"=\", value)\n node[name] = value\n break\n case \"focused\":\n if (!(node instanceof Renderable)) return\n if (value) {\n node.focus()\n } else {\n node.blur()\n }\n break\n case \"onChange\":\n let event: string | undefined = undefined\n if (node instanceof SelectRenderable) {\n event = SelectRenderableEvents.SELECTION_CHANGED\n } else if (node instanceof TabSelectRenderable) {\n event = TabSelectRenderableEvents.SELECTION_CHANGED\n } else if (node instanceof InputRenderable) {\n event = InputRenderableEvents.CHANGE\n }\n if (!event) break\n\n if (value) {\n node.on(event, value)\n }\n if (prev) {\n node.off(event, prev)\n }\n break\n case \"onInput\":\n if (node instanceof InputRenderable) {\n if (value) {\n node.on(InputRenderableEvents.INPUT, value)\n }\n\n if (prev) {\n node.off(InputRenderableEvents.INPUT, prev)\n }\n }\n\n break\n case \"onSubmit\":\n if (node instanceof InputRenderable) {\n if (value) {\n node.on(InputRenderableEvents.ENTER, value)\n }\n\n if (prev) {\n node.off(InputRenderableEvents.ENTER, prev)\n }\n } else {\n // @ts-expect-error todo validate if prop is actually settable\n node[name] = value\n }\n break\n case \"onSelect\":\n if (node instanceof SelectRenderable) {\n if (value) {\n node.on(SelectRenderableEvents.ITEM_SELECTED, value)\n }\n\n if (prev) {\n node.off(SelectRenderableEvents.ITEM_SELECTED, prev)\n }\n } else if (node instanceof TabSelectRenderable) {\n if (value) {\n node.on(TabSelectRenderableEvents.ITEM_SELECTED, value)\n }\n\n if (prev) {\n node.off(TabSelectRenderableEvents.ITEM_SELECTED, prev)\n }\n }\n break\n case \"style\":\n for (const prop in value) {\n const propVal = value[prop]\n if (prev !== undefined && propVal === prev[prop]) continue\n // @ts-expect-error todo validate if prop is actually settable\n node[prop] = propVal\n }\n break\n case \"text\":\n case \"content\": {\n const textValue = typeof value === \"string\" ? value : Array.isArray(value) ? value.join(\"\") : `${value}`\n // @ts-expect-error todo validate if prop is actually settable\n node[name] = decodeHTML(textValue)\n break\n }\n\n default:\n // @ts-expect-error todo validate if prop is actually settable\n node[name] = value\n }\n },\n\n isTextNode(node: DomNode): boolean {\n return node instanceof TextNode\n },\n\n insertNode: _insertNode,\n\n removeNode: _removeNode,\n\n getParentNode: _getParentNode,\n\n getFirstChild(node: DomNode): DomNode | undefined {\n log(\"Getting first child of node:\", logId(node))\n\n const firstChild = getNodeChildren(node)[0]\n\n if (!firstChild) {\n log(\"No first child found for node:\", logId(node))\n return undefined\n }\n\n log(\"First child found:\", logId(firstChild), \"for node:\", logId(node))\n return firstChild\n },\n\n getNextSibling(node: DomNode): DomNode | undefined {\n log(\"Getting next sibling of node:\", logId(node))\n\n const parent = _getParentNode(node)\n if (!parent) {\n log(\"No parent found for node:\", logId(node))\n return undefined\n }\n\n if (node instanceof SlotRenderable) {\n const layoutSlotNode = node.getSlotChildForRemoval(parent)\n if (layoutSlotNode) {\n node = layoutSlotNode\n }\n }\n\n const siblings = getNodeChildren(parent)\n const index = siblings.indexOf(node)\n\n if (index === -1 || index === siblings.length - 1) {\n log(\"No next sibling found for node:\", logId(node))\n return undefined\n }\n\n const nextSibling = siblings[index + 1]\n\n if (!nextSibling) {\n log(\"Next sibling is null for node:\", logId(node))\n return undefined\n }\n\n log(\"Next sibling found:\", logId(nextSibling), \"for node:\", logId(node))\n return nextSibling\n },\n})\n",
10
10
  "import { createRoot, createRenderEffect, createMemo, createComponent, untrack, mergeProps } from \"solid-js\"\n\nconst memo = (fn) => createMemo(() => fn())\n\nexport function createRenderer({\n createElement,\n createTextNode,\n createSlotNode,\n isTextNode,\n replaceText,\n insertNode,\n removeNode,\n setProperty,\n getParentNode,\n getFirstChild,\n getNextSibling,\n}) {\n function insert(parent, accessor, marker, initial) {\n if (marker !== undefined && !initial) initial = []\n if (typeof accessor !== \"function\") return insertExpression(parent, accessor, initial, marker)\n createRenderEffect((current) => insertExpression(parent, accessor(), current, marker), initial)\n }\n function insertExpression(parent, value, current, marker, unwrapArray) {\n while (typeof current === \"function\") current = current()\n if (value === current) return current\n const t = typeof value,\n multi = marker !== undefined\n if (t === \"string\" || t === \"number\") {\n if (t === \"number\") value = value.toString()\n if (multi) {\n let node = current[0]\n if (node && isTextNode(node)) {\n replaceText(node, value)\n } else node = createTextNode(value)\n current = cleanChildren(parent, current, marker, node)\n } else {\n if (current !== \"\" && typeof current === \"string\") {\n replaceText(getFirstChild(parent), (current = value))\n } else {\n cleanChildren(parent, current, marker, createTextNode(value))\n current = value\n }\n }\n } else if (value == null || t === \"boolean\") {\n current = cleanChildren(parent, current, marker)\n } else if (t === \"function\") {\n createRenderEffect(() => {\n let v = value()\n while (typeof v === \"function\") v = v()\n current = insertExpression(parent, v, current, marker)\n })\n return () => current\n } else if (Array.isArray(value)) {\n const array = []\n if (normalizeIncomingArray(array, value, unwrapArray)) {\n createRenderEffect(() => (current = insertExpression(parent, array, current, marker, true)))\n return () => current\n }\n if (array.length === 0) {\n const replacement = cleanChildren(parent, current, marker)\n if (multi) return (current = replacement)\n } else {\n if (Array.isArray(current)) {\n if (current.length === 0) {\n appendNodes(parent, array, marker)\n } else reconcileArrays(parent, current, array)\n } else if (current == null || current === \"\") {\n appendNodes(parent, array)\n } else {\n reconcileArrays(parent, (multi && current) || [getFirstChild(parent)], array)\n }\n }\n current = array\n } else {\n if (Array.isArray(current)) {\n if (multi) return (current = cleanChildren(parent, current, marker, value))\n cleanChildren(parent, current, null, value)\n } else if (current == null || current === \"\" || !getFirstChild(parent)) {\n insertNode(parent, value)\n } else replaceNode(parent, value, getFirstChild(parent))\n current = value\n }\n return current\n }\n function normalizeIncomingArray(normalized, array, unwrap) {\n let dynamic = false\n for (let i = 0, len = array.length; i < len; i++) {\n let item = array[i],\n t\n if (item == null || item === true || item === false);\n else if (Array.isArray(item)) {\n dynamic = normalizeIncomingArray(normalized, item) || dynamic\n } else if ((t = typeof item) === \"string\" || t === \"number\") {\n normalized.push(createTextNode(item))\n } else if (t === \"function\") {\n if (unwrap) {\n while (typeof item === \"function\") item = item()\n dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item]) || dynamic\n } else {\n normalized.push(item)\n dynamic = true\n }\n } else normalized.push(item)\n }\n return dynamic\n }\n function reconcileArrays(parentNode, a, b) {\n let bLength = b.length,\n aEnd = a.length,\n bEnd = bLength,\n aStart = 0,\n bStart = 0,\n after = getNextSibling(a[aEnd - 1]),\n map = null\n while (aStart < aEnd || bStart < bEnd) {\n if (a[aStart] === b[bStart]) {\n aStart++\n bStart++\n continue\n }\n while (a[aEnd - 1] === b[bEnd - 1]) {\n aEnd--\n bEnd--\n }\n if (aEnd === aStart) {\n const node = bEnd < bLength ? (bStart ? getNextSibling(b[bStart - 1]) : b[bEnd - bStart]) : after\n while (bStart < bEnd) insertNode(parentNode, b[bStart++], node)\n } else if (bEnd === bStart) {\n while (aStart < aEnd) {\n if (!map || !map.has(a[aStart])) removeNode(parentNode, a[aStart])\n aStart++\n }\n } else if (a[aStart] === b[bEnd - 1] && b[bStart] === a[aEnd - 1]) {\n const node = getNextSibling(a[--aEnd])\n insertNode(parentNode, b[bStart++], getNextSibling(a[aStart++]))\n insertNode(parentNode, b[--bEnd], node)\n a[aEnd] = b[bEnd]\n } else {\n if (!map) {\n map = new Map()\n let i = bStart\n while (i < bEnd) map.set(b[i], i++)\n }\n const index = map.get(a[aStart])\n if (index != null) {\n if (bStart < index && index < bEnd) {\n let i = aStart,\n sequence = 1,\n t\n while (++i < aEnd && i < bEnd) {\n if ((t = map.get(a[i])) == null || t !== index + sequence) break\n sequence++\n }\n if (sequence > index - bStart) {\n const node = a[aStart]\n while (bStart < index) insertNode(parentNode, b[bStart++], node)\n } else replaceNode(parentNode, b[bStart++], a[aStart++])\n } else aStart++\n } else removeNode(parentNode, a[aStart++])\n }\n }\n }\n function cleanChildren(parent, current, marker, replacement) {\n if (marker === undefined) {\n let removed\n while ((removed = getFirstChild(parent))) removeNode(parent, removed)\n replacement && insertNode(parent, replacement)\n return replacement ?? \"\"\n }\n const node = replacement || createSlotNode()\n if (current.length) {\n let inserted = false\n for (let i = current.length - 1; i >= 0; i--) {\n const el = current[i]\n if (node !== el) {\n const isParent = getParentNode(el) === parent\n if (!inserted && !i) isParent ? replaceNode(parent, node, el) : insertNode(parent, node, marker)\n else isParent && removeNode(parent, el)\n } else inserted = true\n }\n } else insertNode(parent, node, marker)\n return [node]\n }\n function appendNodes(parent, array, marker) {\n for (let i = 0, len = array.length; i < len; i++) insertNode(parent, array[i], marker)\n }\n function replaceNode(parent, newNode, oldNode) {\n insertNode(parent, newNode, oldNode)\n removeNode(parent, oldNode)\n }\n function spreadExpression(node, props, prevProps = {}, skipChildren) {\n props || (props = {})\n if (!skipChildren) {\n createRenderEffect(() => (prevProps.children = insertExpression(node, props.children, prevProps.children)))\n }\n createRenderEffect(() => props.ref && props.ref(node))\n createRenderEffect(() => {\n for (const prop in props) {\n if (prop === \"children\" || prop === \"ref\") continue\n const value = props[prop]\n if (value === prevProps[prop]) continue\n setProperty(node, prop, value, prevProps[prop])\n prevProps[prop] = value\n }\n })\n return prevProps\n }\n return {\n render(code, element) {\n let disposer\n createRoot((dispose) => {\n disposer = dispose\n insert(element, code())\n })\n return disposer\n },\n insert,\n spread(node, accessor, skipChildren) {\n if (typeof accessor === \"function\") {\n createRenderEffect((current) => spreadExpression(node, accessor(), current, skipChildren))\n } else spreadExpression(node, accessor, undefined, skipChildren)\n },\n createElement,\n createTextNode,\n insertNode,\n setProp(node, name, value, prev) {\n setProperty(node, name, value, prev)\n return value\n },\n mergeProps,\n effect: createRenderEffect,\n memo,\n createComponent,\n use(fn, element, arg) {\n return untrack(() => fn(element, arg))\n },\n }\n}\n",
11
11
  "import { createRenderer as createRendererDX } from \"./universal.js\"\nimport type { RendererOptions, Renderer } from \"./universal.js\"\nimport { mergeProps } from \"solid-js\"\n\nexport type { RendererOptions, Renderer } from \"./universal.js\"\n\nexport function createRenderer<NodeType>(options: RendererOptions<NodeType>): Renderer<NodeType> {\n const renderer = createRendererDX(options)\n renderer.mergeProps = mergeProps\n return renderer\n}\n",
@@ -16,7 +16,7 @@
16
16
  "import { spread as _$spread } from \"@opentui/solid\";\nimport { createElement as _$createElement } from \"@opentui/solid\";\nimport { TimeToFirstDrawRenderable } from \"@opentui/core\";\nimport { extend } from \"./elements/index.js\";\nextend({\n time_to_first_draw: TimeToFirstDrawRenderable\n});\nexport const TimeToFirstDraw = props => {\n return (() => {\n var _el$ = _$createElement(\"time_to_first_draw\");\n _$spread(_el$, props, false);\n return _el$;\n })();\n};",
17
17
  "import { memo as _$memo } from \"@opentui/solid\";\nimport { createComponent as _$createComponent } from \"@opentui/solid\";\nimport { mergeProps as _$mergeProps } from \"@opentui/solid\";\nimport { createSlotRegistry } from \"@opentui/core\";\nimport { children, createMemo, createSignal, ErrorBoundary, For, onCleanup, splitProps } from \"solid-js\";\nconst EMPTY_ENTRY_IDS = [];\nexport function createSolidSlotRegistry(renderer, context, options = {}) {\n // Solid slots intentionally use one registry key per renderer instance.\n // Use createSlotRegistry from @opentui/core with a custom key for independent registries.\n return createSlotRegistry(renderer, \"solid:slot-registry\", context, options);\n}\nexport function createSlot(registry, options = {}) {\n return function BoundSlot(props) {\n return _$createComponent(Slot, _$mergeProps(props, {\n registry: registry,\n get pluginFailurePlaceholder() {\n return options.pluginFailurePlaceholder;\n }\n }));\n };\n}\nexport function Slot(props) {\n const [local, slotProps] = splitProps(props, [\"registry\", \"name\", \"mode\", \"children\", \"pluginFailurePlaceholder\"]);\n const registry = () => local.registry;\n const pluginFailurePlaceholder = () => local.pluginFailurePlaceholder;\n const [version, setVersion] = createSignal(0);\n let queued = false;\n let disposed = false;\n const unsubscribe = registry().subscribe(() => {\n if (queued) return;\n queued = true;\n setVersion(current => current + 1);\n queueMicrotask(() => {\n queued = false;\n if (disposed) return;\n });\n });\n onCleanup(() => {\n disposed = true;\n unsubscribe();\n });\n const entries = createMemo((previousEntries = []) => {\n version();\n const resolvedEntries = registry().resolveEntries(local.name);\n if (resolvedEntries.length === 0) {\n if (previousEntries.length === 0) return previousEntries;\n return [];\n }\n const previousById = new Map(previousEntries.map(entry => [entry.id, entry]));\n const nextEntries = resolvedEntries.map(entry => {\n const previousEntry = previousById.get(entry.id);\n if (previousEntry && previousEntry.renderer === entry.renderer) {\n return previousEntry;\n }\n return entry;\n });\n const unchanged = nextEntries.length === previousEntries.length && nextEntries.every((entry, index) => entry === previousEntries[index]);\n if (unchanged) return previousEntries;\n return nextEntries;\n });\n const entryIds = createMemo(() => entries().map(entry => entry.id));\n const entriesById = createMemo(() => new Map(entries().map(entry => [entry.id, entry])));\n const slotName = () => String(local.name);\n const renderFallback = () => {\n const value = children(() => local.children)();\n return value ?? null;\n };\n const resolveFallback = fallbackValue => fallbackValue?.() ?? null;\n const renderPluginFailurePlaceholder = (failure, fallbackValue) => {\n if (!pluginFailurePlaceholder()) {\n return resolveFallback(fallbackValue);\n }\n try {\n return pluginFailurePlaceholder()(failure);\n } catch (error) {\n registry().reportPluginError({\n pluginId: failure.pluginId,\n slot: failure.slot ?? slotName(),\n phase: \"error_placeholder\",\n source: \"solid\",\n error\n });\n return resolveFallback(fallbackValue);\n }\n };\n const renderEntry = (entry, fallbackOnError) => {\n let initialRender;\n try {\n initialRender = entry.renderer(registry().context, slotProps);\n } catch (error) {\n const failure = registry().reportPluginError({\n pluginId: entry.id,\n slot: slotName(),\n phase: \"render\",\n source: \"solid\",\n error\n });\n return renderPluginFailurePlaceholder(failure, fallbackOnError);\n }\n const resolvedInitialRender = children(() => initialRender);\n const hasInitialOutput = resolvedInitialRender.toArray().some(node => node !== null && node !== undefined && node !== false);\n if (!hasInitialOutput) {\n return resolveFallback(fallbackOnError);\n }\n return _$createComponent(ErrorBoundary, {\n fallback: error => {\n const failure = registry().reportPluginError({\n pluginId: entry.id,\n slot: slotName(),\n phase: \"render\",\n source: \"solid\",\n error\n });\n return renderPluginFailurePlaceholder(failure, fallbackOnError);\n },\n get children() {\n return resolvedInitialRender();\n }\n });\n };\n const AppendEntry = appendProps => {\n const entry = createMemo(() => entriesById().get(appendProps.entryId));\n return _$memo(() => {\n const resolvedEntry = entry();\n if (!resolvedEntry) {\n return null;\n }\n return renderEntry(resolvedEntry);\n });\n };\n const appendEntryIds = createMemo(() => {\n const mode = local.mode ?? \"append\";\n if (mode !== \"append\") {\n return EMPTY_ENTRY_IDS;\n }\n return entryIds();\n });\n const appendView = [renderFallback, _$createComponent(For, {\n get each() {\n return appendEntryIds();\n },\n children: entryId => _$createComponent(AppendEntry, {\n entryId: entryId\n })\n })];\n return _$memo(() => {\n const resolvedEntries = entries();\n const mode = local.mode ?? \"append\";\n if (resolvedEntries.length === 0) {\n return renderFallback();\n }\n if (mode === \"single_winner\") {\n const winner = resolvedEntries[0];\n if (!winner) {\n return renderFallback();\n }\n return renderEntry(winner, renderFallback);\n }\n if (mode === \"replace\") {\n const renderedEntries = resolvedEntries.map(entry => renderEntry(entry));\n const hasPluginOutput = renderedEntries.some(entry => entry !== null && entry !== undefined && entry !== false);\n if (!hasPluginOutput) {\n return renderFallback();\n }\n return renderedEntries;\n }\n return appendView;\n });\n}"
18
18
  ],
19
- "mappings": "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",
19
+ "mappings": "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",
20
20
  "debugId": "E514C995048B172A64756E2164756E21",
21
21
  "names": []
22
22
  }
package/index.js.map CHANGED
@@ -5,7 +5,7 @@
5
5
  "import { CliRenderer, createCliRenderer, engine } from \"@opentui/core\";\nimport { createTestRenderer } from \"@opentui/core/testing\";\nimport { RendererContext } from \"./src/elements/index.js\";\nimport { _render as renderInternal, createComponent } from \"./src/reconciler.js\";\nconst mountSolidRoot = (renderer, node) => {\n let dispose;\n let disposeRequested = false;\n let disposed = false;\n let mounting = true;\n let destroyRequested = false;\n const originalDestroy = renderer.destroy.bind(renderer);\n const runDispose = () => {\n if (disposed) {\n return;\n }\n if (!dispose) {\n disposeRequested = true;\n return;\n }\n disposed = true;\n dispose();\n };\n renderer.once(\"destroy\", runDispose);\n renderer.destroy = () => {\n if (mounting) {\n destroyRequested = true;\n return;\n }\n originalDestroy();\n };\n try {\n dispose = renderInternal(() => createComponent(RendererContext.Provider, {\n get value() {\n return renderer;\n },\n get children() {\n return createComponent(node, {});\n }\n }), renderer.root);\n } finally {\n mounting = false;\n renderer.destroy = originalDestroy;\n }\n if (disposeRequested) {\n runDispose();\n }\n if (destroyRequested) {\n originalDestroy();\n }\n};\nexport const render = async (node, rendererOrConfig = {}) => {\n const renderer = rendererOrConfig instanceof CliRenderer ? rendererOrConfig : await createCliRenderer({\n ...rendererOrConfig,\n onDestroy: () => {\n rendererOrConfig.onDestroy?.();\n }\n });\n engine.attach(renderer);\n mountSolidRoot(renderer, node);\n};\nexport const testRender = async (node, renderConfig = {}) => {\n const testSetup = await createTestRenderer({\n ...renderConfig,\n onDestroy: () => {\n renderConfig.onDestroy?.();\n }\n });\n engine.attach(testSetup.renderer);\n mountSolidRoot(testSetup.renderer, node);\n return testSetup;\n};\nexport * from \"./src/reconciler.js\";\nexport * from \"./src/elements/index.js\";\nexport * from \"./src/scrollback.js\";\nexport * from \"./src/time-to-first-draw.js\";\nexport * from \"./src/plugins/slot.js\";\nexport * from \"./src/types/elements.js\";",
6
6
  "import { ASCIIFontRenderable, BoxRenderable, CodeRenderable, DiffRenderable, InputRenderable, LineNumberRenderable, MarkdownRenderable, ScrollBoxRenderable, SelectRenderable, TabSelectRenderable, TextareaRenderable, TextAttributes, TextNodeRenderable, TextRenderable } from \"@opentui/core\";\nclass SpanRenderable extends TextNodeRenderable {\n constructor(_ctx, options) {\n super(options);\n this._ctx = _ctx;\n }\n}\nexport const textNodeKeys = [\"span\", \"b\", \"strong\", \"i\", \"em\", \"u\", \"a\"];\nclass TextModifierRenderable extends SpanRenderable {\n constructor(options, modifier) {\n super(null, options);\n\n // Set appropriate attributes based on modifier type\n if (modifier === \"b\" || modifier === \"strong\") {\n this.attributes = (this.attributes || 0) | TextAttributes.BOLD;\n } else if (modifier === \"i\" || modifier === \"em\") {\n this.attributes = (this.attributes || 0) | TextAttributes.ITALIC;\n } else if (modifier === \"u\") {\n this.attributes = (this.attributes || 0) | TextAttributes.UNDERLINE;\n }\n }\n}\nexport class BoldSpanRenderable extends TextModifierRenderable {\n constructor(options) {\n super(options, \"b\");\n }\n}\nexport class ItalicSpanRenderable extends TextModifierRenderable {\n constructor(options) {\n super(options, \"i\");\n }\n}\nexport class UnderlineSpanRenderable extends TextModifierRenderable {\n constructor(options) {\n super(options, \"u\");\n }\n}\nexport class LineBreakRenderable extends SpanRenderable {\n constructor(_ctx, options) {\n super(null, options);\n this.add();\n }\n add() {\n return super.add(\"\\n\");\n }\n}\nexport class LinkRenderable extends SpanRenderable {\n constructor(_ctx, options) {\n const linkOptions = {\n ...options,\n link: {\n url: options.href\n }\n };\n super(null, linkOptions);\n }\n}\nexport const baseComponents = {\n box: BoxRenderable,\n text: TextRenderable,\n input: InputRenderable,\n select: SelectRenderable,\n textarea: TextareaRenderable,\n ascii_font: ASCIIFontRenderable,\n tab_select: TabSelectRenderable,\n scrollbox: ScrollBoxRenderable,\n code: CodeRenderable,\n diff: DiffRenderable,\n line_number: LineNumberRenderable,\n markdown: MarkdownRenderable,\n span: SpanRenderable,\n strong: BoldSpanRenderable,\n b: BoldSpanRenderable,\n em: ItalicSpanRenderable,\n i: ItalicSpanRenderable,\n u: UnderlineSpanRenderable,\n br: LineBreakRenderable,\n a: LinkRenderable\n};\nexport const componentCatalogue = {\n ...baseComponents\n};\n\n/**\n * Extend the component catalogue with new renderable components\n *\n * @example\n * ```tsx\n * // Extend with an object of components\n * extend({\n * consoleButton: ButtonRenderable,\n * customBox: CustomBoxRenderable\n * })\n * ```\n */\nexport function extend(objects) {\n Object.assign(componentCatalogue, objects);\n}\nexport function getComponentCatalogue() {\n return componentCatalogue;\n}",
7
7
  "import { engine, Timeline } from \"@opentui/core\";\nimport { createContext, createSignal, onCleanup, onMount, useContext } from \"solid-js/dist/solid.js\";\nexport const RendererContext = createContext();\nexport const useRenderer = () => {\n const renderer = useContext(RendererContext);\n if (!renderer) {\n throw new Error(\"No renderer found\");\n }\n return renderer;\n};\nexport const onResize = callback => {\n const renderer = useRenderer();\n onMount(() => {\n renderer.on(\"resize\", callback);\n });\n onCleanup(() => {\n renderer.off(\"resize\", callback);\n });\n};\nexport const useTerminalDimensions = () => {\n const renderer = useRenderer();\n const [terminalDimensions, setTerminalDimensions] = createSignal({\n width: renderer.width,\n height: renderer.height\n });\n const callback = (width, height) => {\n setTerminalDimensions({\n width,\n height\n });\n };\n onResize(callback);\n return terminalDimensions;\n};\n/**\n * Subscribe to keyboard events.\n *\n * By default, only receives press events (including key repeats with `repeated: true`).\n * Use `options.release` to also receive release events.\n *\n * @example\n * // Basic press handling (includes repeats)\n * useKeyboard((e) => console.log(e.name, e.repeated ? \"(repeat)\" : \"\"))\n *\n * // With release events\n * useKeyboard((e) => {\n * if (e.eventType === \"release\") keys.delete(e.name)\n * else keys.add(e.name)\n * }, { release: true })\n */\nexport const useKeyboard = (callback, options) => {\n const renderer = useRenderer();\n const keyHandler = renderer.keyInput;\n onMount(() => {\n keyHandler.on(\"keypress\", callback);\n if (options?.release) {\n keyHandler.on(\"keyrelease\", callback);\n }\n });\n onCleanup(() => {\n keyHandler.off(\"keypress\", callback);\n if (options?.release) {\n keyHandler.off(\"keyrelease\", callback);\n }\n });\n};\nexport const usePaste = callback => {\n const renderer = useRenderer();\n const keyHandler = renderer.keyInput;\n onMount(() => {\n keyHandler.on(\"paste\", callback);\n });\n onCleanup(() => {\n keyHandler.off(\"paste\", callback);\n });\n};\n\n/**\n * @deprecated renamed to useKeyboard\n */\nexport const useKeyHandler = useKeyboard;\nexport const onFocus = callback => {\n const renderer = useRenderer();\n onMount(() => {\n renderer.on(\"focus\", callback);\n });\n onCleanup(() => {\n renderer.off(\"focus\", callback);\n });\n};\nexport const onBlur = callback => {\n const renderer = useRenderer();\n onMount(() => {\n renderer.on(\"blur\", callback);\n });\n onCleanup(() => {\n renderer.off(\"blur\", callback);\n });\n};\nexport const useSelectionHandler = callback => {\n const renderer = useRenderer();\n onMount(() => {\n renderer.on(\"selection\", callback);\n });\n onCleanup(() => {\n renderer.off(\"selection\", callback);\n });\n};\nexport const useTimeline = (options = {}) => {\n const timeline = new Timeline(options);\n onMount(() => {\n if (options.autoplay !== false) {\n timeline.play();\n }\n engine.register(timeline);\n });\n onCleanup(() => {\n timeline.pause();\n engine.unregister(timeline);\n });\n return timeline;\n};",
8
- "import { createEffect, createMemo, getOwner, onCleanup, runWithOwner, splitProps, untrack } from \"solid-js/dist/solid.js\";\nimport { createSlotNode, createElement, insert, spread } from \"../reconciler.js\";\nimport { useRenderer } from \"./hooks.js\";\n\n/**\n * Renders components somewhere else in the DOM\n *\n * Useful for inserting modals and tooltips outside of an cropping layout. If no mount point is given, the portal is inserted on the root renderable; it is wrapped in a `<box>`\n *\n * @description https://docs.solidjs.com/reference/components/portal\n */\nexport function Portal(props) {\n const renderer = useRenderer();\n const marker = createSlotNode(),\n mount = () => props.mount || renderer.root,\n owner = getOwner();\n let content;\n createEffect(() => {\n // basically we backdoor into a sort of renderEffect here\n content || (content = runWithOwner(owner, () => createMemo(() => props.children)));\n const el = mount();\n const container = createElement(\"box\"),\n renderRoot = container;\n Object.defineProperty(container, \"_$host\", {\n get() {\n return marker.parent;\n },\n configurable: true\n });\n insert(renderRoot, content);\n el.add(container);\n props.ref && props.ref(container);\n onCleanup(() => el.remove(container.id));\n }, undefined, {\n render: true\n });\n return marker;\n}\n/**\n * Renders an arbitrary component or element with the given props\n *\n * This is a lower level version of the `Dynamic` component, useful for\n * performance optimizations in libraries. Do not use this unless you know\n * what you are doing.\n * ```typescript\n * const element = () => multiline() ? 'textarea' : 'input';\n * createDynamic(element, { value: value() });\n * ```\n * @description https://docs.solidjs.com/reference/components/dynamic\n */\nexport function createDynamic(component, props) {\n const cached = createMemo(component);\n return createMemo(() => {\n const component = cached();\n switch (typeof component) {\n case \"function\":\n // if (isDev) Object.assign(component, { [$DEVCOMP]: true })\n return untrack(() => component(props));\n case \"string\":\n const el = createElement(component);\n spread(el, props);\n return el;\n default:\n break;\n }\n });\n}\n\n/**\n * Renders an arbitrary custom or native component and passes the other props\n * ```typescript\n * <Dynamic component={multiline() ? 'textarea' : 'input'} value={value()} />\n * ```\n * @description https://docs.solidjs.com/reference/components/dynamic\n */\nexport function Dynamic(props) {\n const [, others] = splitProps(props, [\"component\"]);\n return createDynamic(() => props.component, others);\n}",
8
+ "import { createEffect, createMemo, getOwner, onCleanup, runWithOwner, splitProps, untrack } from \"solid-js/dist/solid.js\";\nimport { createSlotNode, createElement, insert, spread } from \"../reconciler.js\";\nimport { useRenderer } from \"./hooks.js\";\n\n/**\n * Renders components somewhere else in the DOM\n *\n * Useful for inserting modals and tooltips outside of an cropping layout. If no mount point is given, the portal is inserted on the root renderable; it is wrapped in a `<box>`\n *\n * @description https://docs.solidjs.com/reference/components/portal\n */\nexport function Portal(props) {\n const renderer = useRenderer();\n const marker = createSlotNode(),\n mount = () => props.mount || renderer.root,\n owner = getOwner();\n let content;\n createEffect(() => {\n // basically we backdoor into a sort of renderEffect here\n content || (content = runWithOwner(owner, () => createMemo(() => props.children)));\n const el = mount();\n const container = createElement(\"box\"),\n renderRoot = container;\n Object.defineProperty(container, \"_$host\", {\n get() {\n return marker.parent;\n },\n configurable: true\n });\n insert(renderRoot, content);\n el.add(container);\n props.ref && props.ref(container);\n onCleanup(() => el.remove(container.id));\n }, undefined, {\n render: true\n });\n // The reconciler consumes this marker as the runtime representation of the portal JSX node.\n return marker;\n}\n/**\n * Renders an arbitrary component or element with the given props\n *\n * This is a lower level version of the `Dynamic` component, useful for\n * performance optimizations in libraries. Do not use this unless you know\n * what you are doing.\n * ```typescript\n * const element = () => multiline() ? 'textarea' : 'input';\n * createDynamic(element, { value: value() });\n * ```\n * @description https://docs.solidjs.com/reference/components/dynamic\n */\nexport function createDynamic(component, props) {\n const cached = createMemo(component);\n return createMemo(() => {\n const component = cached();\n switch (typeof component) {\n case \"function\":\n // if (isDev) Object.assign(component, { [$DEVCOMP]: true })\n return untrack(() => component(props));\n case \"string\":\n const el = createElement(component);\n spread(el, props);\n return el;\n default:\n break;\n }\n });\n}\n\n/**\n * Renders an arbitrary custom or native component and passes the other props\n * ```typescript\n * <Dynamic component={multiline() ? 'textarea' : 'input'} value={value()} />\n * ```\n * @description https://docs.solidjs.com/reference/components/dynamic\n */\nexport function Dynamic(props) {\n const [, others] = splitProps(props, [\"component\"]);\n return createDynamic(() => props.component, others);\n}",
9
9
  "/* @refresh skip */\nimport { BaseRenderable, createTextAttributes, InputRenderable, InputRenderableEvents, isTextNodeRenderable, parseColor, Renderable, RootTextNodeRenderable, ScrollBoxRenderable, SelectRenderable, SelectRenderableEvents, TabSelectRenderable, TabSelectRenderableEvents, TextNodeRenderable, TextRenderable } from \"@opentui/core\";\nimport { decodeHTML } from \"entities\";\nimport { useContext } from \"solid-js/dist/solid.js\";\nimport { createRenderer } from \"./renderer/index.js\";\nimport { getComponentCatalogue, RendererContext, SlotRenderable } from \"./elements/index.js\";\nimport { getNextId } from \"./utils/id-counter.js\";\nimport { log } from \"./utils/log.js\";\nclass TextNode extends TextNodeRenderable {\n static fromString(text, options = {}) {\n const node = new TextNode(options);\n node.add(text);\n return node;\n }\n}\n/**\n * Gets the id of a node, or content if it's a text chunk.\n * Intended for use in logging.\n * @param node The node to get the id of.\n * @returns Log-friendly id of the node.\n */\nconst logId = node => {\n if (!node) return undefined;\n return node.id;\n};\nconst getNodeChildren = node => {\n let children;\n if (node instanceof TextRenderable) {\n children = node.getTextChildren();\n } else {\n children = node.getChildren();\n }\n return children;\n};\nfunction _insertNode(parent, node, anchor) {\n log(\"Inserting node:\", logId(node), \"into parent:\", logId(parent), \"with anchor:\", logId(anchor), node instanceof TextNode);\n if (node instanceof SlotRenderable) {\n node.parent = parent;\n node = node.getSlotChild(parent);\n }\n if (anchor && anchor instanceof SlotRenderable) {\n anchor = anchor.getSlotChild(parent);\n }\n if (isTextNodeRenderable(node)) {\n if (!(parent instanceof TextRenderable) && !isTextNodeRenderable(parent)) {\n throw new Error(`Orphan text error: \"${node.toChunks().map(c => c.text).join(\"\")}\" must have a <text> as a parent: ${parent.id} above ${node.id}`);\n }\n }\n\n // Renderable nodes\n if (!(parent instanceof BaseRenderable)) {\n console.error(\"[INSERT]\", \"Tried to mount a non base renderable\");\n // Can't be a noop, have to panic\n throw new Error(\"Tried to mount a non base renderable\");\n }\n if (!anchor) {\n parent.add(node);\n return;\n }\n const children = getNodeChildren(parent);\n const anchorIndex = children.findIndex(el => el.id === anchor.id);\n if (anchorIndex === -1) {\n log(\"[INSERT]\", \"Could not find anchor\", logId(parent), logId(anchor), \"[children]\", ...children.map(c => c.id));\n }\n parent.add(node, anchorIndex);\n}\nfunction _removeNode(parent, node) {\n log(\"Removing node:\", logId(node), \"from parent:\", logId(parent));\n let slotParent;\n if (node instanceof SlotRenderable) {\n slotParent = node;\n const slotChild = slotParent.getSlotChildForRemoval(parent);\n if (!slotChild) {\n if (slotParent.parent === parent) {\n slotParent.parent = null;\n }\n return;\n }\n node = slotChild;\n }\n parent.remove(node.id);\n slotParent?.didRemoveSlotChild(parent, node);\n process.nextTick(() => {\n if (node instanceof BaseRenderable && !node.parent) {\n node.destroyRecursively();\n return;\n }\n });\n}\nfunction _createTextNode(value) {\n log(\"Creating text node:\", value);\n const id = getNextId(\"text-node\");\n if (typeof value === \"number\") {\n value = value.toString();\n }\n return TextNode.fromString(decodeHTML(value), {\n id\n });\n}\nexport function createSlotNode() {\n const id = getNextId(\"slot-node\");\n log(\"Creating slot node\", id);\n return new SlotRenderable(id);\n}\nfunction _getParentNode(childNode) {\n log(\"Getting parent of node:\", logId(childNode));\n let parent = childNode.parent ?? undefined;\n if (parent instanceof RootTextNodeRenderable) {\n parent = parent.textParent ?? undefined;\n }\n // ScrollBox delegates add/remove to its internal `content` wrapper\n // (scrollbox → wrapper → viewport → content), so children report\n // `content` as their parent. Return the ScrollBox so the identity\n // check in cleanChildren (getParentNode(el) === parent) succeeds.\n const scrollBoxCandidate = parent?.parent?.parent?.parent;\n if (scrollBoxCandidate instanceof ScrollBoxRenderable && scrollBoxCandidate.content === parent) {\n parent = scrollBoxCandidate;\n }\n return parent;\n}\nexport const {\n render: _render,\n effect,\n memo,\n createComponent,\n createElement,\n createTextNode,\n insertNode,\n insert,\n spread,\n setProp,\n mergeProps,\n use\n} = createRenderer({\n createElement(tagName) {\n log(\"Creating element:\", tagName);\n const id = getNextId(tagName);\n const solidRenderer = useContext(RendererContext);\n if (!solidRenderer) {\n throw new Error(\"No renderer found\");\n }\n const elements = getComponentCatalogue();\n if (!elements[tagName]) {\n throw new Error(`[Reconciler] Unknown component type: ${tagName}`);\n }\n const element = new elements[tagName](solidRenderer, {\n id\n });\n log(\"Element created with id:\", id);\n return element;\n },\n createTextNode: _createTextNode,\n createSlotNode,\n replaceText(textNode, value) {\n log(\"Replacing text:\", value, \"in node:\", logId(textNode));\n if (!(textNode instanceof TextNode)) return;\n textNode.replace(decodeHTML(value), 0);\n },\n setProperty(node, name, value, prev) {\n if (name.startsWith(\"on:\")) {\n const eventName = name.slice(3);\n if (value) {\n node.on(eventName, value);\n }\n if (prev) {\n node.off(eventName, prev);\n }\n return;\n }\n if (isTextNodeRenderable(node)) {\n if (name === \"href\") {\n node.link = {\n url: value\n };\n return;\n }\n if (name === \"style\") {\n node.attributes |= createTextAttributes(value);\n node.fg = value.fg ? parseColor(value.fg) : node.fg;\n node.bg = value.bg ? parseColor(value.bg) : node.bg;\n return;\n }\n return;\n }\n switch (name) {\n case \"id\":\n log(\"Id mapped\", node.id, \"=\", value);\n node[name] = value;\n break;\n case \"focused\":\n if (!(node instanceof Renderable)) return;\n if (value) {\n node.focus();\n } else {\n node.blur();\n }\n break;\n case \"onChange\":\n let event = undefined;\n if (node instanceof SelectRenderable) {\n event = SelectRenderableEvents.SELECTION_CHANGED;\n } else if (node instanceof TabSelectRenderable) {\n event = TabSelectRenderableEvents.SELECTION_CHANGED;\n } else if (node instanceof InputRenderable) {\n event = InputRenderableEvents.CHANGE;\n }\n if (!event) break;\n if (value) {\n node.on(event, value);\n }\n if (prev) {\n node.off(event, prev);\n }\n break;\n case \"onInput\":\n if (node instanceof InputRenderable) {\n if (value) {\n node.on(InputRenderableEvents.INPUT, value);\n }\n if (prev) {\n node.off(InputRenderableEvents.INPUT, prev);\n }\n }\n break;\n case \"onSubmit\":\n if (node instanceof InputRenderable) {\n if (value) {\n node.on(InputRenderableEvents.ENTER, value);\n }\n if (prev) {\n node.off(InputRenderableEvents.ENTER, prev);\n }\n } else {\n // @ts-expect-error todo validate if prop is actually settable\n node[name] = value;\n }\n break;\n case \"onSelect\":\n if (node instanceof SelectRenderable) {\n if (value) {\n node.on(SelectRenderableEvents.ITEM_SELECTED, value);\n }\n if (prev) {\n node.off(SelectRenderableEvents.ITEM_SELECTED, prev);\n }\n } else if (node instanceof TabSelectRenderable) {\n if (value) {\n node.on(TabSelectRenderableEvents.ITEM_SELECTED, value);\n }\n if (prev) {\n node.off(TabSelectRenderableEvents.ITEM_SELECTED, prev);\n }\n }\n break;\n case \"style\":\n for (const prop in value) {\n const propVal = value[prop];\n if (prev !== undefined && propVal === prev[prop]) continue;\n // @ts-expect-error todo validate if prop is actually settable\n node[prop] = propVal;\n }\n break;\n case \"text\":\n case \"content\":\n {\n const textValue = typeof value === \"string\" ? value : Array.isArray(value) ? value.join(\"\") : `${value}`;\n // @ts-expect-error todo validate if prop is actually settable\n node[name] = decodeHTML(textValue);\n break;\n }\n default:\n // @ts-expect-error todo validate if prop is actually settable\n node[name] = value;\n }\n },\n isTextNode(node) {\n return node instanceof TextNode;\n },\n insertNode: _insertNode,\n removeNode: _removeNode,\n getParentNode: _getParentNode,\n getFirstChild(node) {\n log(\"Getting first child of node:\", logId(node));\n const firstChild = getNodeChildren(node)[0];\n if (!firstChild) {\n log(\"No first child found for node:\", logId(node));\n return undefined;\n }\n log(\"First child found:\", logId(firstChild), \"for node:\", logId(node));\n return firstChild;\n },\n getNextSibling(node) {\n log(\"Getting next sibling of node:\", logId(node));\n const parent = _getParentNode(node);\n if (!parent) {\n log(\"No parent found for node:\", logId(node));\n return undefined;\n }\n if (node instanceof SlotRenderable) {\n const layoutSlotNode = node.getSlotChildForRemoval(parent);\n if (layoutSlotNode) {\n node = layoutSlotNode;\n }\n }\n const siblings = getNodeChildren(parent);\n const index = siblings.indexOf(node);\n if (index === -1 || index === siblings.length - 1) {\n log(\"No next sibling found for node:\", logId(node));\n return undefined;\n }\n const nextSibling = siblings[index + 1];\n if (!nextSibling) {\n log(\"Next sibling is null for node:\", logId(node));\n return undefined;\n }\n log(\"Next sibling found:\", logId(nextSibling), \"for node:\", logId(node));\n return nextSibling;\n }\n});",
10
10
  "import { createRoot, createRenderEffect, createMemo, createComponent, untrack, mergeProps } from \"solid-js/dist/solid.js\";\nconst memo = fn => createMemo(() => fn());\nexport function createRenderer({\n createElement,\n createTextNode,\n createSlotNode,\n isTextNode,\n replaceText,\n insertNode,\n removeNode,\n setProperty,\n getParentNode,\n getFirstChild,\n getNextSibling\n}) {\n function insert(parent, accessor, marker, initial) {\n if (marker !== undefined && !initial) initial = [];\n if (typeof accessor !== \"function\") return insertExpression(parent, accessor, initial, marker);\n createRenderEffect(current => insertExpression(parent, accessor(), current, marker), initial);\n }\n function insertExpression(parent, value, current, marker, unwrapArray) {\n while (typeof current === \"function\") current = current();\n if (value === current) return current;\n const t = typeof value,\n multi = marker !== undefined;\n if (t === \"string\" || t === \"number\") {\n if (t === \"number\") value = value.toString();\n if (multi) {\n let node = current[0];\n if (node && isTextNode(node)) {\n replaceText(node, value);\n } else node = createTextNode(value);\n current = cleanChildren(parent, current, marker, node);\n } else {\n if (current !== \"\" && typeof current === \"string\") {\n replaceText(getFirstChild(parent), current = value);\n } else {\n cleanChildren(parent, current, marker, createTextNode(value));\n current = value;\n }\n }\n } else if (value == null || t === \"boolean\") {\n current = cleanChildren(parent, current, marker);\n } else if (t === \"function\") {\n createRenderEffect(() => {\n let v = value();\n while (typeof v === \"function\") v = v();\n current = insertExpression(parent, v, current, marker);\n });\n return () => current;\n } else if (Array.isArray(value)) {\n const array = [];\n if (normalizeIncomingArray(array, value, unwrapArray)) {\n createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));\n return () => current;\n }\n if (array.length === 0) {\n const replacement = cleanChildren(parent, current, marker);\n if (multi) return current = replacement;\n } else {\n if (Array.isArray(current)) {\n if (current.length === 0) {\n appendNodes(parent, array, marker);\n } else reconcileArrays(parent, current, array);\n } else if (current == null || current === \"\") {\n appendNodes(parent, array);\n } else {\n reconcileArrays(parent, multi && current || [getFirstChild(parent)], array);\n }\n }\n current = array;\n } else {\n if (Array.isArray(current)) {\n if (multi) return current = cleanChildren(parent, current, marker, value);\n cleanChildren(parent, current, null, value);\n } else if (current == null || current === \"\" || !getFirstChild(parent)) {\n insertNode(parent, value);\n } else replaceNode(parent, value, getFirstChild(parent));\n current = value;\n }\n return current;\n }\n function normalizeIncomingArray(normalized, array, unwrap) {\n let dynamic = false;\n for (let i = 0, len = array.length; i < len; i++) {\n let item = array[i],\n t;\n if (item == null || item === true || item === false) ;else if (Array.isArray(item)) {\n dynamic = normalizeIncomingArray(normalized, item) || dynamic;\n } else if ((t = typeof item) === \"string\" || t === \"number\") {\n normalized.push(createTextNode(item));\n } else if (t === \"function\") {\n if (unwrap) {\n while (typeof item === \"function\") item = item();\n dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item]) || dynamic;\n } else {\n normalized.push(item);\n dynamic = true;\n }\n } else normalized.push(item);\n }\n return dynamic;\n }\n function reconcileArrays(parentNode, a, b) {\n let bLength = b.length,\n aEnd = a.length,\n bEnd = bLength,\n aStart = 0,\n bStart = 0,\n after = getNextSibling(a[aEnd - 1]),\n map = null;\n while (aStart < aEnd || bStart < bEnd) {\n if (a[aStart] === b[bStart]) {\n aStart++;\n bStart++;\n continue;\n }\n while (a[aEnd - 1] === b[bEnd - 1]) {\n aEnd--;\n bEnd--;\n }\n if (aEnd === aStart) {\n const node = bEnd < bLength ? bStart ? getNextSibling(b[bStart - 1]) : b[bEnd - bStart] : after;\n while (bStart < bEnd) insertNode(parentNode, b[bStart++], node);\n } else if (bEnd === bStart) {\n while (aStart < aEnd) {\n if (!map || !map.has(a[aStart])) removeNode(parentNode, a[aStart]);\n aStart++;\n }\n } else if (a[aStart] === b[bEnd - 1] && b[bStart] === a[aEnd - 1]) {\n const node = getNextSibling(a[--aEnd]);\n insertNode(parentNode, b[bStart++], getNextSibling(a[aStart++]));\n insertNode(parentNode, b[--bEnd], node);\n a[aEnd] = b[bEnd];\n } else {\n if (!map) {\n map = new Map();\n let i = bStart;\n while (i < bEnd) map.set(b[i], i++);\n }\n const index = map.get(a[aStart]);\n if (index != null) {\n if (bStart < index && index < bEnd) {\n let i = aStart,\n sequence = 1,\n t;\n while (++i < aEnd && i < bEnd) {\n if ((t = map.get(a[i])) == null || t !== index + sequence) break;\n sequence++;\n }\n if (sequence > index - bStart) {\n const node = a[aStart];\n while (bStart < index) insertNode(parentNode, b[bStart++], node);\n } else replaceNode(parentNode, b[bStart++], a[aStart++]);\n } else aStart++;\n } else removeNode(parentNode, a[aStart++]);\n }\n }\n }\n function cleanChildren(parent, current, marker, replacement) {\n if (marker === undefined) {\n let removed;\n while (removed = getFirstChild(parent)) removeNode(parent, removed);\n replacement && insertNode(parent, replacement);\n return replacement ?? \"\";\n }\n const node = replacement || createSlotNode();\n if (current.length) {\n let inserted = false;\n for (let i = current.length - 1; i >= 0; i--) {\n const el = current[i];\n if (node !== el) {\n const isParent = getParentNode(el) === parent;\n if (!inserted && !i) isParent ? replaceNode(parent, node, el) : insertNode(parent, node, marker);else isParent && removeNode(parent, el);\n } else inserted = true;\n }\n } else insertNode(parent, node, marker);\n return [node];\n }\n function appendNodes(parent, array, marker) {\n for (let i = 0, len = array.length; i < len; i++) insertNode(parent, array[i], marker);\n }\n function replaceNode(parent, newNode, oldNode) {\n insertNode(parent, newNode, oldNode);\n removeNode(parent, oldNode);\n }\n function spreadExpression(node, props, prevProps = {}, skipChildren) {\n props || (props = {});\n if (!skipChildren) {\n createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));\n }\n createRenderEffect(() => props.ref && props.ref(node));\n createRenderEffect(() => {\n for (const prop in props) {\n if (prop === \"children\" || prop === \"ref\") continue;\n const value = props[prop];\n if (value === prevProps[prop]) continue;\n setProperty(node, prop, value, prevProps[prop]);\n prevProps[prop] = value;\n }\n });\n return prevProps;\n }\n return {\n render(code, element) {\n let disposer;\n createRoot(dispose => {\n disposer = dispose;\n insert(element, code());\n });\n return disposer;\n },\n insert,\n spread(node, accessor, skipChildren) {\n if (typeof accessor === \"function\") {\n createRenderEffect(current => spreadExpression(node, accessor(), current, skipChildren));\n } else spreadExpression(node, accessor, undefined, skipChildren);\n },\n createElement,\n createTextNode,\n insertNode,\n setProp(node, name, value, prev) {\n setProperty(node, name, value, prev);\n return value;\n },\n mergeProps,\n effect: createRenderEffect,\n memo,\n createComponent,\n use(fn, element, arg) {\n return untrack(() => fn(element, arg));\n }\n };\n}",
11
11
  "import { createRenderer as createRendererDX } from \"./universal.js\";\nimport { mergeProps } from \"solid-js/dist/solid.js\";\nexport function createRenderer(options) {\n const renderer = createRendererDX(options);\n renderer.mergeProps = mergeProps;\n return renderer;\n}",
@@ -16,7 +16,7 @@
16
16
  "import { spread as _$spread } from \"@opentui/solid\";\nimport { createElement as _$createElement } from \"@opentui/solid\";\nimport { TimeToFirstDrawRenderable } from \"@opentui/core\";\nimport { extend } from \"./elements/index.js\";\nextend({\n time_to_first_draw: TimeToFirstDrawRenderable\n});\nexport const TimeToFirstDraw = props => {\n return (() => {\n var _el$ = _$createElement(\"time_to_first_draw\");\n _$spread(_el$, props, false);\n return _el$;\n })();\n};",
17
17
  "import { memo as _$memo } from \"@opentui/solid\";\nimport { createComponent as _$createComponent } from \"@opentui/solid\";\nimport { mergeProps as _$mergeProps } from \"@opentui/solid\";\nimport { createSlotRegistry } from \"@opentui/core\";\nimport { children, createMemo, createSignal, ErrorBoundary, For, onCleanup, splitProps } from \"solid-js/dist/solid.js\";\nconst EMPTY_ENTRY_IDS = [];\nexport function createSolidSlotRegistry(renderer, context, options = {}) {\n // Solid slots intentionally use one registry key per renderer instance.\n // Use createSlotRegistry from @opentui/core with a custom key for independent registries.\n return createSlotRegistry(renderer, \"solid:slot-registry\", context, options);\n}\nexport function createSlot(registry, options = {}) {\n return function BoundSlot(props) {\n return _$createComponent(Slot, _$mergeProps(props, {\n registry: registry,\n get pluginFailurePlaceholder() {\n return options.pluginFailurePlaceholder;\n }\n }));\n };\n}\nexport function Slot(props) {\n const [local, slotProps] = splitProps(props, [\"registry\", \"name\", \"mode\", \"children\", \"pluginFailurePlaceholder\"]);\n const registry = () => local.registry;\n const pluginFailurePlaceholder = () => local.pluginFailurePlaceholder;\n const [version, setVersion] = createSignal(0);\n let queued = false;\n let disposed = false;\n const unsubscribe = registry().subscribe(() => {\n if (queued) return;\n queued = true;\n setVersion(current => current + 1);\n queueMicrotask(() => {\n queued = false;\n if (disposed) return;\n });\n });\n onCleanup(() => {\n disposed = true;\n unsubscribe();\n });\n const entries = createMemo((previousEntries = []) => {\n version();\n const resolvedEntries = registry().resolveEntries(local.name);\n if (resolvedEntries.length === 0) {\n if (previousEntries.length === 0) return previousEntries;\n return [];\n }\n const previousById = new Map(previousEntries.map(entry => [entry.id, entry]));\n const nextEntries = resolvedEntries.map(entry => {\n const previousEntry = previousById.get(entry.id);\n if (previousEntry && previousEntry.renderer === entry.renderer) {\n return previousEntry;\n }\n return entry;\n });\n const unchanged = nextEntries.length === previousEntries.length && nextEntries.every((entry, index) => entry === previousEntries[index]);\n if (unchanged) return previousEntries;\n return nextEntries;\n });\n const entryIds = createMemo(() => entries().map(entry => entry.id));\n const entriesById = createMemo(() => new Map(entries().map(entry => [entry.id, entry])));\n const slotName = () => String(local.name);\n const renderFallback = () => {\n const value = children(() => local.children)();\n return value ?? null;\n };\n const resolveFallback = fallbackValue => fallbackValue?.() ?? null;\n const renderPluginFailurePlaceholder = (failure, fallbackValue) => {\n if (!pluginFailurePlaceholder()) {\n return resolveFallback(fallbackValue);\n }\n try {\n return pluginFailurePlaceholder()(failure);\n } catch (error) {\n registry().reportPluginError({\n pluginId: failure.pluginId,\n slot: failure.slot ?? slotName(),\n phase: \"error_placeholder\",\n source: \"solid\",\n error\n });\n return resolveFallback(fallbackValue);\n }\n };\n const renderEntry = (entry, fallbackOnError) => {\n let initialRender;\n try {\n initialRender = entry.renderer(registry().context, slotProps);\n } catch (error) {\n const failure = registry().reportPluginError({\n pluginId: entry.id,\n slot: slotName(),\n phase: \"render\",\n source: \"solid\",\n error\n });\n return renderPluginFailurePlaceholder(failure, fallbackOnError);\n }\n const resolvedInitialRender = children(() => initialRender);\n const hasInitialOutput = resolvedInitialRender.toArray().some(node => node !== null && node !== undefined && node !== false);\n if (!hasInitialOutput) {\n return resolveFallback(fallbackOnError);\n }\n return _$createComponent(ErrorBoundary, {\n fallback: error => {\n const failure = registry().reportPluginError({\n pluginId: entry.id,\n slot: slotName(),\n phase: \"render\",\n source: \"solid\",\n error\n });\n return renderPluginFailurePlaceholder(failure, fallbackOnError);\n },\n get children() {\n return resolvedInitialRender();\n }\n });\n };\n const AppendEntry = appendProps => {\n const entry = createMemo(() => entriesById().get(appendProps.entryId));\n return _$memo(() => {\n const resolvedEntry = entry();\n if (!resolvedEntry) {\n return null;\n }\n return renderEntry(resolvedEntry);\n });\n };\n const appendEntryIds = createMemo(() => {\n const mode = local.mode ?? \"append\";\n if (mode !== \"append\") {\n return EMPTY_ENTRY_IDS;\n }\n return entryIds();\n });\n const appendView = [renderFallback, _$createComponent(For, {\n get each() {\n return appendEntryIds();\n },\n children: entryId => _$createComponent(AppendEntry, {\n entryId: entryId\n })\n })];\n return _$memo(() => {\n const resolvedEntries = entries();\n const mode = local.mode ?? \"append\";\n if (resolvedEntries.length === 0) {\n return renderFallback();\n }\n if (mode === \"single_winner\") {\n const winner = resolvedEntries[0];\n if (!winner) {\n return renderFallback();\n }\n return renderEntry(winner, renderFallback);\n }\n if (mode === \"replace\") {\n const renderedEntries = resolvedEntries.map(entry => renderEntry(entry));\n const hasPluginOutput = renderedEntries.some(entry => entry !== null && entry !== undefined && entry !== false);\n if (!hasPluginOutput) {\n return renderFallback();\n }\n return renderedEntries;\n }\n return appendView;\n });\n}"
18
18
  ],
19
- "mappings": "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",
19
+ "mappings": "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",
20
20
  "debugId": "11EF7868D3A4CD2A64756E2164756E21",
21
21
  "names": []
22
22
  }
package/jsx-runtime.d.ts CHANGED
@@ -14,7 +14,7 @@ import type {
14
14
  TextareaProps,
15
15
  TextProps,
16
16
  } from "./src/types/elements.js"
17
- import type { DomNode } from "./src/reconciler.js"
17
+ import type { JSX as SolidJSX } from "solid-js"
18
18
 
19
19
  type JsxComponent = (props: Record<string, unknown>) => unknown
20
20
 
@@ -24,10 +24,7 @@ export declare function jsxDEV(type: string | JsxComponent, props?: Record<strin
24
24
  export declare function Fragment(props: { children?: JSX.Element }): JSX.Element
25
25
 
26
26
  export declare namespace JSX {
27
- // Replace Node with Renderable
28
- type Element = DomNode | ArrayElement | string | number | boolean | null | undefined
29
-
30
- type ArrayElement = Array<Element>
27
+ type Element = SolidJSX.Element
31
28
 
32
29
  interface IntrinsicElements extends ExtendedIntrinsicElements<OpenTUIComponents> {
33
30
  box: BoxProps
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "type": "module",
7
- "version": "0.0.0-20260604-34bc02bf",
7
+ "version": "0.0.0-20260604-b7a3ea1b",
8
8
  "description": "SolidJS renderer for OpenTUI",
9
9
  "license": "MIT",
10
10
  "repository": {
@@ -62,7 +62,7 @@
62
62
  "dependencies": {
63
63
  "@babel/core": "7.28.0",
64
64
  "@babel/preset-typescript": "7.27.1",
65
- "@opentui/core": "0.0.0-20260604-34bc02bf",
65
+ "@opentui/core": "0.0.0-20260604-b7a3ea1b",
66
66
  "babel-plugin-module-resolver": "5.0.2",
67
67
  "babel-preset-solid": "1.9.12",
68
68
  "entities": "7.0.1",
@@ -12,7 +12,7 @@ export declare function Portal(props: {
12
12
  mount?: DomNode;
13
13
  ref?: (el: {}) => void;
14
14
  children: JSX.Element;
15
- }): DomNode;
15
+ }): JSX.Element;
16
16
  export type DynamicProps<T extends ValidComponent, P = ComponentProps<T>> = {
17
17
  [K in keyof P]: P[K];
18
18
  } & {
@@ -6,4 +6,4 @@ declare module "@opentui/solid" {
6
6
  }
7
7
  }
8
8
  export type TimeToFirstDrawProps = ExtendedComponentProps<typeof TimeToFirstDrawRenderable>;
9
- export declare const TimeToFirstDraw: (props: TimeToFirstDrawProps) => import("@opentui/solid/jsx-runtime").JSX.Element;
9
+ export declare const TimeToFirstDraw: (props: TimeToFirstDrawProps) => any;