@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 +12 -10
- package/index.bun.js.map +4 -4
- package/index.js +12 -10
- package/index.js.map +4 -4
- package/package.json +2 -2
- package/src/renderer/universal.d.ts +2 -1
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 {
|
|
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 =
|
|
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,
|
|
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(
|
|
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(
|
|
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(
|
|
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] =
|
|
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=
|
|
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 =
|
|
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": "
|
|
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 {
|
|
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 =
|
|
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,
|
|
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(
|
|
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(
|
|
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(
|
|
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] =
|
|
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=
|
|
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 =
|
|
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": "
|
|
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.
|
|
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.
|
|
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;
|