@hypen-space/web 0.4.2 → 0.4.3

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.
Files changed (108) hide show
  1. package/dist/canvas/accessibility.d.ts +47 -0
  2. package/dist/canvas/events.d.ts +87 -0
  3. package/dist/canvas/index.d.ts +11 -0
  4. package/dist/canvas/index.js +19 -13
  5. package/dist/canvas/index.js.map +6 -6
  6. package/dist/canvas/input.d.ts +56 -0
  7. package/dist/canvas/layout.d.ts +10 -0
  8. package/dist/canvas/layout.js +17 -12
  9. package/dist/canvas/layout.js.map +4 -4
  10. package/dist/canvas/paint.d.ts +14 -0
  11. package/dist/canvas/paint.js +3 -2
  12. package/dist/canvas/paint.js.map +4 -4
  13. package/dist/canvas/renderer.d.ts +99 -0
  14. package/dist/canvas/renderer.js +19 -13
  15. package/dist/canvas/renderer.js.map +6 -6
  16. package/dist/canvas/text.d.ts +22 -0
  17. package/dist/canvas/text.js +2 -2
  18. package/dist/canvas/text.js.map +2 -2
  19. package/dist/canvas/types.d.ts +96 -0
  20. package/dist/canvas/utils.d.ts +44 -0
  21. package/dist/client.d.ts +19 -0
  22. package/dist/client.js +46 -21
  23. package/dist/client.js.map +12 -11
  24. package/dist/dom/applicators/advanced-layout.d.ts +5 -0
  25. package/dist/dom/applicators/advanced-layout.js +1 -114
  26. package/dist/dom/applicators/advanced-layout.js.map +4 -5
  27. package/dist/dom/applicators/background.d.ts +5 -0
  28. package/dist/dom/applicators/border.d.ts +5 -0
  29. package/dist/dom/applicators/color.d.ts +5 -0
  30. package/dist/dom/applicators/display.d.ts +5 -0
  31. package/dist/dom/applicators/effects.d.ts +5 -0
  32. package/dist/dom/applicators/events.d.ts +8 -0
  33. package/dist/dom/applicators/events.js +3 -2
  34. package/dist/dom/applicators/events.js.map +3 -3
  35. package/dist/dom/applicators/font.d.ts +29 -0
  36. package/dist/dom/applicators/index.d.ts +76 -0
  37. package/dist/dom/applicators/index.js +3 -8
  38. package/dist/dom/applicators/index.js.map +4 -4
  39. package/dist/dom/applicators/layout.d.ts +10 -0
  40. package/dist/dom/applicators/margin.d.ts +11 -0
  41. package/dist/dom/applicators/padding.d.ts +11 -0
  42. package/dist/dom/applicators/size.d.ts +14 -0
  43. package/dist/dom/applicators/transform.d.ts +5 -0
  44. package/dist/dom/applicators/transition.d.ts +5 -0
  45. package/dist/dom/applicators/types.d.ts +6 -0
  46. package/dist/dom/applicators/typography.d.ts +5 -0
  47. package/dist/dom/canvas/index.d.ts +12 -0
  48. package/dist/dom/components/app.d.ts +8 -0
  49. package/dist/dom/components/app.js +55 -0
  50. package/dist/dom/components/app.js.map +10 -0
  51. package/dist/dom/components/audio.d.ts +5 -0
  52. package/dist/dom/components/avatar.d.ts +5 -0
  53. package/dist/dom/components/badge.d.ts +5 -0
  54. package/dist/dom/components/button.d.ts +9 -0
  55. package/dist/dom/components/card.d.ts +5 -0
  56. package/dist/dom/components/center.d.ts +9 -0
  57. package/dist/dom/components/checkbox.d.ts +5 -0
  58. package/dist/dom/components/column.d.ts +8 -0
  59. package/dist/dom/components/container.d.ts +5 -0
  60. package/dist/dom/components/divider.d.ts +5 -0
  61. package/dist/dom/components/grid.d.ts +7 -0
  62. package/dist/dom/components/heading.d.ts +5 -0
  63. package/dist/dom/components/hypenapp.d.ts +19 -0
  64. package/dist/dom/components/hypenapp.js +2 -4
  65. package/dist/dom/components/hypenapp.js.map +3 -3
  66. package/dist/dom/components/image.d.ts +5 -0
  67. package/dist/dom/components/index.d.ts +29 -0
  68. package/dist/dom/components/index.js +29 -5
  69. package/dist/dom/components/index.js.map +7 -6
  70. package/dist/dom/components/input.d.ts +5 -0
  71. package/dist/dom/components/link.d.ts +5 -0
  72. package/dist/dom/components/list.d.ts +5 -0
  73. package/dist/dom/components/paragraph.d.ts +5 -0
  74. package/dist/dom/components/progressbar.d.ts +5 -0
  75. package/dist/dom/components/route.d.ts +6 -0
  76. package/dist/dom/components/route.js +2 -2
  77. package/dist/dom/components/route.js.map +2 -2
  78. package/dist/dom/components/router.d.ts +5 -0
  79. package/dist/dom/components/row.d.ts +7 -0
  80. package/dist/dom/components/select.d.ts +5 -0
  81. package/dist/dom/components/slider.d.ts +5 -0
  82. package/dist/dom/components/spacer.d.ts +5 -0
  83. package/dist/dom/components/spinner.d.ts +5 -0
  84. package/dist/dom/components/stack.d.ts +5 -0
  85. package/dist/dom/components/switch.d.ts +5 -0
  86. package/dist/dom/components/text.d.ts +5 -0
  87. package/dist/dom/components/textarea.d.ts +5 -0
  88. package/dist/dom/components/video.d.ts +5 -0
  89. package/dist/dom/debug.d.ts +63 -0
  90. package/dist/dom/debug.js +2 -2
  91. package/dist/dom/debug.js.map +2 -2
  92. package/dist/dom/element-data.d.ts +94 -0
  93. package/dist/dom/events.d.ts +39 -0
  94. package/dist/dom/events.js +2 -2
  95. package/dist/dom/events.js.map +2 -2
  96. package/dist/dom/index.d.ts +10 -0
  97. package/dist/dom/index.js +46 -21
  98. package/dist/dom/index.js.map +12 -11
  99. package/dist/dom/renderer.d.ts +115 -0
  100. package/dist/dom/renderer.js +45 -20
  101. package/dist/dom/renderer.js.map +11 -10
  102. package/dist/hypen.d.ts +140 -0
  103. package/dist/hypen.js +46 -21
  104. package/dist/hypen.js.map +12 -11
  105. package/dist/index.d.ts +28 -0
  106. package/dist/index.js +64 -33
  107. package/dist/index.js.map +16 -15
  108. package/package.json +3 -2
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Avatar Component
3
+ */
4
+ import type { ComponentHandler } from "./index.js";
5
+ export declare const avatarHandler: ComponentHandler;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Badge Component
3
+ */
4
+ import type { ComponentHandler } from "./index.js";
5
+ export declare const badgeHandler: ComponentHandler;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Button Component
3
+ *
4
+ * Renders as a flex container. Children align to start by default (matching iOS).
5
+ * Use .horizontalAlignment("center") to center content.
6
+ * Reset default HTML button styles for cross-platform consistency.
7
+ */
8
+ import type { ComponentHandler } from "./index.js";
9
+ export declare const buttonHandler: ComponentHandler;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Card Component - Container with default styling
3
+ */
4
+ import type { ComponentHandler } from "./index.js";
5
+ export declare const cardHandler: ComponentHandler;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Center Component - Centers content
3
+ *
4
+ * Center expands to fill available space by default (matching iOS/Android behavior).
5
+ * This is because a Center that wraps to content can't meaningfully center anything.
6
+ * The expansion is constrained by parent's layout rules.
7
+ */
8
+ import type { ComponentHandler } from "./index.js";
9
+ export declare const centerHandler: ComponentHandler;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Checkbox Component
3
+ */
4
+ import type { ComponentHandler } from "./index.js";
5
+ export declare const checkboxHandler: ComponentHandler;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Column Component - Vertical Stack
3
+ *
4
+ * Children wrap to content by default (matching Android/iOS behavior).
5
+ * Use .fillMaxWidth() on children or .horizontalAlignment("stretch") to stretch.
6
+ */
7
+ import type { ComponentHandler } from "./index.js";
8
+ export declare const columnHandler: ComponentHandler;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Container/Box Component
3
+ */
4
+ import type { ComponentHandler } from "./index.js";
5
+ export declare const containerHandler: ComponentHandler;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Divider Component - Visual separator
3
+ */
4
+ import type { ComponentHandler } from "./index.js";
5
+ export declare const dividerHandler: ComponentHandler;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Grid Component - CSS Grid Layout
3
+ *
4
+ * Grid items stretch to fill their cells by default (matching Android/iOS behavior).
5
+ */
6
+ import type { ComponentHandler } from "./index.js";
7
+ export declare const gridHandler: ComponentHandler;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Heading Component - Semantic headings (h1-h6)
3
+ */
4
+ import type { ComponentHandler } from "./index.js";
5
+ export declare const headingHandler: ComponentHandler;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * HypenApp Component
3
+ *
4
+ * Embeds a remote Hypen app via WebSocket
5
+ *
6
+ * Usage in Hypen DSL:
7
+ * ```hypen
8
+ * HypenApp("ws://localhost:3000")
9
+ *
10
+ * // Or with named prop:
11
+ * HypenApp(url: "ws://localhost:3000")
12
+ * ```
13
+ */
14
+ import type { ComponentHandler } from "./index.js";
15
+ export declare const hypenAppHandler: ComponentHandler;
16
+ /**
17
+ * Disconnect a HypenApp instance
18
+ */
19
+ export declare function disconnectHypenApp(element: HTMLElement): void;
@@ -34,7 +34,7 @@ __export(exports_hypenapp, {
34
34
  disconnectHypenApp: () => disconnectHypenApp
35
35
  });
36
36
  import { RemoteEngine } from "@hypen-space/core/remote/client";
37
- import { frameworkLoggers } from "@hypen-space/core";
37
+ import { frameworkLoggers } from "@hypen-space/core/logger";
38
38
  function applyPatches(container, nodes, patches, engine, onRoot) {
39
39
  for (const patch of patches) {
40
40
  switch (patch.type) {
@@ -190,8 +190,6 @@ function applyProp(el, name, value) {
190
190
  border: "border",
191
191
  gap: "gap",
192
192
  flex: "flex",
193
- alignItems: "alignItems",
194
- justifyContent: "justifyContent",
195
193
  opacity: "opacity",
196
194
  overflow: "overflow"
197
195
  };
@@ -295,4 +293,4 @@ export {
295
293
  disconnectHypenApp
296
294
  };
297
295
 
298
- //# debugId=7ED34EBF06ECAF2F64756E2164756E21
296
+ //# debugId=6CC26A230E0A0AED64756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/dom/components/hypenapp.ts"],
4
4
  "sourcesContent": [
5
- "/**\n * HypenApp Component\n *\n * Embeds a remote Hypen app via WebSocket\n *\n * Usage in Hypen DSL:\n * ```hypen\n * HypenApp(\"ws://localhost:3000\")\n *\n * // Or with named prop:\n * HypenApp(url: \"ws://localhost:3000\")\n * ```\n */\n\nimport type { ComponentHandler } from \"./index.js\";\nimport { RemoteEngine } from \"@hypen-space/core/remote/client\";\nimport type { Patch } from \"@hypen-space/core/types\";\nimport { frameworkLoggers } from \"@hypen-space/core\";\n\nconst log = frameworkLoggers.remote;\n\n// Store active HypenApp instances for cleanup\nconst activeInstances = new WeakMap<\n HTMLElement,\n {\n engine: RemoteEngine;\n nodes: Map<string, HTMLElement>;\n }\n>();\n\nexport const hypenAppHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"div\");\n el.dataset.hypenType = \"hypenapp\";\n el.style.display = \"contents\"; // Don't affect layout\n return el;\n },\n\n applyProps(element: HTMLElement, props: Record<string, any>): void {\n // Get URL from props (can be positional \"0\" or named \"url\")\n const url = props[\"0\"] || props.url;\n\n if (!url || typeof url !== \"string\") {\n log.error(\"HypenApp: URL is required\");\n element.innerHTML = '<div style=\"color: red;\">HypenApp: URL required</div>';\n return;\n }\n\n // Check if already connected\n const existing = activeInstances.get(element);\n if (existing) {\n // Already connected, don't reconnect\n return;\n }\n\n // Create the remote engine\n const engine = new RemoteEngine(url, {\n autoReconnect: props.autoReconnect ?? true,\n reconnectInterval: props.reconnectInterval ?? 3000,\n maxReconnectAttempts: props.maxReconnectAttempts ?? 10,\n });\n\n // Map to track created nodes\n const nodes = new Map<string, HTMLElement>();\n let rootId: string | null = null;\n\n // Store instance for cleanup\n activeInstances.set(element, { engine, nodes });\n\n // Set up patch handling\n engine.onPatches((patches) => {\n applyPatches(element, nodes, patches, engine, (id) => {\n if (!rootId) rootId = id;\n });\n });\n\n // Show loading state\n element.innerHTML = '<div class=\"hypen-app-loading\">Connecting...</div>';\n\n // Connect\n engine\n .connect()\n .then(() => {\n // Clear loading state - patches will populate content\n element.innerHTML = \"\";\n log.debug(`HypenApp connected to ${url}`);\n })\n .catch((error) => {\n element.innerHTML = `<div style=\"color: red;\">HypenApp: Connection failed - ${error.message}</div>`;\n log.error(\"HypenApp connection failed:\", error);\n });\n\n // Handle disconnection\n engine.onDisconnect(() => {\n log.debug(\"HypenApp disconnected\");\n });\n\n engine.onError((error) => {\n log.error(\"HypenApp error:\", error);\n });\n\n // Cleanup on element removal\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n for (const removedNode of mutation.removedNodes) {\n if (removedNode === element || (removedNode as Element).contains?.(element)) {\n engine.disconnect();\n activeInstances.delete(element);\n observer.disconnect();\n log.debug(\"HypenApp cleaned up\");\n return;\n }\n }\n }\n });\n\n // Observe parent for removal\n if (element.parentNode) {\n observer.observe(element.parentNode, { childList: true, subtree: true });\n }\n },\n};\n\n/**\n * Minimal patch application for HypenApp container\n */\nfunction applyPatches(\n container: HTMLElement,\n nodes: Map<string, HTMLElement>,\n patches: Patch[],\n engine: RemoteEngine,\n onRoot: (id: string) => void\n): void {\n for (const patch of patches) {\n switch (patch.type) {\n case \"create\": {\n const el = createElement(patch.elementType!, patch.props || {});\n el.dataset.hypenId = patch.id!;\n (el as any).__hypenEngine = engine;\n nodes.set(patch.id!, el);\n break;\n }\n\n case \"setProp\": {\n const el = nodes.get(patch.id!);\n if (el) {\n applyProp(el, patch.name!, patch.value);\n }\n break;\n }\n\n case \"setText\": {\n const el = nodes.get(patch.id!);\n if (el) {\n el.textContent = patch.text!;\n }\n break;\n }\n\n case \"insert\": {\n const parentId = patch.parentId!;\n const parent = parentId === \"root\" ? container : nodes.get(parentId);\n const child = nodes.get(patch.id!);\n const beforeId = patch.beforeId;\n\n if (parent && child) {\n if (parentId === \"root\") {\n onRoot(patch.id!);\n }\n\n if (beforeId) {\n const before = nodes.get(beforeId);\n if (before && before.parentNode === parent) {\n parent.insertBefore(child, before);\n } else if (!parent.contains(child)) {\n parent.appendChild(child);\n }\n } else if (!parent.contains(child)) {\n parent.appendChild(child);\n }\n }\n break;\n }\n\n case \"move\": {\n const parentId = patch.parentId!;\n const parent = parentId === \"root\" ? container : nodes.get(parentId);\n const child = nodes.get(patch.id!);\n const beforeId = patch.beforeId;\n\n if (parent && child) {\n if (beforeId) {\n const before = nodes.get(beforeId);\n if (before && before.parentNode === parent) {\n parent.insertBefore(child, before);\n }\n } else {\n parent.appendChild(child);\n }\n }\n break;\n }\n\n case \"remove\": {\n const el = nodes.get(patch.id!);\n if (el && el.parentNode) {\n el.parentNode.removeChild(el);\n }\n nodes.delete(patch.id!);\n break;\n }\n }\n }\n}\n\n/**\n * Create element by type\n */\nfunction createElement(type: string, props: Record<string, any>): HTMLElement {\n const normalizedType = type.toLowerCase();\n\n // Map Hypen types to HTML elements\n const tagMap: Record<string, string> = {\n column: \"div\",\n row: \"div\",\n text: \"span\",\n button: \"button\",\n input: \"input\",\n image: \"img\",\n container: \"div\",\n box: \"div\",\n center: \"div\",\n list: \"div\",\n spacer: \"div\",\n stack: \"div\",\n divider: \"hr\",\n grid: \"div\",\n card: \"div\",\n heading: \"h2\",\n link: \"a\",\n textarea: \"textarea\",\n checkbox: \"input\",\n select: \"select\",\n slider: \"input\",\n switch: \"input\",\n spinner: \"div\",\n badge: \"span\",\n avatar: \"img\",\n progressbar: \"div\",\n video: \"video\",\n audio: \"audio\",\n };\n\n const tag = tagMap[normalizedType] || \"div\";\n const el = document.createElement(tag);\n el.dataset.hypenType = normalizedType;\n\n // Apply basic styles\n if (normalizedType === \"column\") {\n el.style.display = \"flex\";\n el.style.flexDirection = \"column\";\n } else if (normalizedType === \"row\") {\n el.style.display = \"flex\";\n el.style.flexDirection = \"row\";\n } else if (normalizedType === \"center\") {\n el.style.display = \"flex\";\n el.style.alignItems = \"center\";\n el.style.justifyContent = \"center\";\n } else if (normalizedType === \"text\") {\n // Text content from props\n if (props[\"0\"]) {\n el.textContent = String(props[\"0\"]);\n }\n } else if (normalizedType === \"button\") {\n el.style.cursor = \"pointer\";\n } else if (normalizedType === \"checkbox\" || normalizedType === \"switch\") {\n (el as HTMLInputElement).type = \"checkbox\";\n } else if (normalizedType === \"slider\") {\n (el as HTMLInputElement).type = \"range\";\n }\n\n return el;\n}\n\n/**\n * Apply a prop to an element\n */\nfunction applyProp(el: HTMLElement, name: string, value: any): void {\n // Text content\n if (name === \"0\" || name === \"text\") {\n el.textContent = String(value);\n return;\n }\n\n // Style props\n const styleProps: Record<string, string> = {\n padding: \"padding\",\n margin: \"margin\",\n backgroundColor: \"backgroundColor\",\n background: \"background\",\n color: \"color\",\n fontSize: \"fontSize\",\n fontWeight: \"fontWeight\",\n width: \"width\",\n height: \"height\",\n minWidth: \"minWidth\",\n minHeight: \"minHeight\",\n maxWidth: \"maxWidth\",\n maxHeight: \"maxHeight\",\n borderRadius: \"borderRadius\",\n border: \"border\",\n gap: \"gap\",\n flex: \"flex\",\n alignItems: \"alignItems\",\n justifyContent: \"justifyContent\",\n opacity: \"opacity\",\n overflow: \"overflow\",\n };\n\n if (styleProps[name]) {\n const cssValue = typeof value === \"number\" ? `${value}px` : String(value);\n (el.style as any)[styleProps[name]] = cssValue;\n return;\n }\n\n // Event handlers\n if (name === \"onClick\" || name === \"onclick\") {\n el.onclick = () => {\n const engine = (el as any).__hypenEngine as RemoteEngine;\n if (engine && typeof value === \"string\" && value.startsWith(\"@actions.\")) {\n const action = value.replace(\"@actions.\", \"\");\n engine.dispatchAction(action);\n }\n };\n return;\n }\n\n // Other attributes\n el.setAttribute(name, String(value));\n}\n\n/**\n * Disconnect a HypenApp instance\n */\nexport function disconnectHypenApp(element: HTMLElement): void {\n const instance = activeInstances.get(element);\n if (instance) {\n instance.engine.disconnect();\n activeInstances.delete(element);\n }\n}\n"
5
+ "/**\n * HypenApp Component\n *\n * Embeds a remote Hypen app via WebSocket\n *\n * Usage in Hypen DSL:\n * ```hypen\n * HypenApp(\"ws://localhost:3000\")\n *\n * // Or with named prop:\n * HypenApp(url: \"ws://localhost:3000\")\n * ```\n */\n\nimport type { ComponentHandler } from \"./index.js\";\nimport { RemoteEngine } from \"@hypen-space/core/remote/client\";\nimport type { Patch } from \"@hypen-space/core/types\";\nimport { frameworkLoggers } from \"@hypen-space/core/logger\";\n\nconst log = frameworkLoggers.remote;\n\n// Store active HypenApp instances for cleanup\nconst activeInstances = new WeakMap<\n HTMLElement,\n {\n engine: RemoteEngine;\n nodes: Map<string, HTMLElement>;\n }\n>();\n\nexport const hypenAppHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"div\");\n el.dataset.hypenType = \"hypenapp\";\n el.style.display = \"contents\"; // Don't affect layout\n return el;\n },\n\n applyProps(element: HTMLElement, props: Record<string, any>): void {\n // Get URL from props (can be positional \"0\" or named \"url\")\n const url = props[\"0\"] || props.url;\n\n if (!url || typeof url !== \"string\") {\n log.error(\"HypenApp: URL is required\");\n element.innerHTML = '<div style=\"color: red;\">HypenApp: URL required</div>';\n return;\n }\n\n // Check if already connected\n const existing = activeInstances.get(element);\n if (existing) {\n // Already connected, don't reconnect\n return;\n }\n\n // Create the remote engine\n const engine = new RemoteEngine(url, {\n autoReconnect: props.autoReconnect ?? true,\n reconnectInterval: props.reconnectInterval ?? 3000,\n maxReconnectAttempts: props.maxReconnectAttempts ?? 10,\n });\n\n // Map to track created nodes\n const nodes = new Map<string, HTMLElement>();\n let rootId: string | null = null;\n\n // Store instance for cleanup\n activeInstances.set(element, { engine, nodes });\n\n // Set up patch handling\n engine.onPatches((patches) => {\n applyPatches(element, nodes, patches, engine, (id) => {\n if (!rootId) rootId = id;\n });\n });\n\n // Show loading state\n element.innerHTML = '<div class=\"hypen-app-loading\">Connecting...</div>';\n\n // Connect\n engine\n .connect()\n .then(() => {\n // Clear loading state - patches will populate content\n element.innerHTML = \"\";\n log.debug(`HypenApp connected to ${url}`);\n })\n .catch((error) => {\n element.innerHTML = `<div style=\"color: red;\">HypenApp: Connection failed - ${error.message}</div>`;\n log.error(\"HypenApp connection failed:\", error);\n });\n\n // Handle disconnection\n engine.onDisconnect(() => {\n log.debug(\"HypenApp disconnected\");\n });\n\n engine.onError((error) => {\n log.error(\"HypenApp error:\", error);\n });\n\n // Cleanup on element removal\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n for (const removedNode of mutation.removedNodes) {\n if (removedNode === element || (removedNode as Element).contains?.(element)) {\n engine.disconnect();\n activeInstances.delete(element);\n observer.disconnect();\n log.debug(\"HypenApp cleaned up\");\n return;\n }\n }\n }\n });\n\n // Observe parent for removal\n if (element.parentNode) {\n observer.observe(element.parentNode, { childList: true, subtree: true });\n }\n },\n};\n\n/**\n * Minimal patch application for HypenApp container\n */\nfunction applyPatches(\n container: HTMLElement,\n nodes: Map<string, HTMLElement>,\n patches: Patch[],\n engine: RemoteEngine,\n onRoot: (id: string) => void\n): void {\n for (const patch of patches) {\n switch (patch.type) {\n case \"create\": {\n const el = createElement(patch.elementType!, patch.props || {});\n el.dataset.hypenId = patch.id!;\n (el as any).__hypenEngine = engine;\n nodes.set(patch.id!, el);\n break;\n }\n\n case \"setProp\": {\n const el = nodes.get(patch.id!);\n if (el) {\n applyProp(el, patch.name!, patch.value);\n }\n break;\n }\n\n case \"setText\": {\n const el = nodes.get(patch.id!);\n if (el) {\n el.textContent = patch.text!;\n }\n break;\n }\n\n case \"insert\": {\n const parentId = patch.parentId!;\n const parent = parentId === \"root\" ? container : nodes.get(parentId);\n const child = nodes.get(patch.id!);\n const beforeId = patch.beforeId;\n\n if (parent && child) {\n if (parentId === \"root\") {\n onRoot(patch.id!);\n }\n\n if (beforeId) {\n const before = nodes.get(beforeId);\n if (before && before.parentNode === parent) {\n parent.insertBefore(child, before);\n } else if (!parent.contains(child)) {\n parent.appendChild(child);\n }\n } else if (!parent.contains(child)) {\n parent.appendChild(child);\n }\n }\n break;\n }\n\n case \"move\": {\n const parentId = patch.parentId!;\n const parent = parentId === \"root\" ? container : nodes.get(parentId);\n const child = nodes.get(patch.id!);\n const beforeId = patch.beforeId;\n\n if (parent && child) {\n if (beforeId) {\n const before = nodes.get(beforeId);\n if (before && before.parentNode === parent) {\n parent.insertBefore(child, before);\n }\n } else {\n parent.appendChild(child);\n }\n }\n break;\n }\n\n case \"remove\": {\n const el = nodes.get(patch.id!);\n if (el && el.parentNode) {\n el.parentNode.removeChild(el);\n }\n nodes.delete(patch.id!);\n break;\n }\n }\n }\n}\n\n/**\n * Create element by type\n */\nfunction createElement(type: string, props: Record<string, any>): HTMLElement {\n const normalizedType = type.toLowerCase();\n\n // Map Hypen types to HTML elements\n const tagMap: Record<string, string> = {\n column: \"div\",\n row: \"div\",\n text: \"span\",\n button: \"button\",\n input: \"input\",\n image: \"img\",\n container: \"div\",\n box: \"div\",\n center: \"div\",\n list: \"div\",\n spacer: \"div\",\n stack: \"div\",\n divider: \"hr\",\n grid: \"div\",\n card: \"div\",\n heading: \"h2\",\n link: \"a\",\n textarea: \"textarea\",\n checkbox: \"input\",\n select: \"select\",\n slider: \"input\",\n switch: \"input\",\n spinner: \"div\",\n badge: \"span\",\n avatar: \"img\",\n progressbar: \"div\",\n video: \"video\",\n audio: \"audio\",\n };\n\n const tag = tagMap[normalizedType] || \"div\";\n const el = document.createElement(tag);\n el.dataset.hypenType = normalizedType;\n\n // Apply basic styles\n if (normalizedType === \"column\") {\n el.style.display = \"flex\";\n el.style.flexDirection = \"column\";\n } else if (normalizedType === \"row\") {\n el.style.display = \"flex\";\n el.style.flexDirection = \"row\";\n } else if (normalizedType === \"center\") {\n el.style.display = \"flex\";\n el.style.alignItems = \"center\";\n el.style.justifyContent = \"center\";\n } else if (normalizedType === \"text\") {\n // Text content from props\n if (props[\"0\"]) {\n el.textContent = String(props[\"0\"]);\n }\n } else if (normalizedType === \"button\") {\n el.style.cursor = \"pointer\";\n } else if (normalizedType === \"checkbox\" || normalizedType === \"switch\") {\n (el as HTMLInputElement).type = \"checkbox\";\n } else if (normalizedType === \"slider\") {\n (el as HTMLInputElement).type = \"range\";\n }\n\n return el;\n}\n\n/**\n * Apply a prop to an element\n */\nfunction applyProp(el: HTMLElement, name: string, value: any): void {\n // Text content\n if (name === \"0\" || name === \"text\") {\n el.textContent = String(value);\n return;\n }\n\n // Style props\n const styleProps: Record<string, string> = {\n padding: \"padding\",\n margin: \"margin\",\n backgroundColor: \"backgroundColor\",\n background: \"background\",\n color: \"color\",\n fontSize: \"fontSize\",\n fontWeight: \"fontWeight\",\n width: \"width\",\n height: \"height\",\n minWidth: \"minWidth\",\n minHeight: \"minHeight\",\n maxWidth: \"maxWidth\",\n maxHeight: \"maxHeight\",\n borderRadius: \"borderRadius\",\n border: \"border\",\n gap: \"gap\",\n flex: \"flex\",\n opacity: \"opacity\",\n overflow: \"overflow\",\n };\n\n if (styleProps[name]) {\n const cssValue = typeof value === \"number\" ? `${value}px` : String(value);\n (el.style as any)[styleProps[name]] = cssValue;\n return;\n }\n\n // Event handlers\n if (name === \"onClick\" || name === \"onclick\") {\n el.onclick = () => {\n const engine = (el as any).__hypenEngine as RemoteEngine;\n if (engine && typeof value === \"string\" && value.startsWith(\"@actions.\")) {\n const action = value.replace(\"@actions.\", \"\");\n engine.dispatchAction(action);\n }\n };\n return;\n }\n\n // Other attributes\n el.setAttribute(name, String(value));\n}\n\n/**\n * Disconnect a HypenApp instance\n */\nexport function disconnectHypenApp(element: HTMLElement): void {\n const instance = activeInstances.get(element);\n if (instance) {\n instance.engine.disconnect();\n activeInstances.delete(element);\n }\n}\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "7ED34EBF06ECAF2F64756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "6CC26A230E0A0AED64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Image Component
3
+ */
4
+ import type { ComponentHandler } from "./index.js";
5
+ export declare const imageHandler: ComponentHandler;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Component Registry
3
+ *
4
+ * Manages mappings from Hypen component types to DOM elements
5
+ */
6
+ export interface ComponentHandler {
7
+ create(): HTMLElement;
8
+ applyProps?(element: HTMLElement, props: Record<string, any>): void;
9
+ }
10
+ export declare class ComponentRegistry {
11
+ private handlers;
12
+ constructor();
13
+ /**
14
+ * Register a component handler
15
+ */
16
+ register(type: string, handler: ComponentHandler): void;
17
+ /**
18
+ * Get handler for a component type
19
+ */
20
+ get(type: string): ComponentHandler | undefined;
21
+ /**
22
+ * Create element for a component type
23
+ */
24
+ createElement(type: string, props?: Record<string, any>): HTMLElement | null;
25
+ /**
26
+ * Register all default Hypen components
27
+ */
28
+ private registerDefaults;
29
+ }
@@ -1011,7 +1011,7 @@ var exports_route = {};
1011
1011
  __export(exports_route, {
1012
1012
  routeHandler: () => routeHandler
1013
1013
  });
1014
- import { frameworkLoggers } from "@hypen-space/core";
1014
+ import { frameworkLoggers } from "@hypen-space/core/logger";
1015
1015
  var log, routeHandler;
1016
1016
  var init_route = __esm(() => {
1017
1017
  log = frameworkLoggers.router;
@@ -1046,7 +1046,7 @@ __export(exports_hypenapp, {
1046
1046
  disconnectHypenApp: () => disconnectHypenApp
1047
1047
  });
1048
1048
  import { RemoteEngine } from "@hypen-space/core/remote/client";
1049
- import { frameworkLoggers as frameworkLoggers2 } from "@hypen-space/core";
1049
+ import { frameworkLoggers as frameworkLoggers2 } from "@hypen-space/core/logger";
1050
1050
  function applyPatches(container, nodes, patches, engine, onRoot) {
1051
1051
  for (const patch of patches) {
1052
1052
  switch (patch.type) {
@@ -1202,8 +1202,6 @@ function applyProp(el, name, value) {
1202
1202
  border: "border",
1203
1203
  gap: "gap",
1204
1204
  flex: "flex",
1205
- alignItems: "alignItems",
1206
- justifyContent: "justifyContent",
1207
1205
  opacity: "opacity",
1208
1206
  overflow: "overflow"
1209
1207
  };
@@ -1301,6 +1299,26 @@ var init_hypenapp = __esm(() => {
1301
1299
  };
1302
1300
  });
1303
1301
 
1302
+ // src/dom/components/app.ts
1303
+ var exports_app = {};
1304
+ __export(exports_app, {
1305
+ appHandler: () => appHandler
1306
+ });
1307
+ var appHandler;
1308
+ var init_app = __esm(() => {
1309
+ appHandler = {
1310
+ create() {
1311
+ const el = document.createElement("div");
1312
+ el.style.display = "flex";
1313
+ el.style.flexDirection = "column";
1314
+ el.style.minHeight = "100vh";
1315
+ el.style.width = "100%";
1316
+ el.dataset.hypenType = "app";
1317
+ return el;
1318
+ }
1319
+ };
1320
+ });
1321
+
1304
1322
  // src/dom/components/index.ts
1305
1323
  class ComponentRegistry {
1306
1324
  handlers = new Map;
@@ -1311,9 +1329,13 @@ class ComponentRegistry {
1311
1329
  this.handlers.set(type.toLowerCase(), handler);
1312
1330
  }
1313
1331
  get(type) {
1332
+ if (!type)
1333
+ return;
1314
1334
  return this.handlers.get(type.toLowerCase());
1315
1335
  }
1316
1336
  createElement(type, props = {}) {
1337
+ if (!type)
1338
+ return null;
1317
1339
  const handler = this.get(type);
1318
1340
  if (!handler)
1319
1341
  return null;
@@ -1355,6 +1377,8 @@ class ComponentRegistry {
1355
1377
  const { routerHandler: routerHandler2 } = (init_router(), __toCommonJS(exports_router));
1356
1378
  const { routeHandler: routeHandler2 } = (init_route(), __toCommonJS(exports_route));
1357
1379
  const { hypenAppHandler: hypenAppHandler2 } = (init_hypenapp(), __toCommonJS(exports_hypenapp));
1380
+ const { appHandler: appHandler2 } = (init_app(), __toCommonJS(exports_app));
1381
+ this.register("app", appHandler2);
1358
1382
  this.register("column", columnHandler2);
1359
1383
  this.register("row", rowHandler2);
1360
1384
  this.register("text", textHandler2);
@@ -1393,4 +1417,4 @@ export {
1393
1417
  ComponentRegistry
1394
1418
  };
1395
1419
 
1396
- //# debugId=E20FF45ABB595CA864756E2164756E21
1420
+ //# debugId=9BBDD047A932849064756E2164756E21
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/dom/components/column.ts", "../src/dom/components/row.ts", "../src/dom/components/text.ts", "../src/dom/components/image.ts", "../src/dom/components/button.ts", "../src/dom/components/container.ts", "../src/dom/components/center.ts", "../src/dom/components/list.ts", "../src/dom/components/input.ts", "../src/dom/components/link.ts", "../src/dom/components/textarea.ts", "../src/dom/components/checkbox.ts", "../src/dom/components/select.ts", "../src/dom/components/spacer.ts", "../src/dom/components/stack.ts", "../src/dom/components/divider.ts", "../src/dom/components/grid.ts", "../src/dom/components/card.ts", "../src/dom/components/heading.ts", "../src/dom/components/switch.ts", "../src/dom/components/slider.ts", "../src/dom/components/spinner.ts", "../src/dom/components/badge.ts", "../src/dom/components/avatar.ts", "../src/dom/components/progressbar.ts", "../src/dom/components/video.ts", "../src/dom/components/audio.ts", "../src/dom/components/paragraph.ts", "../src/dom/components/router.ts", "../src/dom/components/route.ts", "../src/dom/components/hypenapp.ts", "../src/dom/components/index.ts"],
3
+ "sources": ["../src/dom/components/column.ts", "../src/dom/components/row.ts", "../src/dom/components/text.ts", "../src/dom/components/image.ts", "../src/dom/components/button.ts", "../src/dom/components/container.ts", "../src/dom/components/center.ts", "../src/dom/components/list.ts", "../src/dom/components/input.ts", "../src/dom/components/link.ts", "../src/dom/components/textarea.ts", "../src/dom/components/checkbox.ts", "../src/dom/components/select.ts", "../src/dom/components/spacer.ts", "../src/dom/components/stack.ts", "../src/dom/components/divider.ts", "../src/dom/components/grid.ts", "../src/dom/components/card.ts", "../src/dom/components/heading.ts", "../src/dom/components/switch.ts", "../src/dom/components/slider.ts", "../src/dom/components/spinner.ts", "../src/dom/components/badge.ts", "../src/dom/components/avatar.ts", "../src/dom/components/progressbar.ts", "../src/dom/components/video.ts", "../src/dom/components/audio.ts", "../src/dom/components/paragraph.ts", "../src/dom/components/router.ts", "../src/dom/components/route.ts", "../src/dom/components/hypenapp.ts", "../src/dom/components/app.ts", "../src/dom/components/index.ts"],
4
4
  "sourcesContent": [
5
5
  "/**\n * Column Component - Vertical Stack\n *\n * Children wrap to content by default (matching Android/iOS behavior).\n * Use .fillMaxWidth() on children or .horizontalAlignment(\"stretch\") to stretch.\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\nexport const columnHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"div\");\n el.style.display = \"flex\";\n el.style.flexDirection = \"column\";\n // Wrap children to content by default (match iOS/Android behavior)\n el.style.alignItems = \"flex-start\";\n el.dataset.hypenType = \"column\";\n return el;\n },\n};\n",
6
6
  "/**\n * Row Component - Horizontal Stack\n * Children keep their intrinsic size by default (matching iOS/Android behavior).\n * Use .weight(1) on children to make them expand equally.\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\n// Inject global styles for Row with flex/weighted children\nlet rowStylesInjected = false;\nfunction ensureRowStyles(): void {\n if (rowStylesInjected) return;\n rowStylesInjected = true;\n\n const style = document.createElement(\"style\");\n style.id = \"hypen-row-styles\";\n style.textContent = `\n /* Row expands to fill width when it has children with flex/weight */\n /* This matches iOS/Android behavior where weighted children cause parent to expand */\n [data-hypen-type=\"row\"]:has(> [data-hypen-flex]) {\n width: 100%;\n }\n `;\n document.head.appendChild(style);\n}\n\nexport const rowHandler: ComponentHandler = {\n create(): HTMLElement {\n ensureRowStyles();\n\n const el = document.createElement(\"div\");\n el.style.display = \"flex\";\n el.style.flexDirection = \"row\";\n // Wrap to content by default (match iOS/Android behavior)\n el.style.alignItems = \"flex-start\";\n el.dataset.hypenType = \"row\";\n return el;\n },\n};\n",
@@ -31,11 +31,12 @@
31
31
  "/**\n * Audio Component\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\nexport const audioHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"audio\");\n el.dataset.hypenType = \"audio\";\n return el as any as HTMLElement;\n },\n\n applyProps(el: HTMLElement, props: Record<string, any>): void {\n const audio = el as HTMLAudioElement;\n\n // Source\n const src = props[\"0\"] || props.src;\n if (src !== undefined) {\n audio.src = String(src);\n }\n\n // Controls\n if (props.controls !== undefined) {\n audio.controls = Boolean(props.controls);\n }\n\n // Autoplay\n if (props.autoplay !== undefined) {\n audio.autoplay = Boolean(props.autoplay);\n }\n\n // Loop\n if (props.loop !== undefined) {\n audio.loop = Boolean(props.loop);\n }\n\n // Muted\n if (props.muted !== undefined) {\n audio.muted = Boolean(props.muted);\n }\n },\n};\n\n\n",
32
32
  "/**\n * Paragraph Component\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\nexport const paragraphHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"p\");\n el.dataset.hypenType = \"paragraph\";\n return el;\n },\n\n applyProps(el: HTMLElement, props: Record<string, any>): void {\n // Text content\n const text = props[\"0\"] || props.text;\n if (text !== undefined) {\n el.textContent = String(text);\n }\n },\n};\n\n\n",
33
33
  "/**\n * Router Component - Container for routes\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\nexport const routerHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"div\");\n el.style.display = \"flex\";\n el.style.flexDirection = \"column\";\n el.style.width = \"100%\";\n el.dataset.hypenType = \"router\";\n return el;\n },\n\n applyProps(el: HTMLElement, props: Record<string, any>): void {\n // Router doesn't need special prop handling\n // The routing logic is handled by the Router module\n },\n};\n\n",
34
- "/**\n * Route Component - Lazy rendering container for route content\n * Stores component name as metadata, Router handles actual rendering\n */\n\nimport type { ComponentHandler } from \"./index.js\";\nimport { frameworkLoggers } from \"@hypen-space/core\";\n\nconst log = frameworkLoggers.router;\n\nexport const routeHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"div\");\n el.style.display = \"flex\";\n el.style.flexDirection = \"column\";\n el.style.width = \"100%\";\n el.dataset.hypenType = \"route\";\n el.dataset.routeRendered = \"false\"; // Track if component has been rendered\n return el;\n },\n\n applyProps(el: HTMLElement, props: Record<string, any>): void {\n // Extract route path from props\n const path = props.path || props[\"0\"] || \"/\";\n el.dataset.routePath = String(path);\n \n // Check if this is a lazy route (has __lazy flag)\n const isLazy = props.__lazy === true;\n el.dataset.routeLazy = String(isLazy);\n \n // Store component name - either from explicit prop or from lazy child\n const componentName = props.component || props.__lazy_child;\n if (componentName) {\n el.dataset.routeComponent = String(componentName);\n }\n \n log.debug(`Route created: path=\"${path}\", lazy=${isLazy}, component=\"${el.dataset.routeComponent || 'none'}\"`);\n },\n};\n\n",
35
- "/**\n * HypenApp Component\n *\n * Embeds a remote Hypen app via WebSocket\n *\n * Usage in Hypen DSL:\n * ```hypen\n * HypenApp(\"ws://localhost:3000\")\n *\n * // Or with named prop:\n * HypenApp(url: \"ws://localhost:3000\")\n * ```\n */\n\nimport type { ComponentHandler } from \"./index.js\";\nimport { RemoteEngine } from \"@hypen-space/core/remote/client\";\nimport type { Patch } from \"@hypen-space/core/types\";\nimport { frameworkLoggers } from \"@hypen-space/core\";\n\nconst log = frameworkLoggers.remote;\n\n// Store active HypenApp instances for cleanup\nconst activeInstances = new WeakMap<\n HTMLElement,\n {\n engine: RemoteEngine;\n nodes: Map<string, HTMLElement>;\n }\n>();\n\nexport const hypenAppHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"div\");\n el.dataset.hypenType = \"hypenapp\";\n el.style.display = \"contents\"; // Don't affect layout\n return el;\n },\n\n applyProps(element: HTMLElement, props: Record<string, any>): void {\n // Get URL from props (can be positional \"0\" or named \"url\")\n const url = props[\"0\"] || props.url;\n\n if (!url || typeof url !== \"string\") {\n log.error(\"HypenApp: URL is required\");\n element.innerHTML = '<div style=\"color: red;\">HypenApp: URL required</div>';\n return;\n }\n\n // Check if already connected\n const existing = activeInstances.get(element);\n if (existing) {\n // Already connected, don't reconnect\n return;\n }\n\n // Create the remote engine\n const engine = new RemoteEngine(url, {\n autoReconnect: props.autoReconnect ?? true,\n reconnectInterval: props.reconnectInterval ?? 3000,\n maxReconnectAttempts: props.maxReconnectAttempts ?? 10,\n });\n\n // Map to track created nodes\n const nodes = new Map<string, HTMLElement>();\n let rootId: string | null = null;\n\n // Store instance for cleanup\n activeInstances.set(element, { engine, nodes });\n\n // Set up patch handling\n engine.onPatches((patches) => {\n applyPatches(element, nodes, patches, engine, (id) => {\n if (!rootId) rootId = id;\n });\n });\n\n // Show loading state\n element.innerHTML = '<div class=\"hypen-app-loading\">Connecting...</div>';\n\n // Connect\n engine\n .connect()\n .then(() => {\n // Clear loading state - patches will populate content\n element.innerHTML = \"\";\n log.debug(`HypenApp connected to ${url}`);\n })\n .catch((error) => {\n element.innerHTML = `<div style=\"color: red;\">HypenApp: Connection failed - ${error.message}</div>`;\n log.error(\"HypenApp connection failed:\", error);\n });\n\n // Handle disconnection\n engine.onDisconnect(() => {\n log.debug(\"HypenApp disconnected\");\n });\n\n engine.onError((error) => {\n log.error(\"HypenApp error:\", error);\n });\n\n // Cleanup on element removal\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n for (const removedNode of mutation.removedNodes) {\n if (removedNode === element || (removedNode as Element).contains?.(element)) {\n engine.disconnect();\n activeInstances.delete(element);\n observer.disconnect();\n log.debug(\"HypenApp cleaned up\");\n return;\n }\n }\n }\n });\n\n // Observe parent for removal\n if (element.parentNode) {\n observer.observe(element.parentNode, { childList: true, subtree: true });\n }\n },\n};\n\n/**\n * Minimal patch application for HypenApp container\n */\nfunction applyPatches(\n container: HTMLElement,\n nodes: Map<string, HTMLElement>,\n patches: Patch[],\n engine: RemoteEngine,\n onRoot: (id: string) => void\n): void {\n for (const patch of patches) {\n switch (patch.type) {\n case \"create\": {\n const el = createElement(patch.elementType!, patch.props || {});\n el.dataset.hypenId = patch.id!;\n (el as any).__hypenEngine = engine;\n nodes.set(patch.id!, el);\n break;\n }\n\n case \"setProp\": {\n const el = nodes.get(patch.id!);\n if (el) {\n applyProp(el, patch.name!, patch.value);\n }\n break;\n }\n\n case \"setText\": {\n const el = nodes.get(patch.id!);\n if (el) {\n el.textContent = patch.text!;\n }\n break;\n }\n\n case \"insert\": {\n const parentId = patch.parentId!;\n const parent = parentId === \"root\" ? container : nodes.get(parentId);\n const child = nodes.get(patch.id!);\n const beforeId = patch.beforeId;\n\n if (parent && child) {\n if (parentId === \"root\") {\n onRoot(patch.id!);\n }\n\n if (beforeId) {\n const before = nodes.get(beforeId);\n if (before && before.parentNode === parent) {\n parent.insertBefore(child, before);\n } else if (!parent.contains(child)) {\n parent.appendChild(child);\n }\n } else if (!parent.contains(child)) {\n parent.appendChild(child);\n }\n }\n break;\n }\n\n case \"move\": {\n const parentId = patch.parentId!;\n const parent = parentId === \"root\" ? container : nodes.get(parentId);\n const child = nodes.get(patch.id!);\n const beforeId = patch.beforeId;\n\n if (parent && child) {\n if (beforeId) {\n const before = nodes.get(beforeId);\n if (before && before.parentNode === parent) {\n parent.insertBefore(child, before);\n }\n } else {\n parent.appendChild(child);\n }\n }\n break;\n }\n\n case \"remove\": {\n const el = nodes.get(patch.id!);\n if (el && el.parentNode) {\n el.parentNode.removeChild(el);\n }\n nodes.delete(patch.id!);\n break;\n }\n }\n }\n}\n\n/**\n * Create element by type\n */\nfunction createElement(type: string, props: Record<string, any>): HTMLElement {\n const normalizedType = type.toLowerCase();\n\n // Map Hypen types to HTML elements\n const tagMap: Record<string, string> = {\n column: \"div\",\n row: \"div\",\n text: \"span\",\n button: \"button\",\n input: \"input\",\n image: \"img\",\n container: \"div\",\n box: \"div\",\n center: \"div\",\n list: \"div\",\n spacer: \"div\",\n stack: \"div\",\n divider: \"hr\",\n grid: \"div\",\n card: \"div\",\n heading: \"h2\",\n link: \"a\",\n textarea: \"textarea\",\n checkbox: \"input\",\n select: \"select\",\n slider: \"input\",\n switch: \"input\",\n spinner: \"div\",\n badge: \"span\",\n avatar: \"img\",\n progressbar: \"div\",\n video: \"video\",\n audio: \"audio\",\n };\n\n const tag = tagMap[normalizedType] || \"div\";\n const el = document.createElement(tag);\n el.dataset.hypenType = normalizedType;\n\n // Apply basic styles\n if (normalizedType === \"column\") {\n el.style.display = \"flex\";\n el.style.flexDirection = \"column\";\n } else if (normalizedType === \"row\") {\n el.style.display = \"flex\";\n el.style.flexDirection = \"row\";\n } else if (normalizedType === \"center\") {\n el.style.display = \"flex\";\n el.style.alignItems = \"center\";\n el.style.justifyContent = \"center\";\n } else if (normalizedType === \"text\") {\n // Text content from props\n if (props[\"0\"]) {\n el.textContent = String(props[\"0\"]);\n }\n } else if (normalizedType === \"button\") {\n el.style.cursor = \"pointer\";\n } else if (normalizedType === \"checkbox\" || normalizedType === \"switch\") {\n (el as HTMLInputElement).type = \"checkbox\";\n } else if (normalizedType === \"slider\") {\n (el as HTMLInputElement).type = \"range\";\n }\n\n return el;\n}\n\n/**\n * Apply a prop to an element\n */\nfunction applyProp(el: HTMLElement, name: string, value: any): void {\n // Text content\n if (name === \"0\" || name === \"text\") {\n el.textContent = String(value);\n return;\n }\n\n // Style props\n const styleProps: Record<string, string> = {\n padding: \"padding\",\n margin: \"margin\",\n backgroundColor: \"backgroundColor\",\n background: \"background\",\n color: \"color\",\n fontSize: \"fontSize\",\n fontWeight: \"fontWeight\",\n width: \"width\",\n height: \"height\",\n minWidth: \"minWidth\",\n minHeight: \"minHeight\",\n maxWidth: \"maxWidth\",\n maxHeight: \"maxHeight\",\n borderRadius: \"borderRadius\",\n border: \"border\",\n gap: \"gap\",\n flex: \"flex\",\n alignItems: \"alignItems\",\n justifyContent: \"justifyContent\",\n opacity: \"opacity\",\n overflow: \"overflow\",\n };\n\n if (styleProps[name]) {\n const cssValue = typeof value === \"number\" ? `${value}px` : String(value);\n (el.style as any)[styleProps[name]] = cssValue;\n return;\n }\n\n // Event handlers\n if (name === \"onClick\" || name === \"onclick\") {\n el.onclick = () => {\n const engine = (el as any).__hypenEngine as RemoteEngine;\n if (engine && typeof value === \"string\" && value.startsWith(\"@actions.\")) {\n const action = value.replace(\"@actions.\", \"\");\n engine.dispatchAction(action);\n }\n };\n return;\n }\n\n // Other attributes\n el.setAttribute(name, String(value));\n}\n\n/**\n * Disconnect a HypenApp instance\n */\nexport function disconnectHypenApp(element: HTMLElement): void {\n const instance = activeInstances.get(element);\n if (instance) {\n instance.engine.disconnect();\n activeInstances.delete(element);\n }\n}\n",
36
- "/**\n * Component Registry\n *\n * Manages mappings from Hypen component types to DOM elements\n */\n\nexport interface ComponentHandler {\n create(): HTMLElement;\n applyProps?(element: HTMLElement, props: Record<string, any>): void;\n}\n\nexport class ComponentRegistry {\n private handlers: Map<string, ComponentHandler> = new Map();\n\n constructor() {\n this.registerDefaults();\n }\n\n /**\n * Register a component handler\n */\n register(type: string, handler: ComponentHandler): void {\n this.handlers.set(type.toLowerCase(), handler);\n }\n\n /**\n * Get handler for a component type\n */\n get(type: string): ComponentHandler | undefined {\n return this.handlers.get(type.toLowerCase());\n }\n\n /**\n * Create element for a component type\n */\n createElement(type: string, props: Record<string, any> = {}): HTMLElement | null {\n const handler = this.get(type);\n if (!handler) return null;\n\n const element = handler.create();\n if (handler.applyProps) {\n handler.applyProps(element, props);\n }\n return element;\n }\n\n /**\n * Register all default Hypen components\n */\n private registerDefaults(): void {\n // Import and register all component handlers\n const { columnHandler } = require(\"./column.js\");\n const { rowHandler } = require(\"./row.js\");\n const { textHandler } = require(\"./text.js\");\n const { imageHandler } = require(\"./image.js\");\n const { buttonHandler } = require(\"./button.js\");\n const { containerHandler } = require(\"./container.js\");\n const { centerHandler } = require(\"./center.js\");\n const { listHandler } = require(\"./list.js\");\n const { inputHandler } = require(\"./input.js\");\n const { linkHandler } = require(\"./link.js\");\n const { textareaHandler } = require(\"./textarea.js\");\n const { checkboxHandler } = require(\"./checkbox.js\");\n const { selectHandler } = require(\"./select.js\");\n const { spacerHandler } = require(\"./spacer.js\");\n const { stackHandler } = require(\"./stack.js\");\n const { dividerHandler } = require(\"./divider.js\");\n const { gridHandler } = require(\"./grid.js\");\n const { cardHandler } = require(\"./card.js\");\n const { headingHandler } = require(\"./heading.js\");\n const { switchHandler } = require(\"./switch.js\");\n const { sliderHandler } = require(\"./slider.js\");\n const { spinnerHandler } = require(\"./spinner.js\");\n const { badgeHandler } = require(\"./badge.js\");\n const { avatarHandler } = require(\"./avatar.js\");\n const { progressBarHandler } = require(\"./progressbar.js\");\n const { videoHandler } = require(\"./video.js\");\n const { audioHandler } = require(\"./audio.js\");\n const { paragraphHandler } = require(\"./paragraph.js\");\n const { routerHandler } = require(\"./router.js\");\n const { routeHandler } = require(\"./route.js\");\n const { hypenAppHandler } = require(\"./hypenapp.js\");\n\n this.register(\"column\", columnHandler);\n this.register(\"row\", rowHandler);\n this.register(\"text\", textHandler);\n this.register(\"image\", imageHandler);\n this.register(\"button\", buttonHandler);\n this.register(\"container\", containerHandler);\n this.register(\"box\", containerHandler);\n this.register(\"center\", centerHandler);\n this.register(\"list\", listHandler);\n this.register(\"input\", inputHandler);\n this.register(\"link\", linkHandler);\n this.register(\"textarea\", textareaHandler);\n this.register(\"checkbox\", checkboxHandler);\n this.register(\"select\", selectHandler);\n this.register(\"spacer\", spacerHandler);\n this.register(\"stack\", stackHandler);\n this.register(\"divider\", dividerHandler);\n this.register(\"grid\", gridHandler);\n this.register(\"card\", cardHandler);\n this.register(\"heading\", headingHandler);\n this.register(\"switch\", switchHandler);\n this.register(\"slider\", sliderHandler);\n this.register(\"spinner\", spinnerHandler);\n this.register(\"badge\", badgeHandler);\n this.register(\"avatar\", avatarHandler);\n this.register(\"progressbar\", progressBarHandler);\n this.register(\"video\", videoHandler);\n this.register(\"audio\", audioHandler);\n this.register(\"paragraph\", paragraphHandler);\n this.register(\"router\", routerHandler);\n this.register(\"route\", routeHandler);\n this.register(\"hypenapp\", hypenAppHandler);\n }\n}\n"
34
+ "/**\n * Route Component - Lazy rendering container for route content\n * Stores component name as metadata, Router handles actual rendering\n */\n\nimport type { ComponentHandler } from \"./index.js\";\nimport { frameworkLoggers } from \"@hypen-space/core/logger\";\n\nconst log = frameworkLoggers.router;\n\nexport const routeHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"div\");\n el.style.display = \"flex\";\n el.style.flexDirection = \"column\";\n el.style.width = \"100%\";\n el.dataset.hypenType = \"route\";\n el.dataset.routeRendered = \"false\"; // Track if component has been rendered\n return el;\n },\n\n applyProps(el: HTMLElement, props: Record<string, any>): void {\n // Extract route path from props\n const path = props.path || props[\"0\"] || \"/\";\n el.dataset.routePath = String(path);\n \n // Check if this is a lazy route (has __lazy flag)\n const isLazy = props.__lazy === true;\n el.dataset.routeLazy = String(isLazy);\n \n // Store component name - either from explicit prop or from lazy child\n const componentName = props.component || props.__lazy_child;\n if (componentName) {\n el.dataset.routeComponent = String(componentName);\n }\n \n log.debug(`Route created: path=\"${path}\", lazy=${isLazy}, component=\"${el.dataset.routeComponent || 'none'}\"`);\n },\n};\n\n",
35
+ "/**\n * HypenApp Component\n *\n * Embeds a remote Hypen app via WebSocket\n *\n * Usage in Hypen DSL:\n * ```hypen\n * HypenApp(\"ws://localhost:3000\")\n *\n * // Or with named prop:\n * HypenApp(url: \"ws://localhost:3000\")\n * ```\n */\n\nimport type { ComponentHandler } from \"./index.js\";\nimport { RemoteEngine } from \"@hypen-space/core/remote/client\";\nimport type { Patch } from \"@hypen-space/core/types\";\nimport { frameworkLoggers } from \"@hypen-space/core/logger\";\n\nconst log = frameworkLoggers.remote;\n\n// Store active HypenApp instances for cleanup\nconst activeInstances = new WeakMap<\n HTMLElement,\n {\n engine: RemoteEngine;\n nodes: Map<string, HTMLElement>;\n }\n>();\n\nexport const hypenAppHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"div\");\n el.dataset.hypenType = \"hypenapp\";\n el.style.display = \"contents\"; // Don't affect layout\n return el;\n },\n\n applyProps(element: HTMLElement, props: Record<string, any>): void {\n // Get URL from props (can be positional \"0\" or named \"url\")\n const url = props[\"0\"] || props.url;\n\n if (!url || typeof url !== \"string\") {\n log.error(\"HypenApp: URL is required\");\n element.innerHTML = '<div style=\"color: red;\">HypenApp: URL required</div>';\n return;\n }\n\n // Check if already connected\n const existing = activeInstances.get(element);\n if (existing) {\n // Already connected, don't reconnect\n return;\n }\n\n // Create the remote engine\n const engine = new RemoteEngine(url, {\n autoReconnect: props.autoReconnect ?? true,\n reconnectInterval: props.reconnectInterval ?? 3000,\n maxReconnectAttempts: props.maxReconnectAttempts ?? 10,\n });\n\n // Map to track created nodes\n const nodes = new Map<string, HTMLElement>();\n let rootId: string | null = null;\n\n // Store instance for cleanup\n activeInstances.set(element, { engine, nodes });\n\n // Set up patch handling\n engine.onPatches((patches) => {\n applyPatches(element, nodes, patches, engine, (id) => {\n if (!rootId) rootId = id;\n });\n });\n\n // Show loading state\n element.innerHTML = '<div class=\"hypen-app-loading\">Connecting...</div>';\n\n // Connect\n engine\n .connect()\n .then(() => {\n // Clear loading state - patches will populate content\n element.innerHTML = \"\";\n log.debug(`HypenApp connected to ${url}`);\n })\n .catch((error) => {\n element.innerHTML = `<div style=\"color: red;\">HypenApp: Connection failed - ${error.message}</div>`;\n log.error(\"HypenApp connection failed:\", error);\n });\n\n // Handle disconnection\n engine.onDisconnect(() => {\n log.debug(\"HypenApp disconnected\");\n });\n\n engine.onError((error) => {\n log.error(\"HypenApp error:\", error);\n });\n\n // Cleanup on element removal\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n for (const removedNode of mutation.removedNodes) {\n if (removedNode === element || (removedNode as Element).contains?.(element)) {\n engine.disconnect();\n activeInstances.delete(element);\n observer.disconnect();\n log.debug(\"HypenApp cleaned up\");\n return;\n }\n }\n }\n });\n\n // Observe parent for removal\n if (element.parentNode) {\n observer.observe(element.parentNode, { childList: true, subtree: true });\n }\n },\n};\n\n/**\n * Minimal patch application for HypenApp container\n */\nfunction applyPatches(\n container: HTMLElement,\n nodes: Map<string, HTMLElement>,\n patches: Patch[],\n engine: RemoteEngine,\n onRoot: (id: string) => void\n): void {\n for (const patch of patches) {\n switch (patch.type) {\n case \"create\": {\n const el = createElement(patch.elementType!, patch.props || {});\n el.dataset.hypenId = patch.id!;\n (el as any).__hypenEngine = engine;\n nodes.set(patch.id!, el);\n break;\n }\n\n case \"setProp\": {\n const el = nodes.get(patch.id!);\n if (el) {\n applyProp(el, patch.name!, patch.value);\n }\n break;\n }\n\n case \"setText\": {\n const el = nodes.get(patch.id!);\n if (el) {\n el.textContent = patch.text!;\n }\n break;\n }\n\n case \"insert\": {\n const parentId = patch.parentId!;\n const parent = parentId === \"root\" ? container : nodes.get(parentId);\n const child = nodes.get(patch.id!);\n const beforeId = patch.beforeId;\n\n if (parent && child) {\n if (parentId === \"root\") {\n onRoot(patch.id!);\n }\n\n if (beforeId) {\n const before = nodes.get(beforeId);\n if (before && before.parentNode === parent) {\n parent.insertBefore(child, before);\n } else if (!parent.contains(child)) {\n parent.appendChild(child);\n }\n } else if (!parent.contains(child)) {\n parent.appendChild(child);\n }\n }\n break;\n }\n\n case \"move\": {\n const parentId = patch.parentId!;\n const parent = parentId === \"root\" ? container : nodes.get(parentId);\n const child = nodes.get(patch.id!);\n const beforeId = patch.beforeId;\n\n if (parent && child) {\n if (beforeId) {\n const before = nodes.get(beforeId);\n if (before && before.parentNode === parent) {\n parent.insertBefore(child, before);\n }\n } else {\n parent.appendChild(child);\n }\n }\n break;\n }\n\n case \"remove\": {\n const el = nodes.get(patch.id!);\n if (el && el.parentNode) {\n el.parentNode.removeChild(el);\n }\n nodes.delete(patch.id!);\n break;\n }\n }\n }\n}\n\n/**\n * Create element by type\n */\nfunction createElement(type: string, props: Record<string, any>): HTMLElement {\n const normalizedType = type.toLowerCase();\n\n // Map Hypen types to HTML elements\n const tagMap: Record<string, string> = {\n column: \"div\",\n row: \"div\",\n text: \"span\",\n button: \"button\",\n input: \"input\",\n image: \"img\",\n container: \"div\",\n box: \"div\",\n center: \"div\",\n list: \"div\",\n spacer: \"div\",\n stack: \"div\",\n divider: \"hr\",\n grid: \"div\",\n card: \"div\",\n heading: \"h2\",\n link: \"a\",\n textarea: \"textarea\",\n checkbox: \"input\",\n select: \"select\",\n slider: \"input\",\n switch: \"input\",\n spinner: \"div\",\n badge: \"span\",\n avatar: \"img\",\n progressbar: \"div\",\n video: \"video\",\n audio: \"audio\",\n };\n\n const tag = tagMap[normalizedType] || \"div\";\n const el = document.createElement(tag);\n el.dataset.hypenType = normalizedType;\n\n // Apply basic styles\n if (normalizedType === \"column\") {\n el.style.display = \"flex\";\n el.style.flexDirection = \"column\";\n } else if (normalizedType === \"row\") {\n el.style.display = \"flex\";\n el.style.flexDirection = \"row\";\n } else if (normalizedType === \"center\") {\n el.style.display = \"flex\";\n el.style.alignItems = \"center\";\n el.style.justifyContent = \"center\";\n } else if (normalizedType === \"text\") {\n // Text content from props\n if (props[\"0\"]) {\n el.textContent = String(props[\"0\"]);\n }\n } else if (normalizedType === \"button\") {\n el.style.cursor = \"pointer\";\n } else if (normalizedType === \"checkbox\" || normalizedType === \"switch\") {\n (el as HTMLInputElement).type = \"checkbox\";\n } else if (normalizedType === \"slider\") {\n (el as HTMLInputElement).type = \"range\";\n }\n\n return el;\n}\n\n/**\n * Apply a prop to an element\n */\nfunction applyProp(el: HTMLElement, name: string, value: any): void {\n // Text content\n if (name === \"0\" || name === \"text\") {\n el.textContent = String(value);\n return;\n }\n\n // Style props\n const styleProps: Record<string, string> = {\n padding: \"padding\",\n margin: \"margin\",\n backgroundColor: \"backgroundColor\",\n background: \"background\",\n color: \"color\",\n fontSize: \"fontSize\",\n fontWeight: \"fontWeight\",\n width: \"width\",\n height: \"height\",\n minWidth: \"minWidth\",\n minHeight: \"minHeight\",\n maxWidth: \"maxWidth\",\n maxHeight: \"maxHeight\",\n borderRadius: \"borderRadius\",\n border: \"border\",\n gap: \"gap\",\n flex: \"flex\",\n opacity: \"opacity\",\n overflow: \"overflow\",\n };\n\n if (styleProps[name]) {\n const cssValue = typeof value === \"number\" ? `${value}px` : String(value);\n (el.style as any)[styleProps[name]] = cssValue;\n return;\n }\n\n // Event handlers\n if (name === \"onClick\" || name === \"onclick\") {\n el.onclick = () => {\n const engine = (el as any).__hypenEngine as RemoteEngine;\n if (engine && typeof value === \"string\" && value.startsWith(\"@actions.\")) {\n const action = value.replace(\"@actions.\", \"\");\n engine.dispatchAction(action);\n }\n };\n return;\n }\n\n // Other attributes\n el.setAttribute(name, String(value));\n}\n\n/**\n * Disconnect a HypenApp instance\n */\nexport function disconnectHypenApp(element: HTMLElement): void {\n const instance = activeInstances.get(element);\n if (instance) {\n instance.engine.disconnect();\n activeInstances.delete(element);\n }\n}\n",
36
+ "/**\n * App Component - Root application container\n *\n * Full-screen vertical flex container. This is the default root component\n * created by `hypen init` and referenced in docs/examples.\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\nexport const appHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"div\");\n el.style.display = \"flex\";\n el.style.flexDirection = \"column\";\n el.style.minHeight = \"100vh\";\n el.style.width = \"100%\";\n el.dataset.hypenType = \"app\";\n return el;\n },\n};\n",
37
+ "/**\n * Component Registry\n *\n * Manages mappings from Hypen component types to DOM elements\n */\n\nexport interface ComponentHandler {\n create(): HTMLElement;\n applyProps?(element: HTMLElement, props: Record<string, any>): void;\n}\n\nexport class ComponentRegistry {\n private handlers: Map<string, ComponentHandler> = new Map();\n\n constructor() {\n this.registerDefaults();\n }\n\n /**\n * Register a component handler\n */\n register(type: string, handler: ComponentHandler): void {\n this.handlers.set(type.toLowerCase(), handler);\n }\n\n /**\n * Get handler for a component type\n */\n get(type: string): ComponentHandler | undefined {\n if (!type) return undefined;\n return this.handlers.get(type.toLowerCase());\n }\n\n /**\n * Create element for a component type\n */\n createElement(type: string, props: Record<string, any> = {}): HTMLElement | null {\n if (!type) return null;\n const handler = this.get(type);\n if (!handler) return null;\n\n const element = handler.create();\n if (handler.applyProps) {\n handler.applyProps(element, props);\n }\n return element;\n }\n\n /**\n * Register all default Hypen components\n */\n private registerDefaults(): void {\n // Import and register all component handlers\n const { columnHandler } = require(\"./column.js\");\n const { rowHandler } = require(\"./row.js\");\n const { textHandler } = require(\"./text.js\");\n const { imageHandler } = require(\"./image.js\");\n const { buttonHandler } = require(\"./button.js\");\n const { containerHandler } = require(\"./container.js\");\n const { centerHandler } = require(\"./center.js\");\n const { listHandler } = require(\"./list.js\");\n const { inputHandler } = require(\"./input.js\");\n const { linkHandler } = require(\"./link.js\");\n const { textareaHandler } = require(\"./textarea.js\");\n const { checkboxHandler } = require(\"./checkbox.js\");\n const { selectHandler } = require(\"./select.js\");\n const { spacerHandler } = require(\"./spacer.js\");\n const { stackHandler } = require(\"./stack.js\");\n const { dividerHandler } = require(\"./divider.js\");\n const { gridHandler } = require(\"./grid.js\");\n const { cardHandler } = require(\"./card.js\");\n const { headingHandler } = require(\"./heading.js\");\n const { switchHandler } = require(\"./switch.js\");\n const { sliderHandler } = require(\"./slider.js\");\n const { spinnerHandler } = require(\"./spinner.js\");\n const { badgeHandler } = require(\"./badge.js\");\n const { avatarHandler } = require(\"./avatar.js\");\n const { progressBarHandler } = require(\"./progressbar.js\");\n const { videoHandler } = require(\"./video.js\");\n const { audioHandler } = require(\"./audio.js\");\n const { paragraphHandler } = require(\"./paragraph.js\");\n const { routerHandler } = require(\"./router.js\");\n const { routeHandler } = require(\"./route.js\");\n const { hypenAppHandler } = require(\"./hypenapp.js\");\n const { appHandler } = require(\"./app.js\");\n\n this.register(\"app\", appHandler);\n this.register(\"column\", columnHandler);\n this.register(\"row\", rowHandler);\n this.register(\"text\", textHandler);\n this.register(\"image\", imageHandler);\n this.register(\"button\", buttonHandler);\n this.register(\"container\", containerHandler);\n this.register(\"box\", containerHandler);\n this.register(\"center\", centerHandler);\n this.register(\"list\", listHandler);\n this.register(\"input\", inputHandler);\n this.register(\"link\", linkHandler);\n this.register(\"textarea\", textareaHandler);\n this.register(\"checkbox\", checkboxHandler);\n this.register(\"select\", selectHandler);\n this.register(\"spacer\", spacerHandler);\n this.register(\"stack\", stackHandler);\n this.register(\"divider\", dividerHandler);\n this.register(\"grid\", gridHandler);\n this.register(\"card\", cardHandler);\n this.register(\"heading\", headingHandler);\n this.register(\"switch\", switchHandler);\n this.register(\"slider\", sliderHandler);\n this.register(\"spinner\", spinnerHandler);\n this.register(\"badge\", badgeHandler);\n this.register(\"avatar\", avatarHandler);\n this.register(\"progressbar\", progressBarHandler);\n this.register(\"video\", videoHandler);\n this.register(\"audio\", audioHandler);\n this.register(\"paragraph\", paragraphHandler);\n this.register(\"router\", routerHandler);\n this.register(\"route\", routeHandler);\n this.register(\"hypenapp\", hypenAppHandler);\n }\n}\n"
37
38
  ],
38
- "mappings": "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",
39
- "debugId": "E20FF45ABB595CA864756E2164756E21",
39
+ "mappings": "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",
40
+ "debugId": "9BBDD047A932849064756E2164756E21",
40
41
  "names": []
41
42
  }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Input Component
3
+ */
4
+ import type { ComponentHandler } from "./index.js";
5
+ export declare const inputHandler: ComponentHandler;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Link Component
3
+ */
4
+ import type { ComponentHandler } from "./index.js";
5
+ export declare const linkHandler: ComponentHandler;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * List Component - Scrollable stack
3
+ */
4
+ import type { ComponentHandler } from "./index.js";
5
+ export declare const listHandler: ComponentHandler;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Paragraph Component
3
+ */
4
+ import type { ComponentHandler } from "./index.js";
5
+ export declare const paragraphHandler: ComponentHandler;