semajsx 0.5.2 → 0.6.0
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/dist/client-CButR91p.mjs +740 -0
- package/dist/client-CButR91p.mjs.map +1 -0
- package/dist/dom/index.d.mts +2 -2
- package/dist/dom/jsx-dev-runtime.d.mts +3 -3
- package/dist/dom/jsx-runtime.d.mts +3 -3
- package/dist/{helpers-CfRDJgcP.d.mts → helpers-C8GKdDrJ.d.mts} +3 -3
- package/dist/{helpers-CfRDJgcP.d.mts.map → helpers-C8GKdDrJ.d.mts.map} +1 -1
- package/dist/{index-Ch9GwToI.d.mts → index-D_FIlSk3.d.mts} +3 -3
- package/dist/{index-Ch9GwToI.d.mts.map → index-D_FIlSk3.d.mts.map} +1 -1
- package/dist/{index-B1pjI-Su.d.mts → index-PYr1aNIz.d.mts} +2 -2
- package/dist/{index-B1pjI-Su.d.mts.map → index-PYr1aNIz.d.mts.map} +1 -1
- package/dist/index.d.mts +6 -6
- package/dist/{island-marker-BJIO07Vj.d.mts → island-marker-Dne5tuWe.d.mts} +1 -1
- package/dist/island-marker-Dne5tuWe.d.mts.map +1 -0
- package/dist/{jsx-fNlLjLou.d.mts → jsx-CFnuxPMI.d.mts} +2 -2
- package/dist/{jsx-fNlLjLou.d.mts.map → jsx-CFnuxPMI.d.mts.map} +1 -1
- package/dist/{jsx-runtime-BFuFPDzn.d.mts → jsx-runtime-Dc77fsnM.d.mts} +3 -3
- package/dist/{jsx-runtime-BFuFPDzn.d.mts.map → jsx-runtime-Dc77fsnM.d.mts.map} +1 -1
- package/dist/{jsx-runtime-BBi9E0Hz.d.mts → jsx-runtime-tIuFmhTh.d.mts} +4 -4
- package/dist/{jsx-runtime-BBi9E0Hz.d.mts.map → jsx-runtime-tIuFmhTh.d.mts.map} +1 -1
- package/dist/{lucide-CVtHepGM.mjs → lucide-C5BghhSl.mjs} +1 -1
- package/dist/{lucide-CVtHepGM.mjs.map → lucide-C5BghhSl.mjs.map} +1 -1
- package/dist/{resource-BQI6AeJ0.d.mts → resource-CNwiNxJX.d.mts} +2 -2
- package/dist/{resource-BQI6AeJ0.d.mts.map → resource-CNwiNxJX.d.mts.map} +1 -1
- package/dist/signal/index.d.mts +2 -2
- package/dist/{signal-BwxUlXKs.d.mts → signal-BcaF-fWG.d.mts} +1 -1
- package/dist/{signal-BwxUlXKs.d.mts.map → signal-BcaF-fWG.d.mts.map} +1 -1
- package/dist/{src-L88LbwEv.mjs → src-75qcxwT_.mjs} +2 -2
- package/dist/{src-L88LbwEv.mjs.map → src-75qcxwT_.mjs.map} +1 -1
- package/dist/{src-DuSN6go_.mjs → src-B4VBiHa8.mjs} +116 -4
- package/dist/src-B4VBiHa8.mjs.map +1 -0
- package/dist/ssg/index.d.mts +2 -2
- package/dist/ssg/index.mjs +2 -2
- package/dist/ssg/plugins/docs-theme.d.mts +7 -4
- package/dist/ssg/plugins/docs-theme.d.mts.map +1 -1
- package/dist/ssg/plugins/docs-theme.mjs +170 -46
- package/dist/ssg/plugins/docs-theme.mjs.map +1 -1
- package/dist/ssg/plugins/lucide.d.mts +2 -2
- package/dist/ssg/plugins/lucide.mjs +1 -1
- package/dist/ssr/client.d.mts +7 -6
- package/dist/ssr/client.d.mts.map +1 -1
- package/dist/ssr/client.mjs +4 -682
- package/dist/ssr/index.d.mts +2 -2
- package/dist/ssr/index.d.mts.map +1 -1
- package/dist/ssr/index.mjs +1 -1
- package/dist/style/index.d.mts +2 -2
- package/dist/style/react.d.mts +2 -2
- package/dist/style/vue.d.mts +2 -2
- package/dist/terminal/index.d.mts +4 -4
- package/dist/terminal/jsx-dev-runtime.d.mts +4 -4
- package/dist/terminal/jsx-runtime.d.mts +4 -4
- package/dist/{types-D0jRO840.d.mts → types-Bj5q5x2Q.d.mts} +1 -1
- package/dist/{types-D0jRO840.d.mts.map → types-Bj5q5x2Q.d.mts.map} +1 -1
- package/dist/{types-C9fiRu6l.d.mts → types-BmDIxXiP.d.mts} +2 -2
- package/dist/{types-C9fiRu6l.d.mts.map → types-BmDIxXiP.d.mts.map} +1 -1
- package/dist/{types-CZMcXQTW.d.mts → types-C83YtOen.d.mts} +2 -2
- package/dist/{types-CZMcXQTW.d.mts.map → types-C83YtOen.d.mts.map} +1 -1
- package/dist/{types-BlaUrkq0.d.mts → types-CVPg8ByY.d.mts} +2 -2
- package/dist/{types-BlaUrkq0.d.mts.map → types-CVPg8ByY.d.mts.map} +1 -1
- package/dist/{types-DucvOZQ2.d.mts → types-ii0bAipe.d.mts} +2 -2
- package/dist/{types-DucvOZQ2.d.mts.map → types-ii0bAipe.d.mts.map} +1 -1
- package/package.json +1 -1
- package/dist/island-marker-BJIO07Vj.d.mts.map +0 -1
- package/dist/src-DuSN6go_.mjs.map +0 -1
- package/dist/ssr/client.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-CButR91p.mjs","names":[],"sources":["../../ssr/src/client/hydrate.ts","../../ssr/src/client/client-resource.ts"],"sourcesContent":["/**\n * Client-side hydration for SSR\n * This module runs in the browser and hydrates server-rendered content\n */\n\nimport type { VNode } from \"@semajsx/core\";\nimport { Fragment, h } from \"@semajsx/core\";\nimport { setProperty, render } from \"@semajsx/dom\";\nimport { isSignal } from \"@semajsx/signal\";\n\n/**\n * Island info collected from the DOM\n */\ninterface IslandInfo {\n id: string;\n props: Record<string, any>;\n /** Element with data-island-id (single element islands) */\n element?: HTMLElement;\n /** Start comment node (fragment islands) */\n startComment?: Comment;\n /** End comment node (fragment islands) */\n endComment?: Comment;\n}\n\n/**\n * Type guard for async iterators\n */\nfunction isAsyncIterator(value: unknown): value is AsyncIterableIterator<unknown> {\n if (!value || typeof value !== \"object\") return false;\n const obj = value as Record<string | symbol, unknown>;\n return (\n typeof obj[Symbol.asyncIterator] === \"function\" ||\n (typeof obj.next === \"function\" && typeof obj.return === \"function\")\n );\n}\n\n/**\n * Hydrate a server-rendered DOM tree with client-side interactivity\n * Unlike render(), this preserves existing DOM and only attaches event listeners\n *\n * @param vnode - The VNode to hydrate\n * @param container - The DOM container with server-rendered content\n * @returns The hydrated root node\n *\n * @example\n * ```tsx\n * const vnode = <Counter initial={5} />\n * const container = document.querySelector('[data-island-id=\"island-0\"]')\n * hydrate(vnode, container)\n * ```\n */\nexport function hydrate(vnode: VNode, container: Element): Node | null {\n // Standard hydration: hydrate container's first child\n const nodeToHydrate = container.firstChild;\n\n if (!nodeToHydrate) {\n console.warn(\"[Hydrate] Container is empty, falling back to render\");\n const rendered = renderNode(vnode, container);\n if (rendered) {\n container.appendChild(rendered);\n }\n return rendered;\n }\n\n // Hydrate the VNode tree onto the existing DOM\n try {\n hydrateNode(vnode, nodeToHydrate, container);\n return nodeToHydrate;\n } catch (error) {\n console.error(\"[Hydrate] Error during hydration:\", error);\n // Fall back to client-side rendering if hydration fails\n console.warn(\"[Hydrate] Falling back to client-side rendering\");\n container.innerHTML = \"\";\n return renderNode(vnode, container);\n }\n}\n\n/**\n * Hydrate a VNode onto an existing DOM node\n */\nfunction hydrateNode(vnode: VNode | any, domNode: Node, parentElement: Element): void {\n // Handle null/undefined\n if (vnode == null) {\n return;\n }\n\n // Handle signals - unwrap and subscribe\n if (isSignal(vnode)) {\n // For signal VNodes, we need to hydrate the current value\n // and set up reactivity to update when signal changes\n hydrateSignalNode(vnode, domNode, parentElement);\n return;\n }\n\n // Handle primitives (text nodes)\n if (typeof vnode === \"string\" || typeof vnode === \"number\") {\n if (domNode.nodeType === Node.TEXT_NODE) {\n // Text node already exists, verify content matches\n const expectedText = String(vnode);\n if (domNode.textContent !== expectedText) {\n console.warn(\"[Hydrate] Text mismatch, updating:\", domNode.textContent, \"->\", expectedText);\n domNode.textContent = expectedText;\n }\n }\n return;\n }\n\n // Handle arrays\n if (Array.isArray(vnode)) {\n let currentDomNode: Node | null = domNode;\n for (const child of vnode) {\n if (currentDomNode) {\n hydrateNode(child, currentDomNode, parentElement);\n currentDomNode = currentDomNode.nextSibling;\n }\n }\n return;\n }\n\n // Must be a VNode object\n if (typeof vnode !== \"object\" || !(\"type\" in vnode)) {\n return;\n }\n\n const vnodeTyped = vnode as VNode;\n\n // Handle signal nodes - special reactive nodes\n if (vnodeTyped.type === \"#signal\") {\n const signal = vnodeTyped.props?.signal;\n if (signal && isSignal(signal)) {\n hydrateSignalNode(signal, domNode, parentElement);\n }\n return;\n }\n\n // Handle fragments\n if (vnodeTyped.type === Fragment) {\n let currentDomNode: Node | null = domNode;\n for (const child of vnodeTyped.children) {\n if (currentDomNode) {\n hydrateNode(child, currentDomNode, parentElement);\n currentDomNode = currentDomNode.nextSibling;\n }\n }\n return;\n }\n\n // Handle function components - render and hydrate result\n if (typeof vnodeTyped.type === \"function\") {\n // Merge vnode.children into props.children (mirrors renderVNodeToHTML)\n const props =\n vnodeTyped.children && vnodeTyped.children.length > 0\n ? { ...vnodeTyped.props, children: vnodeTyped.children }\n : vnodeTyped.props || {};\n let result = vnodeTyped.type(props);\n\n // Handle async component\n if (result instanceof Promise) {\n result.then((resolved) => hydrateNode(resolved, domNode, parentElement));\n return;\n }\n\n // Handle async iterator (streaming component)\n if (isAsyncIterator(result)) {\n result.next().then(({ value }) => {\n hydrateNode(value, domNode, parentElement);\n });\n return;\n }\n\n hydrateNode(result, domNode, parentElement);\n return;\n }\n\n // Handle DOM elements\n if (typeof vnodeTyped.type === \"string\") {\n // Skip validation for text nodes - they can legitimately be text in the DOM\n // This happens when signal values or other dynamic content renders as text\n if (domNode.nodeType === Node.TEXT_NODE) {\n // Text node in place of element - possible mismatch, but might be intentional\n // Skip hydration for this node\n return;\n }\n\n if (domNode.nodeType !== Node.ELEMENT_NODE) {\n console.warn(\"[Hydrate] Expected element, got:\", domNode.nodeType);\n return;\n }\n\n const element = domNode as Element;\n\n // Verify tag matches\n if (element.tagName.toLowerCase() !== vnodeTyped.type.toLowerCase()) {\n console.warn(\"[Hydrate] Tag mismatch:\", element.tagName, \"vs\", vnodeTyped.type);\n return;\n }\n\n // Hydrate properties (especially event listeners and reactive props)\n hydrateProperties(element, vnodeTyped.props || {});\n\n // Hydrate children\n hydrateChildren(element, vnodeTyped.children);\n return;\n }\n}\n\n/**\n * Hydrate properties onto an element\n * This is where we attach event listeners and set up reactive properties\n */\nfunction hydrateProperties(element: Element, props: Record<string, any>): void {\n for (const [key, value] of Object.entries(props)) {\n // Skip special props\n if (key === \"children\" || key === \"key\" || key === \"ref\") {\n continue;\n }\n\n // Handle event listeners - these need to be attached\n if (key.startsWith(\"on\")) {\n const eventName = key.slice(2).toLowerCase();\n if (typeof value === \"function\") {\n element.addEventListener(eventName, value as EventListener);\n }\n continue;\n }\n\n // Handle reactive properties (signals)\n if (isSignal(value)) {\n // Set initial value\n setProperty(element, key, value.value);\n\n // Set up reactivity using subscribe\n value.subscribe((newValue: any) => {\n setProperty(element, key, newValue);\n });\n continue;\n }\n\n // For static properties, they should already be set by SSR\n // We can optionally verify them, but usually we trust SSR output\n // to avoid unnecessary DOM operations\n }\n\n // Handle refs\n if (props.ref) {\n if (typeof props.ref === \"function\") {\n props.ref(element);\n } else if (typeof props.ref === \"object\" && props.ref !== null) {\n props.ref.current = element;\n }\n }\n}\n\n/**\n * Hydrate children elements\n */\nfunction hydrateChildren(element: Element, children: any[]): void {\n let currentDomNode = element.firstChild;\n\n for (const child of children) {\n if (!currentDomNode) {\n // Mismatch: VNode has more children than DOM\n // Fall back to appending new nodes\n console.warn(\"[Hydrate] Missing DOM node for child, appending\");\n const newNode = renderNode(child, element);\n if (newNode) {\n element.appendChild(newNode);\n }\n continue;\n }\n\n hydrateNode(child, currentDomNode, element);\n currentDomNode = currentDomNode.nextSibling;\n }\n\n // If DOM has extra nodes, we could warn or remove them\n // For now, we leave them (progressive enhancement)\n}\n\n/**\n * Hydrate a signal VNode\n * Set up reactivity to replace content when signal changes\n */\nfunction hydrateSignalNode(signal: any, domNode: Node, parentElement: Element): void {\n // Get current signal value\n const currentValue = signal.value;\n\n // Handle empty/null signal values - server renders as <!--signal-empty--> comment\n if (\n currentValue == null ||\n currentValue === false ||\n (Array.isArray(currentValue) && currentValue.length === 0)\n ) {\n // Expect a comment node marker\n if (domNode.nodeType === Node.COMMENT_NODE) {\n // Comment marker is correct, nothing to validate\n } else {\n console.warn(\"[Hydrate] Expected comment marker for empty signal, got:\", domNode.nodeType);\n }\n } // For simple values (string, number), the server renders them as text nodes\n else if (typeof currentValue === \"string\" || typeof currentValue === \"number\") {\n if (domNode.nodeType === Node.TEXT_NODE) {\n const expectedText = String(currentValue);\n if (domNode.textContent !== expectedText) {\n console.warn(\"[Hydrate] Signal text mismatch:\", domNode.textContent, \"->\", expectedText);\n domNode.textContent = expectedText;\n }\n }\n } else {\n // For complex values (VNodes, etc.), do full hydration\n hydrateNode(currentValue, domNode, parentElement);\n }\n\n // Set up reactivity to handle signal changes\n // Use an anchor comment node to track position in DOM\n // This is necessary because arrays render as DocumentFragments which can't be tracked\n let anchor: Comment;\n let currentNodes: Node[] = [];\n\n if (domNode.nodeType === Node.COMMENT_NODE) {\n // Already a comment (empty signal), use as anchor\n anchor = domNode as Comment;\n } else {\n // Create anchor and insert it before current node\n anchor = document.createComment(\"signal-anchor\");\n if (domNode.parentNode) {\n domNode.parentNode.insertBefore(anchor, domNode);\n }\n currentNodes = [domNode];\n }\n\n signal.subscribe((newValue: any) => {\n const parent = anchor.parentNode;\n if (!parent) {\n return;\n }\n\n // Remove old nodes\n for (const node of currentNodes) {\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n }\n currentNodes = [];\n\n // Render and insert new content after anchor\n const newNode = renderNode(newValue, parentElement);\n if (newNode) {\n if (newNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n // Fragment: insert all children after anchor in correct order\n const fragment = newNode as DocumentFragment;\n const children = Array.from(fragment.childNodes);\n\n // Insert in order by tracking the last inserted node\n let insertAfter: Node | null = anchor;\n for (const child of children) {\n parent.insertBefore(child, insertAfter.nextSibling);\n insertAfter = child;\n currentNodes.push(child);\n }\n } else {\n // Single node: insert after anchor\n parent.insertBefore(newNode, anchor.nextSibling);\n currentNodes = [newNode];\n }\n }\n });\n}\n\n/**\n * Render a VNode to a DOM node (fallback when hydration fails)\n * This is a simplified version of render() just for hydration fallback\n */\n// oxlint-disable-next-line only-used-in-recursion\nfunction renderNode(vnode: any, parentElement: Element): Node | null {\n if (vnode == null || vnode === false || vnode === true) {\n return document.createComment(\"empty\");\n }\n\n if (isSignal(vnode)) {\n return renderNode(vnode.value, parentElement);\n }\n\n if (typeof vnode === \"string\" || typeof vnode === \"number\") {\n return document.createTextNode(String(vnode));\n }\n\n if (Array.isArray(vnode)) {\n // Empty array should render as a comment marker\n if (vnode.length === 0) {\n return document.createComment(\"empty\");\n }\n\n const fragment = document.createDocumentFragment();\n for (const child of vnode) {\n const node = renderNode(child, parentElement);\n if (node) {\n fragment.appendChild(node);\n }\n }\n return fragment;\n }\n\n if (typeof vnode === \"object\" && \"type\" in vnode) {\n const vnodeTyped = vnode as VNode;\n\n // Handle special VNode types\n if (vnodeTyped.type === \"#text\") {\n return document.createTextNode(String(vnodeTyped.props?.nodeValue || \"\"));\n }\n\n if (vnodeTyped.type === \"#signal\") {\n const signal = vnodeTyped.props?.signal;\n if (signal && isSignal(signal)) {\n return renderNode(signal.value, parentElement);\n }\n return document.createTextNode(\"\");\n }\n\n if (vnodeTyped.type === Fragment) {\n const fragment = document.createDocumentFragment();\n for (const child of vnodeTyped.children) {\n const node = renderNode(child, parentElement);\n if (node) {\n fragment.appendChild(node);\n }\n }\n return fragment;\n }\n\n if (typeof vnodeTyped.type === \"function\") {\n const result = vnodeTyped.type(vnodeTyped.props || {});\n return renderNode(result, parentElement);\n }\n\n if (typeof vnodeTyped.type === \"string\") {\n const element = document.createElement(vnodeTyped.type);\n\n // Set properties\n const props = vnodeTyped.props || {};\n for (const [key, value] of Object.entries(props)) {\n if (key === \"children\" || key === \"key\") continue;\n setProperty(element, key, value);\n }\n\n // Render children\n for (const child of vnodeTyped.children) {\n const childNode = renderNode(child, element);\n if (childNode) {\n element.appendChild(childNode);\n }\n }\n\n return element;\n }\n }\n\n return null;\n}\n\n/**\n * Hydrate an island by ID\n * Handles both single-element islands (with data-island-id) and fragment islands (with comment markers)\n *\n * @param islandId - The island ID to hydrate\n * @param Component - The component function to render\n * @param markHydrated - Callback to mark the island as hydrated\n *\n * @example\n * ```tsx\n * import { hydrateIsland, markIslandHydrated } from '@semajsx/ssr/client';\n * import Counter from './Counter';\n *\n * hydrateIsland('counter-0', Counter, markIslandHydrated);\n * ```\n */\nexport function hydrateIsland(\n islandId: string,\n Component: Function,\n markHydrated: (id: string) => void,\n): void {\n // Try single-element island first (has data-island-id on root element)\n const element = document.querySelector(`[data-island-id=\"${islandId}\"]`);\n\n if (element) {\n // Single-element island: replace the element with rendered content\n const props = JSON.parse(element.getAttribute(\"data-island-props\") || \"{}\");\n const parent = element.parentNode;\n if (!parent) return;\n\n // Create VNode for the component\n const vnode: VNode = {\n type: Component as VNode[\"type\"],\n props,\n children: [],\n };\n\n // Render into temp container\n const temp = document.createElement(\"div\");\n render(vnode, temp);\n\n // Replace original element with rendered content\n const children = Array.from(temp.childNodes);\n for (const child of children) {\n parent.insertBefore(child, element);\n }\n parent.removeChild(element);\n\n markHydrated(islandId);\n return;\n }\n\n // Fragment island: find by comment marker\n const walker = document.createTreeWalker(document.body, NodeFilter.SHOW_COMMENT);\n let startComment: Comment | null = null;\n let comment: Comment | null;\n while ((comment = walker.nextNode() as Comment | null)) {\n if (comment.textContent === `island:${islandId}`) {\n startComment = comment;\n break;\n }\n }\n\n if (startComment) {\n // Get props from script tag\n const script = document.querySelector(`script[data-island=\"${islandId}\"]`);\n const props = script ? JSON.parse(script.textContent || \"{}\") : {};\n\n // Find end comment and collect nodes between markers\n const nodesToRemove: Node[] = [];\n let sibling = startComment.nextSibling;\n let endComment: Comment | null = null;\n while (sibling) {\n if (sibling.nodeType === Node.COMMENT_NODE && sibling.textContent === `/island:${islandId}`) {\n endComment = sibling as Comment;\n break;\n }\n nodesToRemove.push(sibling);\n sibling = sibling.nextSibling;\n }\n\n // Remove old nodes\n for (const node of nodesToRemove) {\n node.parentNode?.removeChild(node);\n }\n\n // Render new content with full reactivity\n const vnode: VNode = {\n type: Component as VNode[\"type\"],\n props,\n children: [],\n };\n const parent = startComment.parentNode;\n if (parent) {\n // Create temp container and use full render for reactivity\n const temp = document.createElement(\"div\");\n render(vnode, temp);\n\n // Move rendered nodes after start comment\n const children = Array.from(temp.childNodes);\n for (const child of children) {\n parent.insertBefore(child, endComment);\n }\n }\n\n // Remove markers and script\n startComment.parentNode?.removeChild(startComment);\n if (endComment) endComment.parentNode?.removeChild(endComment);\n if (script) script.parentNode?.removeChild(script);\n\n markHydrated(islandId);\n }\n}\n\n/**\n * Find all islands on the page (both element and fragment types)\n */\nfunction findAllIslands(): IslandInfo[] {\n const islands: IslandInfo[] = [];\n\n // Find element-based islands (single root element)\n const elements = document.querySelectorAll(\"[data-island-id]\");\n for (const el of elements) {\n const id = el.getAttribute(\"data-island-id\");\n const propsStr = el.getAttribute(\"data-island-props\");\n if (id) {\n islands.push({\n id,\n props: propsStr ? JSON.parse(propsStr) : {},\n element: el as HTMLElement,\n });\n }\n }\n\n // Find fragment-based islands (comment markers + script)\n const walker = document.createTreeWalker(document.body, NodeFilter.SHOW_COMMENT);\n\n let comment: Comment | null;\n while ((comment = walker.nextNode() as Comment | null)) {\n const match = comment.textContent?.match(/^island:(.+)$/);\n if (match && match[1]) {\n const id = match[1];\n // Find end comment (matches /island:${id})\n let endComment: Comment | null = null;\n let sibling = comment.nextSibling;\n while (sibling) {\n if (sibling.nodeType === Node.COMMENT_NODE && sibling.textContent === `/island:${id}`) {\n endComment = sibling as Comment;\n break;\n }\n sibling = sibling.nextSibling;\n }\n\n // Find props from script tag\n const script = document.querySelector(`script[type=\"application/json\"][data-island=\"${id}\"]`);\n const props = script ? JSON.parse(script.textContent || \"{}\") : {};\n\n islands.push({\n id,\n props,\n startComment: comment,\n endComment: endComment || undefined,\n });\n }\n }\n\n return islands;\n}\n\n/**\n * Hydrate all islands on the page\n * This function is typically called once after the page loads\n *\n * @example\n * ```tsx\n * // In your client entry point\n * import { hydrateIslands } from '@semajsx/ssr/client'\n *\n * // Wait for DOM to be ready\n * if (document.readyState === 'loading') {\n * document.addEventListener('DOMContentLoaded', hydrateIslands)\n * } else {\n * hydrateIslands()\n * }\n * ```\n */\nexport async function hydrateIslands(): Promise<void> {\n const islands = findAllIslands();\n\n if (islands.length === 0) {\n return;\n }\n\n console.log(`[SemaJSX] Found ${islands.length} islands to hydrate`);\n\n // Hydrate islands in parallel for better performance\n const hydrations = islands.map((island) => waitForIslandScript(island));\n\n await Promise.all(hydrations);\n\n console.log(`[SemaJSX] All islands hydrated`);\n}\n\n/**\n * Wait for an island's script to load and hydrate it\n * The actual hydration is performed by the island's entry point script\n * This function just waits for it to complete\n */\nasync function waitForIslandScript(island: IslandInfo): Promise<void> {\n const { id: islandId, element, startComment } = island;\n\n // Check if island is already hydrated\n if (element?.hasAttribute(\"data-hydrated\")) {\n return;\n }\n if (startComment?.parentElement?.querySelector(`[data-island-hydrated=\"${islandId}\"]`)) {\n return;\n }\n\n // Wait for hydration to complete (set by island entry point)\n return new Promise((resolve) => {\n // Check every 50ms for up to 10 seconds\n const maxAttempts = 200;\n let attempts = 0;\n\n const checkInterval = setInterval(() => {\n const isHydrated = element\n ? element.hasAttribute(\"data-hydrated\")\n : document.querySelector(`[data-island-hydrated=\"${islandId}\"]`) !== null;\n\n if (isHydrated) {\n clearInterval(checkInterval);\n resolve();\n } else if (++attempts >= maxAttempts) {\n clearInterval(checkInterval);\n console.warn(`[SemaJSX] Island ${islandId} hydration timeout`);\n resolve();\n }\n }, 50);\n });\n}\n\n/**\n * Get island info by ID\n */\nexport function getIslandInfo(islandId: string): IslandInfo | null {\n // Try element-based first\n const element = document.querySelector(`[data-island-id=\"${islandId}\"]`) as HTMLElement | null;\n\n if (element) {\n const propsStr = element.getAttribute(\"data-island-props\");\n return {\n id: islandId,\n props: propsStr ? JSON.parse(propsStr) : {},\n element,\n };\n }\n\n // Try fragment-based\n const script = document.querySelector(\n `script[type=\"application/json\"][data-island=\"${islandId}\"]`,\n );\n\n if (script) {\n const props = JSON.parse(script.textContent || \"{}\");\n // Find start comment\n const walker = document.createTreeWalker(document.body, NodeFilter.SHOW_COMMENT);\n let comment: Comment | null;\n while ((comment = walker.nextNode() as Comment | null)) {\n if (comment.textContent === `island:${islandId}`) {\n return {\n id: islandId,\n props,\n startComment: comment,\n };\n }\n }\n }\n\n return null;\n}\n\n/**\n * Manual hydration for a specific island\n * Useful for lazy-loading islands on interaction\n *\n * @param islandId - The island ID to hydrate\n *\n * @example\n * ```tsx\n * // Lazy load an island on click\n * button.addEventListener('click', () => {\n * hydrateIslandById('island-0')\n * })\n * ```\n */\nexport async function hydrateIslandById(islandId: string): Promise<void> {\n const island = getIslandInfo(islandId);\n\n if (!island) {\n console.error(`[SemaJSX] Island not found: ${islandId}`);\n return;\n }\n\n await waitForIslandScript(island);\n}\n\n/**\n * Check if islands are present on the page\n */\nexport function hasIslands(): boolean {\n // Check for element-based islands\n if (document.querySelectorAll(\"[data-island-id]\").length > 0) {\n return true;\n }\n // Check for fragment-based islands\n return document.querySelectorAll('script[type=\"application/json\"][data-island]').length > 0;\n}\n\n/**\n * Get all island IDs on the page\n */\nexport function getIslandIds(): string[] {\n const ids: string[] = [];\n\n // Element-based islands\n const elements = document.querySelectorAll(\"[data-island-id]\");\n for (const el of elements) {\n const id = el.getAttribute(\"data-island-id\");\n if (id) ids.push(id);\n }\n\n // Fragment-based islands\n const scripts = document.querySelectorAll('script[type=\"application/json\"][data-island]');\n for (const script of scripts) {\n const id = script.getAttribute(\"data-island\");\n if (id) ids.push(id);\n }\n\n return ids;\n}\n\n/**\n * Mark an island as hydrated\n * This should be called by the island entry point after hydration completes\n */\nexport function markIslandHydrated(islandId: string): void {\n // Try element-based first\n const element = document.querySelector(`[data-island-id=\"${islandId}\"]`);\n if (element) {\n element.setAttribute(\"data-hydrated\", \"true\");\n return;\n }\n\n // For fragment-based, remove the script tag (no longer needed)\n const script = document.querySelector(\n `script[type=\"application/json\"][data-island=\"${islandId}\"]`,\n );\n if (script) {\n // Mark as hydrated before removal (for any watchers)\n script.setAttribute(\"data-island-hydrated\", islandId);\n // Remove script - props already parsed, no longer needed\n script.remove();\n }\n}\n\n/**\n * Reconstruct VNode children from serialized JSON data.\n *\n * Uses the island module's exports as a registry to resolve component names\n * (prefixed with \"$\") back to their actual functions.\n *\n * @param serialized - Serialized children array from SSR\n * @param registry - Module exports mapping component names to functions\n */\nfunction reconstructChildren(serialized: any[], registry: Record<string, any>): any[] {\n const result: any[] = [];\n for (const node of serialized) {\n if (node === null) continue;\n if (typeof node === \"string\") {\n result.push(node);\n continue;\n }\n if (Array.isArray(node) && node.length === 3 && typeof node[0] === \"string\") {\n const [type, props, children] = node;\n\n // Nested island placeholder — these hydrate independently,\n // push null to preserve children index positions.\n if (type === \"$island\") {\n result.push(null);\n continue;\n }\n\n const resolvedChildren = children ? reconstructChildren(children, registry) : [];\n\n if (type.startsWith(\"$\")) {\n // Component reference — look up in registry\n const name = type.slice(1);\n const component = registry[name];\n if (!component || typeof component !== \"function\") {\n console.warn(`[Hydrate] Unknown component \"${name}\" in island children`);\n continue;\n }\n result.push(h(component, props || {}, ...resolvedChildren));\n } else {\n // HTML element\n result.push(h(type, props || {}, ...resolvedChildren));\n }\n }\n }\n return result;\n}\n\n/**\n * Hydrate all islands with a given component source\n * Finds all elements with data-island-src and hydrates them\n *\n * @param componentSrc - The component source key (e.g., \"components/Counter\")\n * @param Component - The component function to render\n * @param registry - Optional module exports for reconstructing island children\n *\n * @example\n * ```tsx\n * import { hydrateAllIslands } from '@semajsx/ssr/client';\n * import * as CounterModule from './Counter';\n *\n * hydrateAllIslands('components/Counter', CounterModule.Counter, CounterModule);\n * ```\n */\nexport function hydrateAllIslands(\n componentSrc: string,\n Component: Function,\n registry?: Record<string, any>,\n): void {\n // Find all elements with this component source\n const elements = document.querySelectorAll(`[data-island-src=\"${componentSrc}\"]`);\n\n // Also find fragment-based islands (script tags with data-island-src)\n const scripts = document.querySelectorAll(\n `script[type=\"application/json\"][data-island-src=\"${componentSrc}\"]`,\n );\n\n // Hydrate each element-based island\n elements.forEach((element) => {\n const islandId = element.getAttribute(\"data-island-id\");\n if (!islandId) return;\n\n // Skip if already hydrated\n if (element.hasAttribute(\"data-hydrated\")) return;\n\n try {\n const props = JSON.parse(element.getAttribute(\"data-island-props\") || \"{}\");\n\n // Reconstruct children from serialized VNode data if available\n if (registry) {\n const childrenScript = document.querySelector(\n `script[type=\"application/json\"][data-island-children=\"${islandId}\"]`,\n );\n if (childrenScript) {\n try {\n const serialized = JSON.parse(childrenScript.textContent || \"[]\");\n props.children = reconstructChildren(serialized, registry);\n } catch (e) {\n console.warn(\"[Hydrate] Failed to reconstruct island children:\", e);\n }\n childrenScript.remove();\n }\n }\n\n // Create VNode for the component\n const vnode: VNode = {\n type: Component as VNode[\"type\"],\n props,\n children: [],\n };\n\n // Hydrate in-place: attach event listeners, signal subscriptions,\n // and refs while preserving existing DOM and SSR-rendered children.\n hydrateNode(vnode, element, element.parentNode as Element);\n element.setAttribute(\"data-hydrated\", \"true\");\n } catch (error) {\n // SSR content is preserved — the island stays as static HTML\n console.error(`[Hydrate] Island \"${islandId}\" hydration failed:`, error);\n element.setAttribute(\"data-hydration-error\", \"true\");\n }\n });\n\n // Hydrate each fragment-based island\n scripts.forEach((script) => {\n const islandId = script.getAttribute(\"data-island\");\n if (!islandId) return;\n\n // Skip if already hydrated\n if (script.hasAttribute(\"data-island-hydrated\")) return;\n\n try {\n const props = JSON.parse(script.textContent || \"{}\");\n\n // Reconstruct children from serialized VNode data if available\n if (registry) {\n const childrenScript = document.querySelector(\n `script[type=\"application/json\"][data-island-children=\"${islandId}\"]`,\n );\n if (childrenScript) {\n try {\n const serialized = JSON.parse(childrenScript.textContent || \"[]\");\n props.children = reconstructChildren(serialized, registry);\n } catch (e) {\n console.warn(\"[Hydrate] Failed to reconstruct island children:\", e);\n }\n childrenScript.remove();\n }\n }\n\n // Find the comment markers\n const startMarker = `island:${islandId}`;\n const endMarker = `/island:${islandId}`;\n\n // Find and process the fragment\n const walker = document.createTreeWalker(document.body, NodeFilter.SHOW_COMMENT, null);\n\n let startNode: Comment | null = null;\n let endNode: Comment | null = null;\n let node: Node | null;\n\n while ((node = walker.nextNode())) {\n if (node.nodeValue === startMarker) {\n startNode = node as Comment;\n } else if (node.nodeValue === endMarker) {\n endNode = node as Comment;\n break;\n }\n }\n\n if (startNode && endNode && startNode.parentNode) {\n const parent = startNode.parentNode;\n\n // Non-destructive hydration: move existing nodes into a temp\n // container, hydrate against the existing DOM, then move back.\n // This preserves SSR content and only attaches event listeners\n // and signal subscriptions — matching element-based island behavior.\n const container = document.createElement(\"div\");\n let current: Node | null = startNode.nextSibling;\n while (current && current !== endNode) {\n const next = current.nextSibling;\n container.appendChild(current); // moves node, doesn't clone\n current = next;\n }\n\n // Create VNode and hydrate against existing DOM\n const vnode: VNode = {\n type: Component as VNode[\"type\"],\n props,\n children: [],\n };\n hydrateNode(vnode, container, container);\n\n // Move hydrated nodes back between markers\n while (container.firstChild) {\n parent.insertBefore(container.firstChild, endNode);\n }\n\n // Mark as hydrated\n script.setAttribute(\"data-island-hydrated\", islandId);\n script.remove();\n }\n } catch (error) {\n // SSR content is preserved — the fragment stays as static HTML\n console.error(`[Hydrate] Fragment island \"${islandId}\" hydration failed:`, error);\n }\n });\n}\n\n// Export types\nexport type { IslandInfo };\n","/**\n * Client-side resource utilities for dynamic CSS and asset loading\n */\n\n/**\n * Client manifest structure\n */\nexport interface ClientManifest {\n css: Record<string, string>;\n assets: Record<string, string>;\n}\n\n// Global manifest storage\nlet _manifest: ClientManifest | null = null;\n\n// Track loaded stylesheets to avoid duplicates\nconst loadedStyles = new Set<string>();\n\n/**\n * Set the client manifest (called during initialization)\n */\nexport function setManifest(manifest: ClientManifest): void {\n _manifest = manifest;\n}\n\n/**\n * Get the current manifest\n */\nexport function getManifest(): ClientManifest | null {\n return _manifest;\n}\n\n/**\n * Resolve a CSS path using the manifest\n */\nexport function resolveCSS(href: string): string {\n if (!_manifest) {\n return href;\n }\n\n // Try to find in manifest (remove leading slash for lookup)\n const lookupPath = href.startsWith(\"/\") ? href.slice(1) : href;\n return _manifest.css[lookupPath] || href;\n}\n\n/**\n * Resolve an asset path using the manifest\n */\nexport function resolveAsset(src: string): string {\n if (!_manifest) {\n return src;\n }\n\n // Try to find in manifest (remove leading slash for lookup)\n const lookupPath = src.startsWith(\"/\") ? src.slice(1) : src;\n return _manifest.assets[lookupPath] || src;\n}\n\n/**\n * Dynamically load a stylesheet\n */\nexport function loadStylesheet(href: string): Promise<void> {\n const resolvedHref = resolveCSS(href);\n\n // Skip if already loaded\n if (loadedStyles.has(resolvedHref)) {\n return Promise.resolve();\n }\n\n return new Promise((resolve, reject) => {\n // Check if already in document\n const existing = document.querySelector(`link[href=\"${resolvedHref}\"]`);\n if (existing) {\n loadedStyles.add(resolvedHref);\n resolve();\n return;\n }\n\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = resolvedHref;\n\n link.onload = () => {\n loadedStyles.add(resolvedHref);\n resolve();\n };\n\n link.onerror = () => {\n reject(new Error(`Failed to load stylesheet: ${resolvedHref}`));\n };\n\n document.head.appendChild(link);\n });\n}\n\n/**\n * Style component props\n */\nexport interface StyleProps {\n href: string;\n}\n\n/**\n * Asset component props\n */\nexport interface AssetProps {\n src: string;\n}\n\n/**\n * Client-side resource tools\n */\nexport interface ClientResourceTools {\n /** Load and inject a CSS stylesheet */\n Style: (props: StyleProps) => null;\n /** Resolve asset URL from manifest */\n url: (path: string) => string;\n}\n\n/**\n * Create client-side resource tools\n *\n * @example\n * ```tsx\n * import { clientResource } from '@semajsx/ssr/client';\n *\n * const { Style, url } = clientResource();\n *\n * export default function Counter() {\n * return (\n * <>\n * <Style href=\"./counter.css\" />\n * <img src={url('./icon.png')} />\n * </>\n * );\n * }\n * ```\n */\nexport function clientResource(): ClientResourceTools {\n return {\n Style({ href }: StyleProps): null {\n // Load stylesheet on mount\n if (typeof document !== \"undefined\") {\n loadStylesheet(href);\n }\n return null;\n },\n\n url(path: string): string {\n return resolveAsset(path);\n },\n };\n}\n"],"mappings":"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"}
|
package/dist/dom/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as JSXNode, d as VNode, u as Ref } from "../types-
|
|
2
|
-
import { r as Signal } from "../types-
|
|
1
|
+
import { c as JSXNode, d as VNode, u as Ref } from "../types-C83YtOen.mjs";
|
|
2
|
+
import { r as Signal } from "../types-CVPg8ByY.mjs";
|
|
3
3
|
|
|
4
4
|
//#region ../dom/src/operations.d.ts
|
|
5
5
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { o as Forward, s as Fragment } from "../types-
|
|
2
|
-
import { n as jsxs, t as jsx } from "../jsx-
|
|
3
|
-
import { C as ThHTMLAttributes, S as TextareaHTMLAttributes, _ as ScriptHTMLAttributes, a as ClassValue, b as TableHTMLAttributes, c as IframeHTMLAttributes, d as JSX, f as LabelHTMLAttributes, g as SVGAttributes, h as OptionHTMLAttributes, i as CanvasHTMLAttributes, l as ImgHTMLAttributes, m as MetaHTMLAttributes, n as AudioHTMLAttributes, o as FormHTMLAttributes, p as LinkHTMLAttributes, r as ButtonHTMLAttributes, s as HTMLAttributes, t as AnchorHTMLAttributes, u as InputHTMLAttributes, v as SelectHTMLAttributes, w as VideoHTMLAttributes, x as TdHTMLAttributes, y as StyleHTMLAttributes } from "../jsx-runtime-
|
|
1
|
+
import { o as Forward, s as Fragment } from "../types-C83YtOen.mjs";
|
|
2
|
+
import { n as jsxs, t as jsx } from "../jsx-CFnuxPMI.mjs";
|
|
3
|
+
import { C as ThHTMLAttributes, S as TextareaHTMLAttributes, _ as ScriptHTMLAttributes, a as ClassValue, b as TableHTMLAttributes, c as IframeHTMLAttributes, d as JSX, f as LabelHTMLAttributes, g as SVGAttributes, h as OptionHTMLAttributes, i as CanvasHTMLAttributes, l as ImgHTMLAttributes, m as MetaHTMLAttributes, n as AudioHTMLAttributes, o as FormHTMLAttributes, p as LinkHTMLAttributes, r as ButtonHTMLAttributes, s as HTMLAttributes, t as AnchorHTMLAttributes, u as InputHTMLAttributes, v as SelectHTMLAttributes, w as VideoHTMLAttributes, x as TdHTMLAttributes, y as StyleHTMLAttributes } from "../jsx-runtime-tIuFmhTh.mjs";
|
|
4
4
|
|
|
5
5
|
//#region ../dom/src/jsx-dev-runtime.d.ts
|
|
6
6
|
declare function jsxDEV(type: any, props: any, key?: any, _isStaticChildren?: boolean, _source?: any, _self?: any): any;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as Forward, s as Fragment } from "../types-
|
|
2
|
-
import { n as jsxs, t as jsx } from "../jsx-
|
|
3
|
-
import { C as ThHTMLAttributes, S as TextareaHTMLAttributes, _ as ScriptHTMLAttributes, a as ClassValue, b as TableHTMLAttributes, c as IframeHTMLAttributes, d as JSX, f as LabelHTMLAttributes, g as SVGAttributes, h as OptionHTMLAttributes, i as CanvasHTMLAttributes, l as ImgHTMLAttributes, m as MetaHTMLAttributes, n as AudioHTMLAttributes, o as FormHTMLAttributes, p as LinkHTMLAttributes, r as ButtonHTMLAttributes, s as HTMLAttributes, t as AnchorHTMLAttributes, u as InputHTMLAttributes, v as SelectHTMLAttributes, w as VideoHTMLAttributes, x as TdHTMLAttributes, y as StyleHTMLAttributes } from "../jsx-runtime-
|
|
1
|
+
import { o as Forward, s as Fragment } from "../types-C83YtOen.mjs";
|
|
2
|
+
import { n as jsxs, t as jsx } from "../jsx-CFnuxPMI.mjs";
|
|
3
|
+
import { C as ThHTMLAttributes, S as TextareaHTMLAttributes, _ as ScriptHTMLAttributes, a as ClassValue, b as TableHTMLAttributes, c as IframeHTMLAttributes, d as JSX, f as LabelHTMLAttributes, g as SVGAttributes, h as OptionHTMLAttributes, i as CanvasHTMLAttributes, l as ImgHTMLAttributes, m as MetaHTMLAttributes, n as AudioHTMLAttributes, o as FormHTMLAttributes, p as LinkHTMLAttributes, r as ButtonHTMLAttributes, s as HTMLAttributes, t as AnchorHTMLAttributes, u as InputHTMLAttributes, v as SelectHTMLAttributes, w as VideoHTMLAttributes, x as TdHTMLAttributes, y as StyleHTMLAttributes } from "../jsx-runtime-tIuFmhTh.mjs";
|
|
4
4
|
export { AnchorHTMLAttributes, AudioHTMLAttributes, ButtonHTMLAttributes, CanvasHTMLAttributes, ClassValue, FormHTMLAttributes, Forward, Fragment, HTMLAttributes, IframeHTMLAttributes, ImgHTMLAttributes, InputHTMLAttributes, JSX, LabelHTMLAttributes, LinkHTMLAttributes, MetaHTMLAttributes, OptionHTMLAttributes, SVGAttributes, ScriptHTMLAttributes, SelectHTMLAttributes, StyleHTMLAttributes, TableHTMLAttributes, TdHTMLAttributes, TextareaHTMLAttributes, ThHTMLAttributes, VideoHTMLAttributes, jsx, jsxs };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as JSXNode } from "./types-
|
|
2
|
-
import { r as Signal } from "./types-
|
|
1
|
+
import { c as JSXNode } from "./types-C83YtOen.mjs";
|
|
2
|
+
import { r as Signal } from "./types-CVPg8ByY.mjs";
|
|
3
3
|
|
|
4
4
|
//#region ../core/src/helpers.d.ts
|
|
5
5
|
/**
|
|
@@ -56,4 +56,4 @@ declare function resource(promise: Promise<JSXNode>, pending?: JSXNode): Signal<
|
|
|
56
56
|
declare function stream(iterator: AsyncIterable<JSXNode>, pending?: JSXNode): Signal<JSXNode | null>;
|
|
57
57
|
//#endregion
|
|
58
58
|
export { stream as n, when as r, resource as t };
|
|
59
|
-
//# sourceMappingURL=helpers-
|
|
59
|
+
//# sourceMappingURL=helpers-C8GKdDrJ.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers-
|
|
1
|
+
{"version":3,"file":"helpers-C8GKdDrJ.d.mts","names":[],"sources":["../../core/src/helpers.ts"],"mappings":";;;;;;AAiBA;;;;;;;;;;;iBAAgB,IAAA,CACd,SAAA,EAAW,MAAA,WACX,OAAA,EAAS,OAAA,UAAiB,OAAA,IACzB,MAAA,CAAO,OAAA;;;;;;;;AA4BV;;;;;;;;;;;;;;iBAAgB,QAAA,CAAS,OAAA,EAAS,OAAA,CAAQ,OAAA,GAAU,OAAA,GAAU,OAAA,GAAU,MAAA,CAAO,OAAA;;;;;AA6B/E;;;;;;;;;;;iBAAgB,MAAA,CACd,QAAA,EAAU,aAAA,CAAc,OAAA,GACxB,OAAA,GAAU,OAAA,GACT,MAAA,CAAO,OAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { d as VNode } from "./types-
|
|
2
|
-
import { _ as SSGPlugin } from "./types-
|
|
1
|
+
import { d as VNode } from "./types-C83YtOen.mjs";
|
|
2
|
+
import { _ as SSGPlugin } from "./types-BmDIxXiP.mjs";
|
|
3
3
|
|
|
4
4
|
//#region ../ssg/src/plugins/lucide/component.d.ts
|
|
5
5
|
interface IconProps {
|
|
@@ -78,4 +78,4 @@ interface LucidePluginOptions {
|
|
|
78
78
|
declare function lucide(options?: LucidePluginOptions): SSGPlugin;
|
|
79
79
|
//#endregion
|
|
80
80
|
export { IconProps as i, lucide as n, Icon as r, LucidePluginOptions as t };
|
|
81
|
-
//# sourceMappingURL=index-
|
|
81
|
+
//# sourceMappingURL=index-D_FIlSk3.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-D_FIlSk3.d.mts","names":[],"sources":["../../ssg/src/plugins/lucide/component.tsx","../../ssg/src/plugins/lucide/index.ts"],"mappings":";;;;UAuCiB,SAAA;;EAEf,IAAA;EAFF;EAIE,IAAA;;EAEA,KAAA;;EAEA,WAAA;;EAEA,KAAA;AAAA;;;AA8BF;;;;;;;;;;;;iBAAgB,IAAA,CAAA;EACd,IAAA;EACA,IAAA;EACA,KAAA;EACA,WAAA;EACA,KAAA,EAAO;AAAA,GACN,SAAA,GAAY,KAAA;;;UC/EE,mBAAA;EDiCA;EC/Bf,IAAA;ED+Be;EC7Bf,KAAA;;EAEA,WAAA;AAAA;;;;ADmEF;;;;;;;;;;;;;;;;;;;;;;;;;;;iBClCgB,MAAA,CAAO,OAAA,GAAS,mBAAA,GAA2B,SAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as WritableSignal, n as ReadableSignal, t as MaybeSignal } from "./types-
|
|
1
|
+
import { a as WritableSignal, n as ReadableSignal, t as MaybeSignal } from "./types-CVPg8ByY.mjs";
|
|
2
2
|
|
|
3
3
|
//#region ../signal/src/signal.d.ts
|
|
4
4
|
/**
|
|
@@ -53,4 +53,4 @@ declare function isSignal<T = unknown>(value: unknown): value is ReadableSignal<
|
|
|
53
53
|
declare function unwrap<T>(value: MaybeSignal<T>): T;
|
|
54
54
|
//#endregion
|
|
55
55
|
export { memo as a, computed as i, unwrap as n, signal as o, batch as r, isSignal as t };
|
|
56
|
-
//# sourceMappingURL=index-
|
|
56
|
+
//# sourceMappingURL=index-PYr1aNIz.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-PYr1aNIz.d.mts","names":[],"sources":["../../signal/src/signal.ts","../../signal/src/computed.ts","../../signal/src/batch.ts","../../signal/src/utils.ts"],"mappings":";;;;;AAMA;iBAAgB,MAAA,GAAA,CAAU,YAAA,EAAc,CAAA,GAAI,cAAA,CAAe,CAAA;;;;;AAA3D;;;;;;;;;;iBCWgB,QAAA,MAAA,CAAe,GAAA,EAAK,cAAA,CAAe,CAAA,GAAI,OAAA,GAAU,KAAA,EAAO,CAAA,KAAM,CAAA,GAAI,cAAA,CAAe,CAAA;AAAA,iBAGjF,QAAA,oBAA4B,cAAA,WAAA,CAC1C,IAAA,MAAU,CAAA,GACV,OAAA,MAAa,MAAA,gBAAsB,CAAA,GAAI,CAAA,CAAE,CAAA,UAAW,cAAA,YAA0B,CAAA,eAAgB,CAAA,GAC7F,cAAA,CAAe,CAAA;AAAA,cA2DL,IAAA,SAAa,QAAA;;;;;;;iBC/BV,KAAA,GAAA,CAAS,EAAA,QAAU,CAAA,GAAI,CAAA;;;;;AF7CvC;;;;;iBGGgB,QAAA,aAAA,CAAsB,KAAA,YAAiB,KAAA,IAAS,cAAA,CAAe,CAAA;;;;;;;;;;;;iBAqB/D,MAAA,GAAA,CAAU,KAAA,EAAO,WAAA,CAAY,CAAA,IAAK,CAAA"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a as ContextProvide, c as JSXNode, d as VNode, f as VNodeType, i as ContextProps, l as Portal, m as WithSignals, n as ComponentAPI, o as Forward, p as WithKey, r as Context$1, s as Fragment, t as Component, u as Ref } from "./types-
|
|
2
|
-
import { t as ISLAND_MARKER } from "./island-marker-
|
|
3
|
-
import { n as stream, r as when, t as resource } from "./helpers-
|
|
4
|
-
import { n as jsxs, t as jsx } from "./jsx-
|
|
5
|
-
import { a as WritableSignal, i as SignalValue, n as ReadableSignal, r as Signal, t as MaybeSignal } from "./types-
|
|
6
|
-
import { a as memo, i as computed, n as unwrap, o as signal, r as batch, t as isSignal } from "./index-
|
|
1
|
+
import { a as ContextProvide, c as JSXNode, d as VNode, f as VNodeType, i as ContextProps, l as Portal, m as WithSignals, n as ComponentAPI, o as Forward, p as WithKey, r as Context$1, s as Fragment, t as Component, u as Ref } from "./types-C83YtOen.mjs";
|
|
2
|
+
import { t as ISLAND_MARKER } from "./island-marker-Dne5tuWe.mjs";
|
|
3
|
+
import { n as stream, r as when, t as resource } from "./helpers-C8GKdDrJ.mjs";
|
|
4
|
+
import { n as jsxs, t as jsx } from "./jsx-CFnuxPMI.mjs";
|
|
5
|
+
import { a as WritableSignal, i as SignalValue, n as ReadableSignal, r as Signal, t as MaybeSignal } from "./types-CVPg8ByY.mjs";
|
|
6
|
+
import { a as memo, i as computed, n as unwrap, o as signal, r as batch, t as isSignal } from "./index-PYr1aNIz.mjs";
|
|
7
7
|
|
|
8
8
|
//#region ../core/src/vnode.d.ts
|
|
9
9
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"island-marker-Dne5tuWe.d.mts","names":[],"sources":["../../core/src/shared/island-marker.ts"],"mappings":";;AAIA;;;cAAa,aAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { d as VNode, f as VNodeType } from "./types-
|
|
1
|
+
import { d as VNode, f as VNodeType } from "./types-C83YtOen.mjs";
|
|
2
2
|
|
|
3
3
|
//#region ../core/src/jsx.d.ts
|
|
4
4
|
declare function jsx(type: VNodeType, props: any, key?: any): VNode;
|
|
5
5
|
declare function jsxs(type: VNodeType, props: any, key?: any): VNode;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { jsxs as n, jsx as t };
|
|
8
|
-
//# sourceMappingURL=jsx-
|
|
8
|
+
//# sourceMappingURL=jsx-CFnuxPMI.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-
|
|
1
|
+
{"version":3,"file":"jsx-CFnuxPMI.d.mts","names":[],"sources":["../../core/src/jsx.ts"],"mappings":";;;iBAGgB,GAAA,CAAI,IAAA,EAAM,SAAA,EAAW,KAAA,OAAY,GAAA,SAAY,KAAA;AAAA,iBAc7C,IAAA,CAAK,IAAA,EAAM,SAAA,EAAW,KAAA,OAAY,GAAA,SAAY,KAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as JSXNode, d as VNode, m as WithSignals, n as ComponentAPI } from "./types-
|
|
2
|
-
import { i as TerminalStyle } from "./types-
|
|
1
|
+
import { c as JSXNode, d as VNode, m as WithSignals, n as ComponentAPI } from "./types-C83YtOen.mjs";
|
|
2
|
+
import { i as TerminalStyle } from "./types-Bj5q5x2Q.mjs";
|
|
3
3
|
|
|
4
4
|
//#region ../terminal/src/jsx-runtime.d.ts
|
|
5
5
|
/**
|
|
@@ -109,4 +109,4 @@ declare namespace JSX {
|
|
|
109
109
|
}
|
|
110
110
|
//#endregion
|
|
111
111
|
export { TextAttributes as i, JSX as n, TerminalAttributes as r, BoxAttributes as t };
|
|
112
|
-
//# sourceMappingURL=jsx-runtime-
|
|
112
|
+
//# sourceMappingURL=jsx-runtime-Dc77fsnM.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runtime-
|
|
1
|
+
{"version":3,"file":"jsx-runtime-Dc77fsnM.d.mts","names":[],"sources":["../../terminal/src/jsx-runtime.ts"],"mappings":";;;;;;;UAeU,sBAAA,SAA+B,aAAA;EAEvC,GAAA;EACA,QAAA,GAAW,OAAA;AAAA;;;;AAsBb;KAfY,kBAAA,GAAqB,WAAA,CAAY,sBAAA;;;;AA8B7C;;;;;AAKA;;;;;KApBY,aAAA,GAAgB,kBAAA;;;;;;;;;;;;;;KAehB,cAAA,GAAiB,kBAAA;;;;kBAKZ,GAAA;EAAA,KACH,OAAA,GAAU,KAAA;EAAA,KAEV,WAAA,SACF,iBAAA,KACJ,KAAA,UAAe,OAAA,MACf,KAAA,OAAY,GAAA,EAAK,YAAA,KAAiB,OAAA;EAAA,UAEvB,wBAAA;IACf,QAAA;EAAA;EAAA,UAGe,mBAAA;IACf,GAAA;EAAA;EAAA,UAGe,iBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6Bf,GAAA,EAAK,aAAA;;;;;;;;;;;;;;;;;;;;;IAsBL,IAAA,EAAM,cAAA;EAAA;AAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { c as JSXNode, d as VNode, m as WithSignals, n as ComponentAPI, p as WithKey, u as Ref } from "./types-
|
|
2
|
-
import { r as Signal } from "./types-
|
|
3
|
-
import { o as StyleToken } from "./types-
|
|
1
|
+
import { c as JSXNode, d as VNode, m as WithSignals, n as ComponentAPI, p as WithKey, u as Ref } from "./types-C83YtOen.mjs";
|
|
2
|
+
import { r as Signal } from "./types-CVPg8ByY.mjs";
|
|
3
|
+
import { o as StyleToken } from "./types-ii0bAipe.mjs";
|
|
4
4
|
|
|
5
5
|
//#region ../dom/src/jsx-runtime.d.ts
|
|
6
6
|
/**
|
|
@@ -461,4 +461,4 @@ declare namespace JSX {
|
|
|
461
461
|
}
|
|
462
462
|
//#endregion
|
|
463
463
|
export { ThHTMLAttributes as C, TextareaHTMLAttributes as S, ScriptHTMLAttributes as _, ClassValue as a, TableHTMLAttributes as b, IframeHTMLAttributes as c, JSX as d, LabelHTMLAttributes as f, SVGAttributes as g, OptionHTMLAttributes as h, CanvasHTMLAttributes as i, ImgHTMLAttributes as l, MetaHTMLAttributes as m, AudioHTMLAttributes as n, FormHTMLAttributes as o, LinkHTMLAttributes as p, ButtonHTMLAttributes as r, HTMLAttributes as s, AnchorHTMLAttributes as t, InputHTMLAttributes as u, SelectHTMLAttributes as v, VideoHTMLAttributes as w, TdHTMLAttributes as x, StyleHTMLAttributes as y };
|
|
464
|
-
//# sourceMappingURL=jsx-runtime-
|
|
464
|
+
//# sourceMappingURL=jsx-runtime-tIuFmhTh.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runtime-
|
|
1
|
+
{"version":3,"file":"jsx-runtime-tIuFmhTh.d.mts","names":[],"sources":["../../dom/src/jsx-runtime.ts"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucide-
|
|
1
|
+
{"version":3,"file":"lucide-C5BghhSl.mjs","names":[],"sources":["../../ssg/src/plugins/lucide/component.tsx","../../ssg/src/plugins/lucide/index.ts"],"sourcesContent":["/** @jsxImportSource @semajsx/dom */\n\nimport { h } from \"@semajsx/core\";\nimport type { VNode } from \"@semajsx/core\";\nimport { Native } from \"@semajsx/dom\";\nimport { createElement } from \"lucide\";\nimport * as allExports from \"lucide\";\n\n/**\n * lucide IconNode: array of [tag, attrs] tuples\n * e.g., [[\"path\", { d: \"M4.5 16.5...\" }], [\"circle\", { cx: \"12\", ... }]]\n */\ntype IconNode = [string, Record<string, string>][];\n\n/**\n * Convert kebab-case icon name to PascalCase for lucide lookup.\n *\n * \"arrow-right\" → \"ArrowRight\"\n * \"rocket\" → \"Rocket\"\n */\nfunction toPascalCase(name: string): string {\n return name\n .split(\"-\")\n .map((part) => part.charAt(0).toUpperCase() + part.slice(1))\n .join(\"\");\n}\n\n/**\n * Look up an icon by kebab-case name from lucide's exports.\n * Returns the IconNode data (array of [tag, attrs] tuples) or undefined.\n */\nfunction getIcon(name: string): IconNode | undefined {\n const pascalName = toPascalCase(name);\n const icon = (allExports as Record<string, unknown>)[pascalName];\n // IconNode is an array of tuples; functions (createElement, createIcons) are filtered out\n if (Array.isArray(icon)) return icon as IconNode;\n return undefined;\n}\n\nexport interface IconProps {\n /** Icon name in kebab-case (e.g., \"rocket\", \"arrow-right\", \"circle-check\") */\n name: string;\n /** Icon size in pixels (default: 24) */\n size?: number;\n /** Stroke color (default: \"currentColor\") */\n color?: string;\n /** Stroke width (default: 2) */\n strokeWidth?: number;\n /** Additional CSS class */\n class?: string;\n}\n\n/**\n * Default SVG attributes matching lucide's defaults.\n */\nconst SVG_DEFAULTS = {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": 2,\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n} as const;\n\n/**\n * Isomorphic Lucide icon component.\n *\n * - **Browser**: uses lucide's `createElement` to produce a real SVGElement,\n * embedded via `<Native>` for optimal performance.\n * - **Server (SSG/SSR)**: constructs JSX SVG from IconNode data,\n * rendered to HTML string by the SSR renderer.\n *\n * @example\n * ```mdx\n * <Icon name=\"rocket\" />\n * <Icon name=\"arrow-right\" size={20} color=\"#007aff\" />\n * ```\n */\nexport function Icon({\n name,\n size = 24,\n color = \"currentColor\",\n strokeWidth = 2,\n class: className,\n}: IconProps): VNode {\n const iconNode = getIcon(name);\n\n if (!iconNode) {\n return (\n <span class=\"lucide-icon-missing\" title={`Unknown icon: ${name}`}>\n {\"?\"}\n </span>\n );\n }\n\n const iconClass = className ? `lucide lucide-${name} ${className}` : `lucide lucide-${name}`;\n\n // Browser: use lucide's createElement + Native\n if (typeof document !== \"undefined\") {\n const element = createElement(iconNode, {\n width: size,\n height: size,\n stroke: color,\n \"stroke-width\": strokeWidth,\n class: iconClass,\n });\n return <Native element={element} />;\n }\n\n // Server: construct SVG from IconNode data\n return h(\n \"svg\",\n {\n ...SVG_DEFAULTS,\n width: size,\n height: size,\n stroke: color,\n \"stroke-width\": strokeWidth,\n class: iconClass,\n },\n ...iconNode.map(([tag, attrs]) => h(tag, attrs)),\n );\n}\n","import type { SSGPlugin } from \"../../types\";\nimport { Icon, type IconProps } from \"./component\";\n\nexport type { IconProps } from \"./component\";\nexport { Icon };\n\nexport interface LucidePluginOptions {\n /** Default icon size in pixels (default: 24) */\n size?: number;\n /** Default stroke color (default: \"currentColor\") */\n color?: string;\n /** Default stroke width (default: 2) */\n strokeWidth?: number;\n}\n\n/**\n * Lucide icon plugin for SSG.\n *\n * Registers the `<Icon>` component for use in MDX content.\n * Optionally configure default icon properties.\n *\n * @example\n * ```tsx\n * import { createSSG } from \"@semajsx/ssg\";\n * import { lucide } from \"@semajsx/ssg/plugins/lucide\";\n *\n * const ssg = createSSG({\n * plugins: [lucide()],\n * });\n * ```\n *\n * @example\n * ```tsx\n * // With custom defaults\n * const ssg = createSSG({\n * plugins: [lucide({ size: 20, color: \"#333\" })],\n * });\n * ```\n *\n * @example\n * ```mdx\n * <Icon name=\"rocket\" />\n * <Icon name=\"arrow-right\" size={16} color=\"#007aff\" />\n * ```\n */\nexport function lucide(options: LucidePluginOptions = {}): SSGPlugin {\n const { size, color, strokeWidth } = options;\n const hasDefaults = size !== undefined || color !== undefined || strokeWidth !== undefined;\n\n // Wrap Icon with custom defaults if any options are provided\n const IconComponent = hasDefaults\n ? (props: IconProps) =>\n Icon({\n ...props,\n size: props.size ?? size,\n color: props.color ?? color,\n strokeWidth: props.strokeWidth ?? strokeWidth,\n })\n : Icon;\n\n return {\n name: \"lucide\",\n config() {\n return {\n mdx: {\n components: { Icon: IconComponent },\n },\n };\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;AAoBA,SAAS,aAAa,MAAsB;AAC1C,QAAO,KACJ,MAAM,IAAI,CACV,KAAK,SAAS,KAAK,OAAO,EAAE,CAAC,aAAa,GAAG,KAAK,MAAM,EAAE,CAAC,CAC3D,KAAK,GAAG;;;;;;AAOb,SAAS,QAAQ,MAAoC;CAEnD,MAAM,OAAQ,WADK,aAAa,KAAK;AAGrC,KAAI,MAAM,QAAQ,KAAK,CAAE,QAAO;;;;;AAoBlC,MAAM,eAAe;CACnB,OAAO;CACP,SAAS;CACT,MAAM;CACN,QAAQ;CACR,gBAAgB;CAChB,kBAAkB;CAClB,mBAAmB;CACpB;;;;;;;;;;;;;;;AAgBD,SAAgB,KAAK,EACnB,MACA,OAAO,IACP,QAAQ,gBACR,cAAc,GACd,OAAO,aACY;CACnB,MAAM,WAAW,QAAQ,KAAK;AAE9B,KAAI,CAAC,SACH,QACE,oBAAC;EAAK,OAAM;EAAsB,OAAO,iBAAiB;YACvD;GACI;CAIX,MAAM,YAAY,YAAY,iBAAiB,KAAK,GAAG,cAAc,iBAAiB;AAGtF,KAAI,OAAO,aAAa,YAQtB,QAAO,oBAAC,UAAO,SAPC,cAAc,UAAU;EACtC,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,gBAAgB;EAChB,OAAO;EACR,CAAC,GACiC;AAIrC,QAAO,EACL,OACA;EACE,GAAG;EACH,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,gBAAgB;EAChB,OAAO;EACR,EACD,GAAG,SAAS,KAAK,CAAC,KAAK,WAAW,EAAE,KAAK,MAAM,CAAC,CACjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7EH,SAAgB,OAAO,UAA+B,EAAE,EAAa;CACnE,MAAM,EAAE,MAAM,OAAO,gBAAgB;CAIrC,MAAM,gBAHc,SAAS,UAAa,UAAU,UAAa,gBAAgB,UAI5E,UACC,KAAK;EACH,GAAG;EACH,MAAM,MAAM,QAAQ;EACpB,OAAO,MAAM,SAAS;EACtB,aAAa,MAAM,eAAe;EACnC,CAAC,GACJ;AAEJ,QAAO;EACL,MAAM;EACN,SAAS;AACP,UAAO,EACL,KAAK,EACH,YAAY,EAAE,MAAM,eAAe,EACpC,EACF;;EAEJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as JSXNode, d as VNode, t as Component } from "./types-
|
|
1
|
+
import { c as JSXNode, d as VNode, t as Component } from "./types-C83YtOen.mjs";
|
|
2
2
|
import { UserConfig, ViteDevServer } from "vite";
|
|
3
3
|
|
|
4
4
|
//#region ../ssr/src/shared/types.d.ts
|
|
@@ -386,4 +386,4 @@ declare function isLinkVNode(vnode: VNode): boolean;
|
|
|
386
386
|
declare function isAssetVNode(vnode: VNode): boolean;
|
|
387
387
|
//#endregion
|
|
388
388
|
export { RouterConfig as A, IslandScriptTransformer as C, RouteContext as D, RenderToStringOptions as E, RouteHandler as O, IslandScriptContext as S, RenderResult as T, BuildScriptEntry as _, ResourceTools as a, IslandMarker as b, isAssetVNode as c, resource as d, App as f, BuildResult as g, BuildOptions as h, LinkProps as i, SSRResult as j, RouteMeta as k, isLinkVNode as l, AssetMetadata as m, AssetProps as n, STYLE_MARKER as o, AppConfig as p, LINK_MARKER as r, StyleProps as s, ASSET_MARKER as t, isStyleVNode as u, DevOptions as v, LinkMetadata as w, IslandMetadata as x, DocumentTemplate as y };
|
|
389
|
-
//# sourceMappingURL=resource-
|
|
389
|
+
//# sourceMappingURL=resource-CNwiNxJX.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-
|
|
1
|
+
{"version":3,"file":"resource-CNwiNxJX.d.mts","names":[],"sources":["../../ssr/src/shared/types.ts","../../ssr/src/client/resource.ts"],"mappings":"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"}
|
package/dist/signal/index.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as WritableSignal, i as SignalValue, n as ReadableSignal, r as Signal, t as MaybeSignal } from "../types-
|
|
2
|
-
import { a as memo, i as computed, n as unwrap, o as signal, r as batch, t as isSignal } from "../index-
|
|
1
|
+
import { a as WritableSignal, i as SignalValue, n as ReadableSignal, r as Signal, t as MaybeSignal } from "../types-CVPg8ByY.mjs";
|
|
2
|
+
import { a as memo, i as computed, n as unwrap, o as signal, r as batch, t as isSignal } from "../index-PYr1aNIz.mjs";
|
|
3
3
|
export { MaybeSignal, ReadableSignal, Signal, SignalValue, WritableSignal, batch, computed, isSignal, memo, signal, unwrap };
|
|
@@ -72,4 +72,4 @@ type MaybeSignal<T> = T | ReadableSignal<T>;
|
|
|
72
72
|
type SignalValue<S> = S extends ReadableSignal<infer T> ? T : never;
|
|
73
73
|
//#endregion
|
|
74
74
|
export { WritableSignal as i, ReadableSignal as n, SignalValue as r, MaybeSignal as t };
|
|
75
|
-
//# sourceMappingURL=signal-
|
|
75
|
+
//# sourceMappingURL=signal-BcaF-fWG.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signal-
|
|
1
|
+
{"version":3,"file":"signal-BcaF-fWG.d.mts","names":[],"sources":["../../core/src/signal.ts"],"mappings":";;AA4BA;;;;;;;;;;;;;AA6BA;;;;;;;;;;;;;UA7BiB,cAAA;EAkCR;AAOT;;;EAPS,SA7BE,KAAA,EAAO,CAAA;;;;;;EAOhB,SAAA,CAAU,QAAA,GAAW,KAAA,EAAO,CAAA;AAAA;;;;AAmC9B;;;;;;;;;;;UAlBiB,cAAA,YAA0B,cAAA,CAAe,CAAA;;;;;EAKxD,KAAA,EAAO,CAAA;AAAA;;;;;KAOG,WAAA,MAAiB,CAAA,GAAI,cAAA,CAAe,CAAA;;;;;KAMpC,WAAA,MAAiB,CAAA,SAAU,cAAA,YAA0B,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as jsxs, i as jsx } from "./src-DW3tIczg.mjs";
|
|
2
|
-
import { s as createApp } from "./src-
|
|
2
|
+
import { s as createApp } from "./src-B4VBiHa8.mjs";
|
|
3
3
|
import { n as renderDocument } from "./document-BOJDaiBc.mjs";
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
import { dirname, join, relative, resolve } from "path";
|
|
@@ -865,4 +865,4 @@ function createSource(options) {
|
|
|
865
865
|
|
|
866
866
|
//#endregion
|
|
867
867
|
export { DefaultDocument as _, remoteSource as a, FileSource as c, defineCollection as d, SSG as f, RawHTML as g, createMDXProcessor as h, RemoteSource as i, fileSource as l, MDXProcessor as m, CustomSource as n, GitSource as o, createSSG as p, createSource as r, gitSource as s, z$1 as t, BaseSource as u, __exportAll as v, __require as y };
|
|
868
|
-
//# sourceMappingURL=src-
|
|
868
|
+
//# sourceMappingURL=src-75qcxwT_.mjs.map
|