@opentui/solid 0.4.3 → 0.4.4

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 CHANGED
@@ -231,7 +231,7 @@ import {
231
231
  TextNodeRenderable as TextNodeRenderable2,
232
232
  TextRenderable as TextRenderable2
233
233
  } from "@opentui/core";
234
- import { decodeHTML } from "entities";
234
+ import { decodeHTMLStrict } from "entities";
235
235
  import { useContext as useContext2 } from "solid-js";
236
236
 
237
237
  // src/renderer/universal.js
@@ -240,6 +240,7 @@ var memo = (fn) => createMemo(() => fn());
240
240
  function createRenderer({
241
241
  createElement,
242
242
  createTextNode,
243
+ createDynamicTextNode,
243
244
  createSlotNode,
244
245
  isTextNode,
245
246
  replaceText,
@@ -271,13 +272,13 @@ function createRenderer({
271
272
  if (node && isTextNode(node)) {
272
273
  replaceText(node, value);
273
274
  } else
274
- node = createTextNode(value);
275
+ node = createDynamicTextNode(value);
275
276
  current = cleanChildren(parent, current, marker, node);
276
277
  } else {
277
278
  if (current !== "" && typeof current === "string") {
278
279
  replaceText(getFirstChild(parent), current = value);
279
280
  } else {
280
- cleanChildren(parent, current, marker, createTextNode(value));
281
+ cleanChildren(parent, current, marker, createDynamicTextNode(value));
281
282
  current = value;
282
283
  }
283
284
  }
@@ -336,7 +337,7 @@ function createRenderer({
336
337
  else if (Array.isArray(item)) {
337
338
  dynamic = normalizeIncomingArray(normalized, item) || dynamic;
338
339
  } else if ((t = typeof item) === "string" || t === "number") {
339
- normalized.push(createTextNode(item));
340
+ normalized.push(createDynamicTextNode(item));
340
341
  } else if (t === "function") {
341
342
  if (unwrap) {
342
343
  while (typeof item === "function")
@@ -593,13 +594,13 @@ function _removeNode(parent, node) {
593
594
  }
594
595
  });
595
596
  }
596
- function _createTextNode(value) {
597
+ function _createTextNode(value, decodeEntities) {
597
598
  log("Creating text node:", value);
598
599
  const id = getNextId("text-node");
599
600
  if (typeof value === "number") {
600
601
  value = value.toString();
601
602
  }
602
- return TextNode.fromString(decodeHTML(value), { id });
603
+ return TextNode.fromString(decodeEntities ? decodeHTMLStrict(value) : value, { id });
603
604
  }
604
605
  function createSlotNode() {
605
606
  const id = getNextId("slot-node");
@@ -647,13 +648,14 @@ var {
647
648
  log("Element created with id:", id);
648
649
  return element;
649
650
  },
650
- createTextNode: _createTextNode,
651
+ createTextNode: (value) => _createTextNode(value, true),
652
+ createDynamicTextNode: (value) => _createTextNode(value, false),
651
653
  createSlotNode,
652
654
  replaceText(textNode, value) {
653
655
  log("Replacing text:", value, "in node:", logId(textNode));
654
656
  if (!(textNode instanceof TextNode))
655
657
  return;
656
- textNode.replace(decodeHTML(value), 0);
658
+ textNode.replace(value, 0);
657
659
  },
658
660
  setProperty(node, name, value, prev) {
659
661
  if (name.startsWith("on:")) {
@@ -761,7 +763,7 @@ var {
761
763
  case "text":
762
764
  case "content": {
763
765
  const textValue = typeof value === "string" ? value : Array.isArray(value) ? value.join("") : `${value}`;
764
- node[name] = decodeHTML(textValue);
766
+ node[name] = textValue;
765
767
  break;
766
768
  }
767
769
  default:
@@ -1606,4 +1608,4 @@ export {
1606
1608
  BoldSpanRenderable
1607
1609
  };
1608
1610
 
1609
- //# debugId=DED9BF605D7B1CA764756E2164756E21
1611
+ //# debugId=4265C473B38E2AF564756E2164756E21
package/index.bun.js.map CHANGED
@@ -6,8 +6,8 @@
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
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))\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
- "/* @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.indexOf(anchor)\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)\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
- "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",
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 { decodeHTMLStrict } 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.indexOf(anchor)\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)\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, decodeEntities: boolean): 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(decodeEntities ? decodeHTMLStrict(value) : 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 // The compiler escapes static JSX before calling createTextNode directly.\n createTextNode: (value) => _createTextNode(value, true),\n\n createDynamicTextNode: (value) => _createTextNode(value, false),\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(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] = 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
+ "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 createDynamicTextNode,\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 = createDynamicTextNode(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, createDynamicTextNode(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(createDynamicTextNode(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",
12
12
  "const idCounter = new Map<string, number>()\n\nexport function getNextId(elementType: string): string {\n if (!idCounter.has(elementType)) {\n idCounter.set(elementType, 0)\n }\n\n const value = idCounter.get(elementType)! + 1\n idCounter.set(elementType, value)\n return `${elementType}-${value}`\n}\n",
13
13
  "export const log = (...args: any[]) => {\n if (process.env.DEBUG) {\n console.log(\"[Reconciler]\", ...args)\n }\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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",
20
- "debugId": "DED9BF605D7B1CA764756E2164756E21",
19
+ "mappings": "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",
20
+ "debugId": "4265C473B38E2AF564756E2164756E21",
21
21
  "names": []
22
22
  }
package/index.js CHANGED
@@ -205,7 +205,7 @@ import { createEffect, createMemo as createMemo2, getOwner, onCleanup as onClean
205
205
 
206
206
  // src/reconciler.ts
207
207
  import { BaseRenderable, createTextAttributes, InputRenderable as InputRenderable2, InputRenderableEvents, isTextNodeRenderable, parseColor, Renderable, RootTextNodeRenderable, ScrollBoxRenderable as ScrollBoxRenderable2, SelectRenderable as SelectRenderable2, SelectRenderableEvents, TabSelectRenderable as TabSelectRenderable2, TabSelectRenderableEvents, TextNodeRenderable as TextNodeRenderable2, TextRenderable as TextRenderable2 } from "@opentui/core";
208
- import { decodeHTML } from "entities";
208
+ import { decodeHTMLStrict } from "entities";
209
209
  import { useContext as useContext2 } from "solid-js/dist/solid.js";
210
210
 
211
211
  // src/renderer/universal.js
@@ -214,6 +214,7 @@ var memo = (fn) => createMemo(() => fn());
214
214
  function createRenderer({
215
215
  createElement,
216
216
  createTextNode,
217
+ createDynamicTextNode,
217
218
  createSlotNode,
218
219
  isTextNode,
219
220
  replaceText,
@@ -245,13 +246,13 @@ function createRenderer({
245
246
  if (node && isTextNode(node)) {
246
247
  replaceText(node, value);
247
248
  } else
248
- node = createTextNode(value);
249
+ node = createDynamicTextNode(value);
249
250
  current = cleanChildren(parent, current, marker, node);
250
251
  } else {
251
252
  if (current !== "" && typeof current === "string") {
252
253
  replaceText(getFirstChild(parent), current = value);
253
254
  } else {
254
- cleanChildren(parent, current, marker, createTextNode(value));
255
+ cleanChildren(parent, current, marker, createDynamicTextNode(value));
255
256
  current = value;
256
257
  }
257
258
  }
@@ -310,7 +311,7 @@ function createRenderer({
310
311
  else if (Array.isArray(item)) {
311
312
  dynamic = normalizeIncomingArray(normalized, item) || dynamic;
312
313
  } else if ((t = typeof item) === "string" || t === "number") {
313
- normalized.push(createTextNode(item));
314
+ normalized.push(createDynamicTextNode(item));
314
315
  } else if (t === "function") {
315
316
  if (unwrap) {
316
317
  while (typeof item === "function")
@@ -567,13 +568,13 @@ function _removeNode(parent, node) {
567
568
  }
568
569
  });
569
570
  }
570
- function _createTextNode(value) {
571
+ function _createTextNode(value, decodeEntities) {
571
572
  log("Creating text node:", value);
572
573
  const id = getNextId("text-node");
573
574
  if (typeof value === "number") {
574
575
  value = value.toString();
575
576
  }
576
- return TextNode.fromString(decodeHTML(value), {
577
+ return TextNode.fromString(decodeEntities ? decodeHTMLStrict(value) : value, {
577
578
  id
578
579
  });
579
580
  }
@@ -625,13 +626,14 @@ var {
625
626
  log("Element created with id:", id);
626
627
  return element;
627
628
  },
628
- createTextNode: _createTextNode,
629
+ createTextNode: (value) => _createTextNode(value, true),
630
+ createDynamicTextNode: (value) => _createTextNode(value, false),
629
631
  createSlotNode,
630
632
  replaceText(textNode, value) {
631
633
  log("Replacing text:", value, "in node:", logId(textNode));
632
634
  if (!(textNode instanceof TextNode))
633
635
  return;
634
- textNode.replace(decodeHTML(value), 0);
636
+ textNode.replace(value, 0);
635
637
  },
636
638
  setProperty(node, name, value, prev) {
637
639
  if (name.startsWith("on:")) {
@@ -741,7 +743,7 @@ var {
741
743
  case "text":
742
744
  case "content": {
743
745
  const textValue = typeof value === "string" ? value : Array.isArray(value) ? value.join("") : `${value}`;
744
- node[name] = decodeHTML(textValue);
746
+ node[name] = textValue;
745
747
  break;
746
748
  }
747
749
  default:
@@ -1583,4 +1585,4 @@ export {
1583
1585
  BoldSpanRenderable
1584
1586
  };
1585
1587
 
1586
- //# debugId=2356702E45FD426164756E2164756E21
1588
+ //# debugId=FA35F720EBA7099764756E2164756E21
package/index.js.map CHANGED
@@ -6,8 +6,8 @@
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
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));\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
- "/* @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.indexOf(anchor);\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);\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
- "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}",
9
+ "/* @refresh skip */\nimport { BaseRenderable, createTextAttributes, InputRenderable, InputRenderableEvents, isTextNodeRenderable, parseColor, Renderable, RootTextNodeRenderable, ScrollBoxRenderable, SelectRenderable, SelectRenderableEvents, TabSelectRenderable, TabSelectRenderableEvents, TextNodeRenderable, TextRenderable } from \"@opentui/core\";\nimport { decodeHTMLStrict } 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.indexOf(anchor);\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);\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, decodeEntities) {\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(decodeEntities ? decodeHTMLStrict(value) : 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 // The compiler escapes static JSX before calling createTextNode directly.\n createTextNode: value => _createTextNode(value, true),\n createDynamicTextNode: value => _createTextNode(value, false),\n createSlotNode,\n replaceText(textNode, value) {\n log(\"Replacing text:\", value, \"in node:\", logId(textNode));\n if (!(textNode instanceof TextNode)) return;\n textNode.replace(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] = 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
+ "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 createDynamicTextNode,\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 = createDynamicTextNode(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, createDynamicTextNode(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(createDynamicTextNode(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}",
12
12
  "const idCounter = new Map();\nexport function getNextId(elementType) {\n if (!idCounter.has(elementType)) {\n idCounter.set(elementType, 0);\n }\n const value = idCounter.get(elementType) + 1;\n idCounter.set(elementType, value);\n return `${elementType}-${value}`;\n}",
13
13
  "export const log = (...args) => {\n if (process.env.DEBUG) {\n console.log(\"[Reconciler]\", ...args);\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/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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",
20
- "debugId": "2356702E45FD426164756E2164756E21",
19
+ "mappings": "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",
20
+ "debugId": "FA35F720EBA7099764756E2164756E21",
21
21
  "names": []
22
22
  }
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.4.3",
7
+ "version": "0.4.4",
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.4.3",
65
+ "@opentui/core": "0.4.4",
66
66
  "babel-plugin-module-resolver": "5.0.2",
67
67
  "babel-preset-solid": "1.9.12",
68
68
  "entities": "7.0.1",
@@ -1,6 +1,7 @@
1
- export function createRenderer({ createElement, createTextNode, createSlotNode, isTextNode, replaceText, insertNode, removeNode, setProperty, getParentNode, getFirstChild, getNextSibling, }: {
1
+ export function createRenderer({ createElement, createTextNode, createDynamicTextNode, createSlotNode, isTextNode, replaceText, insertNode, removeNode, setProperty, getParentNode, getFirstChild, getNextSibling, }: {
2
2
  createElement: any;
3
3
  createTextNode: any;
4
+ createDynamicTextNode: any;
4
5
  createSlotNode: any;
5
6
  isTextNode: any;
6
7
  replaceText: any;