@unsetsoft/ryunixjs 1.2.5-canary.12 → 1.2.5-canary.13
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/Ryunix.esm.js +580 -204
- package/dist/Ryunix.esm.js.map +1 -1
- package/dist/Ryunix.umd.js +593 -203
- package/dist/Ryunix.umd.js.map +1 -1
- package/dist/Ryunix.umd.min.js +1 -1
- package/dist/Ryunix.umd.min.js.map +1 -1
- package/package.json +2 -2
- package/types/index.d.ts +12 -0
package/dist/Ryunix.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ryunix.umd.js","sources":["../.generated/utils/index.js","../.generated/lib/reconciler/createElement.js","../.generated/lib/reconciler/effects.js","../.generated/utils/svgAttributes.js","../.generated/lib/reconciler/priority.js","../.generated/lib/reconciler/dom.js","../.generated/lib/render/portal.js","../.generated/lib/hydration/log.js","../.generated/lib/reconciler/commits.js","../.generated/lib/reconciler/reconciler.js","../.generated/lib/hydration/policy.js","../.generated/lib/reconciler/fiber-update.js","../.generated/lib/reconciler/bridge.js","../.generated/lib/hydration/recover.js","../.generated/lib/reconciler/workers.js","../.generated/lib/render/render.js","../.generated/lib/reconciler/batching.js","../.generated/lib/devtools/runtime.js","../.generated/lib/hooks/hooks.js","../.generated/lib/server/ssr.js","../.generated/lib/hooks/memo.js","../.generated/lib/hooks/forwardRef.js","../.generated/lib/hooks/lazy.js","../.generated/lib/devtools/profiler.js","../.generated/lib/hydration/boundaries.js","../.generated/lib/ui/error-boundary.js","../.generated/lib/server/actions.js","../.generated/lib/ui/dev-overlay.js","../.generated/lib/ui/theme.js","../.generated/lib/ui/theme-toggle.js","../.generated/lib/ui/layout.js","../.generated/lib/ui/mdx.js","../.generated/main.js"],"sourcesContent":["const rICFallback = (cb) => setTimeout(() => cb({ timeRemaining: () => 1 }), 1);\nconst rIC = typeof requestIdleCallback !== 'undefined' ? requestIdleCallback : rICFallback;\nconst createRenderState = () => ({\n containerRoot: null,\n nextUnitOfWork: null,\n currentRoot: null,\n wipRoot: null,\n deletions: [],\n wipFiber: null,\n hookIndex: 0,\n effects: [],\n});\nlet globalState = createRenderState();\nexport const getState = () => globalState;\nconst CAMEL_TO_KEBAB_REGEX = /[A-Z]/g;\nexport const RYUNIX_TYPES = Object.freeze({\n TEXT_ELEMENT: Symbol.for('ryunix.text.element'),\n RYUNIX_ELEMENT: Symbol.for('ryunix.element'),\n RYUNIX_EFFECT: Symbol.for('ryunix.effect'),\n RYUNIX_MEMO: Symbol.for('ryunix.memo'),\n RYUNIX_URL_QUERY: Symbol.for('ryunix.urlQuery'),\n RYUNIX_REF: Symbol.for('ryunix.ref'),\n RYUNIX_STORE: Symbol.for('ryunix.store'),\n RYUNIX_REDUCE: Symbol.for('ryunix.reduce'),\n RYUNIX_FRAGMENT: Symbol.for('ryunix.fragment'),\n RYUNIX_CONTEXT: Symbol.for('ryunix.context'),\n RYUNIX_SUSPENSE: Symbol.for('ryunix.suspense'),\n});\nexport const STRINGS = Object.freeze({\n OBJECT: 'object',\n FUNCTION: 'function',\n STYLE: 'ryunix-style',\n CLASS_NAME: 'ryunix-class',\n CHILDREN: 'children',\n BOOLEAN: 'boolean',\n STRING: 'string',\n UNDEFINED: 'undefined',\n});\nexport const OLD_STRINGS = Object.freeze({\n STYLE: 'style',\n CLASS_NAME: 'className',\n});\nexport const EFFECT_TAGS = Object.freeze({\n PLACEMENT: Symbol.for('ryunix.reconciler.status.placement'),\n UPDATE: Symbol.for('ryunix.reconciler.status.update'),\n DELETION: Symbol.for('ryunix.reconciler.status.deletion'),\n NO_EFFECT: Symbol.for('ryunix.reconciler.status.no_effect'),\n HYDRATE: Symbol.for('ryunix.reconciler.status.hydrate'),\n});\nexport function flattenArray(arr, depth = 1) {\n if (!Array.isArray(arr))\n return [arr];\n if (depth < 1)\n return arr.slice();\n return arr.reduce((acc, val) => {\n if (Array.isArray(val) && depth > 0) {\n acc.push(...flattenArray(val, depth - 1));\n }\n else {\n acc.push(val);\n }\n return acc;\n }, []);\n}\nexport const is = {\n object: (val) => val !== null && typeof val === STRINGS.OBJECT,\n function: (val) => typeof val === STRINGS.FUNCTION,\n string: (val) => typeof val === STRINGS.STRING,\n undefined: (val) => typeof val === STRINGS.UNDEFINED,\n null: (val) => val === null,\n array: (val) => Array.isArray(val),\n promise: (val) => val instanceof Promise,\n};\nexport function getTypeLabel(type) {\n if (typeof type === 'symbol')\n return type.description || type.toString();\n if (typeof type === 'function')\n return type.name || 'anonymous';\n return String(type);\n}\nexport function nextValidSibling(node) {\n let next = node;\n while (next &&\n ((next.nodeType === 3 && !next.nodeValue?.trim()) ||\n next.nodeType === 8 ||\n (next.nodeType === 1 &&\n next.hasAttribute('data-ryunix-ssr')))) {\n next = next.nextSibling;\n }\n return next;\n}\nexport { CAMEL_TO_KEBAB_REGEX, rIC };\n","import { RYUNIX_TYPES, STRINGS, is } from '../../utils/index.js';\nconst createTextElement = (text) => {\n return {\n type: RYUNIX_TYPES.TEXT_ELEMENT,\n props: {\n nodeValue: String(text),\n children: [],\n },\n };\n};\nconst createElement = (type, props, ...children) => {\n const safeProps = props || {};\n let rawChildren = children;\n if (children.length === 0 && safeProps.children !== undefined) {\n rawChildren = Array.isArray(safeProps.children)\n ? safeProps.children\n : [safeProps.children];\n }\n rawChildren = rawChildren\n .flat()\n .filter((child) => child != null && child !== false && child !== true);\n const normalizedChildren = [];\n let currentText = '';\n for (const child of rawChildren) {\n if (typeof child !== STRINGS.OBJECT) {\n currentText += String(child);\n }\n else {\n if (currentText !== '') {\n normalizedChildren.push(createTextElement(currentText));\n currentText = '';\n }\n normalizedChildren.push(child);\n }\n }\n if (currentText !== '') {\n normalizedChildren.push(createTextElement(currentText));\n }\n return {\n type,\n props: {\n ...safeProps,\n children: normalizedChildren,\n },\n };\n};\nconst Fragment = (props) => {\n const children = Array.isArray(props.children)\n ? props.children\n : [props.children];\n return createElement(RYUNIX_TYPES.RYUNIX_FRAGMENT, {}, ...children);\n};\nconst cloneElement = (element, props = {}, ...children) => {\n if (!element || !is.object(element)) {\n throw new Error('cloneElement requires a valid element');\n }\n const newChildren = children.length > 0 ? children : (element.props.children ?? []);\n return createElement(element.type, { ...element.props, ...props }, ...(Array.isArray(newChildren) ? newChildren : [newChildren]));\n};\nconst isValidElement = (object) => {\n return (is.object(object) &&\n object.type !== undefined &&\n object.props !== undefined);\n};\nexport { createElement, createTextElement, Fragment, cloneElement, isValidElement, };\n","import { RYUNIX_TYPES, STRINGS, is } from '../../utils/index.js';\nconst isEvent = (key) => key.startsWith('on');\nconst RESERVED_DOM_PROPS = new Set(['key', 'ref', STRINGS.CHILDREN]);\nconst isProperty = (key) => !RESERVED_DOM_PROPS.has(key) && !isEvent(key);\nconst isNew = (prev, next) => (key) => {\n return !Object.is(prev[key], next[key]);\n};\nconst isGone = (next) => (key) => !(key in next);\nconst cancelEffects = (fiber) => {\n if (!fiber?.hooks?.length)\n return;\n fiber.hooks\n .filter((hook) => hook.type === RYUNIX_TYPES.RYUNIX_EFFECT && is.function(hook.cancel))\n .forEach((hook) => {\n try {\n if (hook.cancel)\n hook.cancel();\n hook.cancel = null;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error in effect cleanup:', error);\n }\n }\n });\n};\nconst cancelEffectsDeep = (fiber) => {\n if (!fiber)\n return;\n if (fiber.hooks?.length) {\n fiber.hooks\n .filter((hook) => hook.type === RYUNIX_TYPES.RYUNIX_EFFECT && is.function(hook.cancel))\n .forEach((hook) => {\n try {\n if (hook.cancel)\n hook.cancel();\n hook.cancel = null;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error in deep effect cleanup:', error);\n }\n }\n });\n }\n if (fiber.child)\n cancelEffectsDeep(fiber.child);\n if (fiber.sibling)\n cancelEffectsDeep(fiber.sibling);\n};\nexport { cancelEffects, cancelEffectsDeep, isEvent, isProperty, isNew, isGone };\n","const SVG_ATTR_MAP = {\n strokeWidth: 'stroke-width',\n strokeLinecap: 'stroke-linecap',\n strokeLinejoin: 'stroke-linejoin',\n strokeDasharray: 'stroke-dasharray',\n strokeDashoffset: 'stroke-dashoffset',\n strokeMiterlimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n fillRule: 'fill-rule',\n fillOpacity: 'fill-opacity',\n clipRule: 'clip-rule',\n clipPath: 'clip-path',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontWeight: 'font-weight',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n dominantBaseline: 'dominant-baseline',\n alignmentBaseline: 'alignment-baseline',\n baselineShift: 'baseline-shift',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n lightingColor: 'lighting-color',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n pointerEvents: 'pointer-events',\n shapeRendering: 'shape-rendering',\n imageRendering: 'image-rendering',\n markerStart: 'marker-start',\n markerMid: 'marker-mid',\n markerEnd: 'marker-end',\n};\nexport function toSvgAttrName(name) {\n return SVG_ATTR_MAP[name] ?? name;\n}\nexport { SVG_ATTR_MAP };\n","import { rIC } from '../../utils/index.js';\nexport const Priority = {\n IMMEDIATE: 1,\n USER_BLOCKING: 2,\n NORMAL: 3,\n LOW: 4,\n IDLE: 5,\n};\nlet currentPriority = Priority.NORMAL;\nlet pendingUpdates = [];\nlet isScheduling = false;\nexport function scheduleUpdate(callback, priority = Priority.NORMAL) {\n pendingUpdates.push({ callback, priority, timestamp: Date.now() });\n if (!isScheduling) {\n isScheduling = true;\n rIC(processPendingUpdates);\n }\n}\nfunction processPendingUpdates(deadline) {\n pendingUpdates.sort((a, b) => a.priority - b.priority);\n while (pendingUpdates.length > 0 && deadline.timeRemaining() > 1) {\n const update = pendingUpdates.shift();\n if (!update)\n break;\n currentPriority = update.priority;\n update.callback();\n }\n if (pendingUpdates.length > 0) {\n rIC(processPendingUpdates);\n }\n else {\n isScheduling = false;\n currentPriority = Priority.NORMAL;\n }\n}\nexport function runWithPriority(priority, callback) {\n const previousPriority = currentPriority;\n currentPriority = priority;\n try {\n return callback();\n }\n finally {\n currentPriority = previousPriority;\n }\n}\nexport function getCurrentPriority() {\n return currentPriority;\n}\nexport function createPriorityDispatch(dispatch) {\n return (action, priority = currentPriority) => {\n scheduleUpdate(() => dispatch(action), priority);\n };\n}\n","import { isEvent, isGone, isNew, isProperty } from './effects.js';\nimport { RYUNIX_TYPES, STRINGS, OLD_STRINGS, CAMEL_TO_KEBAB_REGEX, is, } from '../../utils/index.js';\nimport { toSvgAttrName } from '../../utils/svgAttributes.js';\nimport { Priority, runWithPriority } from './priority.js';\nconst camelToKebab = (camelCase) => {\n return camelCase.replace(CAMEL_TO_KEBAB_REGEX, (match) => `-${match.toLowerCase()}`);\n};\nconst applyStyles = (dom, styleObj) => {\n if (!is.object(styleObj) || is.null(styleObj)) {\n dom.style.cssText = '';\n return;\n }\n try {\n const cssText = Object.entries(styleObj)\n .filter(([_, value]) => value != null)\n .map(([key, value]) => {\n const kebabKey = camelToKebab(key);\n return `${kebabKey}: ${value}`;\n })\n .join('; ');\n dom.style.cssText = cssText;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error applying styles:', error);\n }\n }\n};\nconst applyClasses = (dom, prevClasses, nextClasses) => {\n if (!nextClasses || nextClasses.trim() === '') {\n if (prevClasses) {\n const oldClasses = prevClasses.split(/\\s+/).filter(Boolean);\n dom.classList.remove(...oldClasses);\n }\n return;\n }\n if (prevClasses) {\n const oldClasses = prevClasses.split(/\\s+/).filter(Boolean);\n dom.classList.remove(...oldClasses);\n }\n const newClasses = nextClasses.split(/\\s+/).filter(Boolean);\n if (newClasses.length > 0) {\n dom.classList.add(...newClasses);\n }\n};\nconst createDom = (fiber) => {\n if (fiber.type === RYUNIX_TYPES.RYUNIX_FRAGMENT ||\n fiber.type === RYUNIX_TYPES.RYUNIX_CONTEXT ||\n fiber.type === Symbol.for('ryunix.portal')) {\n return null;\n }\n let dom;\n try {\n if (fiber.type === RYUNIX_TYPES.TEXT_ELEMENT) {\n dom = document.createTextNode('');\n }\n else if (is.string(fiber.type)) {\n const hostType = fiber.type;\n const isSvg = [\n 'svg',\n 'path',\n 'g',\n 'circle',\n 'polygon',\n 'rect',\n 'line',\n 'polyline',\n 'ellipse',\n 'text',\n 'tspan',\n 'defs',\n 'use',\n 'symbol',\n 'mask',\n 'clipPath',\n 'linearGradient',\n 'radialGradient',\n 'stop',\n 'filter',\n 'feGaussianBlur',\n 'feOffset',\n 'feMerge',\n 'feMergeNode',\n 'feBlend',\n 'feColorMatrix',\n 'feComposite',\n 'foreignObject',\n 'image',\n 'marker',\n 'pattern',\n 'textPath',\n ].includes(hostType);\n if (isSvg) {\n dom = document.createElementNS('http://www.w3.org/2000/svg', hostType);\n }\n else {\n dom = document.createElement(hostType);\n }\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('Attempted to create DOM for non-host component:', fiber.type);\n }\n return null;\n }\n updateDom(dom, {}, fiber.props);\n return dom;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error creating DOM element:', error, fiber);\n }\n return null;\n }\n};\nconst checkAttributeUri = (attrName, value) => {\n if (typeof value !== 'string')\n return value;\n const attr = attrName.toLowerCase();\n if (attr !== 'href' &&\n attr !== 'src' &&\n attr !== 'action' &&\n attr !== 'formaction') {\n return value;\n }\n const normalized = value.replace(/\\s+/g, '').toLowerCase();\n if (normalized.startsWith('javascript:') ||\n normalized.startsWith('vbscript:') ||\n normalized.startsWith('data:')) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Ryunix Security] Blocked dangerous ${attrName} URI: ${value}`);\n }\n return 'javascript:void(0)';\n }\n return value;\n};\nexport const validateUri = checkAttributeUri;\nconst updateDom = (dom, prevProps = {}, nextProps = {}) => {\n if (dom.nodeType === 3) {\n if (prevProps.nodeValue !== nextProps.nodeValue) {\n dom.nodeValue = String(nextProps.nodeValue ?? '');\n }\n return;\n }\n const el = dom;\n const domEl = el;\n const handlerMap = domEl._ryunixHandlers;\n Object.keys(prevProps)\n .filter(isEvent)\n .filter((key) => isGone(nextProps)(key) || isNew(prevProps, nextProps)(key))\n .forEach((propKey) => {\n const eventType = propKey.toLowerCase().substring(2);\n try {\n const originalHandler = prevProps[propKey];\n const wrappedHandler = handlerMap?.get(originalHandler) || originalHandler;\n el.removeEventListener(eventType, wrappedHandler);\n if (handlerMap) {\n handlerMap.delete(originalHandler);\n }\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('Error removing event listener:', error);\n }\n }\n });\n Object.keys(prevProps)\n .filter(isProperty)\n .filter(isGone(nextProps))\n .forEach((propKey) => {\n if (propKey === STRINGS.STYLE ||\n propKey === OLD_STRINGS.STYLE ||\n propKey === STRINGS.CLASS_NAME ||\n propKey === OLD_STRINGS.CLASS_NAME) {\n return;\n }\n if (el instanceof SVGElement) {\n const attrName = toSvgAttrName(propKey);\n el.removeAttribute(attrName);\n }\n else {\n el[propKey] = '';\n el.removeAttribute(propKey);\n }\n });\n Object.keys(nextProps)\n .filter(isProperty)\n .filter(isNew(prevProps, nextProps))\n .forEach((propKey) => {\n try {\n if (propKey === STRINGS.STYLE || propKey === OLD_STRINGS.STYLE) {\n const styleValue = nextProps[propKey];\n applyStyles(el, styleValue);\n }\n else if (propKey === STRINGS.CLASS_NAME) {\n applyClasses(el, prevProps[STRINGS.CLASS_NAME], nextProps[STRINGS.CLASS_NAME]);\n }\n else if (propKey === OLD_STRINGS.CLASS_NAME) {\n applyClasses(el, prevProps[OLD_STRINGS.CLASS_NAME], nextProps[OLD_STRINGS.CLASS_NAME]);\n }\n else {\n if (propKey === 'value' || propKey === 'checked') {\n if (el[propKey] !== nextProps[propKey]) {\n el[propKey] = nextProps[propKey];\n }\n }\n else {\n const isSvgNode = el instanceof SVGElement;\n if (isSvgNode) {\n const attrName = toSvgAttrName(propKey);\n const svgValidated = checkAttributeUri(attrName, nextProps[propKey]);\n el.setAttribute(attrName, svgValidated);\n }\n else {\n const attrVal = nextProps[propKey];\n const safeValue = checkAttributeUri(propKey, attrVal);\n el[propKey] = safeValue;\n if (typeof attrVal !== 'object' &&\n typeof attrVal !== 'function') {\n el.setAttribute(propKey, safeValue);\n }\n }\n }\n }\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Error setting property ${propKey}:`, error);\n }\n }\n });\n Object.keys(nextProps)\n .filter(isEvent)\n .filter(isNew(prevProps, nextProps))\n .forEach((propKey) => {\n const eventType = propKey.toLowerCase().substring(2);\n try {\n const handler = (e) => {\n runWithPriority(Priority.IMMEDIATE, () => nextProps[propKey](e));\n };\n if (!domEl._ryunixHandlers) {\n domEl._ryunixHandlers = new Map();\n }\n domEl._ryunixHandlers.set(nextProps[propKey], handler);\n el.addEventListener(eventType, handler);\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('Error adding event listener:', error);\n }\n }\n });\n};\nconst clearContainer = (container) => {\n if (!container)\n return;\n while (container.firstChild) {\n container.removeChild(container.firstChild);\n }\n};\nexport { createDom, updateDom, applyStyles, applyClasses, camelToKebab, clearContainer, };\n","export const RYUNIX_PORTAL = Symbol.for('ryunix.portal');\nexport function createPortal(children, container) {\n if (!container) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('createPortal: target container is not a DOM element.');\n }\n return null;\n }\n return {\n type: RYUNIX_PORTAL,\n props: {\n children: Array.isArray(children) ? children : [children],\n },\n containerInfo: container,\n _isPortal: true,\n };\n}\n","import { getState } from '../../utils/index.js';\nconst PREFIX = '[Ryunix Hydration]';\nconst emit = (level, message) => {\n const line = `${PREFIX} ${message}`;\n if (level === 'error') {\n console.error(line);\n }\n else {\n console.warn(line);\n }\n};\nconst shouldReportStrict = () => process.env.NODE_ENV !== 'production' &&\n process.env.RYUNIX_HYDRATION_STRICT === 'true';\nexport const logHydrationInfo = (message) => {\n if (!shouldReportStrict())\n return;\n emit('warn', message);\n};\nexport const logHydrationMismatch = (detail) => {\n const state = getState();\n if (state.hydrationMismatchReported)\n return;\n state.hydrationMismatchReported = true;\n const level = process.env.NODE_ENV === 'production' ? 'error' : 'warn';\n emit(level, `${detail} Server HTML did not match the client render. Falling back to client-side render.`);\n};\nexport const logHydrationBoundaryMismatch = (detail) => {\n const state = getState();\n if (state.hydrationBoundaryMismatchReported)\n return;\n state.hydrationBoundaryMismatchReported = true;\n const level = process.env.NODE_ENV === 'production' ? 'error' : 'warn';\n emit(level, `${detail} Recovering the nearest hydration boundary with a scoped client render.`);\n};\nexport const logHydrationRecoverable = (detail) => {\n if (!shouldReportStrict())\n return;\n emit('warn', `Recovered a hydration mismatch (${detail}) without root fallback.`);\n};\nexport const logHydrationFailure = (reason = '') => {\n const state = getState();\n if (state.hydrationFailureReported)\n return;\n state.hydrationFailureReported = true;\n const detail = reason\n ? `${reason} `\n : state.hydrationMismatchReported\n ? ''\n : 'Hydration could not attach to the server HTML. ';\n const level = process.env.NODE_ENV === 'production' ? 'error' : 'warn';\n emit(level, `${detail}Clearing #__ryunix and remounting on the client.`);\n};\nexport const logHydrationUnmatchedNodes = (count) => {\n if (!count)\n return;\n const state = getState();\n if (state.hydrationUnmatchedReported)\n return;\n state.hydrationUnmatchedReported = true;\n emit('warn', `Removed ${count} server-rendered DOM node(s) that were not used by the client tree. This can indicate an SSR/client markup mismatch.`);\n};\nexport const logHydrationRecovery = () => {\n const state = getState();\n if (state.hydrationRecoveryReported)\n return;\n state.hydrationRecoveryReported = true;\n emit('warn', 'Remounting the application on the client after hydration failure.');\n};\nexport const logHydrationBoundaryRecovery = () => {\n const state = getState();\n if (state.hydrationBoundaryRecoveryReported)\n return;\n state.hydrationBoundaryRecoveryReported = true;\n emit('warn', 'Remounting a hydration boundary after local mismatch.');\n};\nexport const logHydrationFatal = (reason) => {\n emit('error', reason);\n};\nexport const resetHydrationLogFlags = () => {\n const state = getState();\n state.hydrationMismatchReported = false;\n state.hydrationBoundaryMismatchReported = false;\n state.hydrationFailureReported = false;\n state.hydrationUnmatchedReported = false;\n state.hydrationRecoveryReported = false;\n state.hydrationBoundaryRecoveryReported = false;\n};\n","import { updateDom } from './dom.js';\nimport { cancelEffects, cancelEffectsDeep } from './effects.js';\nimport { EFFECT_TAGS, RYUNIX_TYPES, getState, is } from '../../utils/index.js';\nimport { RYUNIX_PORTAL } from '../render/portal.js';\nimport { logHydrationUnmatchedNodes } from '../hydration/log.js';\nconst runLayoutEffects = (fiber) => {\n if (!fiber?.hooks?.length)\n return;\n for (let i = 0; i < fiber.hooks.length; i++) {\n const hook = fiber.hooks[i];\n if (hook.type === RYUNIX_TYPES.RYUNIX_EFFECT &&\n hook.isLayout &&\n is.function(hook.effect)) {\n if (is.function(hook.cancel)) {\n try {\n hook.cancel();\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error in layout effect cleanup:', error);\n }\n }\n }\n try {\n const cleanup = hook.effect();\n hook.cancel = is.function(cleanup)\n ? cleanup\n : null;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error in layout effect:', error);\n }\n hook.cancel = null;\n }\n hook.effect = null;\n }\n }\n};\nconst runNormalEffects = (fiber) => {\n if (!fiber?.hooks?.length)\n return;\n for (let i = 0; i < fiber.hooks.length; i++) {\n const hook = fiber.hooks[i];\n if (hook.type === RYUNIX_TYPES.RYUNIX_EFFECT &&\n !hook.isLayout &&\n is.function(hook.effect)) {\n if (is.function(hook.cancel)) {\n try {\n hook.cancel();\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error in effect cleanup:', error);\n }\n }\n }\n try {\n const cleanup = hook.effect();\n hook.cancel = is.function(cleanup)\n ? cleanup\n : null;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error in effect:', error);\n }\n hook.cancel = null;\n }\n hook.effect = null;\n }\n }\n};\nfunction commitRoot() {\n const state = getState();\n state.deletions.forEach(commitWork);\n const finishedWork = state.wipRoot;\n state.currentRoot = finishedWork;\n if (state.isHydrating || state.hydrationFailed) {\n if (process.env.NODE_ENV !== 'production' && process.env.RYUNIX_DEBUG) {\n console.log(`[Ryunix Debug] commitRoot - isHydrating: ${state.isHydrating}, hydrationFailed: ${state.hydrationFailed}`);\n }\n if (state.hydrationFailed) {\n }\n else {\n let cursor = state.hydrateCursor;\n let removed = 0;\n if (cursor &&\n process.env.NODE_ENV !== 'production' &&\n process.env.RYUNIX_DEBUG) {\n console.log('[Ryunix Debug] Removing unmatched root siblings.');\n }\n while (cursor) {\n const next = cursor.nextSibling;\n if (cursor.parentNode) {\n cursor.parentNode.removeChild(cursor);\n removed++;\n }\n cursor = next;\n }\n logHydrationUnmatchedNodes(removed);\n }\n state.isHydrating = false;\n state.hydrationFailed = false;\n state.hydrateCursor = null;\n }\n commitWork(finishedWork.child);\n if (state.wipRoot === finishedWork) {\n state.wipRoot = null;\n }\n}\nfunction commitWork(fiber) {\n if (!fiber) {\n return;\n }\n if (fiber.type === RYUNIX_PORTAL || fiber._isPortal) {\n const portalContainer = fiber.containerInfo;\n if (portalContainer) {\n const portalFiber = fiber.child;\n if (portalFiber) {\n commitPortalWork(portalFiber, portalContainer);\n }\n }\n commitWork(fiber.sibling);\n return;\n }\n let domParentFiber = fiber.parent;\n while (domParentFiber && !domParentFiber.dom) {\n domParentFiber = domParentFiber.parent;\n }\n if (!domParentFiber) {\n return;\n }\n const domParent = domParentFiber.dom;\n if (fiber.effectTag === EFFECT_TAGS.PLACEMENT) {\n if (fiber.dom != null) {\n if (process.env.NODE_ENV !== 'production' && process.env.RYUNIX_DEBUG) {\n console.log('[Ryunix Debug] Appending PLACEMENT:', fiber.type);\n }\n domParent.appendChild(fiber.dom);\n }\n runLayoutEffects(fiber);\n runNormalEffects(fiber);\n }\n else if (fiber.effectTag === EFFECT_TAGS.UPDATE) {\n cancelEffects(fiber);\n if (fiber.dom != null) {\n updateDom(fiber.dom, fiber.alternate.props, fiber.props);\n }\n runLayoutEffects(fiber);\n runNormalEffects(fiber);\n }\n else if (fiber.effectTag === EFFECT_TAGS.HYDRATE) {\n const state = getState();\n if (state.hydrationFailed) {\n if (process.env.NODE_ENV !== 'production' && process.env.RYUNIX_DEBUG) {\n console.log('[Ryunix Debug] Hydration fallback PLACEMENT:', fiber.type);\n }\n if (fiber.dom != null) {\n domParent.appendChild(fiber.dom);\n }\n runLayoutEffects(fiber);\n runNormalEffects(fiber);\n }\n else {\n if (process.env.NODE_ENV !== 'production' && process.env.RYUNIX_DEBUG) {\n console.log('[Ryunix Debug] Hydrating node:', fiber.type);\n }\n if (fiber.dom != null) {\n updateDom(fiber.dom, {}, fiber.props);\n }\n runLayoutEffects(fiber);\n runNormalEffects(fiber);\n }\n }\n else if (fiber.effectTag === EFFECT_TAGS.DELETION) {\n cancelEffectsDeep(fiber);\n commitDeletion(fiber, domParent);\n return;\n }\n commitWork(fiber.child);\n commitWork(fiber.sibling);\n}\nconst commitPortalWork = (fiber, portalContainer) => {\n if (!fiber)\n return;\n if (fiber.effectTag === EFFECT_TAGS.PLACEMENT) {\n if (fiber.dom != null) {\n portalContainer.appendChild(fiber.dom);\n }\n runLayoutEffects(fiber);\n runNormalEffects(fiber);\n }\n else if (fiber.effectTag === EFFECT_TAGS.UPDATE) {\n cancelEffects(fiber);\n if (fiber.dom != null) {\n updateDom(fiber.dom, fiber.alternate.props, fiber.props);\n }\n runLayoutEffects(fiber);\n runNormalEffects(fiber);\n }\n else if (fiber.effectTag === EFFECT_TAGS.DELETION) {\n cancelEffectsDeep(fiber);\n commitDeletion(fiber, portalContainer);\n return;\n }\n commitPortalWork(fiber.child, portalContainer);\n commitPortalWork(fiber.sibling, portalContainer);\n};\nconst commitDeletion = (fiber, domParent) => {\n if (fiber.dom) {\n if (fiber.dom.parentNode) {\n fiber.dom.parentNode.removeChild(fiber.dom);\n }\n }\n else {\n let child = fiber.child;\n while (child) {\n commitDeletion(child, domParent);\n child = child.sibling;\n }\n }\n};\nexport { commitDeletion, commitWork, commitRoot };\n","import { EFFECT_TAGS, getState } from '../../utils/index.js';\nconst reconcileChildren = (wipFiber, elements) => {\n const state = getState();\n let index = 0;\n let prevSibling;\n let isFirstChild = true;\n const oldFiberMap = new Map();\n let oldFiber = wipFiber.alternate?.child;\n let position = 0;\n while (oldFiber) {\n const key = oldFiber.key ?? `__index_${oldFiber.index ?? position}__`;\n oldFiberMap.set(key, oldFiber);\n oldFiber = oldFiber.sibling;\n position++;\n }\n while (index < elements.length) {\n const element = elements[index];\n if (!element) {\n index++;\n continue;\n }\n const key = element.key ?? `__index_${index}__`;\n const matchedFiber = oldFiberMap.get(key);\n let newFiber;\n const sameType = matchedFiber && element.type === matchedFiber.type;\n if (sameType && matchedFiber) {\n newFiber = {\n type: matchedFiber.type,\n props: element.props,\n dom: matchedFiber.dom,\n parent: wipFiber,\n alternate: matchedFiber,\n effectTag: EFFECT_TAGS.UPDATE,\n hooks: matchedFiber.hooks,\n stateError: matchedFiber.stateError,\n key: element.key,\n index,\n };\n oldFiberMap.delete(key);\n }\n else {\n newFiber = {\n type: element.type,\n props: element.props,\n dom: null,\n parent: wipFiber,\n alternate: null,\n effectTag: state.isHydrating\n ? EFFECT_TAGS.HYDRATE\n : EFFECT_TAGS.PLACEMENT,\n key: element.key,\n index,\n };\n if (matchedFiber) {\n matchedFiber.effectTag = EFFECT_TAGS.DELETION;\n state.deletions.push(matchedFiber);\n oldFiberMap.delete(key);\n }\n }\n if (isFirstChild) {\n wipFiber.child = newFiber;\n isFirstChild = false;\n }\n else if (prevSibling) {\n prevSibling.sibling = newFiber;\n }\n prevSibling = newFiber;\n index++;\n }\n oldFiberMap.forEach((fiber) => {\n fiber.effectTag = EFFECT_TAGS.DELETION;\n state.deletions.push(fiber);\n });\n};\nexport { reconcileChildren };\n","import { getState } from '../../utils/index.js';\nexport const getHydrationPolicy = () => {\n const env = (globalThis.process && globalThis.process.env) || {};\n const recoverRaw = env.RYUNIX_HYDRATION_RECOVER || 'boundary';\n const boundariesRaw = env.RYUNIX_HYDRATION_BOUNDARIES || 'route';\n const strict = env.RYUNIX_HYDRATION_STRICT === 'true';\n const recover = recoverRaw === 'none' || recoverRaw === 'root' ? recoverRaw : 'boundary';\n const boundaries = boundariesRaw === 'server-only' || boundariesRaw === 'all-layouts'\n ? boundariesRaw\n : 'route';\n return {\n recover,\n boundaries,\n strict,\n };\n};\nexport const findNearestHydrationBoundary = (fiber) => {\n let current = fiber || null;\n while (current) {\n const props = current.props;\n if (props &&\n Object.prototype.hasOwnProperty.call(props, 'data-ryunix-hydrate-boundary')) {\n return current;\n }\n const type = current.type;\n const maybeTyped = type;\n if (type &&\n typeof type === 'function' &&\n (maybeTyped?.ryunix_type === 'RYUNIX_HYDRATION_BOUNDARY' ||\n maybeTyped?.ryunix_type === 'RYUNIX_SERVER_BOUNDARY')) {\n return current;\n }\n current = current.parent || null;\n }\n return null;\n};\nexport const findBoundaryDomFromNode = (node) => {\n let current = node ?? null;\n while (current) {\n if (current.nodeType === 1 &&\n current.hasAttribute('data-ryunix-hydrate-boundary')) {\n return current;\n }\n current = current.parentNode;\n }\n return null;\n};\nexport const getBoundaryDom = (fiber) => {\n if (!fiber)\n return null;\n if (fiber.dom && fiber.dom.nodeType === 1) {\n const el = fiber.dom;\n if (el.hasAttribute('data-ryunix-hydrate-boundary'))\n return el;\n }\n let child = fiber.child || null;\n while (child) {\n if (child.dom && child.dom.nodeType === 1) {\n const el = child.dom;\n if (el.hasAttribute('data-ryunix-hydrate-boundary'))\n return el;\n }\n child = child.child || child.sibling || null;\n }\n return null;\n};\nexport const skipHydrationSubtree = (cursor, boundaryRoot) => {\n if (!cursor || !boundaryRoot)\n return cursor;\n if (cursor === boundaryRoot)\n return boundaryRoot.nextSibling;\n if (boundaryRoot.contains(cursor))\n return boundaryRoot.nextSibling;\n return cursor;\n};\nexport const enqueueScopedRecovery = (boundaryFiber, boundaryDom, resumeCursor) => {\n if (!boundaryFiber || !boundaryDom)\n return;\n const state = getState();\n const queue = state.scopedRecoveryQueue || [];\n queue.push({\n boundaryFiber,\n boundaryDom,\n resumeCursor,\n element: (Array.isArray(boundaryFiber.props?.children)\n ? boundaryFiber.props.children[0]\n : boundaryFiber.props?.children),\n });\n state.scopedRecoveryQueue = queue;\n};\n","import { createDom } from './dom.js';\nimport { reconcileChildren } from './reconciler.js';\nimport { getState, RYUNIX_TYPES, EFFECT_TAGS, nextValidSibling, } from '../../utils/index.js';\nimport { logHydrationBoundaryMismatch, logHydrationFatal, logHydrationMismatch, logHydrationRecoverable, } from '../hydration/log.js';\nimport { enqueueScopedRecovery, findNearestHydrationBoundary, findBoundaryDomFromNode, getBoundaryDom, getHydrationPolicy, skipHydrationSubtree, } from '../hydration/policy.js';\nconst updateFunctionComponent = (fiber) => {\n const state = getState();\n state.wipFiber = fiber;\n state.hookIndex = 0;\n state.wipFiber.hooks = [];\n if (state.isHydrating) {\n fiber.effectTag = EFFECT_TAGS.HYDRATE;\n }\n const componentType = fiber.type;\n if (componentType._isMemo && fiber.alternate) {\n const { children: _pc, ...prevRest } = fiber.alternate.props || {};\n const { children: _nc, ...nextRest } = fiber.props || {};\n if (componentType._arePropsEqual?.(prevRest, nextRest)) {\n fiber.hooks = fiber.alternate.hooks;\n const oldChild = fiber.alternate.child;\n if (oldChild) {\n oldChild.parent = fiber;\n fiber.child = oldChild;\n }\n return;\n }\n }\n let children = [\n componentType(fiber.props),\n ];\n if (componentType._contextId && fiber.props?.value !== undefined) {\n fiber._contextId = componentType._contextId;\n fiber._contextValue = fiber.props.value;\n }\n reconcileChildren(fiber, children);\n};\nconst isUnderClientOnlyBoundary = (fiber) => {\n let current = fiber?.parent || null;\n while (current) {\n if (current._hydrateClientOnly)\n return true;\n current = current.parent || null;\n }\n return false;\n};\nconst updateHostComponent = (fiber) => {\n const state = getState();\n if (fiber.type === RYUNIX_TYPES.RYUNIX_CONTEXT) {\n fiber._contextId =\n fiber.props?._contextId;\n fiber._contextValue = fiber.props?.value;\n }\n const isPassthrough = fiber.type === RYUNIX_TYPES.RYUNIX_FRAGMENT ||\n fiber.type === RYUNIX_TYPES.RYUNIX_CONTEXT ||\n fiber.type === Symbol.for('ryunix.portal');\n if (state.isHydrating && isPassthrough) {\n fiber.effectTag = EFFECT_TAGS.HYDRATE;\n }\n else if (state.isHydrating && isUnderClientOnlyBoundary(fiber)) {\n if (!fiber.dom) {\n fiber.dom = createDom(fiber);\n fiber.effectTag = EFFECT_TAGS.PLACEMENT;\n }\n }\n else if (!fiber.dom) {\n if (state.isHydrating && state.hydrateCursor) {\n const domNode = state.hydrateCursor;\n const isText = fiber.type === RYUNIX_TYPES.TEXT_ELEMENT && domNode.nodeType === 3;\n const isElement = typeof fiber.type === 'string' &&\n domNode.nodeType === 1 &&\n domNode.tagName.toLowerCase() === fiber.type.toLowerCase();\n if (isText || isElement) {\n fiber.dom = domNode;\n fiber.effectTag = EFFECT_TAGS.HYDRATE;\n if (isText &&\n fiber.props?.nodeValue != null &&\n domNode.nodeValue !== String(fiber.props.nodeValue)) {\n domNode.nodeValue = String(fiber.props.nodeValue);\n logHydrationRecoverable('text');\n }\n if (isElement &&\n domNode.hasAttribute('data-ryunix-hydrate-boundary')) {\n fiber._hydrateClientOnly = true;\n }\n state.hydrateCursor = nextValidSibling(domNode.firstChild);\n }\n else {\n const policy = getHydrationPolicy();\n const detail = `Mismatch at ${getTypeLabel(fiber.type)}. Expected ${domNode.nodeType === 1 ? domNode.tagName : 'text'} but got ${String(fiber.type)}.`;\n const boundaryFiber = findNearestHydrationBoundary(fiber);\n const boundaryDom = (boundaryFiber ? getBoundaryDom(boundaryFiber) : null) ??\n findBoundaryDomFromNode(state.hydrateCursor);\n if (policy.recover === 'boundary' && boundaryFiber && boundaryDom) {\n logHydrationBoundaryMismatch(detail);\n enqueueScopedRecovery(boundaryFiber, boundaryDom, state.hydrateCursor ?? null);\n state.hydrateCursor = skipHydrationSubtree(state.hydrateCursor ?? null, boundaryDom);\n fiber.dom = createDom(fiber);\n fiber.effectTag = EFFECT_TAGS.PLACEMENT;\n }\n else if (policy.recover === 'none') {\n logHydrationFatal(detail);\n state.isHydrating = false;\n state.hydrateCursor = null;\n fiber.dom = createDom(fiber);\n fiber.effectTag = EFFECT_TAGS.PLACEMENT;\n }\n else {\n logHydrationMismatch(detail);\n state.isHydrating = false;\n state.hydrationFailed = true;\n state.hydrateCursor = null;\n fiber.dom = createDom(fiber);\n fiber.effectTag = EFFECT_TAGS.PLACEMENT;\n }\n }\n }\n else {\n fiber.dom = createDom(fiber);\n }\n }\n const children = fiber.props?.children || [];\n reconcileChildren(fiber, children);\n};\nconst getTypeLabel = (type) => {\n if (typeof type === 'symbol')\n return type.description || type.toString();\n if (typeof type === 'function')\n return type.name || 'anonymous';\n return String(type);\n};\nexport { updateFunctionComponent, updateHostComponent };\n","let scheduleWorkFn = null;\nexport const setScheduleWork = (fn) => {\n scheduleWorkFn = fn;\n};\nexport const scheduleWork = (root, priority) => {\n if (scheduleWorkFn) {\n return scheduleWorkFn(root, priority);\n }\n if (process.env.NODE_ENV !== 'production') {\n console.warn('[Ryunix] scheduleWork called before being initialized.');\n }\n};\n","import { clearContainer } from '../reconciler/dom.js';\nimport { getState } from '../../utils/index.js';\nimport { scheduleWork } from '../reconciler/bridge.js';\nimport { logHydrationBoundaryRecovery, logHydrationFailure, logHydrationRecovery, } from './log.js';\nimport { getHydrationPolicy } from './policy.js';\nexport const renderSubtree = (element, container) => {\n clearContainer(container);\n const root = {\n dom: container,\n props: { children: [element] },\n isHydrating: false,\n hydrateCursor: null,\n };\n scheduleWork(root, undefined);\n};\nexport const recoverScopedHydrationFailures = () => {\n const state = getState();\n const queue = state.scopedRecoveryQueue;\n if (!queue?.length)\n return;\n state.scopedRecoveryQueue = [];\n for (const item of queue) {\n logHydrationBoundaryRecovery();\n renderSubtree(item.element, item.boundaryDom);\n }\n};\nexport const recoverHydrationFailureIfNeeded = () => {\n const state = getState();\n if (!state.hydrationFailed || state.hydrationRecover)\n return;\n const policy = getHydrationPolicy();\n if (policy.recover === 'none')\n return;\n const container = state.containerRoot || state.currentRoot?.dom;\n const element = state.currentRoot?.props?.children?.[0];\n if (!container || element == null)\n return;\n state.hydrationRecover = true;\n state.hydrationFailed = false;\n logHydrationFailure('');\n logHydrationRecovery();\n renderSubtree(element, container);\n};\nexport const runHydrationRecovery = () => {\n recoverScopedHydrationFailures();\n recoverHydrationFailureIfNeeded();\n};\n","import { commitRoot } from './commits.js';\nimport { updateFunctionComponent, updateHostComponent } from './fiber-update.js';\nimport { runHydrationRecovery } from '../hydration/recover.js';\nimport { getState, rIC, nextValidSibling } from '../../utils/index.js';\nimport { getCurrentPriority, Priority } from './priority.js';\nimport { setScheduleWork } from './bridge.js';\nlet workQueue = [];\nlet isWorkLoopScheduled = false;\nfunction performUnitOfWork(fiber) {\n const state = getState();\n const isFunctionComponent = fiber.type instanceof Function || typeof fiber.type === 'function';\n try {\n if (isFunctionComponent) {\n updateFunctionComponent(fiber);\n }\n else {\n updateHostComponent(fiber);\n }\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[Ryunix ErrorBoundary] Caught error during render:', error);\n try {\n const src = fiber.props && fiber.props.__source;\n if (src && error && typeof error === 'object') {\n error.__ryunix_source = src;\n }\n let targetFiber = fiber;\n while (!error.__ryunix_source && targetFiber) {\n if (targetFiber.props && targetFiber.props.__source) {\n error.__ryunix_source = targetFiber.props.__source;\n }\n targetFiber = targetFiber.parent;\n }\n }\n catch (e) { }\n }\n let boundaryFiber = fiber.parent;\n let foundBoundary = false;\n while (boundaryFiber) {\n if (boundaryFiber.type &&\n boundaryFiber.type\n .ryunix_type === 'RYUNIX_ERROR_BOUNDARY') {\n foundBoundary = true;\n break;\n }\n boundaryFiber = boundaryFiber.parent;\n }\n if (foundBoundary) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('[Ryunix ErrorBoundary] Recovering tree at nearest boundary.');\n }\n boundaryFiber.stateError = error;\n fiber.child = null;\n return boundaryFiber;\n }\n else {\n console.error('[Ryunix] Fatal Uncaught Error. No ErrorBoundary was found in the tree to handle this exception:\\n', error);\n state.nextUnitOfWork = null;\n return null;\n }\n }\n if (fiber.child) {\n return fiber.child;\n }\n let nextFiber = fiber;\n while (nextFiber) {\n if (state.isHydrating && nextFiber.dom) {\n state.hydrateCursor = nextValidSibling(nextFiber.dom.nextSibling);\n }\n if (nextFiber.sibling) {\n return nextFiber.sibling;\n }\n nextFiber = nextFiber.parent;\n }\n}\nconst workLoop = (deadline) => {\n const state = getState();\n let shouldYield = false;\n while ((state.nextUnitOfWork || workQueue.length > 0) && !shouldYield) {\n if (!state.nextUnitOfWork && workQueue.length > 0) {\n const nextRoot = workQueue.shift();\n state.wipRoot = nextRoot;\n state.nextUnitOfWork = nextRoot;\n state.deletions = [];\n if (nextRoot.isHydrating !== undefined) {\n state.isHydrating = nextRoot.isHydrating;\n state.hydrateCursor = nextRoot.hydrateCursor;\n }\n }\n if (state.nextUnitOfWork) {\n state.nextUnitOfWork = performUnitOfWork(state.nextUnitOfWork);\n }\n shouldYield = deadline.timeRemaining() < 1;\n }\n if (!state.nextUnitOfWork && state.wipRoot) {\n commitRoot();\n runHydrationRecovery();\n }\n if (state.nextUnitOfWork || workQueue.length > 0) {\n rIC(workLoop);\n }\n else {\n isWorkLoopScheduled = false;\n }\n};\nconst scheduleWork = (root, priority = getCurrentPriority()) => {\n const state = getState();\n if (state.wipRoot) {\n workQueue.push(root);\n }\n else {\n state.nextUnitOfWork = root;\n state.wipRoot = root;\n state.deletions = [];\n if (root.isHydrating !== undefined) {\n state.isHydrating = root.isHydrating;\n state.hydrateCursor = root.hydrateCursor;\n }\n }\n state.hookIndex = 0;\n state.effects = [];\n if (!isWorkLoopScheduled) {\n isWorkLoopScheduled = true;\n if (priority <= Priority.USER_BLOCKING) {\n Promise.resolve().then(() => {\n workLoop({ timeRemaining: () => 10, didTimeout: true });\n });\n }\n else {\n rIC(workLoop);\n }\n }\n};\nsetScheduleWork(scheduleWork);\nexport { performUnitOfWork, workLoop, scheduleWork };\n","import { clearContainer } from '../reconciler/dom.js';\nimport { getState } from '../../utils/index.js';\nimport { scheduleWork } from '../reconciler/workers.js';\nimport { resetHydrationLogFlags } from '../hydration/log.js';\nimport { getHydrationPolicy } from '../hydration/policy.js';\nconst render = (element, container) => {\n const state = getState();\n clearContainer(container);\n const root = {\n dom: container,\n props: {\n children: [\n element,\n ],\n },\n alternate: state.currentRoot,\n isHydrating: false,\n hydrateCursor: null,\n };\n scheduleWork(root);\n return root;\n};\nconst SSR_ROOT_ATTR = 'data-ryunix-ssr-root';\nconst nextValidSibling = (node) => {\n let next = node;\n while (next &&\n ((next.nodeType === 3 && !next.nodeValue.trim()) ||\n next.nodeType === 8 ||\n (next.nodeType === 1 &&\n next.hasAttribute('data-ryunix-ssr')))) {\n next = next.nextSibling;\n }\n return next;\n};\nconst hydrate = (element, container) => {\n const state = getState();\n state.containerRoot = container;\n const root = {\n dom: container,\n props: {\n children: [\n element,\n ],\n },\n alternate: state.currentRoot,\n isHydrating: true,\n hydrateCursor: nextValidSibling(container.firstChild),\n };\n scheduleWork(root);\n return root;\n};\nconst init = (MainElement, root = '__ryunix', components = {}) => {\n const state = getState();\n const container = document.getElementById(root);\n state.containerRoot = container;\n if (!container) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Ryunix] init: container #${root} not found.`);\n }\n return undefined;\n }\n resetHydrationLogFlags();\n state.hydrationPolicy = getHydrationPolicy();\n state.scopedRecoveryQueue = [];\n state.hydrationRecover = false;\n state.isHydrating = false;\n state.hydrationFailed = false;\n if (state.currentRoot) {\n if (process.env.NODE_ENV !== 'production' && process.env.RYUNIX_DEBUG) {\n console.log(`[Ryunix Debug] init: existing root detected. Client render on #${root}`);\n }\n return render(MainElement, container);\n }\n const ssrEnabled = process.env.RYUNIX_SSR !== 'false';\n const isSsrPayload = ssrEnabled &&\n container.hasAttribute(SSR_ROOT_ATTR) &&\n container.hasChildNodes();\n if (process.env.NODE_ENV !== 'production' && process.env.RYUNIX_DEBUG) {\n console.log(`[Ryunix Debug] init: isSsrPayload=${isSsrPayload}, hasChildNodes=${container.hasChildNodes()}`);\n }\n if (isSsrPayload) {\n if (process.env.NODE_ENV !== 'production' && process.env.RYUNIX_DEBUG) {\n console.log(`[Ryunix Debug] init: hydrating SSR markup on #${root}`);\n }\n container.removeAttribute(SSR_ROOT_ATTR);\n return hydrate(MainElement, container);\n }\n if (process.env.NODE_ENV !== 'production' && process.env.RYUNIX_DEBUG) {\n console.log(`[Ryunix Debug] init: client render on #${root}`);\n }\n return render(MainElement, container);\n};\nconst safeRender = (component, props, onError) => {\n try {\n return component(props);\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Component error:', error);\n }\n if (onError)\n onError(error);\n return null;\n }\n};\nexport { init, render, safeRender, hydrate, clearContainer };\nexport { renderSubtree, recoverScopedHydrationFailures, recoverHydrationFailureIfNeeded, runHydrationRecovery, } from '../hydration/recover.js';\n","let isBatching = false;\nlet pendingUpdates = [];\nexport function batchUpdates(callback) {\n const wasBatching = isBatching;\n isBatching = true;\n try {\n callback();\n }\n finally {\n isBatching = wasBatching;\n if (!isBatching && pendingUpdates.length > 0) {\n flushUpdates();\n }\n }\n}\nexport function queueUpdate(update) {\n pendingUpdates.push(update);\n if (!isBatching) {\n flushUpdates();\n }\n}\nexport function flushUpdates() {\n if (pendingUpdates.length === 0)\n return;\n const updates = pendingUpdates;\n pendingUpdates = [];\n updates.forEach((update) => update());\n}\n","import { getState } from '../../utils/index.js';\nconst isDevelopment = process.env.NODE_ENV !== 'production';\nconst warning = (condition, message) => {\n if (!isDevelopment)\n return;\n if (condition)\n return;\n console.warn(`[Ryunix Warning] ${message}`);\n};\nconst error = (message) => {\n if (!isDevelopment)\n return;\n console.error(`[Ryunix Error] ${message}`);\n};\nconst getComponentName = (component) => {\n if (!component)\n return 'Unknown';\n return component.displayName || component.name || 'Anonymous';\n};\nconst validateHookContext = (hookName = 'A hook') => {\n const state = getState();\n if (!state.wipFiber) {\n throw new Error(`${hookName} can only be called inside function components. ` +\n 'Make sure you are calling hooks at the top level of your component.');\n }\n const wipFiber = state.wipFiber;\n if (!Array.isArray(wipFiber.hooks)) {\n wipFiber.hooks = [];\n }\n};\nconst perfTracker = {\n marks: new Map(),\n mark(name) {\n if (!isDevelopment)\n return;\n this.marks.set(name, Date.now());\n },\n measure(name, startMark) {\n if (!isDevelopment)\n return;\n const start = this.marks.get(startMark);\n if (!start)\n return;\n const duration = Date.now() - start;\n console.log(`[Ryunix Performance] ${name}: ${duration}ms`);\n },\n clear() {\n this.marks.clear();\n },\n};\nconst deprecated = (oldAPI, newAPI, version) => {\n if (!isDevelopment)\n return;\n console.warn(`[Ryunix Deprecated] ${oldAPI} is deprecated and will be removed in version ${version}. ` +\n `Use ${newAPI} instead.`);\n};\nexport { warning, error, getComponentName, validateHookContext, perfTracker, deprecated, };\n","import { RYUNIX_TYPES, getState, is, flattenArray } from '../../utils/index.js';\nimport { createElement, Fragment } from '../reconciler/createElement.js';\nimport { scheduleWork } from '../reconciler/bridge.js';\nimport { Priority, scheduleUpdate, runWithPriority, getCurrentPriority, } from '../reconciler/priority.js';\nimport { queueUpdate } from '../reconciler/batching.js';\nimport { validateHookContext as validateHookCall } from '../devtools/runtime.js';\nconst haveDepsChanged = (oldDeps, newDeps) => {\n if (!oldDeps || !newDeps)\n return true;\n if (oldDeps.length !== newDeps.length)\n return true;\n return oldDeps.some((dep, i) => !Object.is(dep, newDeps[i]));\n};\nconst useStore = (initialState, priority = getCurrentPriority()) => {\n if (typeof window === 'undefined') {\n return [\n is.function(initialState)\n ? initialState()\n : initialState,\n () => { },\n ];\n }\n const state = getState();\n if (state.isServerRendering) {\n return [\n is.function(initialState)\n ? initialState()\n : initialState,\n () => { },\n ];\n }\n const reducer = (state, action) => is.function(action) ? action(state) : action;\n return useReducer(reducer, initialState, undefined, priority);\n};\nconst useReducer = (reducer, initialState, init, defaultPriority = getCurrentPriority()) => {\n if (typeof window === 'undefined') {\n return [init ? init(initialState) : initialState, () => { }];\n }\n const state = getState();\n if (state.isServerRendering) {\n return [init ? init(initialState) : initialState, () => { }];\n }\n validateHookCall();\n const { hookIndex } = state;\n const wipFiber = state.wipFiber;\n const oldHook = wipFiber.alternate?.hooks?.[hookIndex];\n const hook = {\n hookID: hookIndex,\n type: RYUNIX_TYPES.RYUNIX_STORE,\n state: oldHook ? oldHook.state : init ? init(initialState) : initialState,\n queue: [],\n };\n if (oldHook?.queue) {\n oldHook.queue.forEach((action) => {\n try {\n hook.state = reducer(hook.state, action);\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error in reducer:', error);\n }\n }\n });\n }\n const dispatch = (action, priority = defaultPriority) => {\n if (action === undefined) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('dispatch called with undefined action');\n }\n return;\n }\n hook.queue.push(action);\n const currentState = getState();\n const activeRoot = currentState.currentRoot ||\n currentState.wipRoot;\n if (!activeRoot)\n return;\n const newRoot = {\n dom: activeRoot.dom,\n props: activeRoot.props,\n alternate: currentState.currentRoot || null,\n };\n queueUpdate(() => scheduleWork(newRoot, priority));\n };\n wipFiber.hooks[hookIndex] =\n hook;\n state.hookIndex++;\n return [hook.state, dispatch];\n};\nconst useEffect = (callback, deps) => {\n if (typeof window === 'undefined') {\n return;\n }\n const state = getState();\n if (state.isServerRendering) {\n return;\n }\n validateHookCall();\n if (!is.function(callback)) {\n throw new Error('useEffect callback must be a function');\n }\n if (deps !== undefined && !Array.isArray(deps)) {\n throw new Error('useEffect dependencies must be an array or undefined');\n }\n const { hookIndex } = state;\n const wipFiber = state.wipFiber;\n const oldHook = wipFiber.alternate?.hooks?.[hookIndex];\n const hasChanged = haveDepsChanged(oldHook?.deps, deps);\n const hook = {\n hookID: hookIndex,\n type: RYUNIX_TYPES.RYUNIX_EFFECT,\n deps,\n effect: hasChanged ? callback : null,\n cancel: oldHook?.cancel,\n };\n wipFiber.hooks[hookIndex] =\n hook;\n state.hookIndex++;\n};\nconst useRef = (initialValue) => {\n if (typeof window === 'undefined') {\n return { current: initialValue };\n }\n const state = getState();\n if (state.isServerRendering) {\n return { current: initialValue };\n }\n validateHookCall();\n const { hookIndex } = state;\n const wipFiber = state.wipFiber;\n const oldHook = wipFiber.alternate?.hooks?.[hookIndex];\n const hook = {\n hookID: hookIndex,\n type: RYUNIX_TYPES.RYUNIX_REF,\n value: oldHook\n ? oldHook.value\n : { current: initialValue },\n };\n wipFiber.hooks[hookIndex] =\n hook;\n state.hookIndex++;\n return hook.value;\n};\nconst useMemo = (compute, deps) => {\n if (typeof window === 'undefined') {\n return compute();\n }\n const state = getState();\n if (state.isServerRendering) {\n return compute();\n }\n validateHookCall();\n if (!is.function(compute)) {\n throw new Error('useMemo callback must be a function');\n }\n if (!Array.isArray(deps)) {\n throw new Error('useMemo requires a dependencies array');\n }\n const { hookIndex } = state;\n const wipFiber = state.wipFiber;\n const oldHook = wipFiber.alternate?.hooks?.[hookIndex];\n let value;\n if (oldHook && !haveDepsChanged(oldHook.deps, deps)) {\n value = oldHook.value;\n }\n else {\n try {\n value = compute();\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error in useMemo computation:', error);\n }\n throw error;\n }\n }\n const hook = {\n hookID: hookIndex,\n type: RYUNIX_TYPES.RYUNIX_MEMO,\n value,\n deps,\n };\n wipFiber.hooks[hookIndex] =\n hook;\n state.hookIndex++;\n return value;\n};\nconst useCallback = (callback, deps) => {\n if (!is.function(callback)) {\n throw new Error('useCallback requires a function as first argument');\n }\n return useMemo(() => callback, deps);\n};\nconst createContext = (contextId = RYUNIX_TYPES.RYUNIX_CONTEXT, defaultValue = {}) => {\n const Provider = ({ value, children }) => {\n return createElement(RYUNIX_TYPES.RYUNIX_CONTEXT, { value, children, _contextId: contextId }, ...flattenArray([children]));\n };\n Provider._contextId = contextId;\n const useContext = (ctxID = contextId) => {\n const state = getState();\n if (state.isServerRendering) {\n const ssrContexts = state.ssrContexts;\n return ssrContexts && ssrContexts[ctxID] !== undefined\n ? ssrContexts[ctxID]\n : defaultValue;\n }\n validateHookCall();\n let fiber = state.wipFiber;\n while (fiber) {\n if (fiber._contextId === ctxID && fiber._contextValue !== undefined) {\n return fiber._contextValue;\n }\n const fiberType = fiber.type;\n if (fiberType?._contextId === ctxID && fiber.props?.value !== undefined) {\n return fiber.props.value;\n }\n fiber = fiber.parent;\n }\n return defaultValue;\n };\n return {\n Provider: Provider,\n useContext,\n };\n};\nconst useQuery = () => {\n if (typeof window === 'undefined')\n return {};\n const searchParams = new URLSearchParams(window.location.search);\n const query = {};\n for (const [key, value] of searchParams.entries()) {\n query[key] = value;\n }\n return query;\n};\nconst useHash = () => {\n if (typeof window === 'undefined')\n return '';\n const [hash, setHash] = useStore(window.location.hash);\n useEffect(() => {\n const onHashChange = () => setHash(window.location.hash);\n window.addEventListener('hashchange', onHashChange);\n return () => window.removeEventListener('hashchange', onHashChange);\n }, []);\n return hash;\n};\nconst useMetadata = (tags = {}, options = {}) => {\n const state = getState();\n if (state.isServerRendering) {\n state.ssrMetadata = { ...state.ssrMetadata, ...tags };\n return;\n }\n useEffect(() => {\n if (typeof document === 'undefined')\n return;\n let finalTitle = 'Ryunix App';\n const template = options.title?.template;\n const defaultTitle = options.title?.prefix || 'Ryunix App';\n const pageTitle = tags.pageTitle || tags.title;\n if (is.string(pageTitle) && pageTitle.trim()) {\n finalTitle = template?.includes('%s')\n ? template.replace('%s', pageTitle)\n : pageTitle;\n }\n else {\n finalTitle = defaultTitle;\n }\n document.title = finalTitle;\n if (tags.canonical) {\n let link = document.querySelector('link[rel=\"canonical\"]');\n if (!link) {\n link = document.createElement('link');\n link.setAttribute('rel', 'canonical');\n document.head.appendChild(link);\n }\n link.setAttribute('href', tags.canonical);\n }\n Object.entries(tags).forEach(([key, value]) => {\n if (['title', 'pageTitle', 'canonical'].includes(key))\n return;\n const isProperty = key.startsWith('og:') || key.startsWith('twitter:');\n const selector = `meta[${isProperty ? 'property' : 'name'}='${key}']`;\n let meta = document.head.querySelector(selector);\n if (!meta) {\n meta = document.createElement('meta');\n meta.setAttribute(isProperty ? 'property' : 'name', key);\n document.head.appendChild(meta);\n }\n meta.setAttribute('content', value);\n });\n }, [JSON.stringify(tags), JSON.stringify(options)]);\n};\nconst RouterContext = createContext('ryunix.navigation', {\n location: '/',\n params: {},\n query: {},\n navigate: (_path) => { },\n route: null,\n});\nconst findRoute = (routes, path) => {\n const pathname = path.split('?')[0].split('#')[0];\n const notFoundRoute = routes.find((route) => route.NotFound);\n const notFound = notFoundRoute\n ? { route: { component: notFoundRoute.NotFound }, params: {} }\n : { route: { component: null }, params: {} };\n for (const route of routes) {\n if (route.subRoutes) {\n const childRoute = findRoute(route.subRoutes, path);\n if (childRoute)\n return childRoute;\n }\n if (route.path === '*')\n return notFound;\n if (!route.path || typeof route.path !== 'string')\n continue;\n const keys = [];\n const pattern = new RegExp(`^${route.path.replace(/:(\\.\\.\\.)?(\\w+)/g, (match, isCatchAll, key) => {\n keys.push({ key, isCatchAll: !!isCatchAll });\n return isCatchAll ? '(.+)' : '([^/]+)';\n })}$`);\n const matchPath = pathname.match(pattern);\n if (matchPath) {\n const params = keys.reduce((acc, keyObj, index) => {\n const val = matchPath[index + 1];\n acc[keyObj.key] = keyObj.isCatchAll && val ? val.split('/') : val;\n return acc;\n }, {});\n return { route, params };\n }\n }\n return notFound;\n};\nconst getSsrPathname = () => {\n const pathname = globalThis?.window?.location?.pathname;\n if (typeof pathname === 'string' && pathname) {\n return pathname.split('?')[0].split('#')[0];\n }\n return '/';\n};\nconst RouterProvider = ({ routes, children }) => {\n if (typeof window === 'undefined') {\n const location = getSsrPathname();\n const currentRouteData = findRoute(routes, location);\n const contextValue = {\n location,\n params: currentRouteData.params || {},\n query: {},\n navigate: () => { },\n route: currentRouteData.route,\n };\n return createElement(RouterContext.Provider, { value: contextValue }, Fragment({ children }));\n }\n const [location, setLocation] = useStore(window.location.pathname);\n useEffect(() => {\n const update = () => setLocation(window.location.pathname);\n window.addEventListener('popstate', update);\n window.addEventListener('hashchange', update);\n return () => {\n window.removeEventListener('popstate', update);\n window.removeEventListener('hashchange', update);\n };\n }, []);\n const navigate = (path) => {\n if (typeof window !== 'undefined' && window.__RYUNIX_MPA__) {\n window.location.assign(path);\n return;\n }\n window.history.pushState({}, '', path);\n setLocation(path);\n };\n const currentRouteData = findRoute(routes, location);\n const query = useQuery();\n const contextValue = {\n location,\n params: currentRouteData.params || {},\n query,\n navigate,\n route: currentRouteData.route,\n };\n return createElement(RouterContext.Provider, { value: contextValue }, Fragment({ children }));\n};\nconst useRouter = () => {\n return RouterContext.useContext('ryunix.navigation');\n};\nconst Children = () => {\n const { route, params, query, location } = useRouter();\n if (!route || !route.component)\n return null;\n const hash = useHash();\n useEffect(() => {\n if (hash) {\n const id = hash.slice(1);\n const el = document.getElementById(id);\n if (el)\n el.scrollIntoView({ block: 'start', behavior: 'smooth' });\n }\n }, [hash]);\n return createElement(route.component, {\n key: location,\n params,\n query,\n hash,\n location,\n });\n};\nconst usePathname = () => {\n const { location } = useRouter();\n return location.split('?')[0].split('#')[0];\n};\nconst useSearchParams = () => {\n const { query } = useRouter();\n return new URLSearchParams(query);\n};\nconst Link = ({ to, prefetch = true, ...props }) => {\n const { navigate } = useRouter();\n const handleClick = (e) => {\n if (e.button !== 0 || e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) {\n return;\n }\n e.preventDefault();\n navigate(to);\n };\n const handleMouseEnter = () => {\n if (prefetch && typeof window !== 'undefined') {\n }\n };\n const { className: _omitClassName, ...cleanedProps } = props;\n return createElement('a', {\n href: to,\n onClick: handleClick,\n onMouseEnter: handleMouseEnter,\n className: props.className || props['ryunix-class'],\n ...cleanedProps,\n }, props.children);\n};\nconst NavLink = ({ to, exact = false, ...props }) => {\n const { location, navigate } = useRouter();\n const isActive = exact ? location === to : location.startsWith(to);\n const resolveClass = (cls) => typeof cls === 'function' ? cls({ isActive }) : cls || '';\n const handleClick = (e) => {\n if (e.button !== 0 || e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) {\n return;\n }\n e.preventDefault();\n navigate(to);\n };\n const classAttrName = props['ryunix-class'] ? 'ryunix-class' : 'className';\n const classAttrValue = resolveClass(props['ryunix-class'] || props.className);\n const { ['ryunix-class']: _omitRyunix, className: _omitClassName, ...cleanedProps } = props;\n return createElement('a', {\n href: to,\n onClick: handleClick,\n [classAttrName]: classAttrValue,\n ...cleanedProps,\n }, props.children);\n};\nconst useStorePriority = (initialState) => {\n const reducer = (state, action) => typeof action === 'function'\n ? action.value(state)\n : action.value;\n const [state, baseDispatch] = useReducer(reducer, initialState, undefined);\n const dispatch = (action, priority = Priority.NORMAL) => {\n const wrappedAction = {\n value: action,\n priority,\n };\n scheduleUpdate(() => baseDispatch(wrappedAction, priority), priority);\n };\n return [state, dispatch];\n};\nconst useTransition = () => {\n const [isPending, setIsPending] = useStorePriority(false);\n const startTransition = (callback) => {\n setIsPending(true, Priority.IMMEDIATE);\n setTimeout(() => {\n runWithPriority(Priority.LOW, () => {\n callback();\n setIsPending(false, Priority.LOW);\n });\n }, 0);\n };\n return [isPending, startTransition];\n};\nconst useDeferredValue = (value) => {\n const [deferredValue, setDeferredValue] = useStorePriority(value);\n useEffect(() => {\n const timeout = setTimeout(() => {\n setDeferredValue(value, Priority.LOW);\n }, 100);\n return () => clearTimeout(timeout);\n }, [value]);\n return deferredValue;\n};\nconst usePersistentStore = (key, initialState = '') => {\n const [state, dispatch] = useStore(() => {\n try {\n const item = window.localStorage.getItem(key);\n return item ? JSON.parse(item) : initialState;\n }\n catch (error) {\n return initialState;\n }\n });\n const setValue = (value) => {\n try {\n dispatch(value);\n window.localStorage.setItem(key, JSON.stringify(value));\n }\n catch (error) {\n console.error(error);\n }\n };\n return [state, setValue];\n};\nconst useSwitch = (initialState = false) => {\n const [state, dispatch] = useStore(initialState);\n const toggle = () => {\n dispatch((prev) => !prev);\n };\n return [state, toggle];\n};\nconst useLayoutEffect = (callback, deps) => {\n if (typeof window === 'undefined') {\n return;\n }\n const state = getState();\n if (state.isServerRendering) {\n return;\n }\n validateHookCall();\n if (!is.function(callback)) {\n throw new Error('useLayoutEffect callback must be a function');\n }\n if (deps !== undefined && !Array.isArray(deps)) {\n throw new Error('useLayoutEffect dependencies must be an array or undefined');\n }\n const { hookIndex } = state;\n const wipFiber = state.wipFiber;\n const oldHook = wipFiber.alternate?.hooks?.[hookIndex];\n const hasChanged = haveDepsChanged(oldHook?.deps, deps);\n const hook = {\n hookID: hookIndex,\n type: RYUNIX_TYPES.RYUNIX_EFFECT,\n deps,\n effect: hasChanged ? callback : null,\n cancel: oldHook?.cancel,\n isLayout: true,\n };\n wipFiber.hooks[hookIndex] =\n hook;\n state.hookIndex++;\n};\nlet idCounter = 0;\nconst resetIdCounter = () => {\n idCounter = 0;\n};\nconst useId = () => {\n const state = getState();\n if (state.isServerRendering) {\n return `:r${idCounter++}:`;\n }\n validateHookCall();\n const { hookIndex } = state;\n const wipFiber = state.wipFiber;\n const oldHook = wipFiber.alternate?.hooks?.[hookIndex];\n const hook = {\n hookID: hookIndex,\n type: RYUNIX_TYPES.RYUNIX_REF,\n value: oldHook\n ? oldHook.value\n : `:r${idCounter++}:`,\n };\n wipFiber.hooks[hookIndex] =\n hook;\n state.hookIndex++;\n return hook.value;\n};\nconst useDebounce = (value, delay = 300) => {\n const [debouncedValue, setDebouncedValue] = useStore(value);\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n return () => clearTimeout(timer);\n }, [value, delay]);\n return debouncedValue;\n};\nconst useThrottle = (value, interval = 300) => {\n const [throttledValue, setThrottledValue] = useStore(value);\n const lastUpdated = useRef(Date.now());\n useEffect(() => {\n const now = Date.now();\n const elapsed = now - lastUpdated.current;\n if (elapsed >= interval) {\n lastUpdated.current = now;\n setThrottledValue(value);\n }\n else {\n const timer = setTimeout(() => {\n lastUpdated.current = Date.now();\n setThrottledValue(value);\n }, interval - elapsed);\n return () => clearTimeout(timer);\n }\n }, [value, interval]);\n return throttledValue;\n};\nexport { useStore, useReducer, useEffect, useLayoutEffect, useRef, useMemo, useCallback, createContext, useQuery, useHash, useMetadata, useId, resetIdCounter, useDebounce, useThrottle, useStorePriority, useTransition, useDeferredValue, usePersistentStore, usePersistentStore as usePersitentStore, useSwitch, RouterProvider, useRouter, Children, NavLink, Link, usePathname, useSearchParams, };\n","import { RYUNIX_TYPES, STRINGS, OLD_STRINGS, is, getState, } from '../../utils/index.js';\nimport { camelToKebab, validateUri } from '../reconciler/dom.js';\nimport { toSvgAttrName } from '../../utils/svgAttributes.js';\nimport { resetIdCounter } from '../hooks/hooks.js';\nexport const escapeHtml = (unsafe) => {\n if (typeof unsafe !== 'string')\n return String(unsafe);\n return unsafe\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n};\nconst renderStyle = (styleObj) => {\n if (!is.object(styleObj) || is.null(styleObj))\n return '';\n return Object.entries(styleObj)\n .filter(([_, value]) => value != null)\n .map(([key, value]) => `${camelToKebab(key)}:${value}`)\n .join(';');\n};\nconst VOID_ELEMENTS = new Set([\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n]);\nconst renderToStringImpl = (element) => {\n if (element == null || typeof element === 'boolean') {\n return '';\n }\n if (typeof element === 'string' || typeof element === 'number') {\n return escapeHtml(element);\n }\n if (Array.isArray(element)) {\n return element.map((child) => renderToStringImpl(child)).join('');\n }\n const vnode = element;\n if (vnode.type === RYUNIX_TYPES.TEXT_ELEMENT) {\n return escapeHtml(vnode.props\n .nodeValue);\n }\n if (vnode.type === RYUNIX_TYPES.RYUNIX_FRAGMENT) {\n const children = vnode.props?.children || [];\n return children.map((child) => renderToStringImpl(child)).join('');\n }\n if (vnode.type === RYUNIX_TYPES.RYUNIX_CONTEXT) {\n const state = getState();\n state.ssrContexts = state.ssrContexts || {};\n const ctxProps = vnode.props ||\n {};\n const ctxId = ctxProps._contextId;\n const prevCtx = state.ssrContexts[ctxId];\n if (ctxId) {\n state.ssrContexts[ctxId] = ctxProps.value;\n }\n const children = ctxProps.children || [];\n let result = '';\n if (Array.isArray(children)) {\n result = children.map((child) => renderToStringImpl(child)).join('');\n }\n else {\n result = renderToStringImpl(children);\n }\n if (ctxId) {\n state.ssrContexts[ctxId] = prevCtx;\n }\n return result;\n }\n if (typeof vnode.type === 'function') {\n const type = vnode.type;\n const props = vnode.props || {};\n const renderedElement = type(props);\n return renderToStringImpl(renderedElement);\n }\n const type = String(vnode.type);\n const props = vnode.props || {};\n let attributes = '';\n let htmlChildren = '';\n let innerHTML = null;\n Object.entries(props).forEach(([key, value]) => {\n if (key === 'children') {\n if (Array.isArray(value)) {\n htmlChildren = value.map((child) => renderToStringImpl(child)).join('');\n }\n else {\n htmlChildren = renderToStringImpl(value);\n }\n }\n else if (key === 'dangerouslySetInnerHTML') {\n const inner = value;\n if (inner?.__html) {\n innerHTML = inner.__html;\n }\n }\n else if (key === STRINGS.STYLE || key === OLD_STRINGS.STYLE) {\n const styleString = renderStyle(value);\n if (styleString) {\n attributes += ` style=\"${escapeHtml(styleString)}\"`;\n }\n }\n else if (key === STRINGS.CLASS_NAME || key === OLD_STRINGS.CLASS_NAME) {\n if (value) {\n attributes += ` class=\"${escapeHtml(value)}\"`;\n }\n }\n else if (!key.startsWith('on') &&\n key !== 'key' &&\n key !== 'ref' &&\n key !== '__source' &&\n key !== '__self') {\n if (typeof value === 'boolean') {\n if (value)\n attributes += ` ${key}=\"\"`;\n }\n else if (value != null) {\n let attrName = toSvgAttrName(key);\n let validatedValue = validateUri(attrName, value);\n attributes += ` ${attrName}=\"${escapeHtml(validatedValue)}\"`;\n }\n }\n });\n if (VOID_ELEMENTS.has(type)) {\n return `<${type}${attributes} />`;\n }\n const finalContent = innerHTML !== null ? innerHTML : htmlChildren;\n return `<${type}${attributes}>${finalContent}</${type}>`;\n};\nconst RC_SCRIPT = `\nfunction $RC(id, templateId) {\n var b = document.getElementById(id);\n var t = document.getElementById(templateId);\n if (b && t) {\n b.innerHTML = t.innerHTML;\n t.remove();\n }\n}\n`\n .replace(/\\s+/g, ' ')\n .trim();\nconst renderToStreamImpl = async (element, push, suspenseTasks = []) => {\n if (element == null || typeof element === 'boolean') {\n return;\n }\n if (element instanceof Promise) {\n element = await element;\n if (element == null || typeof element === 'boolean')\n return;\n }\n if (typeof element === 'string' || typeof element === 'number') {\n push(escapeHtml(element));\n return;\n }\n if (Array.isArray(element)) {\n for (const child of element) {\n await renderToStreamImpl(child, push, suspenseTasks);\n }\n return;\n }\n const vnode = element;\n if (vnode.type === RYUNIX_TYPES.TEXT_ELEMENT) {\n push(escapeHtml(vnode\n .props.nodeValue));\n return;\n }\n if (vnode.type === RYUNIX_TYPES.RYUNIX_FRAGMENT) {\n const children = vnode.props?.children || [];\n for (const child of children) {\n await renderToStreamImpl(child, push, suspenseTasks);\n }\n return;\n }\n if (vnode.type === RYUNIX_TYPES.RYUNIX_CONTEXT) {\n const state = getState();\n state.ssrContexts = state.ssrContexts || {};\n const ctxProps = vnode.props ||\n {};\n const ctxId = ctxProps._contextId;\n const prevCtx = state.ssrContexts[ctxId];\n if (ctxId) {\n state.ssrContexts[ctxId] = ctxProps.value;\n }\n const children = ctxProps.children || [];\n if (Array.isArray(children)) {\n for (const child of children) {\n await renderToStreamImpl(child, push, suspenseTasks);\n }\n }\n else {\n await renderToStreamImpl(children, push, suspenseTasks);\n }\n if (ctxId) {\n state.ssrContexts[ctxId] = prevCtx;\n }\n return;\n }\n const suspenseType = vnode.type;\n const isSuspenseBoundary = vnode.type === RYUNIX_TYPES.RYUNIX_SUSPENSE ||\n (typeof suspenseType === 'object' &&\n suspenseType != null &&\n suspenseType.type ===\n RYUNIX_TYPES.RYUNIX_SUSPENSE);\n if (isSuspenseBoundary) {\n const suspenseProps = vnode.props ||\n {};\n const { fallback, children } = suspenseProps;\n const id = `s-${Math.random().toString(36).slice(2, 9)}`;\n push(`<!--$?--><template id=\"B:${id}\"></template><div id=\"S:${id}\">`);\n const task = (async () => {\n const state = getState();\n const wasBackground = state.isSuspenseBackground;\n state.isSuspenseBackground = true;\n let content = '';\n const subPush = (chunk) => {\n content += chunk;\n };\n try {\n await renderToStreamImpl(children, subPush, suspenseTasks);\n return { id, content, success: true };\n }\n catch (e) {\n return { id, content: '', success: false, error: e };\n }\n finally {\n state.isSuspenseBackground = wasBackground;\n }\n })();\n suspenseTasks.push(task);\n await renderToStreamImpl(fallback, push, suspenseTasks);\n push(`</div><!--$/-->`);\n return;\n }\n let type = vnode.type;\n let props = vnode.props || {};\n if (typeof type === 'function') {\n if (process.env.RYUNIX_DEBUG) {\n console.log('[SSR Debug] Rendering function:', type.name || 'anonymous');\n }\n const renderedElement = await type(props);\n await renderToStreamImpl(renderedElement, push, suspenseTasks);\n return;\n }\n const hostTag = String(type);\n let attributes = '';\n let innerHTML = null;\n let children = props.children || [];\n Object.entries(props).forEach(([key, value]) => {\n if (key === 'children') {\n }\n else if (key === 'dangerouslySetInnerHTML') {\n const inner = value;\n if (inner?.__html) {\n innerHTML = inner.__html;\n }\n }\n else if (key === STRINGS.STYLE || key === OLD_STRINGS.STYLE) {\n const styleString = renderStyle(value);\n if (styleString) {\n attributes += ` style=\"${escapeHtml(styleString)}\"`;\n }\n }\n else if (key === STRINGS.CLASS_NAME || key === OLD_STRINGS.CLASS_NAME) {\n if (value) {\n attributes += ` class=\"${escapeHtml(value)}\"`;\n }\n }\n else if (!key.startsWith('on') &&\n key !== 'key' &&\n key !== 'ref' &&\n key !== '__source' &&\n key !== '__self') {\n if (typeof value === 'boolean') {\n if (value)\n attributes += ` ${key}=\"\"`;\n }\n else if (value != null) {\n const attrName = toSvgAttrName(key);\n const validatedValue = validateUri(attrName, value);\n attributes += ` ${attrName}=\"${escapeHtml(validatedValue)}\"`;\n }\n }\n });\n push(`<${hostTag}${attributes}>`);\n if (innerHTML !== null) {\n push(innerHTML);\n }\n else {\n if (Array.isArray(children)) {\n for (const child of children) {\n await renderToStreamImpl(child, push, suspenseTasks);\n }\n }\n else {\n await renderToStreamImpl(children, push, suspenseTasks);\n }\n }\n if (!VOID_ELEMENTS.has(hostTag)) {\n push(`</${hostTag}>`);\n }\n};\nexport const renderToReadableStream = (element, options = {}) => {\n const state = getState();\n const encoder = new TextEncoder();\n resetIdCounter();\n return new ReadableStream({\n async start(controller) {\n const wasServerRendering = state.isServerRendering;\n state.isServerRendering = true;\n state.ssrMetadata = {};\n const push = (text) => controller.enqueue(encoder.encode(text));\n const suspenseTasks = [];\n try {\n const nonceAttr = options.nonce ? ` nonce=\"${options.nonce}\"` : '';\n push(`<script${nonceAttr} data-ryunix-ssr>${RC_SCRIPT}</script>`);\n await renderToStreamImpl(element, push, suspenseTasks);\n while (suspenseTasks.length > 0) {\n const task = suspenseTasks.shift();\n const res = await task;\n if (res.success) {\n push(`<template id=\"P:${res.id}\" data-ryunix-ssr>${res.content}</template>`);\n push(`<script${nonceAttr} data-ryunix-ssr>$RC(\"S:${res.id}\", \"P:${res.id}\")</script>`);\n }\n }\n controller.close();\n }\n catch (e) {\n controller.error(e);\n }\n finally {\n state.isServerRendering = wasServerRendering;\n }\n },\n });\n};\nexport const renderToString = (element, options = {}) => {\n const state = getState();\n const wasServerRendering = state.isServerRendering;\n state.isServerRendering = true;\n state.ssrMetadata = {};\n resetIdCounter();\n try {\n return renderToStringImpl(element);\n }\n finally {\n state.isServerRendering = wasServerRendering;\n }\n};\nexport const renderToStringAsync = async (element, options = {}) => {\n const stream = renderToReadableStream(element, options);\n const reader = stream.getReader();\n const decoder = new TextDecoder();\n let result = '';\n while (true) {\n const { done, value } = await reader.read();\n if (done)\n break;\n result += decoder.decode(value, { stream: true });\n }\n result += decoder.decode();\n return result;\n};\n","export function memo(Component, arePropsEqual = shallowEqual) {\n const MemoizedComponent = ((props) => {\n return Component(props);\n });\n MemoizedComponent._isMemo = true;\n MemoizedComponent._wrappedComponent = Component;\n MemoizedComponent._arePropsEqual = arePropsEqual;\n MemoizedComponent.displayName = `Memo(${Component.displayName || Component.name || 'Component'})`;\n return MemoizedComponent;\n}\nexport function shallowEqual(prevProps, nextProps) {\n const prevKeys = Object.keys(prevProps);\n const nextKeys = Object.keys(nextProps);\n if (prevKeys.length !== nextKeys.length)\n return false;\n return prevKeys.every((key) => Object.is(prevProps[key], nextProps[key]));\n}\nexport function deepEqual(a, b) {\n if (a === b)\n return true;\n if (a == null || b == null)\n return false;\n if (typeof a !== 'object' || typeof b !== 'object')\n return false;\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length)\n return false;\n return keysA.every((key) => deepEqual(a[key], b[key]));\n}\n","export function forwardRef(render) {\n if (typeof render !== 'function') {\n throw new Error('forwardRef requires a render function');\n }\n const ForwardRefComponent = ((props) => {\n const { ref, ...restProps } = props || {};\n return render(restProps, ref ?? null);\n });\n const named = render;\n ForwardRefComponent.displayName = `ForwardRef(${named.displayName || named.name || 'Component'})`;\n ForwardRefComponent._isForwardRef = true;\n ForwardRefComponent._render = render;\n return ForwardRefComponent;\n}\n","import { RYUNIX_TYPES, getState } from '../../utils/index.js';\nimport { createElement, Fragment } from '../reconciler/createElement.js';\nimport { useStore, useEffect } from './hooks.js';\nexport const SUSPENSE_STATUS = {\n PENDING: 'pending',\n RESOLVED: 'resolved',\n REJECTED: 'rejected',\n};\nfunction isLazyElement(child) {\n return (child != null &&\n typeof child === 'object' &&\n 'type' in child &&\n typeof child.type === 'function' &&\n Boolean(child.type._isLazy));\n}\nexport function lazy(importFn) {\n let status = SUSPENSE_STATUS.PENDING;\n let Component = null;\n let error = null;\n let promise = null;\n const LazyComponent = ((props) => {\n if (status === SUSPENSE_STATUS.RESOLVED && Component) {\n return createElement(Component, props);\n }\n if (status === SUSPENSE_STATUS.REJECTED && error) {\n throw error;\n }\n if (!promise) {\n promise = importFn()\n .then((module) => {\n const resolved = module;\n Component =\n 'default' in resolved && resolved.default\n ? resolved.default\n : resolved;\n status = SUSPENSE_STATUS.RESOLVED;\n })\n .catch((err) => {\n error = err;\n status = SUSPENSE_STATUS.REJECTED;\n });\n }\n const [, forceUpdate] = useStore(0);\n useEffect(() => {\n if (status === SUSPENSE_STATUS.PENDING && promise) {\n let active = true;\n promise\n .then(() => {\n if (active) {\n forceUpdate((x) => x + 1);\n }\n })\n .catch(() => {\n if (active) {\n forceUpdate((x) => x + 1);\n }\n });\n return () => {\n active = false;\n };\n }\n }, []);\n return null;\n });\n LazyComponent._isLazy = true;\n LazyComponent._getStatus = () => status;\n return LazyComponent;\n}\nexport const Suspense = ({ fallback, children, }) => {\n const [isLoaded, setIsLoaded] = useStore(false);\n const childArray = Array.isArray(children) ? children : [children];\n let anyPending = false;\n for (const child of childArray) {\n if (isLazyElement(child)) {\n const lazyStatus = child.type._getStatus?.();\n if (lazyStatus === SUSPENSE_STATUS.PENDING) {\n anyPending = true;\n }\n }\n }\n useEffect(() => {\n if (!anyPending && !isLoaded) {\n setIsLoaded(true);\n }\n }, [anyPending]);\n if (anyPending && !getState().isSuspenseBackground) {\n return fallback || null;\n }\n return createElement(Fragment, { children });\n};\nSuspense.type = RYUNIX_TYPES.RYUNIX_SUSPENSE;\nexport function preload(importFn) {\n return importFn();\n}\n","const perfNow = () => typeof performance !== 'undefined' ? performance.now() : Date.now();\nclass Profiler {\n enabled;\n measures;\n renderTimes;\n maxSamples;\n constructor() {\n this.enabled = process.env.NODE_ENV !== 'production';\n this.measures = new Map();\n this.renderTimes = [];\n this.maxSamples = 100;\n }\n startMeasure(name) {\n if (!this.enabled)\n return;\n this.measures.set(name, perfNow());\n }\n endMeasure(name) {\n if (!this.enabled)\n return;\n const start = this.measures.get(name);\n if (!start)\n return;\n const duration = perfNow() - start;\n this.measures.delete(name);\n return duration;\n }\n recordRender(componentName, duration) {\n if (!this.enabled)\n return;\n this.renderTimes.push({\n component: componentName,\n duration,\n timestamp: Date.now(),\n });\n if (this.renderTimes.length > this.maxSamples) {\n this.renderTimes.shift();\n }\n }\n getStats() {\n if (!this.enabled)\n return null;\n const total = this.renderTimes.reduce((sum, r) => sum + r.duration, 0);\n const avg = total / this.renderTimes.length;\n const max = Math.max(...this.renderTimes.map((r) => r.duration));\n const min = Math.min(...this.renderTimes.map((r) => r.duration));\n return { total, avg, max, min, count: this.renderTimes.length };\n }\n getSlowestComponents(limit = 10) {\n if (!this.enabled)\n return [];\n const byComponent = new Map();\n this.renderTimes.forEach(({ component, duration }) => {\n if (!byComponent.has(component)) {\n byComponent.set(component, { total: 0, count: 0, max: 0 });\n }\n const stats = byComponent.get(component);\n stats.total += duration;\n stats.count++;\n stats.max = Math.max(stats.max, duration);\n });\n return Array.from(byComponent.entries())\n .map(([name, stats]) => ({\n name,\n avg: stats.total / stats.count,\n max: stats.max,\n count: stats.count,\n }))\n .sort((a, b) => b.avg - a.avg)\n .slice(0, limit);\n }\n logStats() {\n if (!this.enabled)\n return;\n const stats = this.getStats();\n if (!stats)\n return;\n console.group('🔍 Ryunix Performance Stats');\n console.log(`Total renders: ${stats.count}`);\n console.log(`Avg render time: ${stats.avg.toFixed(2)}ms`);\n console.log(`Min: ${stats.min.toFixed(2)}ms | Max: ${stats.max.toFixed(2)}ms`);\n const slowest = this.getSlowestComponents(5);\n if (slowest.length > 0) {\n console.log('\\n⚠️ Slowest components:');\n slowest.forEach((comp, i) => {\n console.log(`${i + 1}. ${comp.name}: ${comp.avg.toFixed(2)}ms avg (${comp.count} renders)`);\n });\n }\n console.groupEnd();\n }\n clear() {\n this.renderTimes = [];\n this.measures.clear();\n }\n enable() {\n this.enabled = true;\n }\n disable() {\n this.enabled = false;\n }\n}\nconst profiler = new Profiler();\nexport function useProfiler(componentName) {\n const startTime = perfNow();\n return () => {\n const duration = perfNow() - startTime;\n profiler.recordRender(componentName, duration);\n };\n}\nexport function withProfiler(Component, name) {\n const Profiled = (props) => {\n profiler.startMeasure(name);\n const result = Component(props);\n const duration = profiler.endMeasure(name);\n if (duration)\n profiler.recordRender(name, duration);\n return result;\n };\n return Profiled;\n}\nexport { profiler };\n","import { createElement } from '../reconciler/createElement.js';\nexport function ServerBoundary({ children, id }) {\n return createElement('div', { 'data-ryunix-server': id, style: { display: 'contents' } }, children);\n}\nServerBoundary.ryunix_type = 'RYUNIX_SERVER_BOUNDARY';\nexport function HydrationBoundary({ children, id }) {\n return createElement('div', {\n 'data-ryunix-hydrate-boundary': id ?? '',\n suppressHydrationWarning: true,\n style: { display: 'contents' },\n }, children);\n}\nHydrationBoundary.ryunix_type = 'RYUNIX_HYDRATION_BOUNDARY';\n","import { createElement } from '../reconciler/createElement.js';\nimport { getState } from '../../utils/index.js';\nexport function ErrorBoundary({ children, fallback, }) {\n const state = getState();\n const wipFiber = state.wipFiber;\n if (wipFiber?.stateError) {\n const error = wipFiber.stateError;\n if (typeof fallback === 'function') {\n return fallback(error);\n }\n return fallback ?? null;\n }\n return createElement('ryunix-error-boundary-wrapper', { style: { display: 'contents' } }, children);\n}\n;\nErrorBoundary.ryunix_type =\n 'RYUNIX_ERROR_BOUNDARY';\n","export function createActionProxy(actionId) {\n return async function (...args) {\n const response = await fetch('/_ryunix/action', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Ryunix-Action': 'true',\n },\n body: JSON.stringify({ actionId, args }),\n });\n if (!response.ok) {\n const errorData = await response.json().catch(() => ({}));\n throw new Error(errorData.error || 'Server Action failed');\n }\n return response.json();\n };\n}\n","import { createElement } from '../reconciler/createElement.js';\nimport { useStore, useEffect } from '../hooks/hooks.js';\nexport function RyunixDevOverlay(propsOrError) {\n const propsInput = propsOrError;\n const rawError = propsInput &&\n typeof propsInput === 'object' &&\n !(propsInput instanceof Error) &&\n propsInput.nativeEvent\n ? propsInput.error\n : propsInput;\n let error = null;\n if (rawError instanceof Error) {\n error = rawError;\n }\n else if (rawError && typeof rawError === 'object') {\n if ('message' in rawError) {\n error = rawError;\n }\n else if ('error' in rawError) {\n const nested = rawError.error;\n error =\n nested && typeof nested === 'object'\n ? nested\n : null;\n }\n else {\n error = rawError;\n }\n }\n const debugObjectStr = JSON.stringify(propsInput, Object.getOwnPropertyNames(propsInput || {}));\n const [snippetState, setSnippet] = useStore(null);\n const [startLineState, setStartLine] = useStore(1);\n const [errorFileState, setErrorFile] = useStore('');\n const [errorLineState, setErrorLine] = useStore(0);\n const snippet = snippetState;\n const startLine = startLineState;\n const errorFile = errorFileState;\n const errorLine = errorLineState;\n let stackLines = [];\n if (error && error.stack) {\n stackLines =\n typeof error.stack === 'string'\n ? error.stack.split('\\n').filter((line) => {\n const trimmed = line.trim();\n if (!trimmed)\n return false;\n if (trimmed.includes('node_modules'))\n return false;\n const isInternal = [\n 'fiber-update.js',\n 'workers.js',\n 'reconciler.js',\n 'commits.js',\n 'hooks/hooks.js',\n 'hooks.js',\n 'error-boundary.js',\n 'errorBoundary.js',\n 'boundaries.js',\n 'serverBoundary.js',\n 'app-router.js',\n 'app-router-server.js',\n 'render/render.js',\n 'render.js',\n 'createElement.js',\n 'index.js',\n ].some((file) => trimmed.includes(file));\n return !isInternal;\n })\n : Array.isArray(error.stack)\n ? error.stack\n : [];\n }\n const errorName = error && typeof error.name === 'string' ? error.name : 'Unknown Error Type';\n const errorMessage = error && typeof error.message === 'string'\n ? error.message\n : `Raw unhandled error. Debug: ${debugObjectStr}`;\n useEffect(() => {\n let targetPath = null;\n let targetLine = null;\n const ryunixSource = error?.__ryunix_source;\n if (ryunixSource?.fileName) {\n targetPath = ryunixSource.fileName;\n targetLine = ryunixSource.lineNumber ?? null;\n }\n if (!targetPath || !targetLine) {\n for (let i = 0; i < stackLines.length; i++) {\n const line = stackLines[i];\n if (!line.includes(':'))\n continue;\n let matchedPath = null;\n let matchedLine = null;\n const parenOpen = line.indexOf('(');\n const parenClose = line.lastIndexOf(')');\n if (parenOpen !== -1 && parenClose > parenOpen) {\n const inner = line.slice(parenOpen + 1, parenClose);\n const c2 = inner.lastIndexOf(':');\n const c1 = c2 > 0 ? inner.lastIndexOf(':', c2 - 1) : -1;\n if (c1 > 0) {\n const col = inner.slice(c2 + 1);\n const ln = inner.slice(c1 + 1, c2);\n if (/^\\d+$/.test(ln) && /^\\d+$/.test(col)) {\n matchedPath = inner.slice(0, c1);\n matchedLine = parseInt(ln, 10);\n }\n }\n }\n if (!matchedPath) {\n const trimmed = line.trim();\n if (trimmed.startsWith('at ')) {\n const rest = trimmed.slice(3).trim();\n const c2 = rest.lastIndexOf(':');\n const c1 = c2 > 0 ? rest.lastIndexOf(':', c2 - 1) : -1;\n if (c1 > 0) {\n const col = rest.slice(c2 + 1);\n const ln = rest.slice(c1 + 1, c2);\n if (/^\\d+$/.test(ln) && /^\\d+$/.test(col)) {\n matchedPath = rest.slice(0, c1);\n matchedLine = parseInt(ln, 10);\n }\n }\n }\n }\n if (!matchedPath) {\n const exts = ['.ryx', '.jsx', '.js', '.ts', '.tsx'];\n const c1 = line.lastIndexOf(':');\n if (c1 > 0) {\n const ln = line.slice(c1 + 1).trim();\n const filePart = line.slice(0, c1).trim();\n if (/^\\d+$/.test(ln) &&\n exts.some((ext) => filePart.endsWith(ext))) {\n matchedPath = filePart;\n matchedLine = parseInt(ln, 10);\n }\n }\n }\n if (matchedPath && matchedLine) {\n targetPath = matchedPath;\n targetLine = matchedLine;\n break;\n }\n }\n }\n if (targetPath && targetLine) {\n setErrorFile(targetPath);\n setErrorLine(targetLine);\n fetch(`/_ryunix/source?file=${encodeURIComponent(targetPath)}&line=${targetLine}`)\n .then((res) => res.json())\n .then((data) => {\n if (data.snippet) {\n setSnippet(data.snippet);\n setStartLine(data.startLine);\n }\n })\n .catch((err) => console.error('Failed to fetch source snippet', err));\n }\n }, [error]);\n const overlayStyle = {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 2147483647,\n backgroundColor: 'rgba(0, 0, 0, 0.85)',\n backdropFilter: 'blur(8px)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '20px',\n fontFamily: 'system-ui, -apple-system, sans-serif',\n };\n const modalStyle = {\n backgroundColor: '#0c0c0c',\n width: '100%',\n maxWidth: '1000px',\n maxHeight: '90vh',\n borderRadius: '12px',\n boxShadow: '0 25px 50px -12px rgba(0, 0, 0, 0.8)',\n display: 'flex',\n flexDirection: 'column',\n overflow: 'hidden',\n border: '1px solid #333',\n };\n const headerStyle = {\n backgroundColor: '#161616',\n padding: '16px 24px',\n borderBottom: '1px solid #333',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n };\n const badgeStyle = {\n backgroundColor: 'rgba(239, 68, 68, 0.2)',\n color: '#ef4444',\n padding: '4px 8px',\n borderRadius: '4px',\n fontSize: '13px',\n fontWeight: 'bold',\n textTransform: 'uppercase',\n letterSpacing: '0.05em',\n };\n const contentStyle = {\n padding: '32px',\n overflowY: 'auto',\n flex: 1,\n color: '#fff',\n };\n const titleStyle = {\n fontSize: '24px',\n fontWeight: 'bold',\n marginBottom: '24px',\n fontFamily: 'ui-monospace, monospace',\n wordBreak: 'break-word',\n lineHeight: 1.4,\n };\n const snippetContainerStyle = {\n backgroundColor: '#000',\n borderRadius: '8px',\n border: '1px solid #333',\n padding: '16px',\n fontFamily: 'ui-monospace, monospace',\n fontSize: '14px',\n overflowX: 'auto',\n color: '#d1d5db',\n marginBottom: '32px',\n whiteSpace: 'pre-wrap',\n maxHeight: '150px',\n height: 'auto',\n };\n const lineStyle = (isErrorLine) => ({\n display: 'flex',\n backgroundColor: isErrorLine ? 'rgba(239, 68, 68, 0.15)' : 'transparent',\n padding: '2px 8px',\n borderRadius: '4px',\n borderLeft: isErrorLine ? '3px solid #ef4444' : '3px solid transparent',\n });\n const snippetLines = snippet ? snippet.split('\\n') : [];\n let badgeText = 'UNHANDLED RUNTIME ERROR';\n if (errorName &&\n errorName !== 'Error' &&\n errorName !== 'Unknown Error Type') {\n badgeText = errorName.replace(/([a-z])([A-Z])/g, '$1 $2').toUpperCase();\n }\n return createElement('div', { style: overlayStyle }, createElement('div', { style: modalStyle }, createElement('div', { style: headerStyle }, createElement('div', { style: { display: 'flex', alignItems: 'center', gap: '12px' } }, createElement('span', { style: badgeStyle }, badgeText), createElement('span', { style: { color: '#9ca3af', fontSize: '14px' } }, 'Ryunix Development')), createElement('button', {\n onClick: () => window.location.reload(),\n style: {\n background: 'none',\n border: 'none',\n color: '#9ca3af',\n cursor: 'pointer',\n outline: 'none',\n },\n title: 'Reload page',\n }, createElement('svg', {\n width: '20',\n height: '20',\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n }, createElement('path', {\n d: 'M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8',\n }), createElement('path', { d: 'M3 3v5h5' })))), createElement('div', { style: contentStyle }, createElement('h1', { style: titleStyle }, createElement('span', { style: { color: '#f87171' } }, errorName), ': ', errorMessage), errorFile &&\n createElement('div', {\n style: {\n marginBottom: '16px',\n color: '#9ca3af',\n fontSize: '14px',\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n },\n }, createElement('svg', {\n width: '16',\n height: '16',\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n }, createElement('path', {\n d: 'M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z',\n }), createElement('polyline', { points: '13 2 13 9 20 9' })), errorFile, ':', errorLine), snippet &&\n createElement('div', { style: snippetContainerStyle }, createElement('div', { style: { display: 'flex', flexDirection: 'column' } }, ...snippetLines.map((lineText, index) => {\n const currentLineNumber = startLine + index;\n const isErrorLine = currentLineNumber === errorLine;\n return createElement('div', { key: index, style: lineStyle(isErrorLine) }, createElement('span', {\n style: {\n color: '#6b7280',\n width: '40px',\n userSelect: 'none',\n textAlign: 'right',\n marginRight: '16px',\n display: 'inline-block',\n },\n }, currentLineNumber), createElement('span', {\n style: {\n color: isErrorLine ? '#f87171' : '#e5e7eb',\n whiteSpace: 'pre',\n },\n }, lineText || ' '));\n }))), createElement('div', { style: { marginBottom: '16px' } }, createElement('p', {\n style: {\n color: '#9ca3af',\n fontSize: '14px',\n marginBottom: '8px',\n fontWeight: 600,\n textTransform: 'uppercase',\n letterSpacing: '0.05em',\n },\n }, 'Call Stack'), createElement('div', { style: snippetContainerStyle }, stackLines.length > 0\n ? createElement('ul', {\n style: {\n listStyle: 'none',\n padding: 0,\n margin: 0,\n display: 'flex',\n flexDirection: 'column',\n gap: '12px',\n },\n }, ...stackLines.map((line, i) => {\n if (i === 0 &&\n (line.startsWith('Error:') ||\n line.startsWith('TypeError:')))\n return null;\n const trimmed = line.trim();\n let fnName = '<anonymous>';\n let filePath = line;\n if (trimmed.startsWith('at ')) {\n const rest = trimmed.slice(3);\n const parenOpen = rest.indexOf('(');\n const parenClose = rest.lastIndexOf(')');\n if (parenOpen !== -1 && parenClose > parenOpen) {\n fnName =\n rest.slice(0, parenOpen).trim() || '<anonymous>';\n filePath = rest.slice(parenOpen + 1, parenClose);\n }\n else {\n if (rest.includes(':')) {\n fnName = '<anonymous>';\n }\n else {\n fnName = rest;\n }\n filePath = rest;\n }\n }\n else if (trimmed.includes('@')) {\n const atIdx = trimmed.indexOf('@');\n fnName = trimmed.slice(0, atIdx) || '<anonymous>';\n filePath = trimmed.slice(atIdx + 1);\n }\n else {\n const exts = ['.ryx', '.jsx', '.js', '.ts', '.tsx'];\n const parts = trimmed.split(/\\s+/);\n if (parts.length >= 2) {\n const lastPart = parts[parts.length - 1];\n const colonIdx = lastPart.indexOf(':');\n const fileCandidate = colonIdx > 0\n ? lastPart.slice(0, colonIdx)\n : lastPart;\n if (exts.some((ext) => fileCandidate.endsWith(ext))) {\n fnName = parts.slice(0, -1).join(' ');\n filePath = lastPart;\n }\n else {\n fnName = parts[0];\n filePath = parts.slice(1).join(' ');\n }\n }\n }\n return createElement('li', { key: i }, createElement('span', { style: { color: '#60a5fa', fontWeight: 600 } }, fnName), createElement('div', {\n style: {\n color: '#6b7280',\n marginTop: '4px',\n paddingLeft: '16px',\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n },\n }, createElement('svg', {\n width: '12',\n height: '12',\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n }, createElement('path', {\n d: 'M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z',\n }), createElement('polyline', {\n points: '13 2 13 9 20 9',\n })), filePath));\n }))\n : createElement('div', { style: { color: '#6b7280', fontStyle: 'italic' } }, 'No stack trace available.'))))));\n}\n","export const DEFAULT_THEME_COOKIE_NAME = 'ryunix_theme';\nexport const THEME_PREFERENCES = ['light', 'system', 'dark'];\nexport function createThemeController(options = {}) {\n const cookieName = options.cookieName ?? DEFAULT_THEME_COOKIE_NAME;\n const defaultTheme = options.defaultTheme ?? 'dark';\n const darkClass = options.darkClass ?? 'dark';\n const maxAgeSeconds = options.maxAgeSeconds ?? 365 * 24 * 60 * 60;\n const isThemePreference = (theme) => THEME_PREFERENCES.includes(theme);\n const getThemeCookie = () => {\n if (typeof document === 'undefined')\n return null;\n const match = document.cookie.match(new RegExp(`(?:^|;\\\\s*)${cookieName}=(light|system|dark)(?:;|$)`));\n return match ? match[1] : null;\n };\n const setThemeCookie = (theme) => {\n if (typeof document === 'undefined' || !isThemePreference(theme))\n return;\n document.cookie = `${cookieName}=${theme}; path=/; max-age=${maxAgeSeconds}; SameSite=Lax`;\n };\n const resolveThemeFromCookie = () => getThemeCookie() || defaultTheme;\n const getSystemColorScheme = () => {\n if (typeof window === 'undefined')\n return 'dark';\n return window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light';\n };\n const resolveEffectiveTheme = (theme) => {\n const choice = isThemePreference(theme) ? theme : defaultTheme;\n if (choice === 'system')\n return getSystemColorScheme();\n return choice;\n };\n const applyTheme = (theme) => {\n if (typeof document === 'undefined')\n return;\n const preference = isThemePreference(theme) ? theme : defaultTheme;\n const effective = resolveEffectiveTheme(preference);\n const root = document.documentElement;\n root.classList.toggle(darkClass, effective === 'dark');\n root.dataset.theme = preference;\n root.dataset.themeEffective = effective;\n root.style.colorScheme = effective === 'dark' ? 'dark' : 'light';\n };\n const getInitScript = () => `(function(){try{var m=document.cookie.match(/(?:^|;\\\\s*)${cookieName}=(light|system|dark)(?:;|$)/);var t=m?m[1]:'${defaultTheme}';var dark=t==='dark'||(t==='system'&&window.matchMedia('(prefers-color-scheme: dark)').matches);var r=document.documentElement;r.classList.toggle('${darkClass}',dark);r.dataset.theme=t;r.dataset.themeEffective=dark?'dark':'light';r.style.colorScheme=dark?'dark':'light';}catch(e){document.documentElement.classList.add('${darkClass}');}})();`;\n const watchSystemTheme = (onChange) => {\n if (typeof window === 'undefined')\n return () => { };\n const media = window.matchMedia('(prefers-color-scheme: dark)');\n const handler = () => onChange(getSystemColorScheme());\n media.addEventListener('change', handler);\n return () => media.removeEventListener('change', handler);\n };\n return {\n cookieName,\n defaultTheme,\n themes: THEME_PREFERENCES,\n getThemeCookie,\n setThemeCookie,\n resolveThemeFromCookie,\n getSystemColorScheme,\n resolveEffectiveTheme,\n applyTheme,\n getInitScript,\n watchSystemTheme,\n };\n}\nexport const themeController = createThemeController();\nexport const { cookieName: THEME_COOKIE_NAME, defaultTheme, themes, getThemeCookie, setThemeCookie, resolveThemeFromCookie, getSystemColorScheme, resolveEffectiveTheme, applyTheme, watchSystemTheme, } = themeController;\nexport const themeInitScript = themeController.getInitScript();\n","import { createElement } from '../reconciler/createElement.js';\nimport { useEffect, useStore } from '../hooks/hooks.js';\nimport { themeController, } from './theme.js';\nconst SunIcon = ({ className = '' }) => createElement('svg', {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 1.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n className,\n 'aria-hidden': true,\n}, createElement('circle', { cx: 12, cy: 12, r: 4 }), createElement('path', {\n d: 'M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41',\n}));\nconst MonitorIcon = ({ className = '' }) => createElement('svg', {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 1.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n className,\n 'aria-hidden': true,\n}, createElement('rect', { x: 2, y: 3, width: 20, height: 14, rx: 2 }), createElement('path', { d: 'M8 21h8M12 17v4' }));\nconst MoonIcon = ({ className = '' }) => createElement('svg', {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 1.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n className,\n 'aria-hidden': true,\n}, createElement('path', {\n d: 'M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z',\n}));\nconst ICONS = {\n light: SunIcon,\n system: MonitorIcon,\n dark: MoonIcon,\n};\nexport function ThemeToggle({ labels, className = '', controller = themeController, }) {\n const [theme, setTheme] = useStore(controller.defaultTheme);\n useEffect(() => {\n const saved = controller.resolveThemeFromCookie();\n setTheme(saved);\n controller.applyTheme(saved);\n }, []);\n useEffect(() => {\n if (theme !== 'system')\n return undefined;\n return controller.watchSystemTheme(() => controller.applyTheme('system'));\n }, [theme]);\n const selectTheme = (next) => {\n if (next === theme)\n return;\n setTheme(next);\n controller.setThemeCookie(next);\n controller.applyTheme(next);\n };\n return createElement('div', {\n className: `ryx-theme-segment ${className}`.trim(),\n role: 'radiogroup',\n 'aria-label': labels.title,\n }, ...controller.themes.map((id) => {\n const active = theme === id;\n const Icon = ICONS[id];\n return createElement('button', {\n key: id,\n type: 'button',\n role: 'radio',\n 'aria-checked': active ? 'true' : 'false',\n title: labels[id],\n className: `ryx-theme-segment-btn${active ? ' ryx-theme-segment-btn--active' : ''}`,\n onClick: () => selectTheme(id),\n }, Icon({ className: 'ryx-theme-segment-icon' }), createElement('span', { className: 'ryx-theme-segment-sr-only' }, labels[id]));\n }));\n}\nexport function ThemeInitScript({ controller = themeController, } = {}) {\n return createElement('script', {\n dangerouslySetInnerHTML: { __html: controller.getInitScript() },\n });\n}\n","import { createElement } from '../reconciler/createElement.js';\nimport { flattenArray } from '../../utils/index.js';\nconst renderBrand = ({ image, title, href = '/', imageAlt, blockClass, linkClass, imageClass, titleClass, }) => {\n if (!image && !title)\n return null;\n const content = [\n image\n ? createElement('img', {\n src: image,\n alt: imageAlt ?? title ?? '',\n className: imageClass,\n })\n : null,\n title ? createElement('span', { className: titleClass }, title) : null,\n ].filter(Boolean);\n return createElement('div', { className: blockClass }, createElement('a', { href, className: linkClass }, ...content));\n};\nconst renderChildren = (children) => {\n if (children == null || children === false)\n return [];\n return flattenArray(Array.isArray(children) ? children : [children]).filter((child) => child != null && child !== false);\n};\nconst renderSlot = (className, children) => {\n const items = renderChildren(children);\n if (items.length === 0)\n return null;\n return createElement('div', { className }, ...items);\n};\nexport function Main({ maxWidth, className = '', innerClassName = '', children, }) {\n const innerStyle = maxWidth != null && maxWidth !== ''\n ? { maxWidth, marginInline: 'auto', width: '100%' }\n : undefined;\n return createElement('main', {\n className: `ryx-main ${className}`.trim(),\n }, createElement('div', {\n className: `ryx-main-inner ${innerClassName}`.trim(),\n style: innerStyle,\n }, ...renderChildren(children)));\n}\nexport function Header({ image, title, href = '/', imageAlt, sticky = true, className = '', children, }) {\n const headerClass = [\n 'ryx-header',\n sticky !== false ? 'ryx-header--sticky' : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n return createElement('header', {\n className: headerClass,\n }, createElement('div', { className: 'ryx-header-inner' }, createElement('div', { className: 'ryx-header-start' }, renderBrand({\n image,\n title,\n href,\n imageAlt,\n blockClass: 'ryx-header-brand',\n linkClass: 'ryx-header-brand-link',\n imageClass: 'ryx-header-brand-image',\n titleClass: 'ryx-header-brand-title',\n })), renderSlot('ryx-header-end', children)));\n}\nexport function Footer({ image, title, description, href = '/', imageAlt, className = '', children, bottomStart, bottomEnd, }) {\n const brand = renderBrand({\n image,\n title,\n href,\n imageAlt,\n blockClass: 'ryx-footer-brand',\n linkClass: 'ryx-footer-brand-link',\n imageClass: 'ryx-footer-brand-image',\n titleClass: 'ryx-footer-brand-title',\n });\n const brandColumn = brand || description\n ? createElement('div', { className: 'ryx-footer-brand-column' }, brand, description\n ? createElement('p', { className: 'ryx-footer-description' }, description)\n : null)\n : null;\n const columns = renderChildren(children).map((child, index) => createElement('div', { key: index, className: 'ryx-footer-column' }, child));\n const bottomStartSlot = renderSlot('ryx-footer-bottom-start', bottomStart);\n const bottomEndSlot = renderSlot('ryx-footer-bottom-end', bottomEnd);\n const bottomBar = bottomStartSlot || bottomEndSlot\n ? createElement('div', { className: 'ryx-footer-bottom' }, bottomStartSlot, bottomEndSlot)\n : null;\n return createElement('footer', {\n className: `ryx-footer ${className}`.trim(),\n }, createElement('div', {\n className: 'ryx-footer-accent',\n 'aria-hidden': 'true',\n }), createElement('div', {\n className: 'ryx-footer-glow',\n 'aria-hidden': 'true',\n }), createElement('div', { className: 'ryx-footer-inner' }, brandColumn || columns.length > 0\n ? createElement('div', { className: 'ryx-footer-grid' }, brandColumn, ...columns)\n : null, bottomBar));\n}\n","import { createElement } from '../reconciler/createElement.js';\nimport { createContext } from '../hooks/hooks.js';\nconst { Provider: MDXProvider, useContext: useMDXComponents } = createContext('ryunix.mdx', {});\nconst getMDXComponents = (components) => {\n const contextComponents = useMDXComponents();\n return {\n ...contextComponents,\n ...components,\n };\n};\nconst RYUNIX_STYLE_ENABLED = globalThis.process && String(globalThis.process.env?.RYUNIX_STYLE) === 'true';\nconst ryxProps = (props) => {\n const { unstyled, ...rest } = props;\n if (unstyled || rest['data-ryx-unstyled']) {\n return { ...rest, 'data-ryx-unstyled': true };\n }\n return rest;\n};\nconst mergeClassName = (existing, base) => {\n if (!existing)\n return base;\n if (Array.isArray(existing))\n return [...existing, base].join(' ');\n return `${existing} ${base}`;\n};\nconst styledMdxHost = (tag, ryxClass, props) => {\n const next = ryxProps(props);\n if (!RYUNIX_STYLE_ENABLED || !ryxClass || next['data-ryx-unstyled']) {\n return createElement(tag, next);\n }\n return createElement(tag, {\n ...next,\n className: mergeClassName(next.className, ryxClass),\n });\n};\nconst defaultComponents = {\n h1: (props) => styledMdxHost('h1', 'ryx-h1', props),\n h2: (props) => styledMdxHost('h2', 'ryx-h2', props),\n h3: (props) => styledMdxHost('h3', 'ryx-h3', props),\n h4: (props) => styledMdxHost('h4', 'ryx-h4', props),\n h5: (props) => styledMdxHost('h5', 'ryx-h5', props),\n h6: (props) => styledMdxHost('h6', 'ryx-h6', props),\n p: (props) => styledMdxHost('p', 'ryx-p', props),\n a: (props) => styledMdxHost('a', 'ryx-a', props),\n strong: (props) => styledMdxHost('strong', 'ryx-strong', props),\n em: (props) => styledMdxHost('em', 'ryx-em', props),\n code: (props) => styledMdxHost('code', 'ryx-code', props),\n ul: (props) => styledMdxHost('ul', 'ryx-ul', props),\n ol: (props) => styledMdxHost('ol', 'ryx-ol', props),\n li: (props) => styledMdxHost('li', 'ryx-li', props),\n blockquote: (props) => styledMdxHost('blockquote', 'ryx-blockquote', props),\n pre: (props) => styledMdxHost('pre', 'ryx-pre', props),\n hr: (props) => styledMdxHost('hr', 'ryx-hr', props),\n table: (props) => styledMdxHost('table', 'ryx-table', props),\n thead: (props) => styledMdxHost('thead', 'ryx-thead', props),\n tbody: (props) => styledMdxHost('tbody', 'ryx-tbody', props),\n tr: (props) => styledMdxHost('tr', 'ryx-tr', props),\n th: (props) => styledMdxHost('th', 'ryx-th', props),\n td: (props) => styledMdxHost('td', 'ryx-td', props),\n img: (props) => styledMdxHost('img', 'ryx-img', props),\n};\nconst Image = ({ src, ...props }) => {\n return createElement('img', { ...props, src });\n};\nconst MDXContent = ({ children, components = {} }) => {\n const mergedComponents = getMDXComponents(components);\n return createElement(MDXProvider, { value: mergedComponents }, createElement('div', null, children));\n};\nexport { MDXContent, MDXProvider, useMDXComponents, getMDXComponents, defaultComponents, ryxProps, Image, };\n","import * as Ryunix from './lib/index.js';\nexport * from './lib/index.js';\nexport { Image, MDXContent, MDXProvider, useMDXComponents, getMDXComponents, defaultComponents, ryxProps, } from './lib/ui/mdx.js';\nif (typeof window !== 'undefined')\n window.Ryunix = Ryunix;\nexport default Ryunix;\n"],"names":["nextValidSibling","pendingUpdates","scheduleWork","validateHookCall"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Ryunix.umd.js","sources":["../.generated/utils/index.js","../.generated/lib/reconciler/createElement.js","../.generated/lib/reconciler/effects.js","../.generated/utils/svgAttributes.js","../.generated/lib/reconciler/priority.js","../.generated/lib/reconciler/dom.js","../.generated/lib/render/portal.js","../.generated/lib/hydration/log.js","../.generated/lib/reconciler/commits.js","../.generated/lib/reconciler/reconciler.js","../.generated/lib/hydration/policy.js","../.generated/lib/reconciler/fiber-update.js","../.generated/lib/reconciler/bridge.js","../.generated/lib/hydration/recover.js","../.generated/lib/reconciler/workers.js","../.generated/lib/render/render.js","../.generated/lib/reconciler/batching.js","../.generated/lib/devtools/runtime.js","../.generated/lib/hooks/metadata.js","../.generated/lib/hooks/hooks.js","../.generated/lib/server/ssr.js","../.generated/lib/hooks/memo.js","../.generated/lib/hooks/forwardRef.js","../.generated/lib/hooks/lazy.js","../.generated/lib/devtools/profiler.js","../.generated/lib/hydration/boundaries.js","../.generated/lib/ui/error-boundary.js","../.generated/lib/server/actions.js","../.generated/lib/ui/dev-overlay.js","../.generated/lib/ui/theme.js","../.generated/lib/ui/theme-toggle.js","../.generated/lib/ui/layout.js","../.generated/lib/i18n/config.js","../.generated/lib/i18n/messages.js","../.generated/lib/i18n/paths.js","../.generated/lib/i18n/createI18n.js","../.generated/lib/ui/mdx.js","../.generated/main.js"],"sourcesContent":["const rICFallback = (cb) => setTimeout(() => cb({ timeRemaining: () => 1 }), 1);\nconst rIC = typeof requestIdleCallback !== 'undefined' ? requestIdleCallback : rICFallback;\nconst createRenderState = () => ({\n containerRoot: null,\n nextUnitOfWork: null,\n currentRoot: null,\n wipRoot: null,\n deletions: [],\n wipFiber: null,\n hookIndex: 0,\n effects: [],\n});\nlet globalState = createRenderState();\nexport const getState = () => globalState;\nconst CAMEL_TO_KEBAB_REGEX = /[A-Z]/g;\nexport const RYUNIX_TYPES = Object.freeze({\n TEXT_ELEMENT: Symbol.for('ryunix.text.element'),\n RYUNIX_ELEMENT: Symbol.for('ryunix.element'),\n RYUNIX_EFFECT: Symbol.for('ryunix.effect'),\n RYUNIX_MEMO: Symbol.for('ryunix.memo'),\n RYUNIX_URL_QUERY: Symbol.for('ryunix.urlQuery'),\n RYUNIX_REF: Symbol.for('ryunix.ref'),\n RYUNIX_STORE: Symbol.for('ryunix.store'),\n RYUNIX_REDUCE: Symbol.for('ryunix.reduce'),\n RYUNIX_FRAGMENT: Symbol.for('ryunix.fragment'),\n RYUNIX_CONTEXT: Symbol.for('ryunix.context'),\n RYUNIX_SUSPENSE: Symbol.for('ryunix.suspense'),\n});\nexport const STRINGS = Object.freeze({\n OBJECT: 'object',\n FUNCTION: 'function',\n STYLE: 'ryunix-style',\n CLASS_NAME: 'ryunix-class',\n CHILDREN: 'children',\n BOOLEAN: 'boolean',\n STRING: 'string',\n UNDEFINED: 'undefined',\n});\nexport const OLD_STRINGS = Object.freeze({\n STYLE: 'style',\n CLASS_NAME: 'className',\n});\nexport const EFFECT_TAGS = Object.freeze({\n PLACEMENT: Symbol.for('ryunix.reconciler.status.placement'),\n UPDATE: Symbol.for('ryunix.reconciler.status.update'),\n DELETION: Symbol.for('ryunix.reconciler.status.deletion'),\n NO_EFFECT: Symbol.for('ryunix.reconciler.status.no_effect'),\n HYDRATE: Symbol.for('ryunix.reconciler.status.hydrate'),\n});\nexport function flattenArray(arr, depth = 1) {\n if (!Array.isArray(arr))\n return [arr];\n if (depth < 1)\n return arr.slice();\n return arr.reduce((acc, val) => {\n if (Array.isArray(val) && depth > 0) {\n acc.push(...flattenArray(val, depth - 1));\n }\n else {\n acc.push(val);\n }\n return acc;\n }, []);\n}\nexport const is = {\n object: (val) => val !== null && typeof val === STRINGS.OBJECT,\n function: (val) => typeof val === STRINGS.FUNCTION,\n string: (val) => typeof val === STRINGS.STRING,\n undefined: (val) => typeof val === STRINGS.UNDEFINED,\n null: (val) => val === null,\n array: (val) => Array.isArray(val),\n promise: (val) => val instanceof Promise,\n};\nexport function getTypeLabel(type) {\n if (typeof type === 'symbol')\n return type.description || type.toString();\n if (typeof type === 'function')\n return type.name || 'anonymous';\n return String(type);\n}\nexport function nextValidSibling(node) {\n let next = node;\n while (next &&\n ((next.nodeType === 3 && !next.nodeValue?.trim()) ||\n next.nodeType === 8 ||\n (next.nodeType === 1 &&\n next.hasAttribute('data-ryunix-ssr')))) {\n next = next.nextSibling;\n }\n return next;\n}\nexport { CAMEL_TO_KEBAB_REGEX, rIC };\n","import { RYUNIX_TYPES, STRINGS, is } from '../../utils/index.js';\nconst createTextElement = (text) => {\n return {\n type: RYUNIX_TYPES.TEXT_ELEMENT,\n props: {\n nodeValue: String(text),\n children: [],\n },\n };\n};\nconst createElement = (type, props, ...children) => {\n const safeProps = props || {};\n let rawChildren = children;\n if (children.length === 0 && safeProps.children !== undefined) {\n rawChildren = Array.isArray(safeProps.children)\n ? safeProps.children\n : [safeProps.children];\n }\n rawChildren = rawChildren\n .flat()\n .filter((child) => child != null && child !== false && child !== true);\n const normalizedChildren = [];\n let currentText = '';\n for (const child of rawChildren) {\n if (typeof child !== STRINGS.OBJECT) {\n currentText += String(child);\n }\n else {\n if (currentText !== '') {\n normalizedChildren.push(createTextElement(currentText));\n currentText = '';\n }\n normalizedChildren.push(child);\n }\n }\n if (currentText !== '') {\n normalizedChildren.push(createTextElement(currentText));\n }\n return {\n type,\n props: {\n ...safeProps,\n children: normalizedChildren,\n },\n };\n};\nconst Fragment = (props) => {\n const children = Array.isArray(props.children)\n ? props.children\n : [props.children];\n return createElement(RYUNIX_TYPES.RYUNIX_FRAGMENT, {}, ...children);\n};\nconst cloneElement = (element, props = {}, ...children) => {\n if (!element || !is.object(element)) {\n throw new Error('cloneElement requires a valid element');\n }\n const newChildren = children.length > 0 ? children : (element.props.children ?? []);\n return createElement(element.type, { ...element.props, ...props }, ...(Array.isArray(newChildren) ? newChildren : [newChildren]));\n};\nconst isValidElement = (object) => {\n return (is.object(object) &&\n object.type !== undefined &&\n object.props !== undefined);\n};\nexport { createElement, createTextElement, Fragment, cloneElement, isValidElement, };\n","import { RYUNIX_TYPES, STRINGS, is } from '../../utils/index.js';\nconst isEvent = (key) => key.startsWith('on');\nconst RESERVED_DOM_PROPS = new Set(['key', 'ref', STRINGS.CHILDREN]);\nconst isProperty = (key) => !RESERVED_DOM_PROPS.has(key) && !isEvent(key);\nconst isNew = (prev, next) => (key) => {\n return !Object.is(prev[key], next[key]);\n};\nconst isGone = (next) => (key) => !(key in next);\nconst cancelEffects = (fiber) => {\n if (!fiber?.hooks?.length)\n return;\n fiber.hooks\n .filter((hook) => hook.type === RYUNIX_TYPES.RYUNIX_EFFECT && is.function(hook.cancel))\n .forEach((hook) => {\n try {\n if (hook.cancel)\n hook.cancel();\n hook.cancel = null;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error in effect cleanup:', error);\n }\n }\n });\n};\nconst cancelEffectsDeep = (fiber) => {\n if (!fiber)\n return;\n if (fiber.hooks?.length) {\n fiber.hooks\n .filter((hook) => hook.type === RYUNIX_TYPES.RYUNIX_EFFECT && is.function(hook.cancel))\n .forEach((hook) => {\n try {\n if (hook.cancel)\n hook.cancel();\n hook.cancel = null;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error in deep effect cleanup:', error);\n }\n }\n });\n }\n if (fiber.child)\n cancelEffectsDeep(fiber.child);\n if (fiber.sibling)\n cancelEffectsDeep(fiber.sibling);\n};\nexport { cancelEffects, cancelEffectsDeep, isEvent, isProperty, isNew, isGone };\n","const SVG_ATTR_MAP = {\n strokeWidth: 'stroke-width',\n strokeLinecap: 'stroke-linecap',\n strokeLinejoin: 'stroke-linejoin',\n strokeDasharray: 'stroke-dasharray',\n strokeDashoffset: 'stroke-dashoffset',\n strokeMiterlimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n fillRule: 'fill-rule',\n fillOpacity: 'fill-opacity',\n clipRule: 'clip-rule',\n clipPath: 'clip-path',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontWeight: 'font-weight',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n dominantBaseline: 'dominant-baseline',\n alignmentBaseline: 'alignment-baseline',\n baselineShift: 'baseline-shift',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n lightingColor: 'lighting-color',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n pointerEvents: 'pointer-events',\n shapeRendering: 'shape-rendering',\n imageRendering: 'image-rendering',\n markerStart: 'marker-start',\n markerMid: 'marker-mid',\n markerEnd: 'marker-end',\n};\nexport function toSvgAttrName(name) {\n return SVG_ATTR_MAP[name] ?? name;\n}\nexport { SVG_ATTR_MAP };\n","import { rIC } from '../../utils/index.js';\nexport const Priority = {\n IMMEDIATE: 1,\n USER_BLOCKING: 2,\n NORMAL: 3,\n LOW: 4,\n IDLE: 5,\n};\nlet currentPriority = Priority.NORMAL;\nlet pendingUpdates = [];\nlet isScheduling = false;\nexport function scheduleUpdate(callback, priority = Priority.NORMAL) {\n pendingUpdates.push({ callback, priority, timestamp: Date.now() });\n if (!isScheduling) {\n isScheduling = true;\n rIC(processPendingUpdates);\n }\n}\nfunction processPendingUpdates(deadline) {\n pendingUpdates.sort((a, b) => a.priority - b.priority);\n while (pendingUpdates.length > 0 && deadline.timeRemaining() > 1) {\n const update = pendingUpdates.shift();\n if (!update)\n break;\n currentPriority = update.priority;\n update.callback();\n }\n if (pendingUpdates.length > 0) {\n rIC(processPendingUpdates);\n }\n else {\n isScheduling = false;\n currentPriority = Priority.NORMAL;\n }\n}\nexport function runWithPriority(priority, callback) {\n const previousPriority = currentPriority;\n currentPriority = priority;\n try {\n return callback();\n }\n finally {\n currentPriority = previousPriority;\n }\n}\nexport function getCurrentPriority() {\n return currentPriority;\n}\nexport function createPriorityDispatch(dispatch) {\n return (action, priority = currentPriority) => {\n scheduleUpdate(() => dispatch(action), priority);\n };\n}\n","import { isEvent, isGone, isNew, isProperty } from './effects.js';\nimport { RYUNIX_TYPES, STRINGS, OLD_STRINGS, CAMEL_TO_KEBAB_REGEX, is, } from '../../utils/index.js';\nimport { toSvgAttrName } from '../../utils/svgAttributes.js';\nimport { Priority, runWithPriority } from './priority.js';\nconst camelToKebab = (camelCase) => {\n return camelCase.replace(CAMEL_TO_KEBAB_REGEX, (match) => `-${match.toLowerCase()}`);\n};\nconst applyStyles = (dom, styleObj) => {\n if (!is.object(styleObj) || is.null(styleObj)) {\n dom.style.cssText = '';\n return;\n }\n try {\n const cssText = Object.entries(styleObj)\n .filter(([_, value]) => value != null)\n .map(([key, value]) => {\n const kebabKey = camelToKebab(key);\n return `${kebabKey}: ${value}`;\n })\n .join('; ');\n dom.style.cssText = cssText;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error applying styles:', error);\n }\n }\n};\nconst applyClasses = (dom, prevClasses, nextClasses) => {\n if (!nextClasses || nextClasses.trim() === '') {\n if (prevClasses) {\n const oldClasses = prevClasses.split(/\\s+/).filter(Boolean);\n dom.classList.remove(...oldClasses);\n }\n return;\n }\n if (prevClasses) {\n const oldClasses = prevClasses.split(/\\s+/).filter(Boolean);\n dom.classList.remove(...oldClasses);\n }\n const newClasses = nextClasses.split(/\\s+/).filter(Boolean);\n if (newClasses.length > 0) {\n dom.classList.add(...newClasses);\n }\n};\nconst createDom = (fiber) => {\n if (fiber.type === RYUNIX_TYPES.RYUNIX_FRAGMENT ||\n fiber.type === RYUNIX_TYPES.RYUNIX_CONTEXT ||\n fiber.type === Symbol.for('ryunix.portal')) {\n return null;\n }\n let dom;\n try {\n if (fiber.type === RYUNIX_TYPES.TEXT_ELEMENT) {\n dom = document.createTextNode('');\n }\n else if (is.string(fiber.type)) {\n const hostType = fiber.type;\n const isSvg = [\n 'svg',\n 'path',\n 'g',\n 'circle',\n 'polygon',\n 'rect',\n 'line',\n 'polyline',\n 'ellipse',\n 'text',\n 'tspan',\n 'defs',\n 'use',\n 'symbol',\n 'mask',\n 'clipPath',\n 'linearGradient',\n 'radialGradient',\n 'stop',\n 'filter',\n 'feGaussianBlur',\n 'feOffset',\n 'feMerge',\n 'feMergeNode',\n 'feBlend',\n 'feColorMatrix',\n 'feComposite',\n 'foreignObject',\n 'image',\n 'marker',\n 'pattern',\n 'textPath',\n ].includes(hostType);\n if (isSvg) {\n dom = document.createElementNS('http://www.w3.org/2000/svg', hostType);\n }\n else {\n dom = document.createElement(hostType);\n }\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('Attempted to create DOM for non-host component:', fiber.type);\n }\n return null;\n }\n updateDom(dom, {}, fiber.props);\n return dom;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error creating DOM element:', error, fiber);\n }\n return null;\n }\n};\nconst checkAttributeUri = (attrName, value) => {\n if (typeof value !== 'string')\n return value;\n const attr = attrName.toLowerCase();\n if (attr !== 'href' &&\n attr !== 'src' &&\n attr !== 'action' &&\n attr !== 'formaction') {\n return value;\n }\n const normalized = value.replace(/\\s+/g, '').toLowerCase();\n if (normalized.startsWith('javascript:') ||\n normalized.startsWith('vbscript:') ||\n normalized.startsWith('data:')) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Ryunix Security] Blocked dangerous ${attrName} URI: ${value}`);\n }\n return 'javascript:void(0)';\n }\n return value;\n};\nexport const validateUri = checkAttributeUri;\nconst updateDom = (dom, prevProps = {}, nextProps = {}) => {\n if (dom.nodeType === 3) {\n if (prevProps.nodeValue !== nextProps.nodeValue) {\n dom.nodeValue = String(nextProps.nodeValue ?? '');\n }\n return;\n }\n const el = dom;\n const domEl = el;\n const handlerMap = domEl._ryunixHandlers;\n const elRecord = el;\n Object.keys(prevProps)\n .filter(isEvent)\n .filter((key) => isGone(nextProps)(key) || isNew(prevProps, nextProps)(key))\n .forEach((propKey) => {\n const eventType = propKey.toLowerCase().substring(2);\n try {\n const originalHandler = prevProps[propKey];\n const wrappedHandler = handlerMap?.get(originalHandler) || originalHandler;\n el.removeEventListener(eventType, wrappedHandler);\n if (handlerMap) {\n handlerMap.delete(originalHandler);\n }\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('Error removing event listener:', error);\n }\n }\n });\n Object.keys(prevProps)\n .filter(isProperty)\n .filter(isGone(nextProps))\n .forEach((propKey) => {\n if (propKey === STRINGS.STYLE ||\n propKey === OLD_STRINGS.STYLE ||\n propKey === STRINGS.CLASS_NAME ||\n propKey === OLD_STRINGS.CLASS_NAME) {\n return;\n }\n if (el instanceof SVGElement) {\n const attrName = toSvgAttrName(propKey);\n el.removeAttribute(attrName);\n }\n else {\n elRecord[propKey] = '';\n el.removeAttribute(propKey);\n }\n });\n Object.keys(nextProps)\n .filter(isProperty)\n .filter(isNew(prevProps, nextProps))\n .forEach((propKey) => {\n try {\n if (propKey === STRINGS.STYLE || propKey === OLD_STRINGS.STYLE) {\n const styleValue = nextProps[propKey];\n applyStyles(el, styleValue);\n }\n else if (propKey === STRINGS.CLASS_NAME) {\n applyClasses(el, prevProps[STRINGS.CLASS_NAME], nextProps[STRINGS.CLASS_NAME]);\n }\n else if (propKey === OLD_STRINGS.CLASS_NAME) {\n applyClasses(el, prevProps[OLD_STRINGS.CLASS_NAME], nextProps[OLD_STRINGS.CLASS_NAME]);\n }\n else {\n if (propKey === 'value' || propKey === 'checked') {\n if (elRecord[propKey] !== nextProps[propKey]) {\n elRecord[propKey] = nextProps[propKey];\n }\n }\n else {\n const isSvgNode = el instanceof SVGElement;\n if (isSvgNode) {\n const attrName = toSvgAttrName(propKey);\n const svgValidated = checkAttributeUri(attrName, nextProps[propKey]);\n el.setAttribute(attrName, String(svgValidated));\n }\n else {\n const attrVal = nextProps[propKey];\n const safeValue = checkAttributeUri(propKey, attrVal);\n elRecord[propKey] = safeValue;\n if (typeof attrVal !== 'object' &&\n typeof attrVal !== 'function') {\n el.setAttribute(propKey, String(safeValue));\n }\n }\n }\n }\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Error setting property ${propKey}:`, error);\n }\n }\n });\n Object.keys(nextProps)\n .filter(isEvent)\n .filter(isNew(prevProps, nextProps))\n .forEach((propKey) => {\n const eventType = propKey.toLowerCase().substring(2);\n try {\n const handler = (e) => {\n runWithPriority(Priority.IMMEDIATE, () => nextProps[propKey](e));\n };\n if (!domEl._ryunixHandlers) {\n domEl._ryunixHandlers = new Map();\n }\n domEl._ryunixHandlers.set(nextProps[propKey], handler);\n el.addEventListener(eventType, handler);\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('Error adding event listener:', error);\n }\n }\n });\n};\nconst clearContainer = (container) => {\n if (!container)\n return;\n while (container.firstChild) {\n container.removeChild(container.firstChild);\n }\n};\nexport { createDom, updateDom, applyStyles, applyClasses, camelToKebab, clearContainer, };\n","export const RYUNIX_PORTAL = Symbol.for('ryunix.portal');\nexport function createPortal(children, container) {\n if (!container) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('createPortal: target container is not a DOM element.');\n }\n return null;\n }\n return {\n type: RYUNIX_PORTAL,\n props: {\n children: Array.isArray(children) ? children : [children],\n },\n containerInfo: container,\n _isPortal: true,\n };\n}\n","import { getState } from '../../utils/index.js';\nconst PREFIX = '[Ryunix Hydration]';\nconst emit = (level, message) => {\n const line = `${PREFIX} ${message}`;\n if (level === 'error') {\n console.error(line);\n }\n else {\n console.warn(line);\n }\n};\nconst shouldReportStrict = () => process.env.NODE_ENV !== 'production' &&\n process.env.RYUNIX_HYDRATION_STRICT === 'true';\nexport const logHydrationInfo = (message) => {\n if (!shouldReportStrict())\n return;\n emit('warn', message);\n};\nexport const logHydrationMismatch = (detail) => {\n const state = getState();\n if (state.hydrationMismatchReported)\n return;\n state.hydrationMismatchReported = true;\n const level = process.env.NODE_ENV === 'production' ? 'error' : 'warn';\n emit(level, `${detail} Server HTML did not match the client render. Falling back to client-side render.`);\n};\nexport const logHydrationBoundaryMismatch = (detail) => {\n const state = getState();\n if (state.hydrationBoundaryMismatchReported)\n return;\n state.hydrationBoundaryMismatchReported = true;\n const level = process.env.NODE_ENV === 'production' ? 'error' : 'warn';\n emit(level, `${detail} Recovering the nearest hydration boundary with a scoped client render.`);\n};\nexport const logHydrationRecoverable = (detail) => {\n if (!shouldReportStrict())\n return;\n emit('warn', `Recovered a hydration mismatch (${detail}) without root fallback.`);\n};\nexport const logHydrationFailure = (reason = '') => {\n const state = getState();\n if (state.hydrationFailureReported)\n return;\n state.hydrationFailureReported = true;\n const detail = reason\n ? `${reason} `\n : state.hydrationMismatchReported\n ? ''\n : 'Hydration could not attach to the server HTML. ';\n const level = process.env.NODE_ENV === 'production' ? 'error' : 'warn';\n emit(level, `${detail}Clearing #__ryunix and remounting on the client.`);\n};\nexport const logHydrationUnmatchedNodes = (count) => {\n if (!count)\n return;\n const state = getState();\n if (state.hydrationUnmatchedReported)\n return;\n state.hydrationUnmatchedReported = true;\n emit('warn', `Removed ${count} server-rendered DOM node(s) that were not used by the client tree. This can indicate an SSR/client markup mismatch.`);\n};\nexport const logHydrationRecovery = () => {\n const state = getState();\n if (state.hydrationRecoveryReported)\n return;\n state.hydrationRecoveryReported = true;\n emit('warn', 'Remounting the application on the client after hydration failure.');\n};\nexport const logHydrationBoundaryRecovery = () => {\n const state = getState();\n if (state.hydrationBoundaryRecoveryReported)\n return;\n state.hydrationBoundaryRecoveryReported = true;\n emit('warn', 'Remounting a hydration boundary after local mismatch.');\n};\nexport const logHydrationFatal = (reason) => {\n emit('error', reason);\n};\nexport const resetHydrationLogFlags = () => {\n const state = getState();\n state.hydrationMismatchReported = false;\n state.hydrationBoundaryMismatchReported = false;\n state.hydrationFailureReported = false;\n state.hydrationUnmatchedReported = false;\n state.hydrationRecoveryReported = false;\n state.hydrationBoundaryRecoveryReported = false;\n};\n","import { updateDom } from './dom.js';\nimport { cancelEffects, cancelEffectsDeep } from './effects.js';\nimport { EFFECT_TAGS, RYUNIX_TYPES, getState, is } from '../../utils/index.js';\nimport { RYUNIX_PORTAL } from '../render/portal.js';\nimport { logHydrationUnmatchedNodes } from '../hydration/log.js';\nconst runLayoutEffects = (fiber) => {\n if (!fiber?.hooks?.length)\n return;\n for (let i = 0; i < fiber.hooks.length; i++) {\n const hook = fiber.hooks[i];\n if (hook.type === RYUNIX_TYPES.RYUNIX_EFFECT &&\n hook.isLayout &&\n is.function(hook.effect)) {\n if (is.function(hook.cancel)) {\n try {\n hook.cancel();\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error in layout effect cleanup:', error);\n }\n }\n }\n try {\n const cleanup = hook.effect();\n hook.cancel = is.function(cleanup) ? cleanup : null;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error in layout effect:', error);\n }\n hook.cancel = null;\n }\n hook.effect = null;\n }\n }\n};\nconst runNormalEffects = (fiber) => {\n if (!fiber?.hooks?.length)\n return;\n for (let i = 0; i < fiber.hooks.length; i++) {\n const hook = fiber.hooks[i];\n if (hook.type === RYUNIX_TYPES.RYUNIX_EFFECT &&\n !hook.isLayout &&\n is.function(hook.effect)) {\n if (is.function(hook.cancel)) {\n try {\n hook.cancel();\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error in effect cleanup:', error);\n }\n }\n }\n try {\n const cleanup = hook.effect();\n hook.cancel = is.function(cleanup) ? cleanup : null;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error in effect:', error);\n }\n hook.cancel = null;\n }\n hook.effect = null;\n }\n }\n};\nfunction commitRoot() {\n const state = getState();\n state.deletions.forEach(commitWork);\n const finishedWork = state.wipRoot;\n if (!finishedWork)\n return;\n state.currentRoot = finishedWork;\n if (state.isHydrating || state.hydrationFailed) {\n if (process.env.NODE_ENV !== 'production' && process.env.RYUNIX_DEBUG) {\n console.log(`[Ryunix Debug] commitRoot - isHydrating: ${state.isHydrating}, hydrationFailed: ${state.hydrationFailed}`);\n }\n if (state.hydrationFailed) {\n }\n else {\n let cursor = state.hydrateCursor;\n let removed = 0;\n if (cursor &&\n process.env.NODE_ENV !== 'production' &&\n process.env.RYUNIX_DEBUG) {\n console.log('[Ryunix Debug] Removing unmatched root siblings.');\n }\n while (cursor) {\n const next = cursor.nextSibling;\n if (cursor.parentNode) {\n cursor.parentNode.removeChild(cursor);\n removed++;\n }\n cursor = next;\n }\n logHydrationUnmatchedNodes(removed);\n }\n state.isHydrating = false;\n state.hydrationFailed = false;\n state.hydrateCursor = null;\n }\n commitWork(finishedWork.child);\n if (state.wipRoot === finishedWork) {\n state.wipRoot = null;\n }\n}\nfunction commitWork(fiber) {\n if (!fiber) {\n return;\n }\n if (fiber.type === RYUNIX_PORTAL || fiber._isPortal) {\n const portalContainer = fiber.containerInfo;\n if (portalContainer) {\n const portalFiber = fiber.child;\n if (portalFiber) {\n commitPortalWork(portalFiber, portalContainer);\n }\n }\n commitWork(fiber.sibling);\n return;\n }\n let domParentFiber = fiber.parent;\n while (domParentFiber && !domParentFiber.dom) {\n domParentFiber = domParentFiber.parent;\n }\n if (!domParentFiber) {\n return;\n }\n const domParent = domParentFiber.dom;\n if (!domParent)\n return;\n if (fiber.effectTag === EFFECT_TAGS.PLACEMENT) {\n if (fiber.dom != null) {\n if (process.env.NODE_ENV !== 'production' && process.env.RYUNIX_DEBUG) {\n console.log('[Ryunix Debug] Appending PLACEMENT:', fiber.type);\n }\n domParent.appendChild(fiber.dom);\n }\n runLayoutEffects(fiber);\n runNormalEffects(fiber);\n }\n else if (fiber.effectTag === EFFECT_TAGS.UPDATE) {\n cancelEffects(fiber);\n if (fiber.dom != null) {\n updateDom(fiber.dom, fiber.alternate?.props, fiber.props);\n }\n runLayoutEffects(fiber);\n runNormalEffects(fiber);\n }\n else if (fiber.effectTag === EFFECT_TAGS.HYDRATE) {\n const state = getState();\n if (state.hydrationFailed) {\n if (process.env.NODE_ENV !== 'production' && process.env.RYUNIX_DEBUG) {\n console.log('[Ryunix Debug] Hydration fallback PLACEMENT:', fiber.type);\n }\n if (fiber.dom != null) {\n domParent.appendChild(fiber.dom);\n }\n runLayoutEffects(fiber);\n runNormalEffects(fiber);\n }\n else {\n if (process.env.NODE_ENV !== 'production' && process.env.RYUNIX_DEBUG) {\n console.log('[Ryunix Debug] Hydrating node:', fiber.type);\n }\n if (fiber.dom != null) {\n updateDom(fiber.dom, {}, fiber.props);\n }\n runLayoutEffects(fiber);\n runNormalEffects(fiber);\n }\n }\n else if (fiber.effectTag === EFFECT_TAGS.DELETION) {\n cancelEffectsDeep(fiber);\n commitDeletion(fiber, domParent);\n return;\n }\n commitWork(fiber.child);\n commitWork(fiber.sibling);\n}\nconst commitPortalWork = (fiber, portalContainer) => {\n if (!fiber)\n return;\n if (fiber.effectTag === EFFECT_TAGS.PLACEMENT) {\n if (fiber.dom != null) {\n portalContainer.appendChild(fiber.dom);\n }\n runLayoutEffects(fiber);\n runNormalEffects(fiber);\n }\n else if (fiber.effectTag === EFFECT_TAGS.UPDATE) {\n cancelEffects(fiber);\n if (fiber.dom != null) {\n updateDom(fiber.dom, fiber.alternate?.props, fiber.props);\n }\n runLayoutEffects(fiber);\n runNormalEffects(fiber);\n }\n else if (fiber.effectTag === EFFECT_TAGS.DELETION) {\n cancelEffectsDeep(fiber);\n commitDeletion(fiber, portalContainer);\n return;\n }\n commitPortalWork(fiber.child, portalContainer);\n commitPortalWork(fiber.sibling, portalContainer);\n};\nconst commitDeletion = (fiber, domParent) => {\n if (fiber.dom) {\n if (fiber.dom.parentNode) {\n fiber.dom.parentNode.removeChild(fiber.dom);\n }\n }\n else {\n let child = fiber.child;\n while (child) {\n commitDeletion(child, domParent);\n child = child.sibling;\n }\n }\n};\nexport { commitDeletion, commitWork, commitRoot };\n","import { EFFECT_TAGS, getState } from '../../utils/index.js';\nconst reconcileChildren = (wipFiber, elements) => {\n const state = getState();\n let index = 0;\n let prevSibling;\n let isFirstChild = true;\n const oldFiberMap = new Map();\n let oldFiber = wipFiber.alternate?.child;\n let position = 0;\n while (oldFiber) {\n const key = oldFiber.key ?? `__index_${oldFiber.index ?? position}__`;\n oldFiberMap.set(key, oldFiber);\n oldFiber = oldFiber.sibling;\n position++;\n }\n while (index < elements.length) {\n const element = elements[index];\n if (!element) {\n index++;\n continue;\n }\n const key = element.key ?? `__index_${index}__`;\n const matchedFiber = oldFiberMap.get(key);\n let newFiber;\n const sameType = matchedFiber && element.type === matchedFiber.type;\n if (sameType && matchedFiber) {\n const matchedType = matchedFiber.type;\n const isErrorBoundary = typeof matchedFiber.type === 'function' &&\n matchedType?.ryunix_type === 'RYUNIX_ERROR_BOUNDARY';\n const preserveBoundaryError = isErrorBoundary &&\n matchedFiber.stateError != null &&\n matchedFiber.child == null;\n newFiber = {\n type: matchedFiber.type,\n props: element.props,\n dom: matchedFiber.dom,\n parent: wipFiber,\n alternate: matchedFiber,\n effectTag: EFFECT_TAGS.UPDATE,\n hooks: matchedFiber.hooks,\n stateError: preserveBoundaryError ? matchedFiber.stateError : undefined,\n key: element.key,\n index,\n };\n oldFiberMap.delete(key);\n }\n else {\n newFiber = {\n type: element.type,\n props: element.props,\n dom: null,\n parent: wipFiber,\n alternate: null,\n effectTag: state.isHydrating\n ? EFFECT_TAGS.HYDRATE\n : EFFECT_TAGS.PLACEMENT,\n key: element.key,\n index,\n };\n if (matchedFiber) {\n matchedFiber.effectTag = EFFECT_TAGS.DELETION;\n state.deletions.push(matchedFiber);\n oldFiberMap.delete(key);\n }\n }\n if (isFirstChild) {\n wipFiber.child = newFiber;\n isFirstChild = false;\n }\n else if (prevSibling) {\n prevSibling.sibling = newFiber;\n }\n prevSibling = newFiber;\n index++;\n }\n oldFiberMap.forEach((fiber) => {\n fiber.effectTag = EFFECT_TAGS.DELETION;\n state.deletions.push(fiber);\n });\n};\nexport { reconcileChildren };\n","import { getState } from '../../utils/index.js';\nexport const getHydrationPolicy = () => {\n const env = (globalThis.process && globalThis.process.env) || {};\n const recoverRaw = env.RYUNIX_HYDRATION_RECOVER || 'boundary';\n const boundariesRaw = env.RYUNIX_HYDRATION_BOUNDARIES || 'route';\n const strict = env.RYUNIX_HYDRATION_STRICT === 'true';\n const recover = recoverRaw === 'none' || recoverRaw === 'root' ? recoverRaw : 'boundary';\n const boundaries = boundariesRaw === 'server-only' || boundariesRaw === 'all-layouts'\n ? boundariesRaw\n : 'route';\n return {\n recover,\n boundaries,\n strict,\n };\n};\nexport const findNearestHydrationBoundary = (fiber) => {\n let current = fiber || null;\n while (current) {\n const props = current.props;\n if (props &&\n Object.prototype.hasOwnProperty.call(props, 'data-ryunix-hydrate-boundary')) {\n return current;\n }\n const type = current.type;\n const maybeTyped = type;\n if (type &&\n typeof type === 'function' &&\n maybeTyped?.ryunix_type === 'RYUNIX_HYDRATION_BOUNDARY') {\n return current;\n }\n current = current.parent || null;\n }\n return null;\n};\nexport const findBoundaryDomFromNode = (node) => {\n let current = node ?? null;\n while (current) {\n if (current.nodeType === 1 &&\n current.hasAttribute('data-ryunix-hydrate-boundary')) {\n return current;\n }\n current = current.parentNode;\n }\n return null;\n};\nexport const getBoundaryDom = (fiber) => {\n if (!fiber)\n return null;\n if (fiber.dom && fiber.dom.nodeType === 1) {\n const el = fiber.dom;\n if (el.hasAttribute('data-ryunix-hydrate-boundary'))\n return el;\n }\n let child = fiber.child || null;\n while (child) {\n if (child.dom && child.dom.nodeType === 1) {\n const el = child.dom;\n if (el.hasAttribute('data-ryunix-hydrate-boundary'))\n return el;\n }\n child = child.child || child.sibling || null;\n }\n return null;\n};\nexport const skipHydrationSubtree = (cursor, boundaryRoot) => {\n if (!cursor || !boundaryRoot)\n return cursor;\n if (cursor === boundaryRoot)\n return boundaryRoot.nextSibling;\n if (boundaryRoot.contains(cursor))\n return boundaryRoot.nextSibling;\n return cursor;\n};\nexport const enqueueScopedRecovery = (boundaryFiber, boundaryDom, resumeCursor) => {\n if (!boundaryFiber || !boundaryDom)\n return;\n const state = getState();\n const queue = state.scopedRecoveryQueue || [];\n queue.push({\n boundaryFiber,\n boundaryDom,\n resumeCursor,\n element: (Array.isArray(boundaryFiber.props?.children)\n ? boundaryFiber.props.children[0]\n : boundaryFiber.props?.children),\n });\n state.scopedRecoveryQueue = queue;\n};\n","import { createDom } from './dom.js';\nimport { reconcileChildren } from './reconciler.js';\nimport { getState, RYUNIX_TYPES, EFFECT_TAGS, nextValidSibling, } from '../../utils/index.js';\nimport { logHydrationBoundaryMismatch, logHydrationFatal, logHydrationMismatch, logHydrationRecoverable, } from '../hydration/log.js';\nimport { enqueueScopedRecovery, findNearestHydrationBoundary, findBoundaryDomFromNode, getBoundaryDom, getHydrationPolicy, skipHydrationSubtree, } from '../hydration/policy.js';\nconst updateFunctionComponent = (fiber) => {\n const state = getState();\n state.wipFiber = fiber;\n state.hookIndex = 0;\n fiber.hooks = [];\n const componentType = fiber.type;\n if (state.hydrationRecover &&\n componentType.ryunix_type === 'RYUNIX_ERROR_BOUNDARY') {\n fiber.stateError = undefined;\n }\n if (state.isHydrating) {\n fiber.effectTag = EFFECT_TAGS.HYDRATE;\n }\n if (componentType._isMemo && fiber.alternate) {\n const { children: _pc, ...prevRest } = fiber.alternate.props || {};\n const { children: _nc, ...nextRest } = fiber.props || {};\n if (componentType._arePropsEqual?.(prevRest, nextRest)) {\n fiber.hooks = fiber.alternate.hooks;\n const oldChild = fiber.alternate.child;\n if (oldChild) {\n oldChild.parent = fiber;\n fiber.child = oldChild;\n }\n return;\n }\n }\n const children = [\n componentType(fiber.props),\n ];\n if (componentType._contextId && fiber.props?.value !== undefined) {\n fiber._contextId = componentType._contextId;\n fiber._contextValue = fiber.props.value;\n }\n reconcileChildren(fiber, children);\n};\nconst isUnderClientOnlyBoundary = (fiber) => {\n let current = fiber?.parent || null;\n while (current) {\n if (current._hydrateClientOnly)\n return true;\n current = current.parent || null;\n }\n return false;\n};\nconst isUnderServerPreserveBoundary = (fiber) => {\n let current = fiber?.parent || null;\n while (current) {\n if (current._hydratePreserveServer)\n return true;\n current = current.parent || null;\n }\n return false;\n};\nconst normalizeChildNodes = (children) => {\n if (children == null)\n return [];\n return Array.isArray(children) ? children : [children];\n};\nconst updateHostComponent = (fiber) => {\n const state = getState();\n if (fiber.type === RYUNIX_TYPES.RYUNIX_CONTEXT) {\n fiber._contextId = fiber.props?._contextId;\n fiber._contextValue = fiber.props?.value;\n }\n const isPassthrough = fiber.type === RYUNIX_TYPES.RYUNIX_FRAGMENT ||\n fiber.type === RYUNIX_TYPES.RYUNIX_CONTEXT ||\n fiber.type === Symbol.for('ryunix.portal');\n if (state.isHydrating && isPassthrough) {\n fiber.effectTag = EFFECT_TAGS.HYDRATE;\n }\n else if (state.isHydrating && isUnderServerPreserveBoundary(fiber)) {\n return;\n }\n else if (state.isHydrating && isUnderClientOnlyBoundary(fiber)) {\n if (!fiber.dom) {\n fiber.dom = createDom(fiber);\n fiber.effectTag = EFFECT_TAGS.PLACEMENT;\n }\n }\n else if (!fiber.dom) {\n if (state.isHydrating && state.hydrateCursor) {\n const domNode = state.hydrateCursor;\n const isText = fiber.type === RYUNIX_TYPES.TEXT_ELEMENT && domNode.nodeType === 3;\n const isElement = typeof fiber.type === 'string' &&\n domNode.nodeType === 1 &&\n domNode.tagName.toLowerCase() === fiber.type.toLowerCase();\n if (isText || isElement) {\n fiber.dom = domNode;\n fiber.effectTag = EFFECT_TAGS.HYDRATE;\n if (isText &&\n fiber.props?.nodeValue != null &&\n domNode.nodeValue !== String(fiber.props.nodeValue)) {\n domNode.nodeValue = String(fiber.props.nodeValue);\n logHydrationRecoverable('text');\n }\n if (isElement &&\n domNode.hasAttribute('data-ryunix-server')) {\n fiber._hydratePreserveServer = true;\n state.hydrateCursor = nextValidSibling(domNode);\n reconcileChildren(fiber, []);\n return;\n }\n if (isElement &&\n domNode.hasAttribute('data-ryunix-hydrate-boundary')) {\n fiber._hydrateClientOnly = true;\n }\n state.hydrateCursor = nextValidSibling(domNode.firstChild);\n }\n else {\n const policy = getHydrationPolicy();\n const detail = `Mismatch at ${getTypeLabel(fiber.type ?? 'unknown')}. Expected ${domNode.nodeType === 1 ? domNode.tagName : 'text'} but got ${String(fiber.type)}.`;\n const boundaryFiber = findNearestHydrationBoundary(fiber);\n const boundaryDom = (boundaryFiber ? getBoundaryDom(boundaryFiber) : null) ??\n findBoundaryDomFromNode(state.hydrateCursor);\n if (policy.recover === 'boundary' && boundaryFiber && boundaryDom) {\n logHydrationBoundaryMismatch(detail);\n enqueueScopedRecovery(boundaryFiber, boundaryDom, state.hydrateCursor ?? null);\n state.hydrateCursor = skipHydrationSubtree(state.hydrateCursor ?? null, boundaryDom);\n fiber.dom = createDom(fiber);\n fiber.effectTag = EFFECT_TAGS.PLACEMENT;\n }\n else if (policy.recover === 'none') {\n logHydrationFatal(detail);\n state.isHydrating = false;\n state.hydrateCursor = null;\n fiber.dom = createDom(fiber);\n fiber.effectTag = EFFECT_TAGS.PLACEMENT;\n }\n else {\n logHydrationMismatch(detail);\n state.isHydrating = false;\n state.hydrationFailed = true;\n state.hydrateCursor = null;\n fiber.dom = createDom(fiber);\n fiber.effectTag = EFFECT_TAGS.PLACEMENT;\n }\n }\n }\n else {\n fiber.dom = createDom(fiber);\n }\n }\n if (fiber._hydratePreserveServer) {\n return;\n }\n const children = normalizeChildNodes(fiber.props?.children);\n reconcileChildren(fiber, children);\n};\nconst getTypeLabel = (type) => {\n if (typeof type === 'symbol')\n return type.description || type.toString();\n if (typeof type === 'function')\n return type.name || 'anonymous';\n return String(type);\n};\nexport { updateFunctionComponent, updateHostComponent };\n","let scheduleWorkFn = null;\nexport const setScheduleWork = (fn) => {\n scheduleWorkFn = fn;\n};\nexport const scheduleWork = (root, priority) => {\n if (scheduleWorkFn) {\n return scheduleWorkFn(root, priority);\n }\n if (process.env.NODE_ENV !== 'production') {\n console.warn('[Ryunix] scheduleWork called before being initialized.');\n }\n};\n","import { clearContainer } from '../reconciler/dom.js';\nimport { getState } from '../../utils/index.js';\nimport { scheduleWork } from '../reconciler/bridge.js';\nimport { logHydrationBoundaryRecovery, logHydrationFailure, logHydrationRecovery, } from './log.js';\nimport { getHydrationPolicy } from './policy.js';\nconst getRootChild = (children) => {\n if (children == null)\n return undefined;\n return Array.isArray(children) ? children[0] : children;\n};\nexport const renderSubtree = (element, container) => {\n clearContainer(container);\n const root = {\n dom: container,\n props: { children: [element] },\n isHydrating: false,\n hydrateCursor: null,\n };\n scheduleWork(root, undefined);\n};\nexport const recoverScopedHydrationFailures = () => {\n const state = getState();\n const queue = state.scopedRecoveryQueue;\n if (!queue?.length)\n return;\n state.scopedRecoveryQueue = [];\n for (const item of queue) {\n logHydrationBoundaryRecovery();\n renderSubtree(item.element, item.boundaryDom);\n }\n};\nexport const recoverHydrationFailureIfNeeded = () => {\n const state = getState();\n if (!state.hydrationFailed || state.hydrationRecover)\n return;\n const policy = getHydrationPolicy();\n if (policy.recover === 'none')\n return;\n const container = state.containerRoot || state.currentRoot?.dom;\n const element = getRootChild(state.currentRoot?.props?.children);\n if (!container || element == null)\n return;\n state.hydrationRecover = true;\n state.hydrationFailed = false;\n logHydrationFailure('');\n logHydrationRecovery();\n renderSubtree(element, container);\n};\nexport const runHydrationRecovery = () => {\n const state = getState();\n recoverScopedHydrationFailures();\n recoverHydrationFailureIfNeeded();\n state.hydrationRecover = false;\n};\n","import { commitRoot } from './commits.js';\nimport { updateFunctionComponent, updateHostComponent } from './fiber-update.js';\nimport { runHydrationRecovery } from '../hydration/recover.js';\nimport { getState, rIC, nextValidSibling } from '../../utils/index.js';\nimport { getCurrentPriority, Priority } from './priority.js';\nimport { setScheduleWork } from './bridge.js';\nlet workQueue = [];\nlet isWorkLoopScheduled = false;\nfunction performUnitOfWork(fiber) {\n const state = getState();\n const isFunctionComponent = fiber.type instanceof Function || typeof fiber.type === 'function';\n try {\n if (isFunctionComponent) {\n updateFunctionComponent(fiber);\n }\n else {\n updateHostComponent(fiber);\n }\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[Ryunix ErrorBoundary] Caught error during render:', error);\n try {\n const fiberProps = fiber.props;\n const src = fiberProps?.__source;\n if (src && error && typeof error === 'object') {\n ;\n error.__ryunix_source = src;\n }\n let targetFiber = fiber;\n while (!error.__ryunix_source && targetFiber) {\n const targetProps = targetFiber.props;\n if (targetProps?.__source) {\n ;\n error.__ryunix_source = targetProps.__source;\n }\n targetFiber = targetFiber.parent;\n }\n }\n catch (_e) { }\n }\n let boundaryFiber = fiber.parent;\n let foundBoundary = false;\n while (boundaryFiber) {\n if (boundaryFiber.type &&\n boundaryFiber.type.ryunix_type ===\n 'RYUNIX_ERROR_BOUNDARY') {\n foundBoundary = true;\n break;\n }\n boundaryFiber = boundaryFiber.parent;\n }\n if (foundBoundary && boundaryFiber) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('[Ryunix ErrorBoundary] Recovering tree at nearest boundary.');\n }\n boundaryFiber.stateError = error;\n fiber.child = null;\n return boundaryFiber;\n }\n else {\n console.error('[Ryunix] Fatal Uncaught Error. No ErrorBoundary was found in the tree to handle this exception:\\n', error);\n state.nextUnitOfWork = null;\n return null;\n }\n }\n if (fiber.child) {\n return fiber.child;\n }\n let nextFiber = fiber;\n while (nextFiber) {\n if (state.isHydrating && nextFiber.dom) {\n state.hydrateCursor = nextValidSibling(nextFiber.dom.nextSibling);\n }\n if (nextFiber.sibling) {\n return nextFiber.sibling;\n }\n nextFiber = nextFiber.parent;\n }\n return null;\n}\nconst workLoop = (deadline) => {\n const state = getState();\n let shouldYield = false;\n while ((state.nextUnitOfWork || workQueue.length > 0) && !shouldYield) {\n if (!state.nextUnitOfWork && workQueue.length > 0) {\n const nextRoot = workQueue.shift();\n if (!nextRoot)\n continue;\n state.wipRoot = nextRoot;\n state.nextUnitOfWork = nextRoot;\n state.deletions = [];\n if (nextRoot.isHydrating !== undefined) {\n state.isHydrating = nextRoot.isHydrating;\n state.hydrateCursor = nextRoot.hydrateCursor;\n }\n }\n if (state.nextUnitOfWork) {\n state.nextUnitOfWork = performUnitOfWork(state.nextUnitOfWork);\n }\n shouldYield = deadline.timeRemaining() < 1;\n }\n if (!state.nextUnitOfWork && state.wipRoot) {\n commitRoot();\n runHydrationRecovery();\n }\n if (state.nextUnitOfWork || workQueue.length > 0) {\n rIC(workLoop);\n }\n else {\n isWorkLoopScheduled = false;\n }\n};\nconst scheduleWork = (root, priority = getCurrentPriority()) => {\n const state = getState();\n if (state.wipRoot) {\n workQueue.push(root);\n }\n else {\n state.nextUnitOfWork = root;\n state.wipRoot = root;\n state.deletions = [];\n if (root.isHydrating !== undefined) {\n state.isHydrating = root.isHydrating;\n state.hydrateCursor = root.hydrateCursor;\n }\n }\n state.hookIndex = 0;\n state.effects = [];\n if (!isWorkLoopScheduled) {\n isWorkLoopScheduled = true;\n if (priority <= Priority.USER_BLOCKING) {\n Promise.resolve().then(() => {\n workLoop({ timeRemaining: () => 10, didTimeout: true });\n });\n }\n else {\n rIC(workLoop);\n }\n }\n};\nsetScheduleWork(scheduleWork);\nexport { performUnitOfWork, workLoop, scheduleWork };\n","import { clearContainer } from '../reconciler/dom.js';\nimport { getState } from '../../utils/index.js';\nimport { scheduleWork } from '../reconciler/workers.js';\nimport { resetHydrationLogFlags } from '../hydration/log.js';\nimport { getHydrationPolicy } from '../hydration/policy.js';\nconst render = (element, container) => {\n const state = getState();\n clearContainer(container);\n const root = {\n dom: container,\n props: {\n children: [element],\n },\n alternate: state.currentRoot,\n isHydrating: false,\n hydrateCursor: null,\n };\n scheduleWork(root);\n return root;\n};\nconst SSR_ROOT_ATTR = 'data-ryunix-ssr-root';\nconst nextValidSibling = (node) => {\n let next = node;\n while (next &&\n ((next.nodeType === 3 && !next.nodeValue?.trim()) ||\n next.nodeType === 8 ||\n (next.nodeType === 1 &&\n next.hasAttribute('data-ryunix-ssr')))) {\n next = next.nextSibling;\n }\n return next;\n};\nconst hydrate = (element, container) => {\n const state = getState();\n state.containerRoot = container;\n const root = {\n dom: container,\n props: {\n children: [element],\n },\n alternate: state.currentRoot,\n isHydrating: true,\n hydrateCursor: nextValidSibling(container.firstChild),\n };\n scheduleWork(root);\n return root;\n};\nconst init = (MainElement, root = '__ryunix', _components = {}) => {\n const state = getState();\n const container = document.getElementById(root);\n state.containerRoot = container;\n if (!container) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Ryunix] init: container #${root} not found.`);\n }\n return undefined;\n }\n resetHydrationLogFlags();\n state.hydrationPolicy = getHydrationPolicy();\n state.scopedRecoveryQueue = [];\n state.hydrationRecover = false;\n state.isHydrating = false;\n state.hydrationFailed = false;\n if (state.currentRoot) {\n if (process.env.NODE_ENV !== 'production' && process.env.RYUNIX_DEBUG) {\n console.log(`[Ryunix Debug] init: existing root detected. Client render on #${root}`);\n }\n return render(MainElement, container);\n }\n const ssrEnabled = process.env.RYUNIX_SSR !== 'false';\n const isSsrPayload = ssrEnabled &&\n container.hasAttribute(SSR_ROOT_ATTR) &&\n container.hasChildNodes();\n if (process.env.NODE_ENV !== 'production' && process.env.RYUNIX_DEBUG) {\n console.log(`[Ryunix Debug] init: isSsrPayload=${isSsrPayload}, hasChildNodes=${container.hasChildNodes()}`);\n }\n if (isSsrPayload) {\n if (process.env.NODE_ENV !== 'production' && process.env.RYUNIX_DEBUG) {\n console.log(`[Ryunix Debug] init: hydrating SSR markup on #${root}`);\n }\n container.removeAttribute(SSR_ROOT_ATTR);\n return hydrate(MainElement, container);\n }\n if (process.env.NODE_ENV !== 'production' && process.env.RYUNIX_DEBUG) {\n console.log(`[Ryunix Debug] init: client render on #${root}`);\n }\n return render(MainElement, container);\n};\nconst safeRender = (component, props, onError) => {\n try {\n return component(props);\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Component error:', error);\n }\n if (onError)\n onError(error);\n return null;\n }\n};\nexport { init, render, safeRender, hydrate, clearContainer };\nexport { renderSubtree, recoverScopedHydrationFailures, recoverHydrationFailureIfNeeded, runHydrationRecovery, } from '../hydration/recover.js';\n","let isBatching = false;\nlet pendingUpdates = [];\nexport function batchUpdates(callback) {\n const wasBatching = isBatching;\n isBatching = true;\n try {\n callback();\n }\n finally {\n isBatching = wasBatching;\n if (!isBatching && pendingUpdates.length > 0) {\n flushUpdates();\n }\n }\n}\nexport function queueUpdate(update) {\n pendingUpdates.push(update);\n if (!isBatching) {\n flushUpdates();\n }\n}\nexport function flushUpdates() {\n if (pendingUpdates.length === 0)\n return;\n const updates = pendingUpdates;\n pendingUpdates = [];\n updates.forEach((update) => update());\n}\n","import { getState } from '../../utils/index.js';\nconst isDevelopment = process.env.NODE_ENV !== 'production';\nconst warning = (condition, message) => {\n if (!isDevelopment)\n return;\n if (condition)\n return;\n console.warn(`[Ryunix Warning] ${message}`);\n};\nconst error = (message) => {\n if (!isDevelopment)\n return;\n console.error(`[Ryunix Error] ${message}`);\n};\nconst getComponentName = (component) => {\n if (!component)\n return 'Unknown';\n return component.displayName || component.name || 'Anonymous';\n};\nconst validateHookContext = (hookName = 'A hook') => {\n const state = getState();\n if (!state.wipFiber) {\n throw new Error(`${hookName} can only be called inside function components. ` +\n 'Make sure you are calling hooks at the top level of your component.');\n }\n const wipFiber = state.wipFiber;\n if (!Array.isArray(wipFiber.hooks)) {\n wipFiber.hooks = [];\n }\n};\nconst perfTracker = {\n marks: new Map(),\n mark(name) {\n if (!isDevelopment)\n return;\n this.marks.set(name, Date.now());\n },\n measure(name, startMark) {\n if (!isDevelopment)\n return;\n const start = this.marks.get(startMark);\n if (!start)\n return;\n const duration = Date.now() - start;\n console.log(`[Ryunix Performance] ${name}: ${duration}ms`);\n },\n clear() {\n this.marks.clear();\n },\n};\nconst deprecated = (oldAPI, newAPI, version) => {\n if (!isDevelopment)\n return;\n console.warn(`[Ryunix Deprecated] ${oldAPI} is deprecated and will be removed in version ${version}. ` +\n `Use ${newAPI} instead.`);\n};\nexport { warning, error, getComponentName, validateHookContext, perfTracker, deprecated, };\n","import { is } from '../../utils/index.js';\nconst INTERNAL_META_KEYS = new Set([\n 'title',\n 'pageTitle',\n 'canonical',\n 'titleTemplate',\n 'titleDefault',\n 'lastmod',\n 'changefreq',\n 'priority',\n 'custom',\n 'icon',\n 'appleTouchIcon',\n]);\nconst isTitleConfig = (value) => is.object(value) &&\n value !== null &&\n ('default' in value || 'template' in value);\nconst pickString = (value) => typeof value === 'string' && value.trim() ? value.trim() : undefined;\nexport function resolvePageMetadata(meta = {}, options = {}) {\n const template = pickString(options.title?.template) ||\n pickString(meta.titleTemplate) ||\n (isTitleConfig(meta.title) ? pickString(meta.title.template) : undefined);\n const defaultTitle = pickString(options.title?.prefix) ||\n pickString(meta.titleDefault) ||\n (isTitleConfig(meta.title) ? pickString(meta.title.default) : undefined) ||\n 'Ryunix App';\n const pageTitle = pickString(meta.pageTitle) ||\n (typeof meta.title === 'string' ? pickString(meta.title) : undefined);\n let title = defaultTitle;\n if (pageTitle) {\n title =\n template && template.includes('%s')\n ? template.replace('%s', pageTitle)\n : pageTitle;\n }\n const tags = {};\n for (const [key, value] of Object.entries(meta)) {\n if (INTERNAL_META_KEYS.has(key))\n continue;\n if (key === 'title' && isTitleConfig(value))\n continue;\n if (Array.isArray(value)) {\n const items = value\n .map((item) => (typeof item === 'string' ? item.trim() : ''))\n .filter(Boolean);\n if (items.length > 0)\n tags[key] = items;\n continue;\n }\n if (typeof value === 'string' && value.trim()) {\n tags[key] = value.trim();\n }\n }\n if (pickString(meta.canonical)) {\n tags.canonical = meta.canonical;\n }\n if (pickString(meta.icon)) {\n tags.icon = meta.icon;\n }\n if (pickString(meta.appleTouchIcon)) {\n tags.appleTouchIcon = meta.appleTouchIcon;\n }\n return { title, tags };\n}\nexport function mergeRouteMetadata(base = {}, next = {}) {\n const merged = { ...base, ...next };\n if (typeof next.title === 'string' && isTitleConfig(base.title)) {\n if (!pickString(merged.titleTemplate) && pickString(base.title.template)) {\n merged.titleTemplate = base.title.template;\n }\n if (!pickString(merged.titleDefault) && pickString(base.title.default)) {\n merged.titleDefault = base.title.default;\n }\n }\n return merged;\n}\nexport { INTERNAL_META_KEYS };\n","import { RYUNIX_TYPES, getState, is, flattenArray } from '../../utils/index.js';\nimport { createElement, Fragment } from '../reconciler/createElement.js';\nimport { scheduleWork } from '../reconciler/bridge.js';\nimport { Priority, scheduleUpdate, runWithPriority, getCurrentPriority, } from '../reconciler/priority.js';\nimport { queueUpdate } from '../reconciler/batching.js';\nimport { validateHookContext as validateHookCall } from '../devtools/runtime.js';\nimport { mergeRouteMetadata } from './metadata.js';\nconst haveDepsChanged = (oldDeps, newDeps) => {\n if (!oldDeps || !newDeps)\n return true;\n if (oldDeps.length !== newDeps.length)\n return true;\n return oldDeps.some((dep, i) => !Object.is(dep, newDeps[i]));\n};\nconst useStore = (initialState, priority = getCurrentPriority()) => {\n if (typeof window === 'undefined') {\n return [\n is.function(initialState)\n ? initialState()\n : initialState,\n () => { },\n ];\n }\n const state = getState();\n if (state.isServerRendering) {\n return [\n is.function(initialState)\n ? initialState()\n : initialState,\n () => { },\n ];\n }\n const reducer = (state, action) => is.function(action) ? action(state) : action;\n return useReducer(reducer, initialState, undefined, priority);\n};\nconst useReducer = (reducer, initialState, init, defaultPriority = getCurrentPriority()) => {\n if (typeof window === 'undefined') {\n return [init ? init(initialState) : initialState, () => { }];\n }\n const state = getState();\n if (state.isServerRendering) {\n return [init ? init(initialState) : initialState, () => { }];\n }\n validateHookCall();\n const { hookIndex } = state;\n const wipFiber = state.wipFiber;\n if (!wipFiber.hooks)\n wipFiber.hooks = [];\n const oldHook = wipFiber.alternate?.hooks?.[hookIndex];\n const hook = {\n hookID: hookIndex,\n type: RYUNIX_TYPES.RYUNIX_STORE,\n state: oldHook ? oldHook.state : init ? init(initialState) : initialState,\n queue: [],\n };\n if (oldHook?.queue) {\n oldHook.queue.forEach((action) => {\n try {\n hook.state = reducer(hook.state, action);\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error in reducer:', error);\n }\n }\n });\n }\n const dispatch = (action, priority = defaultPriority) => {\n if (action === undefined) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('dispatch called with undefined action');\n }\n return;\n }\n hook.queue.push(action);\n const currentState = getState();\n const activeRoot = currentState.currentRoot ||\n currentState.wipRoot;\n if (!activeRoot)\n return;\n const newRoot = {\n dom: activeRoot.dom,\n props: activeRoot.props,\n alternate: currentState.currentRoot || null,\n };\n queueUpdate(() => scheduleWork(newRoot, priority));\n };\n wipFiber.hooks[hookIndex] = hook;\n state.hookIndex++;\n return [hook.state, dispatch];\n};\nconst useEffect = (callback, deps) => {\n if (typeof window === 'undefined') {\n return;\n }\n const state = getState();\n if (state.isServerRendering) {\n return;\n }\n validateHookCall();\n if (!is.function(callback)) {\n throw new Error('useEffect callback must be a function');\n }\n if (deps !== undefined && !Array.isArray(deps)) {\n throw new Error('useEffect dependencies must be an array or undefined');\n }\n const { hookIndex } = state;\n const wipFiber = state.wipFiber;\n if (!wipFiber.hooks)\n wipFiber.hooks = [];\n const oldHook = wipFiber.alternate?.hooks?.[hookIndex];\n const hasChanged = haveDepsChanged(oldHook?.deps, deps);\n const hook = {\n hookID: hookIndex,\n type: RYUNIX_TYPES.RYUNIX_EFFECT,\n deps,\n effect: hasChanged ? callback : null,\n cancel: oldHook?.cancel,\n };\n wipFiber.hooks[hookIndex] = hook;\n state.hookIndex++;\n};\nconst useRef = (initialValue) => {\n if (typeof window === 'undefined') {\n return { current: initialValue };\n }\n const state = getState();\n if (state.isServerRendering) {\n return { current: initialValue };\n }\n validateHookCall();\n const { hookIndex } = state;\n const wipFiber = state.wipFiber;\n if (!wipFiber.hooks)\n wipFiber.hooks = [];\n const oldHook = wipFiber.alternate?.hooks?.[hookIndex];\n const hook = {\n hookID: hookIndex,\n type: RYUNIX_TYPES.RYUNIX_REF,\n value: oldHook\n ? oldHook.value\n : { current: initialValue },\n };\n wipFiber.hooks[hookIndex] = hook;\n state.hookIndex++;\n return hook.value;\n};\nconst useMemo = (compute, deps) => {\n if (typeof window === 'undefined') {\n return compute();\n }\n const state = getState();\n if (state.isServerRendering) {\n return compute();\n }\n validateHookCall();\n if (!is.function(compute)) {\n throw new Error('useMemo callback must be a function');\n }\n if (!Array.isArray(deps)) {\n throw new Error('useMemo requires a dependencies array');\n }\n const { hookIndex } = state;\n const wipFiber = state.wipFiber;\n if (!wipFiber.hooks)\n wipFiber.hooks = [];\n const oldHook = wipFiber.alternate?.hooks?.[hookIndex];\n let value;\n if (oldHook && !haveDepsChanged(oldHook.deps, deps)) {\n value = oldHook.value;\n }\n else {\n try {\n value = compute();\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Error in useMemo computation:', error);\n }\n throw error;\n }\n }\n const hook = {\n hookID: hookIndex,\n type: RYUNIX_TYPES.RYUNIX_MEMO,\n value,\n deps,\n };\n wipFiber.hooks[hookIndex] = hook;\n state.hookIndex++;\n return value;\n};\nconst useCallback = (callback, deps) => {\n if (!is.function(callback)) {\n throw new Error('useCallback requires a function as first argument');\n }\n return useMemo(() => callback, deps);\n};\nconst createContext = (contextId = RYUNIX_TYPES.RYUNIX_CONTEXT, defaultValue = {}) => {\n const Provider = ({ value, children, }) => {\n return createElement(RYUNIX_TYPES.RYUNIX_CONTEXT, { value, children, _contextId: contextId }, ...flattenArray([children]));\n };\n Provider._contextId = contextId;\n const useContext = (ctxID = contextId) => {\n const state = getState();\n if (state.isServerRendering) {\n const ssrContexts = state.ssrContexts;\n return ssrContexts && ssrContexts[ctxID] !== undefined\n ? ssrContexts[ctxID]\n : defaultValue;\n }\n validateHookCall();\n let fiber = state.wipFiber;\n while (fiber) {\n if (fiber._contextId === ctxID && fiber._contextValue !== undefined) {\n return fiber._contextValue;\n }\n const fiberType = fiber.type;\n if (fiberType?._contextId === ctxID && fiber.props?.value !== undefined) {\n return fiber.props.value;\n }\n fiber = fiber.parent;\n }\n return defaultValue;\n };\n return {\n Provider: Provider,\n useContext,\n };\n};\nconst useQuery = () => {\n if (typeof window === 'undefined')\n return {};\n const searchParams = new URLSearchParams(window.location.search);\n const query = {};\n for (const [key, value] of searchParams.entries()) {\n query[key] = value;\n }\n return query;\n};\nconst useHash = () => {\n if (typeof window === 'undefined')\n return '';\n const [hash, setHash] = useStore(window.location.hash);\n useEffect(() => {\n const onHashChange = () => setHash(window.location.hash);\n window.addEventListener('hashchange', onHashChange);\n return () => window.removeEventListener('hashchange', onHashChange);\n }, []);\n return hash;\n};\nconst useMetadata = (tags = {}, options = {}) => {\n const state = getState();\n if (state.isServerRendering) {\n state.ssrMetadata = mergeRouteMetadata((state.ssrMetadata || {}), tags);\n return;\n }\n useEffect(() => {\n if (typeof document === 'undefined')\n return;\n let finalTitle = 'Ryunix App';\n const template = options.title?.template;\n const defaultTitle = options.title?.prefix || 'Ryunix App';\n const pageTitle = tags.pageTitle || tags.title;\n if (is.string(pageTitle) && pageTitle.trim()) {\n finalTitle = template?.includes('%s')\n ? template.replace('%s', pageTitle)\n : pageTitle;\n }\n else {\n finalTitle = defaultTitle;\n }\n document.title = finalTitle;\n if (tags.canonical) {\n let link = document.querySelector('link[rel=\"canonical\"]');\n if (!link) {\n link = document.createElement('link');\n link.setAttribute('rel', 'canonical');\n document.head.appendChild(link);\n }\n link.setAttribute('href', tags.canonical);\n }\n Object.entries(tags).forEach(([key, value]) => {\n if (['title', 'pageTitle', 'canonical'].includes(key))\n return;\n if (value == null)\n return;\n const isProperty = key.startsWith('og:') || key.startsWith('twitter:');\n const selector = `meta[${isProperty ? 'property' : 'name'}='${key}']`;\n let meta = document.head.querySelector(selector);\n if (!meta) {\n meta = document.createElement('meta');\n meta.setAttribute(isProperty ? 'property' : 'name', key);\n document.head.appendChild(meta);\n }\n meta.setAttribute('content', value);\n });\n }, [JSON.stringify(tags), JSON.stringify(options)]);\n};\nconst RouterContext = createContext('ryunix.navigation', {\n location: '/',\n params: {},\n query: {},\n navigate: (_path) => { },\n route: null,\n});\nconst findRoute = (routes, path) => {\n const pathname = path.split('?')[0].split('#')[0];\n const notFoundRoute = routes.find((route) => route.NotFound);\n const notFound = notFoundRoute\n ? { route: { component: notFoundRoute.NotFound ?? null }, params: {} }\n : { route: { component: null }, params: {} };\n for (const route of routes) {\n if (route.subRoutes) {\n const childRoute = findRoute(route.subRoutes, path);\n if (childRoute)\n return childRoute;\n }\n if (route.path === '*')\n return notFound;\n if (!route.path || typeof route.path !== 'string')\n continue;\n const keys = [];\n const pattern = new RegExp(`^${route.path.replace(/:(\\.\\.\\.)?(\\w+)/g, (match, isCatchAll, key) => {\n keys.push({ key, isCatchAll: !!isCatchAll });\n return isCatchAll ? '(.+)' : '([^/]+)';\n })}$`);\n const matchPath = pathname.match(pattern);\n if (matchPath) {\n const params = keys.reduce((acc, keyObj, index) => {\n const val = matchPath[index + 1];\n acc[keyObj.key] = keyObj.isCatchAll && val ? val.split('/') : val;\n return acc;\n }, {});\n return { route, params };\n }\n }\n return notFound;\n};\nconst getSsrPathname = () => {\n const pathname = globalThis?.window?.location?.pathname;\n if (typeof pathname === 'string' && pathname) {\n return pathname.split('?')[0].split('#')[0];\n }\n return '/';\n};\nconst RouterProvider = ({ routes, children, }) => {\n if (typeof window === 'undefined') {\n const location = getSsrPathname();\n const currentRouteData = findRoute(routes, location);\n const contextValue = {\n location,\n params: currentRouteData.params || {},\n query: {},\n navigate: () => { },\n route: currentRouteData.route,\n };\n return createElement(RouterContext.Provider, { value: contextValue }, Fragment({ children }));\n }\n const [location, setLocation] = useStore(window.location.pathname);\n useEffect(() => {\n const update = () => setLocation(window.location.pathname);\n window.addEventListener('popstate', update);\n window.addEventListener('hashchange', update);\n return () => {\n window.removeEventListener('popstate', update);\n window.removeEventListener('hashchange', update);\n };\n }, []);\n const navigate = (path) => {\n if (typeof window !== 'undefined' && window.__RYUNIX_MPA__) {\n window.location.assign(path);\n return;\n }\n window.history.pushState({}, '', path);\n setLocation(path);\n };\n const currentRouteData = findRoute(routes, location);\n const query = useQuery();\n const contextValue = {\n location: location,\n params: currentRouteData.params || {},\n query,\n navigate,\n route: currentRouteData.route,\n };\n return createElement(RouterContext.Provider, { value: contextValue }, Fragment({ children }));\n};\nconst useRouter = () => {\n return RouterContext.useContext('ryunix.navigation');\n};\nconst Children = () => {\n const { route, params, query, location } = useRouter();\n if (!route || !route.component)\n return null;\n const hash = useHash();\n useEffect(() => {\n if (hash) {\n const id = hash.slice(1);\n const el = document.getElementById(id);\n if (el)\n el.scrollIntoView({ block: 'start', behavior: 'smooth' });\n return;\n }\n if (typeof window !== 'undefined') {\n window.scrollTo(0, 0);\n }\n }, [location, hash]);\n return createElement(route.component, {\n params,\n query,\n hash,\n location,\n });\n};\nconst usePathname = () => {\n const { location } = useRouter();\n return location.split('?')[0].split('#')[0];\n};\nconst useSearchParams = () => {\n const { query } = useRouter();\n return new URLSearchParams(query);\n};\nconst Link = ({ to, prefetch = true, ...props }) => {\n const { navigate } = useRouter();\n const handleClick = (e) => {\n if (e.button !== 0 || e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) {\n return;\n }\n e.preventDefault();\n navigate(to);\n };\n const handleMouseEnter = () => {\n if (prefetch && typeof window !== 'undefined') {\n }\n };\n const { className: _omitClassName, ...cleanedProps } = props;\n return createElement('a', {\n href: to,\n onClick: handleClick,\n onMouseEnter: handleMouseEnter,\n className: (props.className || props['ryunix-class']),\n ...cleanedProps,\n }, props.children);\n};\nconst NavLink = ({ to, exact = false, ...props }) => {\n const { location, navigate } = useRouter();\n const isActive = exact ? location === to : location.startsWith(to);\n const resolveClass = (cls) => (typeof cls === 'function' ? cls({ isActive }) : cls || '');\n const handleClick = (e) => {\n if (e.button !== 0 || e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) {\n return;\n }\n e.preventDefault();\n navigate(to);\n };\n const classAttrName = props['ryunix-class'] ? 'ryunix-class' : 'className';\n const classAttrValue = resolveClass((props['ryunix-class'] || props.className));\n const { ['ryunix-class']: _omitRyunix, className: _omitClassName, ...cleanedProps } = props;\n return createElement('a', {\n href: to,\n onClick: handleClick,\n [classAttrName]: classAttrValue,\n ...cleanedProps,\n }, props.children);\n};\nconst useStorePriority = (initialState) => {\n const reducer = (state, action) => typeof action === 'function'\n ? action.value(state)\n : action.value;\n const [state, baseDispatch] = useReducer(reducer, initialState, undefined);\n const dispatch = (action, priority = Priority.NORMAL) => {\n const wrappedAction = {\n value: action,\n priority,\n };\n scheduleUpdate(() => baseDispatch(wrappedAction, priority), priority);\n };\n return [state, dispatch];\n};\nconst useTransition = () => {\n const [isPending, setIsPending] = useStorePriority(false);\n const startTransition = (callback) => {\n setIsPending(true, Priority.IMMEDIATE);\n setTimeout(() => {\n runWithPriority(Priority.LOW, () => {\n callback();\n setIsPending(false, Priority.LOW);\n });\n }, 0);\n };\n return [isPending, startTransition];\n};\nconst useDeferredValue = (value) => {\n const [deferredValue, setDeferredValue] = useStorePriority(value);\n useEffect(() => {\n const timeout = setTimeout(() => {\n setDeferredValue(value, Priority.LOW);\n }, 100);\n return () => clearTimeout(timeout);\n }, [value]);\n return deferredValue;\n};\nconst usePersistentStore = (key, initialState = '') => {\n const [state, dispatch] = useStore(() => {\n try {\n const item = window.localStorage.getItem(key);\n return item ? JSON.parse(item) : initialState;\n }\n catch (_error) {\n return initialState;\n }\n });\n const setValue = (value) => {\n try {\n dispatch(value);\n window.localStorage.setItem(key, JSON.stringify(value));\n }\n catch (error) {\n console.error(error);\n }\n };\n return [state, setValue];\n};\nconst useSwitch = (initialState = false) => {\n const [state, dispatch] = useStore(initialState);\n const toggle = () => {\n dispatch((prev) => !prev);\n };\n return [state, toggle];\n};\nconst useLayoutEffect = (callback, deps) => {\n if (typeof window === 'undefined') {\n return;\n }\n const state = getState();\n if (state.isServerRendering) {\n return;\n }\n validateHookCall();\n if (!is.function(callback)) {\n throw new Error('useLayoutEffect callback must be a function');\n }\n if (deps !== undefined && !Array.isArray(deps)) {\n throw new Error('useLayoutEffect dependencies must be an array or undefined');\n }\n const { hookIndex } = state;\n const wipFiber = state.wipFiber;\n if (!wipFiber.hooks)\n wipFiber.hooks = [];\n const oldHook = wipFiber.alternate?.hooks?.[hookIndex];\n const hasChanged = haveDepsChanged(oldHook?.deps, deps);\n const hook = {\n hookID: hookIndex,\n type: RYUNIX_TYPES.RYUNIX_EFFECT,\n deps,\n effect: hasChanged ? callback : null,\n cancel: oldHook?.cancel,\n isLayout: true,\n };\n wipFiber.hooks[hookIndex] = hook;\n state.hookIndex++;\n};\nlet idCounter = 0;\nconst resetIdCounter = () => {\n idCounter = 0;\n};\nconst useId = () => {\n const state = getState();\n if (state.isServerRendering) {\n return `:r${idCounter++}:`;\n }\n validateHookCall();\n const { hookIndex } = state;\n const wipFiber = state.wipFiber;\n if (!wipFiber.hooks)\n wipFiber.hooks = [];\n const oldHook = wipFiber.alternate?.hooks?.[hookIndex];\n const hook = {\n hookID: hookIndex,\n type: RYUNIX_TYPES.RYUNIX_REF,\n value: oldHook ? oldHook.value : `:r${idCounter++}:`,\n };\n wipFiber.hooks[hookIndex] = hook;\n state.hookIndex++;\n return hook.value;\n};\nconst useDebounce = (value, delay = 300) => {\n const [debouncedValue, setDebouncedValue] = useStore(value);\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n return () => clearTimeout(timer);\n }, [value, delay]);\n return debouncedValue;\n};\nconst useThrottle = (value, interval = 300) => {\n const [throttledValue, setThrottledValue] = useStore(value);\n const lastUpdated = useRef(Date.now());\n useEffect(() => {\n const now = Date.now();\n const elapsed = now - lastUpdated.current;\n if (elapsed >= interval) {\n lastUpdated.current = now;\n setThrottledValue(value);\n }\n else {\n const timer = setTimeout(() => {\n lastUpdated.current = Date.now();\n setThrottledValue(value);\n }, interval - elapsed);\n return () => clearTimeout(timer);\n }\n }, [value, interval]);\n return throttledValue;\n};\nexport { useStore, useReducer, useEffect, useLayoutEffect, useRef, useMemo, useCallback, createContext, useQuery, useHash, useMetadata, useId, resetIdCounter, useDebounce, useThrottle, useStorePriority, useTransition, useDeferredValue, usePersistentStore, usePersistentStore as usePersitentStore, useSwitch, RouterProvider, useRouter, Children, NavLink, Link, usePathname, useSearchParams, };\n","import { RYUNIX_TYPES, STRINGS, OLD_STRINGS, is, getState, } from '../../utils/index.js';\nimport { camelToKebab, validateUri } from '../reconciler/dom.js';\nimport { toSvgAttrName } from '../../utils/svgAttributes.js';\nimport { resetIdCounter } from '../hooks/hooks.js';\nconst ASYNC_RENDER_ERROR = 'Async components require renderToStringAsync or renderToReadableStream, not renderToString';\nexport const escapeHtml = (unsafe) => {\n if (typeof unsafe !== 'string')\n return String(unsafe);\n return unsafe\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n};\nconst renderStyle = (styleObj) => {\n if (!is.object(styleObj) || is.null(styleObj))\n return '';\n return Object.entries(styleObj)\n .filter(([_, value]) => value != null)\n .map(([key, value]) => `${camelToKebab(key)}:${value}`)\n .join(';');\n};\nconst VOID_ELEMENTS = new Set([\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n]);\nconst normalizeChildren = (children) => {\n if (children == null)\n return [];\n return Array.isArray(children) ? children : [children];\n};\nconst assertSyncRenderResult = (rendered) => {\n if (rendered != null &&\n typeof rendered === 'object' &&\n 'then' in rendered &&\n typeof rendered.then === 'function') {\n throw new Error(ASYNC_RENDER_ERROR);\n }\n return rendered;\n};\nconst buildHostProps = (props, renderChild) => {\n let attributes = '';\n let htmlChildren = '';\n let innerHTML = null;\n Object.entries(props).forEach(([key, value]) => {\n if (key === 'children') {\n if (Array.isArray(value)) {\n htmlChildren = value\n .map((child) => renderChild(child))\n .join('');\n }\n else {\n htmlChildren = renderChild(value);\n }\n }\n else if (key === 'dangerouslySetInnerHTML') {\n const inner = value;\n if (inner?.__html) {\n innerHTML = inner.__html;\n }\n }\n else if (key === STRINGS.STYLE || key === OLD_STRINGS.STYLE) {\n const styleString = renderStyle(value);\n if (styleString) {\n attributes += ` style=\"${escapeHtml(styleString)}\"`;\n }\n }\n else if (key === STRINGS.CLASS_NAME || key === OLD_STRINGS.CLASS_NAME) {\n if (value) {\n attributes += ` class=\"${escapeHtml(value)}\"`;\n }\n }\n else if (!key.startsWith('on') &&\n key !== 'key' &&\n key !== 'ref' &&\n key !== '__source' &&\n key !== '__self') {\n if (typeof value === 'boolean') {\n if (value)\n attributes += ` ${key}=\"\"`;\n }\n else if (value != null) {\n const attrName = toSvgAttrName(key);\n const validatedValue = validateUri(attrName, value);\n attributes += ` ${attrName}=\"${escapeHtml(validatedValue)}\"`;\n }\n }\n });\n return { attributes, innerHTML, htmlChildren };\n};\nconst formatHostOpenTag = (hostTag, attributes) => {\n if (VOID_ELEMENTS.has(hostTag)) {\n return `<${hostTag}${attributes} />`;\n }\n return `<${hostTag}${attributes}>`;\n};\nconst beginSsrRender = () => {\n const state = getState();\n state.isServerRendering = true;\n state.ssrMetadata = {};\n state.ssrContexts = {};\n resetIdCounter();\n};\nconst renderToStringImpl = (element) => {\n if (element == null || typeof element === 'boolean') {\n return '';\n }\n if (typeof element === 'string' || typeof element === 'number') {\n return escapeHtml(element);\n }\n if (Array.isArray(element)) {\n return element.map((child) => renderToStringImpl(child)).join('');\n }\n const vnode = element;\n if (vnode.type === RYUNIX_TYPES.TEXT_ELEMENT) {\n return escapeHtml(vnode.props.nodeValue);\n }\n if (vnode.type === RYUNIX_TYPES.RYUNIX_FRAGMENT) {\n const children = normalizeChildren(vnode.props?.children);\n return children.map((child) => renderToStringImpl(child)).join('');\n }\n if (vnode.type === RYUNIX_TYPES.RYUNIX_CONTEXT) {\n const state = getState();\n state.ssrContexts = state.ssrContexts || {};\n const ctxProps = (vnode.props || {});\n const ctxId = ctxProps._contextId;\n const prevCtx = ctxId ? state.ssrContexts[ctxId] : undefined;\n if (ctxId) {\n state.ssrContexts[ctxId] = ctxProps.value;\n }\n const children = ctxProps.children || [];\n let result = '';\n if (Array.isArray(children)) {\n result = children.map((child) => renderToStringImpl(child)).join('');\n }\n else {\n result = renderToStringImpl(children);\n }\n if (ctxId) {\n state.ssrContexts[ctxId] = prevCtx;\n }\n return result;\n }\n if (typeof vnode.type === 'function') {\n const type = vnode.type;\n const props = vnode.props || {};\n const renderedElement = assertSyncRenderResult(type(props));\n return renderToStringImpl(renderedElement);\n }\n const type = String(vnode.type);\n const props = vnode.props || {};\n const { attributes, innerHTML, htmlChildren } = buildHostProps(props, renderToStringImpl);\n if (VOID_ELEMENTS.has(type)) {\n return formatHostOpenTag(type, attributes);\n }\n const finalContent = innerHTML !== null ? innerHTML : htmlChildren;\n return `${formatHostOpenTag(type, attributes)}${finalContent}</${type}>`;\n};\nconst RC_SCRIPT = `\nfunction $RC(id, templateId) {\n var b = document.getElementById(id);\n var t = document.getElementById(templateId);\n if (b && t) {\n b.innerHTML = t.innerHTML;\n t.remove();\n }\n}\n`\n .replace(/\\s+/g, ' ')\n .trim();\nconst renderToStreamImpl = async (element, push, suspenseTasks = []) => {\n if (element instanceof Promise) {\n element = await element;\n }\n if (element == null || typeof element === 'boolean') {\n return;\n }\n if (typeof element === 'string' || typeof element === 'number') {\n push(escapeHtml(element));\n return;\n }\n if (Array.isArray(element)) {\n for (const child of element) {\n await renderToStreamImpl(child, push, suspenseTasks);\n }\n return;\n }\n const vnode = element;\n if (vnode.type === RYUNIX_TYPES.TEXT_ELEMENT) {\n push(escapeHtml(vnode.props.nodeValue));\n return;\n }\n if (vnode.type === RYUNIX_TYPES.RYUNIX_FRAGMENT) {\n const children = normalizeChildren(vnode.props?.children);\n for (const child of children) {\n await renderToStreamImpl(child, push, suspenseTasks);\n }\n return;\n }\n if (vnode.type === RYUNIX_TYPES.RYUNIX_CONTEXT) {\n const state = getState();\n state.ssrContexts = state.ssrContexts || {};\n const ctxProps = (vnode.props || {});\n const ctxId = ctxProps._contextId;\n const prevCtx = ctxId ? state.ssrContexts[ctxId] : undefined;\n if (ctxId) {\n state.ssrContexts[ctxId] = ctxProps.value;\n }\n const children = ctxProps.children || [];\n if (Array.isArray(children)) {\n for (const child of children) {\n await renderToStreamImpl(child, push, suspenseTasks);\n }\n }\n else {\n await renderToStreamImpl(children, push, suspenseTasks);\n }\n if (ctxId) {\n state.ssrContexts[ctxId] = prevCtx;\n }\n return;\n }\n const suspenseType = vnode.type;\n const isSuspenseBoundary = vnode.type === RYUNIX_TYPES.RYUNIX_SUSPENSE ||\n (typeof suspenseType === 'object' &&\n suspenseType != null &&\n suspenseType.type === RYUNIX_TYPES.RYUNIX_SUSPENSE);\n if (isSuspenseBoundary) {\n const suspenseProps = (vnode.props || {});\n const { fallback, children } = suspenseProps;\n const id = `s-${Math.random().toString(36).slice(2, 9)}`;\n push(`<!--$?--><template id=\"B:${id}\"></template><div id=\"S:${id}\">`);\n const task = (async () => {\n const state = getState();\n const wasBackground = state.isSuspenseBackground;\n state.isSuspenseBackground = true;\n let content = '';\n const subPush = (chunk) => {\n content += chunk;\n };\n try {\n await renderToStreamImpl(children, subPush, suspenseTasks);\n return { id, content, success: true };\n }\n catch (e) {\n return { id, content: '', success: false, error: e };\n }\n finally {\n state.isSuspenseBackground = wasBackground;\n }\n });\n suspenseTasks.push(task);\n await renderToStreamImpl(fallback, push, suspenseTasks);\n push(`</div><!--$/-->`);\n return;\n }\n const type = vnode.type;\n const props = vnode.props || {};\n if (typeof type === 'function') {\n if (process.env.RYUNIX_DEBUG) {\n console.log('[SSR Debug] Rendering function:', type.name || 'anonymous');\n }\n const renderedElement = await type(props);\n await renderToStreamImpl(renderedElement, push, suspenseTasks);\n return;\n }\n const hostTag = String(type);\n const children = props.children || [];\n const { attributes, innerHTML } = buildHostProps(props, () => '');\n push(formatHostOpenTag(hostTag, attributes));\n if (innerHTML !== null) {\n push(innerHTML);\n }\n else if (!VOID_ELEMENTS.has(hostTag)) {\n if (Array.isArray(children)) {\n for (const child of children) {\n await renderToStreamImpl(child, push, suspenseTasks);\n }\n }\n else {\n await renderToStreamImpl(children, push, suspenseTasks);\n }\n push(`</${hostTag}>`);\n }\n};\nconst handleSuspenseTaskResult = (res, push, nonceAttr) => {\n if (res.success) {\n push(`<template id=\"P:${res.id}\" data-ryunix-ssr>${res.content}</template>`);\n push(`<script${nonceAttr} data-ryunix-ssr>$RC(\"S:${res.id}\", \"P:${res.id}\")</script>`);\n return;\n }\n const message = res.error instanceof Error\n ? res.error.message\n : String(res.error ?? 'Unknown error');\n if (process.env.NODE_ENV !== 'production') {\n console.error('[Ryunix SSR] Suspense boundary failed:', res.error);\n }\n push(`<!-- Ryunix Suspense error: ${escapeHtml(message)} -->`);\n};\nexport const renderToReadableStream = (element, options = {}) => {\n const state = getState();\n const encoder = new TextEncoder();\n return new ReadableStream({\n async start(controller) {\n const wasServerRendering = state.isServerRendering;\n beginSsrRender();\n const push = (text) => controller.enqueue(encoder.encode(text));\n const suspenseTasks = [];\n try {\n const nonceAttr = options.nonce ? ` nonce=\"${options.nonce}\"` : '';\n push(`<script${nonceAttr} data-ryunix-ssr>${RC_SCRIPT}</script>`);\n await renderToStreamImpl(element, push, suspenseTasks);\n while (suspenseTasks.length > 0) {\n const task = suspenseTasks.shift();\n if (!task)\n continue;\n const res = await task();\n handleSuspenseTaskResult(res, push, nonceAttr);\n }\n controller.close();\n }\n catch (e) {\n controller.error(e);\n }\n finally {\n state.isServerRendering = wasServerRendering;\n }\n },\n });\n};\nexport const renderToString = (element, _options = {}) => {\n const state = getState();\n const wasServerRendering = state.isServerRendering;\n beginSsrRender();\n try {\n return renderToStringImpl(element);\n }\n finally {\n state.isServerRendering = wasServerRendering;\n }\n};\nexport const renderToStringAsync = async (element, options = {}) => {\n const stream = renderToReadableStream(element, options);\n const reader = stream.getReader();\n const decoder = new TextDecoder();\n let result = '';\n while (true) {\n const { done, value } = await reader.read();\n if (done)\n break;\n result += decoder.decode(value, { stream: true });\n }\n result += decoder.decode();\n return result;\n};\n","export function memo(Component, arePropsEqual = shallowEqual) {\n const MemoizedComponent = ((props) => {\n return Component(props);\n });\n MemoizedComponent._isMemo = true;\n MemoizedComponent._wrappedComponent = Component;\n MemoizedComponent._arePropsEqual = arePropsEqual;\n MemoizedComponent.displayName = `Memo(${Component.displayName || Component.name || 'Component'})`;\n return MemoizedComponent;\n}\nexport function shallowEqual(prevProps, nextProps) {\n const prevKeys = Object.keys(prevProps);\n const nextKeys = Object.keys(nextProps);\n if (prevKeys.length !== nextKeys.length)\n return false;\n return prevKeys.every((key) => Object.is(prevProps[key], nextProps[key]));\n}\nexport function deepEqual(a, b) {\n if (a === b)\n return true;\n if (a == null || b == null)\n return false;\n if (typeof a !== 'object' || typeof b !== 'object')\n return false;\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length)\n return false;\n return keysA.every((key) => deepEqual(a[key], b[key]));\n}\n","export function forwardRef(render) {\n if (typeof render !== 'function') {\n throw new Error('forwardRef requires a render function');\n }\n const ForwardRefComponent = ((props) => {\n const { ref, ...restProps } = props || {};\n return render(restProps, ref ?? null);\n });\n const named = render;\n ForwardRefComponent.displayName = `ForwardRef(${named.displayName || named.name || 'Component'})`;\n ForwardRefComponent._isForwardRef = true;\n ForwardRefComponent._render = render;\n return ForwardRefComponent;\n}\n","import { RYUNIX_TYPES, getState } from '../../utils/index.js';\nimport { createElement, Fragment } from '../reconciler/createElement.js';\nimport { useStore, useEffect } from './hooks.js';\nexport const SUSPENSE_STATUS = {\n PENDING: 'pending',\n RESOLVED: 'resolved',\n REJECTED: 'rejected',\n};\nfunction isLazyElement(child) {\n return (child != null &&\n typeof child === 'object' &&\n 'type' in child &&\n typeof child.type === 'function' &&\n Boolean(child.type._isLazy));\n}\nexport function lazy(importFn) {\n let status = SUSPENSE_STATUS.PENDING;\n let Component = null;\n let error = null;\n let promise = null;\n const LazyComponent = ((props) => {\n if (status === SUSPENSE_STATUS.RESOLVED && Component) {\n return createElement(Component, props);\n }\n if (status === SUSPENSE_STATUS.REJECTED && error) {\n throw error;\n }\n if (!promise) {\n promise = importFn()\n .then((module) => {\n const resolved = module;\n Component =\n 'default' in resolved && resolved.default\n ? resolved.default\n : resolved;\n status = SUSPENSE_STATUS.RESOLVED;\n })\n .catch((err) => {\n error = err;\n status = SUSPENSE_STATUS.REJECTED;\n });\n }\n const [, forceUpdate] = useStore(0);\n useEffect(() => {\n if (status === SUSPENSE_STATUS.PENDING && promise) {\n let active = true;\n promise\n .then(() => {\n if (active) {\n forceUpdate((x) => x + 1);\n }\n })\n .catch(() => {\n if (active) {\n forceUpdate((x) => x + 1);\n }\n });\n return () => {\n active = false;\n };\n }\n }, []);\n return null;\n });\n LazyComponent._isLazy = true;\n LazyComponent._getStatus = () => status;\n return LazyComponent;\n}\nexport const Suspense = ({ fallback, children, }) => {\n const [isLoaded, setIsLoaded] = useStore(false);\n const childArray = Array.isArray(children) ? children : [children];\n let anyPending = false;\n for (const child of childArray) {\n if (isLazyElement(child)) {\n const lazyStatus = child.type._getStatus?.();\n if (lazyStatus === SUSPENSE_STATUS.PENDING) {\n anyPending = true;\n }\n }\n }\n useEffect(() => {\n if (!anyPending && !isLoaded) {\n setIsLoaded(true);\n }\n }, [anyPending]);\n if (anyPending && !getState().isSuspenseBackground) {\n return fallback || null;\n }\n return createElement(Fragment, {\n children: children,\n });\n};\nSuspense.type = RYUNIX_TYPES.RYUNIX_SUSPENSE;\nexport function preload(importFn) {\n return importFn();\n}\n","const perfNow = () => typeof performance !== 'undefined' ? performance.now() : Date.now();\nclass Profiler {\n enabled;\n measures;\n renderTimes;\n maxSamples;\n constructor() {\n this.enabled = process.env.NODE_ENV !== 'production';\n this.measures = new Map();\n this.renderTimes = [];\n this.maxSamples = 100;\n }\n startMeasure(name) {\n if (!this.enabled)\n return;\n this.measures.set(name, perfNow());\n }\n endMeasure(name) {\n if (!this.enabled)\n return;\n const start = this.measures.get(name);\n if (!start)\n return;\n const duration = perfNow() - start;\n this.measures.delete(name);\n return duration;\n }\n recordRender(componentName, duration) {\n if (!this.enabled)\n return;\n this.renderTimes.push({\n component: componentName,\n duration,\n timestamp: Date.now(),\n });\n if (this.renderTimes.length > this.maxSamples) {\n this.renderTimes.shift();\n }\n }\n getStats() {\n if (!this.enabled)\n return null;\n const total = this.renderTimes.reduce((sum, r) => sum + r.duration, 0);\n const avg = total / this.renderTimes.length;\n const max = Math.max(...this.renderTimes.map((r) => r.duration));\n const min = Math.min(...this.renderTimes.map((r) => r.duration));\n return { total, avg, max, min, count: this.renderTimes.length };\n }\n getSlowestComponents(limit = 10) {\n if (!this.enabled)\n return [];\n const byComponent = new Map();\n this.renderTimes.forEach(({ component, duration }) => {\n if (!byComponent.has(component)) {\n byComponent.set(component, { total: 0, count: 0, max: 0 });\n }\n const stats = byComponent.get(component);\n stats.total += duration;\n stats.count++;\n stats.max = Math.max(stats.max, duration);\n });\n return Array.from(byComponent.entries())\n .map(([name, stats]) => ({\n name,\n avg: stats.total / stats.count,\n max: stats.max,\n count: stats.count,\n }))\n .sort((a, b) => b.avg - a.avg)\n .slice(0, limit);\n }\n logStats() {\n if (!this.enabled)\n return;\n const stats = this.getStats();\n if (!stats)\n return;\n console.group('🔍 Ryunix Performance Stats');\n console.log(`Total renders: ${stats.count}`);\n console.log(`Avg render time: ${stats.avg.toFixed(2)}ms`);\n console.log(`Min: ${stats.min.toFixed(2)}ms | Max: ${stats.max.toFixed(2)}ms`);\n const slowest = this.getSlowestComponents(5);\n if (slowest.length > 0) {\n console.log('\\n⚠️ Slowest components:');\n slowest.forEach((comp, i) => {\n console.log(`${i + 1}. ${comp.name}: ${comp.avg.toFixed(2)}ms avg (${comp.count} renders)`);\n });\n }\n console.groupEnd();\n }\n clear() {\n this.renderTimes = [];\n this.measures.clear();\n }\n enable() {\n this.enabled = true;\n }\n disable() {\n this.enabled = false;\n }\n}\nconst profiler = new Profiler();\nexport function useProfiler(componentName) {\n const startTime = perfNow();\n return () => {\n const duration = perfNow() - startTime;\n profiler.recordRender(componentName, duration);\n };\n}\nexport function withProfiler(Component, name) {\n const Profiled = (props) => {\n profiler.startMeasure(name);\n const result = Component(props);\n const duration = profiler.endMeasure(name);\n if (duration)\n profiler.recordRender(name, duration);\n return result;\n };\n return Profiled;\n}\nexport { profiler };\n","import { createElement } from '../reconciler/createElement.js';\nexport function ServerBoundary({ children, id, }) {\n return createElement('div', { 'data-ryunix-server': id, style: { display: 'contents' } }, children);\n}\nServerBoundary.ryunix_type = 'RYUNIX_SERVER_BOUNDARY';\nexport function HydrationBoundary({ children, id, }) {\n return createElement('div', {\n 'data-ryunix-hydrate-boundary': id ?? '',\n suppressHydrationWarning: true,\n style: { display: 'contents' },\n }, children);\n}\nHydrationBoundary.ryunix_type = 'RYUNIX_HYDRATION_BOUNDARY';\n","import { createElement } from '../reconciler/createElement.js';\nimport { getState } from '../../utils/index.js';\nexport function ErrorBoundary({ children, fallback, }) {\n const state = getState();\n const wipFiber = state.wipFiber;\n if (wipFiber?.stateError) {\n const error = wipFiber.stateError;\n if (typeof fallback === 'function') {\n return fallback(error);\n }\n return fallback ?? null;\n }\n return createElement('ryunix-error-boundary-wrapper', { style: { display: 'contents' } }, children);\n}\n;\nErrorBoundary.ryunix_type =\n 'RYUNIX_ERROR_BOUNDARY';\n","export function createActionProxy(actionId) {\n return async function (...args) {\n const response = await fetch('/_ryunix/action', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Ryunix-Action': 'true',\n },\n body: JSON.stringify({ actionId, args }),\n });\n if (!response.ok) {\n const errorData = (await response.json().catch(() => ({})));\n throw new Error(errorData.error || 'Server Action failed');\n }\n return response.json();\n };\n}\n","import { createElement } from '../reconciler/createElement.js';\nimport { useStore, useEffect } from '../hooks/hooks.js';\nexport function RyunixDevOverlay(propsOrError) {\n const propsInput = propsOrError;\n const rawError = propsInput &&\n typeof propsInput === 'object' &&\n !(propsInput instanceof Error) &&\n propsInput.nativeEvent\n ? propsInput.error\n : propsInput;\n let error = null;\n if (rawError instanceof Error) {\n error = rawError;\n }\n else if (rawError && typeof rawError === 'object') {\n if ('message' in rawError) {\n error = rawError;\n }\n else if ('error' in rawError) {\n const nested = rawError.error;\n error =\n nested && typeof nested === 'object' ? nested : null;\n }\n else {\n error = rawError;\n }\n }\n const debugObjectStr = JSON.stringify(propsInput, Object.getOwnPropertyNames(propsInput || {}));\n const [snippetState, setSnippet] = useStore(null);\n const [startLineState, setStartLine] = useStore(1);\n const [errorFileState, setErrorFile] = useStore('');\n const [errorLineState, setErrorLine] = useStore(0);\n const snippet = snippetState;\n const startLine = startLineState;\n const errorFile = errorFileState;\n const errorLine = errorLineState;\n let stackLines = [];\n if (error && error.stack) {\n stackLines =\n typeof error.stack === 'string'\n ? error.stack.split('\\n').filter((line) => {\n const trimmed = line.trim();\n if (!trimmed)\n return false;\n if (trimmed.includes('node_modules'))\n return false;\n const isInternal = [\n 'fiber-update.js',\n 'workers.js',\n 'reconciler.js',\n 'commits.js',\n 'hooks/hooks.js',\n 'hooks.js',\n 'error-boundary.js',\n 'errorBoundary.js',\n 'boundaries.js',\n 'serverBoundary.js',\n 'app-router.js',\n 'app-router-server.js',\n 'render/render.js',\n 'render.js',\n 'createElement.js',\n 'index.js',\n ].some((file) => trimmed.includes(file));\n return !isInternal;\n })\n : Array.isArray(error.stack)\n ? error.stack\n : [];\n }\n const errorName = error && typeof error.name === 'string' ? error.name : 'Unknown Error Type';\n const errorMessage = error && typeof error.message === 'string'\n ? error.message\n : `Raw unhandled error. Debug: ${debugObjectStr}`;\n useEffect(() => {\n let targetPath = null;\n let targetLine = null;\n const ryunixSource = error?.__ryunix_source;\n if (ryunixSource?.fileName) {\n targetPath = ryunixSource.fileName;\n targetLine = ryunixSource.lineNumber ?? null;\n }\n if (!targetPath || !targetLine) {\n for (let i = 0; i < stackLines.length; i++) {\n const line = stackLines[i];\n if (!line.includes(':'))\n continue;\n let matchedPath = null;\n let matchedLine = null;\n const parenOpen = line.indexOf('(');\n const parenClose = line.lastIndexOf(')');\n if (parenOpen !== -1 && parenClose > parenOpen) {\n const inner = line.slice(parenOpen + 1, parenClose);\n const c2 = inner.lastIndexOf(':');\n const c1 = c2 > 0 ? inner.lastIndexOf(':', c2 - 1) : -1;\n if (c1 > 0) {\n const col = inner.slice(c2 + 1);\n const ln = inner.slice(c1 + 1, c2);\n if (/^\\d+$/.test(ln) && /^\\d+$/.test(col)) {\n matchedPath = inner.slice(0, c1);\n matchedLine = parseInt(ln, 10);\n }\n }\n }\n if (!matchedPath) {\n const trimmed = line.trim();\n if (trimmed.startsWith('at ')) {\n const rest = trimmed.slice(3).trim();\n const c2 = rest.lastIndexOf(':');\n const c1 = c2 > 0 ? rest.lastIndexOf(':', c2 - 1) : -1;\n if (c1 > 0) {\n const col = rest.slice(c2 + 1);\n const ln = rest.slice(c1 + 1, c2);\n if (/^\\d+$/.test(ln) && /^\\d+$/.test(col)) {\n matchedPath = rest.slice(0, c1);\n matchedLine = parseInt(ln, 10);\n }\n }\n }\n }\n if (!matchedPath) {\n const exts = ['.ryx', '.jsx', '.js', '.ts', '.tsx'];\n const c1 = line.lastIndexOf(':');\n if (c1 > 0) {\n const ln = line.slice(c1 + 1).trim();\n const filePart = line.slice(0, c1).trim();\n if (/^\\d+$/.test(ln) &&\n exts.some((ext) => filePart.endsWith(ext))) {\n matchedPath = filePart;\n matchedLine = parseInt(ln, 10);\n }\n }\n }\n if (matchedPath && matchedLine) {\n targetPath = matchedPath;\n targetLine = matchedLine;\n break;\n }\n }\n }\n if (targetPath && targetLine) {\n setErrorFile(targetPath);\n setErrorLine(targetLine);\n fetch(`/_ryunix/source?file=${encodeURIComponent(targetPath)}&line=${targetLine}`)\n .then((res) => res.json())\n .then((data) => {\n if (data.snippet) {\n setSnippet(data.snippet);\n setStartLine(data.startLine);\n }\n })\n .catch((err) => console.error('Failed to fetch source snippet', err));\n }\n }, [error]);\n const overlayStyle = {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 2147483647,\n backgroundColor: 'rgba(0, 0, 0, 0.85)',\n backdropFilter: 'blur(8px)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '20px',\n fontFamily: 'system-ui, -apple-system, sans-serif',\n };\n const modalStyle = {\n backgroundColor: '#0c0c0c',\n width: '100%',\n maxWidth: '1000px',\n maxHeight: '90vh',\n borderRadius: '12px',\n boxShadow: '0 25px 50px -12px rgba(0, 0, 0, 0.8)',\n display: 'flex',\n flexDirection: 'column',\n overflow: 'hidden',\n border: '1px solid #333',\n };\n const headerStyle = {\n backgroundColor: '#161616',\n padding: '16px 24px',\n borderBottom: '1px solid #333',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n };\n const badgeStyle = {\n backgroundColor: 'rgba(239, 68, 68, 0.2)',\n color: '#ef4444',\n padding: '4px 8px',\n borderRadius: '4px',\n fontSize: '13px',\n fontWeight: 'bold',\n textTransform: 'uppercase',\n letterSpacing: '0.05em',\n };\n const contentStyle = {\n padding: '32px',\n overflowY: 'auto',\n flex: 1,\n color: '#fff',\n };\n const titleStyle = {\n fontSize: '24px',\n fontWeight: 'bold',\n marginBottom: '24px',\n fontFamily: 'ui-monospace, monospace',\n wordBreak: 'break-word',\n lineHeight: 1.4,\n };\n const snippetContainerStyle = {\n backgroundColor: '#000',\n borderRadius: '8px',\n border: '1px solid #333',\n padding: '16px',\n fontFamily: 'ui-monospace, monospace',\n fontSize: '14px',\n overflowX: 'auto',\n color: '#d1d5db',\n marginBottom: '32px',\n whiteSpace: 'pre-wrap',\n maxHeight: '150px',\n height: 'auto',\n };\n const lineStyle = (isErrorLine) => ({\n display: 'flex',\n backgroundColor: isErrorLine ? 'rgba(239, 68, 68, 0.15)' : 'transparent',\n padding: '2px 8px',\n borderRadius: '4px',\n borderLeft: isErrorLine ? '3px solid #ef4444' : '3px solid transparent',\n });\n const snippetLines = snippet ? snippet.split('\\n') : [];\n let badgeText = 'UNHANDLED RUNTIME ERROR';\n if (errorName &&\n errorName !== 'Error' &&\n errorName !== 'Unknown Error Type') {\n badgeText = errorName.replace(/([a-z])([A-Z])/g, '$1 $2').toUpperCase();\n }\n return createElement('div', { style: overlayStyle }, createElement('div', { style: modalStyle }, createElement('div', { style: headerStyle }, createElement('div', { style: { display: 'flex', alignItems: 'center', gap: '12px' } }, createElement('span', { style: badgeStyle }, badgeText), createElement('span', { style: { color: '#9ca3af', fontSize: '14px' } }, 'Ryunix Development')), createElement('button', {\n onClick: () => window.location.reload(),\n style: {\n background: 'none',\n border: 'none',\n color: '#9ca3af',\n cursor: 'pointer',\n outline: 'none',\n },\n title: 'Reload page',\n }, createElement('svg', {\n width: '20',\n height: '20',\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n }, createElement('path', {\n d: 'M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8',\n }), createElement('path', { d: 'M3 3v5h5' })))), createElement('div', { style: contentStyle }, createElement('h1', { style: titleStyle }, createElement('span', { style: { color: '#f87171' } }, errorName), ': ', errorMessage), errorFile &&\n createElement('div', {\n style: {\n marginBottom: '16px',\n color: '#9ca3af',\n fontSize: '14px',\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n },\n }, createElement('svg', {\n width: '16',\n height: '16',\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n }, createElement('path', {\n d: 'M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z',\n }), createElement('polyline', { points: '13 2 13 9 20 9' })), errorFile, ':', errorLine), snippet &&\n createElement('div', { style: snippetContainerStyle }, createElement('div', { style: { display: 'flex', flexDirection: 'column' } }, ...snippetLines.map((lineText, index) => {\n const currentLineNumber = startLine + index;\n const isErrorLine = currentLineNumber === errorLine;\n return createElement('div', { key: index, style: lineStyle(isErrorLine) }, createElement('span', {\n style: {\n color: '#6b7280',\n width: '40px',\n userSelect: 'none',\n textAlign: 'right',\n marginRight: '16px',\n display: 'inline-block',\n },\n }, currentLineNumber), createElement('span', {\n style: {\n color: isErrorLine ? '#f87171' : '#e5e7eb',\n whiteSpace: 'pre',\n },\n }, lineText || ' '));\n }))), createElement('div', { style: { marginBottom: '16px' } }, createElement('p', {\n style: {\n color: '#9ca3af',\n fontSize: '14px',\n marginBottom: '8px',\n fontWeight: 600,\n textTransform: 'uppercase',\n letterSpacing: '0.05em',\n },\n }, 'Call Stack'), createElement('div', { style: snippetContainerStyle }, stackLines.length > 0\n ? createElement('ul', {\n style: {\n listStyle: 'none',\n padding: 0,\n margin: 0,\n display: 'flex',\n flexDirection: 'column',\n gap: '12px',\n },\n }, ...stackLines.map((line, i) => {\n if (i === 0 &&\n (line.startsWith('Error:') ||\n line.startsWith('TypeError:')))\n return null;\n const trimmed = line.trim();\n let fnName = '<anonymous>';\n let filePath = line;\n if (trimmed.startsWith('at ')) {\n const rest = trimmed.slice(3);\n const parenOpen = rest.indexOf('(');\n const parenClose = rest.lastIndexOf(')');\n if (parenOpen !== -1 && parenClose > parenOpen) {\n fnName =\n rest.slice(0, parenOpen).trim() || '<anonymous>';\n filePath = rest.slice(parenOpen + 1, parenClose);\n }\n else {\n if (rest.includes(':')) {\n fnName = '<anonymous>';\n }\n else {\n fnName = rest;\n }\n filePath = rest;\n }\n }\n else if (trimmed.includes('@')) {\n const atIdx = trimmed.indexOf('@');\n fnName = trimmed.slice(0, atIdx) || '<anonymous>';\n filePath = trimmed.slice(atIdx + 1);\n }\n else {\n const exts = ['.ryx', '.jsx', '.js', '.ts', '.tsx'];\n const parts = trimmed.split(/\\s+/);\n if (parts.length >= 2) {\n const lastPart = parts[parts.length - 1];\n const colonIdx = lastPart.indexOf(':');\n const fileCandidate = colonIdx > 0 ? lastPart.slice(0, colonIdx) : lastPart;\n if (exts.some((ext) => fileCandidate.endsWith(ext))) {\n fnName = parts.slice(0, -1).join(' ');\n filePath = lastPart;\n }\n else {\n fnName = parts[0];\n filePath = parts.slice(1).join(' ');\n }\n }\n }\n return createElement('li', { key: i }, createElement('span', { style: { color: '#60a5fa', fontWeight: 600 } }, fnName), createElement('div', {\n style: {\n color: '#6b7280',\n marginTop: '4px',\n paddingLeft: '16px',\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n },\n }, createElement('svg', {\n width: '12',\n height: '12',\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n }, createElement('path', {\n d: 'M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z',\n }), createElement('polyline', {\n points: '13 2 13 9 20 9',\n })), filePath));\n }))\n : createElement('div', { style: { color: '#6b7280', fontStyle: 'italic' } }, 'No stack trace available.'))))));\n}\n","export const DEFAULT_THEME_COOKIE_NAME = 'ryunix_theme';\nexport const THEME_PREFERENCES = ['light', 'system', 'dark'];\nexport function createThemeController(options = {}) {\n const cookieName = options.cookieName ?? DEFAULT_THEME_COOKIE_NAME;\n const defaultTheme = options.defaultTheme ?? 'dark';\n const darkClass = options.darkClass ?? 'dark';\n const maxAgeSeconds = options.maxAgeSeconds ?? 365 * 24 * 60 * 60;\n const isThemePreference = (theme) => THEME_PREFERENCES.includes(theme);\n const getThemeCookie = () => {\n if (typeof document === 'undefined')\n return null;\n const match = document.cookie.match(new RegExp(`(?:^|;\\\\s*)${cookieName}=(light|system|dark)(?:;|$)`));\n return match ? match[1] : null;\n };\n const setThemeCookie = (theme) => {\n if (typeof document === 'undefined' || !isThemePreference(theme))\n return;\n document.cookie = `${cookieName}=${theme}; path=/; max-age=${maxAgeSeconds}; SameSite=Lax`;\n };\n const resolveThemeFromCookie = () => getThemeCookie() || defaultTheme;\n const getSystemColorScheme = () => {\n if (typeof window === 'undefined')\n return 'dark';\n return window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light';\n };\n const resolveEffectiveTheme = (theme) => {\n const choice = isThemePreference(theme) ? theme : defaultTheme;\n if (choice === 'system')\n return getSystemColorScheme();\n return choice;\n };\n const applyTheme = (theme) => {\n if (typeof document === 'undefined')\n return;\n const preference = isThemePreference(theme) ? theme : defaultTheme;\n const effective = resolveEffectiveTheme(preference);\n const root = document.documentElement;\n root.classList.toggle(darkClass, effective === 'dark');\n root.dataset.theme = preference;\n root.dataset.themeEffective = effective;\n root.style.colorScheme = effective === 'dark' ? 'dark' : 'light';\n };\n const getInitScript = () => `(function(){try{var m=document.cookie.match(/(?:^|;\\\\s*)${cookieName}=(light|system|dark)(?:;|$)/);var t=m?m[1]:'${defaultTheme}';var dark=t==='dark'||(t==='system'&&window.matchMedia('(prefers-color-scheme: dark)').matches);var r=document.documentElement;r.classList.toggle('${darkClass}',dark);r.dataset.theme=t;r.dataset.themeEffective=dark?'dark':'light';r.style.colorScheme=dark?'dark':'light';}catch(e){document.documentElement.classList.add('${darkClass}');}})();`;\n const watchSystemTheme = (onChange) => {\n if (typeof window === 'undefined')\n return () => { };\n const media = window.matchMedia('(prefers-color-scheme: dark)');\n const handler = () => onChange(getSystemColorScheme());\n media.addEventListener('change', handler);\n return () => media.removeEventListener('change', handler);\n };\n return {\n cookieName,\n defaultTheme,\n themes: THEME_PREFERENCES,\n getThemeCookie,\n setThemeCookie,\n resolveThemeFromCookie,\n getSystemColorScheme,\n resolveEffectiveTheme,\n applyTheme,\n getInitScript,\n watchSystemTheme,\n };\n}\nexport const themeController = createThemeController();\nexport const { cookieName: THEME_COOKIE_NAME, defaultTheme, themes, getThemeCookie, setThemeCookie, resolveThemeFromCookie, getSystemColorScheme, resolveEffectiveTheme, applyTheme, watchSystemTheme, } = themeController;\nexport const themeInitScript = themeController.getInitScript();\n","import { createElement } from '../reconciler/createElement.js';\nimport { useEffect, useStore } from '../hooks/hooks.js';\nimport { themeController, } from './theme.js';\nconst SunIcon = ({ className = '' }) => createElement('svg', {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 1.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n className,\n 'aria-hidden': true,\n}, createElement('circle', { cx: 12, cy: 12, r: 4 }), createElement('path', {\n d: 'M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41',\n}));\nconst MonitorIcon = ({ className = '' }) => createElement('svg', {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 1.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n className,\n 'aria-hidden': true,\n}, createElement('rect', { x: 2, y: 3, width: 20, height: 14, rx: 2 }), createElement('path', { d: 'M8 21h8M12 17v4' }));\nconst MoonIcon = ({ className = '' }) => createElement('svg', {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 1.75,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n className,\n 'aria-hidden': true,\n}, createElement('path', {\n d: 'M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z',\n}));\nconst ICONS = {\n light: SunIcon,\n system: MonitorIcon,\n dark: MoonIcon,\n};\nexport function ThemeToggle({ labels, className = '', controller = themeController, }) {\n const [theme, setTheme] = useStore(controller.defaultTheme);\n useEffect(() => {\n const saved = controller.resolveThemeFromCookie();\n setTheme(saved);\n controller.applyTheme(saved);\n }, []);\n useEffect(() => {\n if (theme !== 'system')\n return undefined;\n return controller.watchSystemTheme(() => controller.applyTheme('system'));\n }, [theme]);\n const selectTheme = (next) => {\n if (next === theme)\n return;\n setTheme(next);\n controller.setThemeCookie(next);\n controller.applyTheme(next);\n };\n return createElement('div', {\n className: `ryx-theme-segment ${className}`.trim(),\n role: 'radiogroup',\n 'aria-label': labels.title,\n }, ...controller.themes.map((id) => {\n const active = theme === id;\n const Icon = ICONS[id];\n return createElement('button', {\n key: id,\n type: 'button',\n role: 'radio',\n 'aria-checked': active ? 'true' : 'false',\n title: labels[id],\n className: `ryx-theme-segment-btn${active ? ' ryx-theme-segment-btn--active' : ''}`,\n onClick: () => selectTheme(id),\n }, Icon({ className: 'ryx-theme-segment-icon' }), createElement('span', { className: 'ryx-theme-segment-sr-only' }, labels[id]));\n }));\n}\nexport function ThemeInitScript({ controller = themeController, } = {}) {\n return createElement('script', {\n dangerouslySetInnerHTML: { __html: controller.getInitScript() },\n });\n}\n","import { createElement } from '../reconciler/createElement.js';\nimport { flattenArray } from '../../utils/index.js';\nconst renderBrand = ({ image, title, href = '/', imageAlt, blockClass, linkClass, imageClass, titleClass, }) => {\n if (!image && !title)\n return null;\n const content = [\n image\n ? createElement('img', {\n src: image,\n alt: imageAlt ?? title ?? '',\n className: imageClass,\n })\n : null,\n title ? createElement('span', { className: titleClass }, title) : null,\n ].filter(Boolean);\n return createElement('div', { className: blockClass }, createElement('a', { href, className: linkClass }, ...content));\n};\nconst renderChildren = (children) => {\n if (children == null || children === false)\n return [];\n return flattenArray(Array.isArray(children) ? children : [children]).filter((child) => child != null && child !== false);\n};\nconst renderSlot = (className, children) => {\n const items = renderChildren(children);\n if (items.length === 0)\n return null;\n return createElement('div', { className }, ...items);\n};\nexport function Main({ maxWidth, className = '', innerClassName = '', children, }) {\n const innerStyle = maxWidth != null && maxWidth !== ''\n ? { maxWidth, marginInline: 'auto', width: '100%' }\n : undefined;\n return createElement('main', {\n className: `ryx-main ${className}`.trim(),\n }, createElement('div', {\n className: `ryx-main-inner ${innerClassName}`.trim(),\n style: innerStyle,\n }, ...renderChildren(children)));\n}\nexport function Header({ image, title, href = '/', imageAlt, sticky = true, className = '', children, }) {\n const headerClass = [\n 'ryx-header',\n sticky !== false ? 'ryx-header--sticky' : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n return createElement('header', {\n className: headerClass,\n }, createElement('div', { className: 'ryx-header-inner' }, createElement('div', { className: 'ryx-header-start' }, renderBrand({\n image,\n title,\n href,\n imageAlt,\n blockClass: 'ryx-header-brand',\n linkClass: 'ryx-header-brand-link',\n imageClass: 'ryx-header-brand-image',\n titleClass: 'ryx-header-brand-title',\n })), renderSlot('ryx-header-end', children)));\n}\nexport function Footer({ image, title, description, href = '/', imageAlt, className = '', children, bottomStart, bottomEnd, }) {\n const brand = renderBrand({\n image,\n title,\n href,\n imageAlt,\n blockClass: 'ryx-footer-brand',\n linkClass: 'ryx-footer-brand-link',\n imageClass: 'ryx-footer-brand-image',\n titleClass: 'ryx-footer-brand-title',\n });\n const brandColumn = brand || description\n ? createElement('div', { className: 'ryx-footer-brand-column' }, brand, description\n ? createElement('p', { className: 'ryx-footer-description' }, description)\n : null)\n : null;\n const columns = renderChildren(children).map((child, index) => createElement('div', { key: index, className: 'ryx-footer-column' }, child));\n const bottomStartSlot = renderSlot('ryx-footer-bottom-start', bottomStart);\n const bottomEndSlot = renderSlot('ryx-footer-bottom-end', bottomEnd);\n const bottomBar = bottomStartSlot || bottomEndSlot\n ? createElement('div', { className: 'ryx-footer-bottom' }, bottomStartSlot, bottomEndSlot)\n : null;\n return createElement('footer', {\n className: `ryx-footer ${className}`.trim(),\n }, createElement('div', {\n className: 'ryx-footer-accent',\n 'aria-hidden': 'true',\n }), createElement('div', {\n className: 'ryx-footer-glow',\n 'aria-hidden': 'true',\n }), createElement('div', { className: 'ryx-footer-inner' }, brandColumn || columns.length > 0\n ? createElement('div', { className: 'ryx-footer-grid' }, brandColumn, ...columns)\n : null, bottomBar));\n}\n","export function getRyunixI18nConfig() {\n try {\n const value = ryunix.config.i18n;\n if (value && Array.isArray(value.locales) && value.locales.length > 0) {\n return value;\n }\n }\n catch {\n }\n return null;\n}\n","export function defineMessages(messages) {\n return messages;\n}\nexport function resolveMessageKey(tree, key) {\n if (!tree)\n return undefined;\n const parts = key.split('.');\n let node = tree;\n for (const part of parts) {\n if (node == null || typeof node === 'string')\n return undefined;\n node = node[part];\n }\n return typeof node === 'string' ? node : undefined;\n}\nexport function formatMessage(template, params) {\n if (!params)\n return template;\n return Object.entries(params).reduce((value, [name, replacement]) => value.replace(new RegExp(`\\\\{${escapeRegExp(name)}\\\\}`, 'g'), String(replacement)), template);\n}\nfunction escapeRegExp(value) {\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n","export function normalizeI18nConfig(config) {\n const locales = [...new Set(config.locales.filter(Boolean))];\n if (locales.length === 0) {\n throw new Error('[Ryunix i18n] At least one locale is required.');\n }\n const defaultLocale = locales.includes(config.defaultLocale)\n ? config.defaultLocale\n : locales[0];\n return { ...config, locales, defaultLocale };\n}\nexport function pickLocale(record, locale, fallback) {\n return record?.[locale] ?? record?.[fallback];\n}\nexport function getLocaleFromPath(pathname, locales) {\n if (typeof pathname !== 'string' || locales.length === 0)\n return null;\n const pattern = new RegExp(`^/(${locales.map(escapeRegExp).join('|')})(/|$)`);\n const match = pathname.match(pattern);\n return match ? match[1] : null;\n}\nexport function localePath(locale, path = '', locales) {\n const normalized = path.startsWith('/') ? path : path ? `/${path}` : '';\n if (!locales.includes(locale))\n return normalized || '/';\n if (!normalized || normalized === '/')\n return `/${locale}`;\n return `/${locale}${normalized}`;\n}\nexport function swapLocalePath(pathname, targetLocale, options) {\n const { locales } = options;\n if (!locales.includes(targetLocale))\n return pathname;\n const current = getLocaleFromPath(pathname, locales);\n if (current) {\n const rest = pathname.slice(current.length + 1) || '';\n return localePath(targetLocale, rest, locales);\n }\n if (pathname.startsWith('/')) {\n return localePath(targetLocale, pathname, locales);\n }\n return localePath(targetLocale, '', locales);\n}\nfunction escapeRegExp(value) {\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n","import { createElement } from '../reconciler/createElement.js';\nimport { createContext, useRouter } from '../hooks/hooks.js';\nimport { getRyunixI18nConfig } from './config.js';\nimport { defineMessages, formatMessage, resolveMessageKey, } from './messages.js';\nimport { getLocaleFromPath, localePath, normalizeI18nConfig, pickLocale, swapLocalePath, } from './paths.js';\nexport const DEFAULT_LOCALE_COOKIE_NAME = 'ryunix_locale';\nfunction resolveCookieOptions(cookie, cookieName, maxAgeSeconds) {\n const enabled = cookie !== false;\n const cookieConfig = typeof cookie === 'object' ? cookie : {};\n return {\n enabled,\n cookieName: cookieName ?? cookieConfig.name ?? DEFAULT_LOCALE_COOKIE_NAME,\n maxAgeSeconds: maxAgeSeconds ?? cookieConfig.maxAgeSeconds ?? 365 * 24 * 60 * 60,\n };\n}\nfunction normalizeOptions(options) {\n const base = normalizeI18nConfig({\n locales: options.locales,\n defaultLocale: options.defaultLocale,\n });\n const cookie = resolveCookieOptions(options.cookie, options.cookieName, options.maxAgeSeconds);\n const localeLabels = { ...options.localeLabels };\n for (const locale of base.locales) {\n if (!localeLabels[locale])\n localeLabels[locale] = locale.toUpperCase();\n }\n return {\n locales: base.locales,\n defaultLocale: base.defaultLocale,\n localeLabels,\n cookieName: cookie.cookieName,\n maxAgeSeconds: cookie.maxAgeSeconds,\n cookieEnabled: cookie.enabled,\n messages: options.messages ?? {},\n };\n}\nfunction createTranslate(messages, locale, defaultLocale) {\n return (key, params) => {\n const value = resolveMessageKey(messages[locale], key) ??\n resolveMessageKey(messages[defaultLocale], key) ??\n key;\n return formatMessage(value, params);\n };\n}\nexport function createI18n(options) {\n const config = normalizeOptions(options);\n const { Provider: I18nContextProvider, useContext } = createContext('ryunix.i18n', {\n locale: config.defaultLocale,\n defaultLocale: config.defaultLocale,\n locales: config.locales,\n localeLabels: config.localeLabels,\n t: (key) => key,\n });\n const isLocale = (value) => typeof value === 'string' && config.locales.includes(value);\n const getLocaleCookie = () => {\n if (!config.cookieEnabled || typeof document === 'undefined')\n return null;\n const pattern = new RegExp(`(?:^|;\\\\s*)${config.cookieName}=(${config.locales.map(escapeRegExp).join('|')})(?:;|$)`);\n const match = document.cookie.match(pattern);\n return match ? match[1] : null;\n };\n const setLocaleCookie = (locale) => {\n if (!config.cookieEnabled ||\n typeof document === 'undefined' ||\n !isLocale(locale))\n return;\n document.cookie = `${config.cookieName}=${locale}; path=/; max-age=${config.maxAgeSeconds}; SameSite=Lax`;\n };\n const resolveLocaleFromCookie = () => getLocaleCookie() || config.defaultLocale;\n const getLocaleRedirectScript = () => {\n if (!config.cookieEnabled)\n return '';\n const localesPattern = config.locales.map(escapeRegExp).join('|');\n return `(function(){try{var m=document.cookie.match(/(?:^|;\\\\s*)${config.cookieName}=(${localesPattern})(?:;|$)/);var l=m?m[1]:'${config.defaultLocale}';var p=location.pathname;var r=new RegExp('^/(${localesPattern})(/|$)');if(!r.test(p)){location.replace('/'+l+(p==='/'?'':p));}}catch(e){}})();`;\n };\n const Provider = ({ locale, children, }) => {\n const resolved = isLocale(locale) ? locale : config.defaultLocale;\n const value = {\n locale: resolved,\n defaultLocale: config.defaultLocale,\n locales: config.locales,\n localeLabels: config.localeLabels,\n t: createTranslate(config.messages, resolved, config.defaultLocale),\n };\n return createElement(I18nContextProvider, { value, children });\n };\n const useI18n = () => useContext();\n const useLocale = () => useI18n().locale;\n const useTranslations = () => useI18n().t;\n const generateStaticParams = () => config.locales.map((locale) => ({ locale }));\n const LocaleSwitcher = ({ className = '' }) => {\n const { location, navigate } = useRouter();\n const { locale: current, localeLabels, locales } = useI18n();\n const onSelect = (locale) => {\n if (locale === current)\n return;\n setLocaleCookie(locale);\n const next = swapLocalePath(location, locale, {\n locales,\n defaultLocale: config.defaultLocale,\n });\n navigate(next.startsWith(`/${locale}`) ? next : `/${locale}`);\n };\n return createElement('div', {\n className: `ryunix-locale-switcher ${className}`.trim(),\n role: 'group',\n 'aria-label': 'Language',\n children: locales.map((locale) => createElement('button', {\n key: locale,\n type: 'button',\n onClick: () => onSelect(locale),\n className: locale === current\n ? 'ryunix-locale-switcher__btn is-active'\n : 'ryunix-locale-switcher__btn',\n 'aria-current': locale === current ? 'true' : undefined,\n }, localeLabels[locale] ?? locale)),\n });\n };\n return {\n config,\n Provider,\n useI18n,\n useLocale,\n useTranslations,\n LocaleSwitcher,\n generateStaticParams,\n getLocaleFromPath: (pathname) => getLocaleFromPath(pathname, config.locales),\n localePath: (locale, path = '') => localePath(locale, path, config.locales),\n swapLocalePath: (pathname, targetLocale) => swapLocalePath(pathname, targetLocale, {\n locales: config.locales,\n defaultLocale: config.defaultLocale,\n }),\n pickLocale: (record, locale) => pickLocale(record, locale, config.defaultLocale),\n getLocaleCookie,\n setLocaleCookie,\n resolveLocaleFromCookie,\n getLocaleRedirectScript,\n };\n}\nexport function createAppI18n(messages, fallback) {\n const fromConfig = getRyunixI18nConfig() ?? fallback;\n if (!fromConfig) {\n throw new Error('[Ryunix i18n] Missing ryunix.config.i18n. Add i18n: { locales, defaultLocale } to ryunix.config.js, pass a fallback to createAppI18n(), or call createI18n() directly.');\n }\n return createI18n({ ...fromConfig, messages });\n}\nexport function createI18nFromConfig(config, messages) {\n if (!config?.locales?.length) {\n throw new Error('[Ryunix i18n] Invalid i18n config: locales array is required.');\n }\n return createI18n({ ...config, messages });\n}\nfunction escapeRegExp(value) {\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\nexport { defineMessages, getRyunixI18nConfig };\nexport { getLocaleFromPath, localePath, pickLocale, swapLocalePath, normalizeI18nConfig, } from './paths.js';\n","import { createElement } from '../reconciler/createElement.js';\nimport { createContext } from '../hooks/hooks.js';\nconst { Provider: MDXProvider, useContext: useMDXComponents } = createContext('ryunix.mdx', {});\nconst getMDXComponents = (components) => {\n const contextComponents = useMDXComponents();\n return {\n ...contextComponents,\n ...components,\n };\n};\nconst RYUNIX_STYLE_ENABLED = globalThis.process && String(globalThis.process.env?.RYUNIX_STYLE) === 'true';\nconst ryxProps = (props) => {\n const { unstyled, ...rest } = props;\n if (unstyled || rest['data-ryx-unstyled']) {\n return { ...rest, 'data-ryx-unstyled': true };\n }\n return rest;\n};\nconst mergeClassName = (existing, base) => {\n if (!existing)\n return base;\n if (Array.isArray(existing))\n return [...existing, base].join(' ');\n return `${existing} ${base}`;\n};\nconst styledMdxHost = (tag, ryxClass, props) => {\n const next = ryxProps(props);\n if (!RYUNIX_STYLE_ENABLED || !ryxClass || next['data-ryx-unstyled']) {\n return createElement(tag, next);\n }\n return createElement(tag, {\n ...next,\n className: mergeClassName(next.className, ryxClass),\n });\n};\nconst defaultComponents = {\n h1: (props) => styledMdxHost('h1', 'ryx-h1', props),\n h2: (props) => styledMdxHost('h2', 'ryx-h2', props),\n h3: (props) => styledMdxHost('h3', 'ryx-h3', props),\n h4: (props) => styledMdxHost('h4', 'ryx-h4', props),\n h5: (props) => styledMdxHost('h5', 'ryx-h5', props),\n h6: (props) => styledMdxHost('h6', 'ryx-h6', props),\n p: (props) => styledMdxHost('p', 'ryx-p', props),\n a: (props) => styledMdxHost('a', 'ryx-a', props),\n strong: (props) => styledMdxHost('strong', 'ryx-strong', props),\n em: (props) => styledMdxHost('em', 'ryx-em', props),\n code: (props) => styledMdxHost('code', 'ryx-code', props),\n ul: (props) => styledMdxHost('ul', 'ryx-ul', props),\n ol: (props) => styledMdxHost('ol', 'ryx-ol', props),\n li: (props) => styledMdxHost('li', 'ryx-li', props),\n blockquote: (props) => styledMdxHost('blockquote', 'ryx-blockquote', props),\n pre: (props) => styledMdxHost('pre', 'ryx-pre', props),\n hr: (props) => styledMdxHost('hr', 'ryx-hr', props),\n table: (props) => styledMdxHost('table', 'ryx-table', props),\n thead: (props) => styledMdxHost('thead', 'ryx-thead', props),\n tbody: (props) => styledMdxHost('tbody', 'ryx-tbody', props),\n tr: (props) => styledMdxHost('tr', 'ryx-tr', props),\n th: (props) => styledMdxHost('th', 'ryx-th', props),\n td: (props) => styledMdxHost('td', 'ryx-td', props),\n img: (props) => styledMdxHost('img', 'ryx-img', props),\n};\nconst Image = ({ src, ...props }) => {\n return createElement('img', { ...props, src });\n};\nconst MDXContent = ({ children, components = {}, }) => {\n const mergedComponents = getMDXComponents(components);\n return createElement(MDXProvider, { value: mergedComponents }, createElement('div', null, children));\n};\nexport { MDXContent, MDXProvider, useMDXComponents, getMDXComponents, defaultComponents, ryxProps, Image, };\n","import * as Ryunix from './lib/index.js';\nexport * from './lib/index.js';\nexport { Image, MDXContent, MDXProvider, useMDXComponents, getMDXComponents, defaultComponents, ryxProps, } from './lib/ui/mdx.js';\nif (typeof window !== 'undefined')\n window.Ryunix = Ryunix;\nexport default Ryunix;\n"],"names":["nextValidSibling","pendingUpdates","scheduleWork","validateHookCall","escapeRegExp"],"mappings":"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"}
|