semajsx 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{computed-BpjqvQu1.mjs → computed-BidG06Lt.mjs} +2 -2
- package/dist/{computed-BpjqvQu1.mjs.map → computed-BidG06Lt.mjs.map} +1 -1
- package/dist/{document-OGuk9jhK.mjs → document-BOJDaiBc.mjs} +19 -4
- package/dist/document-BOJDaiBc.mjs.map +1 -0
- package/dist/{document-DFsOtfef.mjs → document-CwHVG_PJ.mjs} +2 -2
- package/dist/dom/index.d.mts +68 -3
- package/dist/dom/index.d.mts.map +1 -1
- package/dist/dom/index.mjs +4 -4
- package/dist/dom/jsx-dev-runtime.d.mts +4 -4
- package/dist/dom/jsx-dev-runtime.mjs +1 -1
- package/dist/dom/jsx-runtime.d.mts +4 -4
- package/dist/dom/jsx-runtime.mjs +2 -2
- package/dist/{helpers-DrifjCXb.d.mts → helpers-CfRDJgcP.d.mts} +3 -3
- package/dist/{helpers-DrifjCXb.d.mts.map → helpers-CfRDJgcP.d.mts.map} +1 -1
- package/dist/{index-DS5X3Pvb.d.mts → index-B1pjI-Su.d.mts} +2 -2
- package/dist/{index-DS5X3Pvb.d.mts.map → index-B1pjI-Su.d.mts.map} +1 -1
- package/dist/index-Ch9GwToI.d.mts +81 -0
- package/dist/index-Ch9GwToI.d.mts.map +1 -0
- package/dist/index.d.mts +7 -7
- package/dist/index.mjs +5 -5
- package/dist/{island-marker-hZdmHMvx.d.mts → island-marker-BJIO07Vj.d.mts} +1 -1
- package/dist/island-marker-BJIO07Vj.d.mts.map +1 -0
- package/dist/{jsx-CGW4OyqA.d.mts → jsx-fNlLjLou.d.mts} +2 -2
- package/dist/{jsx-CGW4OyqA.d.mts.map → jsx-fNlLjLou.d.mts.map} +1 -1
- package/dist/{jsx-runtime-DU8DRISG.d.mts → jsx-runtime-BFuFPDzn.d.mts} +3 -3
- package/dist/{jsx-runtime-DU8DRISG.d.mts.map → jsx-runtime-BFuFPDzn.d.mts.map} +1 -1
- package/dist/jsx-runtime-D9ZNjMJ2.mjs.map +1 -1
- package/dist/{jsx-runtime-mBpL8czJ.d.mts → jsx-runtime-DZx2Yv-t.d.mts} +28 -6
- package/dist/{jsx-runtime-mBpL8czJ.d.mts.map → jsx-runtime-DZx2Yv-t.d.mts.map} +1 -1
- package/dist/lucide-CVtHepGM.mjs +126 -0
- package/dist/lucide-CVtHepGM.mjs.map +1 -0
- package/dist/{resource-B1IudM8_.d.mts → resource-BQI6AeJ0.d.mts} +23 -3
- package/dist/resource-BQI6AeJ0.d.mts.map +1 -0
- package/dist/{resource-BjsDAkbG.mjs → resource-DSlXDZZi.mjs} +2 -2
- package/dist/{resource-BjsDAkbG.mjs.map → resource-DSlXDZZi.mjs.map} +1 -1
- package/dist/signal/index.d.mts +2 -2
- package/dist/signal/index.mjs +3 -3
- package/dist/{signal-4PgGfydw.mjs → signal-BN8vHXDb.mjs} +1 -1
- package/dist/{signal-4PgGfydw.mjs.map → signal-BN8vHXDb.mjs.map} +1 -1
- package/dist/{signal-CLsaPA7c.d.mts → signal-BwxUlXKs.d.mts} +1 -1
- package/dist/{signal-CLsaPA7c.d.mts.map → signal-BwxUlXKs.d.mts.map} +1 -1
- package/dist/{src-CRi0xsNK.mjs → src-BqX3sryB.mjs} +68 -5
- package/dist/src-BqX3sryB.mjs.map +1 -0
- package/dist/{src-DEoBG1zB.mjs → src-DUpFNNM_.mjs} +4 -4
- package/dist/{src-DEoBG1zB.mjs.map → src-DUpFNNM_.mjs.map} +1 -1
- package/dist/{src-BlS3Hc-L.mjs → src-DW3tIczg.mjs} +75 -5
- package/dist/src-DW3tIczg.mjs.map +1 -0
- package/dist/{src-Jbt_w0hc.mjs → src-Ds9vl42d.mjs} +37 -35
- package/dist/src-Ds9vl42d.mjs.map +1 -0
- package/dist/{src-iC-NFwTy.mjs → src-DuSN6go_.mjs} +79 -22
- package/dist/src-DuSN6go_.mjs.map +1 -0
- package/dist/src-L88LbwEv.mjs +868 -0
- package/dist/src-L88LbwEv.mjs.map +1 -0
- package/dist/ssg/index.d.mts +4 -182
- package/dist/ssg/index.d.mts.map +1 -1
- package/dist/ssg/index.mjs +7 -756
- package/dist/ssg/index.mjs.map +1 -1
- package/dist/ssg/plugins/docs-theme.d.mts +218 -0
- package/dist/ssg/plugins/docs-theme.d.mts.map +1 -0
- package/dist/ssg/plugins/docs-theme.mjs +2252 -0
- package/dist/ssg/plugins/docs-theme.mjs.map +1 -0
- package/dist/ssg/plugins/lucide.d.mts +3 -0
- package/dist/ssg/plugins/lucide.mjs +7 -0
- package/dist/ssr/client.d.mts +3 -3
- package/dist/ssr/client.mjs +5 -5
- package/dist/ssr/index.d.mts +3 -3
- package/dist/ssr/index.d.mts.map +1 -1
- package/dist/ssr/index.mjs +6 -5
- package/dist/style/index.d.mts +2 -2
- package/dist/style/index.d.mts.map +1 -1
- package/dist/style/index.mjs +1 -1
- package/dist/style/react.d.mts +2 -2
- package/dist/style/react.mjs +2 -2
- package/dist/style/vue.d.mts +2 -2
- package/dist/style/vue.mjs +2 -2
- package/dist/terminal/index.d.mts +4 -4
- package/dist/terminal/index.mjs +2 -2
- package/dist/terminal/jsx-dev-runtime.d.mts +4 -4
- package/dist/terminal/jsx-dev-runtime.mjs +1 -1
- package/dist/terminal/jsx-runtime.d.mts +4 -4
- package/dist/terminal/jsx-runtime.mjs +1 -1
- package/dist/{types-DlNR9ZaJ.d.mts → types-BlaUrkq0.d.mts} +2 -2
- package/dist/{types-DlNR9ZaJ.d.mts.map → types-BlaUrkq0.d.mts.map} +1 -1
- package/dist/types-C9fiRu6l.d.mts +220 -0
- package/dist/types-C9fiRu6l.d.mts.map +1 -0
- package/dist/{types-Dgj6n-EE.d.mts → types-CZMcXQTW.d.mts} +9 -4
- package/dist/types-CZMcXQTW.d.mts.map +1 -0
- package/dist/{types-Bjx1Pp14.d.mts → types-D0jRO840.d.mts} +1 -1
- package/dist/{types-Bjx1Pp14.d.mts.map → types-D0jRO840.d.mts.map} +1 -1
- package/dist/{types-DEi0apQO.d.mts → types-DucvOZQ2.d.mts} +2 -2
- package/dist/{types-DEi0apQO.d.mts.map → types-DucvOZQ2.d.mts.map} +1 -1
- package/dist/{utils-BrGmTgfG.mjs → utils-DbTAs943.mjs} +1 -1
- package/dist/{utils-BrGmTgfG.mjs.map → utils-DbTAs943.mjs.map} +1 -1
- package/package.json +30 -2
- package/dist/document-OGuk9jhK.mjs.map +0 -1
- package/dist/island-marker-hZdmHMvx.d.mts.map +0 -1
- package/dist/jsx-runtime-D2B2BK8X.mjs +0 -4
- package/dist/resource-B1IudM8_.d.mts.map +0 -1
- package/dist/src-BlS3Hc-L.mjs.map +0 -1
- package/dist/src-CRi0xsNK.mjs.map +0 -1
- package/dist/src-Jbt_w0hc.mjs.map +0 -1
- package/dist/src-iC-NFwTy.mjs.map +0 -1
- package/dist/types-Dgj6n-EE.d.mts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as scheduleUpdate } from "./signal-
|
|
1
|
+
import { r as scheduleUpdate } from "./signal-BN8vHXDb.mjs";
|
|
2
2
|
|
|
3
3
|
//#region ../signal/src/computed.ts
|
|
4
4
|
function computed(deps, compute) {
|
|
@@ -38,4 +38,4 @@ const memo = computed;
|
|
|
38
38
|
|
|
39
39
|
//#endregion
|
|
40
40
|
export { memo as n, computed as t };
|
|
41
|
-
//# sourceMappingURL=computed-
|
|
41
|
+
//# sourceMappingURL=computed-BidG06Lt.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computed-
|
|
1
|
+
{"version":3,"file":"computed-BidG06Lt.mjs","names":[],"sources":["../../signal/src/computed.ts"],"sourcesContent":["import type { ReadableSignal } from \"./types\";\nimport { scheduleUpdate } from \"./batch\";\n\n/**\n * Create a computed signal with declarative dependencies\n *\n * @example\n * const count = signal(0);\n * const doubled = computed([count], c => c * 2);\n *\n * @example\n * const firstName = signal('John');\n * const lastName = signal('Doe');\n * const fullName = computed([firstName, lastName], (f, l) => `${f} ${l}`);\n */\n\n// Single dependency overload\nexport function computed<T, R>(dep: ReadableSignal<T>, compute: (value: T) => R): ReadableSignal<R>;\n\n// Multiple dependencies overload\nexport function computed<T extends readonly ReadableSignal<any>[], R>(\n deps: [...T],\n compute: (...values: { [K in keyof T]: T[K] extends ReadableSignal<infer V> ? V : never }) => R,\n): ReadableSignal<R>;\n\n// Implementation\nexport function computed(deps: any, compute: any): ReadableSignal<any> {\n const depsArray: ReadableSignal<any>[] = Array.isArray(deps) ? deps : [deps];\n\n let value: any;\n const subscribers = new Set<(value: any) => void>();\n\n // Get current values from all dependencies\n const getValues = () => depsArray.map((dep) => dep.value);\n\n // Recompute when dependencies change\n const recompute = () => {\n const values = getValues();\n const newValue = Array.isArray(deps) ? compute(...values) : compute(values[0]);\n\n if (!Object.is(value, newValue)) {\n value = newValue;\n notify();\n }\n };\n\n // Notify subscribers\n const notify = () => {\n // Schedule the notification instead of running it immediately\n // This allows batching multiple updates into a single microtask\n scheduleUpdate(() => {\n // Directly iterate over the Set - no need to copy to array\n for (const listener of subscribers) {\n listener(value);\n }\n });\n };\n\n // Initial computation\n const initialValues = getValues();\n value = Array.isArray(deps) ? compute(...initialValues) : compute(initialValues[0]);\n\n // Subscribe to all dependencies\n // Note: unsubscribers are not currently used as we don't have a dispose mechanism\n // Keeping for future dispose mechanism\n // @ts-ignore - TS6133: variable is declared but never used\n const _unsubscribers = depsArray.map((dep) => dep.subscribe(recompute));\n\n return {\n get value() {\n return value;\n },\n\n subscribe(listener: (value: any) => void) {\n subscribers.add(listener);\n return () => {\n subscribers.delete(listener);\n };\n },\n };\n}\n\nexport const memo: typeof computed = computed;\n"],"mappings":";;;AA0BA,SAAgB,SAAS,MAAW,SAAmC;CACrE,MAAM,YAAmC,MAAM,QAAQ,KAAK,GAAG,OAAO,CAAC,KAAK;CAE5E,IAAI;CACJ,MAAM,8BAAc,IAAI,KAA2B;CAGnD,MAAM,kBAAkB,UAAU,KAAK,QAAQ,IAAI,MAAM;CAGzD,MAAM,kBAAkB;EACtB,MAAM,SAAS,WAAW;EAC1B,MAAM,WAAW,MAAM,QAAQ,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,OAAO,GAAG;AAE9E,MAAI,CAAC,OAAO,GAAG,OAAO,SAAS,EAAE;AAC/B,WAAQ;AACR,WAAQ;;;CAKZ,MAAM,eAAe;AAGnB,uBAAqB;AAEnB,QAAK,MAAM,YAAY,YACrB,UAAS,MAAM;IAEjB;;CAIJ,MAAM,gBAAgB,WAAW;AACjC,SAAQ,MAAM,QAAQ,KAAK,GAAG,QAAQ,GAAG,cAAc,GAAG,QAAQ,cAAc,GAAG;AAM5D,WAAU,KAAK,QAAQ,IAAI,UAAU,UAAU,CAAC;AAEvE,QAAO;EACL,IAAI,QAAQ;AACV,UAAO;;EAGT,UAAU,UAAgC;AACxC,eAAY,IAAI,SAAS;AACzB,gBAAa;AACX,gBAAY,OAAO,SAAS;;;EAGjC;;AAGH,MAAa,OAAwB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a as jsxs, i as jsx, v as Fragment } from "./src-DW3tIczg.mjs";
|
|
2
2
|
|
|
3
3
|
//#region ../ssr/src/document.tsx
|
|
4
4
|
/** @jsxImportSource @semajsx/dom */
|
|
@@ -85,7 +85,22 @@ function renderElement(tag, props, children) {
|
|
|
85
85
|
"img",
|
|
86
86
|
"input"
|
|
87
87
|
].includes(tag)) return `<${tag}${attrs} />`;
|
|
88
|
-
return `<${tag}${attrs}>${(children || []).map((child) => renderDocumentVNode(child)).join("")}</${tag}>`;
|
|
88
|
+
return `<${tag}${attrs}>${tag === "style" || tag === "script" ? (children || []).map((child) => extractRawText(child)).join("") : (children || []).map((child) => renderDocumentVNode(child)).join("")}</${tag}>`;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Extract raw text from a VNode without HTML escaping.
|
|
92
|
+
* Used for <style> and <script> content.
|
|
93
|
+
*/
|
|
94
|
+
function extractRawText(vnode) {
|
|
95
|
+
if (vnode == null || typeof vnode === "boolean") return "";
|
|
96
|
+
if (typeof vnode === "string" || typeof vnode === "number") return String(vnode);
|
|
97
|
+
if (Array.isArray(vnode)) return vnode.map(extractRawText).join("");
|
|
98
|
+
if (typeof vnode === "object" && "type" in vnode) {
|
|
99
|
+
if (vnode.type === "#text") return String(vnode.props?.nodeValue ?? "");
|
|
100
|
+
if (vnode.type === "#signal") return (vnode.children || []).map(extractRawText).join("");
|
|
101
|
+
return renderDocumentVNode(vnode);
|
|
102
|
+
}
|
|
103
|
+
return "";
|
|
89
104
|
}
|
|
90
105
|
/**
|
|
91
106
|
* Render attributes
|
|
@@ -99,7 +114,7 @@ function renderAttributes(props) {
|
|
|
99
114
|
attrs.push(key);
|
|
100
115
|
continue;
|
|
101
116
|
}
|
|
102
|
-
const attrName = key === "className" ? "class" : key === "htmlFor" ? "for" : key === "charSet" ? "charset" : key;
|
|
117
|
+
const attrName = key === "className" ? "class" : key === "htmlFor" ? "for" : key === "charSet" ? "charset" : key === "crossOrigin" ? "crossorigin" : key === "httpEquiv" ? "http-equiv" : key;
|
|
103
118
|
attrs.push(`${attrName}="${escapeHTML(String(value))}"`);
|
|
104
119
|
}
|
|
105
120
|
return attrs.length > 0 ? " " + attrs.join(" ") : "";
|
|
@@ -113,4 +128,4 @@ function escapeHTML(str) {
|
|
|
113
128
|
|
|
114
129
|
//#endregion
|
|
115
130
|
export { renderDocument as n, DefaultDocument as t };
|
|
116
|
-
//# sourceMappingURL=document-
|
|
131
|
+
//# sourceMappingURL=document-BOJDaiBc.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-BOJDaiBc.mjs","names":[],"sources":["../../ssr/src/document.tsx"],"sourcesContent":["/** @jsxImportSource @semajsx/dom */\n\nimport { Fragment } from \"@semajsx/core\";\nimport type { DocumentTemplate } from \"./shared/types\";\n\n/**\n * Default HTML document template\n *\n * This is a simple, production-ready HTML5 document template.\n * You can customize it by providing your own document template to the router.\n *\n * @example\n * ```tsx\n * const router = createViteRouter(routes, {\n * document: DefaultDocument,\n * title: \"My App\" // Required if using DefaultDocument\n * });\n * ```\n */\nexport const DefaultDocument: DocumentTemplate = ({ children, scripts, css, title }) => (\n <html lang=\"en\">\n <head>\n <meta charSet=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n {title && <title>{title}</title>}\n {css.map((href) => (\n <link key={href} rel=\"stylesheet\" href={href} />\n ))}\n </head>\n <body>\n {children}\n {scripts}\n </body>\n </html>\n);\n\n/**\n * Render a document VNode to a complete HTML string\n * Prepends <!DOCTYPE html> to the rendered output\n *\n * @param documentVNode - The document VNode (should be <html> element)\n * @returns Complete HTML string with doctype\n */\nexport function renderDocument(documentVNode: any): string {\n // Import renderToString from render.ts\n // We can't import it directly to avoid circular dependencies\n // So we use a simple HTML renderer for the document shell\n\n const html = renderDocumentVNode(documentVNode);\n return `<!DOCTYPE html>\\n${html}`;\n}\n\n/**\n * Simple HTML renderer for document structure\n * This handles the outer HTML/head/body structure without islands\n */\nfunction renderDocumentVNode(vnode: any): string {\n if (vnode == null) {\n return \"\";\n }\n\n if (typeof vnode === \"string\" || typeof vnode === \"number\") {\n const str = String(vnode);\n // Check if it's already rendered HTML (starts with < or contains HTML tags)\n if (str.startsWith(\"<\") || str.includes(\"</\")) {\n return str;\n }\n return escapeHTML(str);\n }\n\n if (typeof vnode === \"boolean\") {\n return \"\";\n }\n\n if (Array.isArray(vnode)) {\n return vnode.map((child) => renderDocumentVNode(child)).join(\"\");\n }\n\n if (typeof vnode !== \"object\" || !(\"type\" in vnode)) {\n return \"\";\n }\n\n const { type, props, children } = vnode;\n\n // Handle dangerouslySetInnerHTML (for raw HTML injection)\n if (props?.dangerouslySetInnerHTML?.__html) {\n return props.dangerouslySetInnerHTML.__html;\n }\n\n // Handle Fragment (Symbol type)\n if (type === Fragment) {\n return (children || []).map((child: any) => renderDocumentVNode(child)).join(\"\");\n }\n\n // Handle special VNode types\n if (typeof type === \"string\") {\n // Handle internal node types like #text, #signal\n if (type.startsWith(\"#\")) {\n if (type === \"#text\") {\n const value = props?.nodeValue ?? \"\";\n // Check if it's already rendered HTML\n if (typeof value === \"string\" && (value.startsWith(\"<\") || value.includes(\"</\"))) {\n return value;\n }\n return escapeHTML(String(value));\n }\n // For #signal and other special types, render children\n return (children || []).map((child: any) => renderDocumentVNode(child)).join(\"\");\n }\n return renderElement(type, props, children);\n }\n\n if (typeof type === \"function\") {\n const result = type(props || {});\n return renderDocumentVNode(result);\n }\n\n return \"\";\n}\n\n/**\n * Render an HTML element\n */\nfunction renderElement(tag: string, props: any, children: any[]): string {\n const attrs = renderAttributes(props || {});\n\n // Self-closing tags\n const selfClosing = [\"meta\", \"link\", \"br\", \"hr\", \"img\", \"input\"];\n if (selfClosing.includes(tag)) {\n return `<${tag}${attrs} />`;\n }\n\n // Raw text elements: content must NOT be HTML-escaped\n const isRawText = tag === \"style\" || tag === \"script\";\n const childrenHTML = isRawText\n ? (children || []).map((child) => extractRawText(child)).join(\"\")\n : (children || []).map((child) => renderDocumentVNode(child)).join(\"\");\n\n return `<${tag}${attrs}>${childrenHTML}</${tag}>`;\n}\n\n/**\n * Extract raw text from a VNode without HTML escaping.\n * Used for <style> and <script> content.\n */\nfunction extractRawText(vnode: any): string {\n if (vnode == null || typeof vnode === \"boolean\") return \"\";\n if (typeof vnode === \"string\" || typeof vnode === \"number\") return String(vnode);\n if (Array.isArray(vnode)) return vnode.map(extractRawText).join(\"\");\n if (typeof vnode === \"object\" && \"type\" in vnode) {\n if (vnode.type === \"#text\") return String(vnode.props?.nodeValue ?? \"\");\n if (vnode.type === \"#signal\") return (vnode.children || []).map(extractRawText).join(\"\");\n // Nested elements inside style/script (rare) - render normally\n return renderDocumentVNode(vnode);\n }\n return \"\";\n}\n\n/**\n * Render attributes\n */\nfunction renderAttributes(props: Record<string, any>): string {\n const attrs: string[] = [];\n\n for (const [key, value] of Object.entries(props)) {\n if (key === \"children\" || key === \"key\" || key === \"ref\" || key === \"dangerouslySetInnerHTML\") {\n continue;\n }\n\n if (value == null || value === false) {\n continue;\n }\n\n // Boolean attributes\n if (value === true) {\n attrs.push(key);\n continue;\n }\n\n // Map React/JSX attribute names to HTML\n const attrName =\n key === \"className\"\n ? \"class\"\n : key === \"htmlFor\"\n ? \"for\"\n : key === \"charSet\"\n ? \"charset\"\n : key === \"crossOrigin\"\n ? \"crossorigin\"\n : key === \"httpEquiv\"\n ? \"http-equiv\"\n : key;\n\n attrs.push(`${attrName}=\"${escapeHTML(String(value))}\"`);\n }\n\n return attrs.length > 0 ? \" \" + attrs.join(\" \") : \"\";\n}\n\n/**\n * Escape HTML special characters\n */\nfunction escapeHTML(str: string): string {\n return str\n .replace(/&/g, \"&\")\n .replace(/</g, \"<\")\n .replace(/>/g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAmBA,MAAa,mBAAqC,EAAE,UAAU,SAAS,KAAK,YAC1E,qBAAC;CAAK,MAAK;YACT,qBAAC;EACC,oBAAC,UAAK,SAAQ,UAAU;EACxB,oBAAC;GAAK,MAAK;GAAW,SAAQ;IAA0C;EACvE,SAAS,oBAAC,qBAAO,QAAc;EAC/B,IAAI,KAAK,SACR,oBAAC;GAAgB,KAAI;GAAmB;KAA7B,KAAqC,CAChD;KACG,EACP,qBAAC,qBACE,UACA,WACI;EACF;;;;;;;;AAUT,SAAgB,eAAe,eAA4B;AAMzD,QAAO,oBADM,oBAAoB,cAAc;;;;;;AAQjD,SAAS,oBAAoB,OAAoB;AAC/C,KAAI,SAAS,KACX,QAAO;AAGT,KAAI,OAAO,UAAU,YAAY,OAAO,UAAU,UAAU;EAC1D,MAAM,MAAM,OAAO,MAAM;AAEzB,MAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,KAAK,CAC3C,QAAO;AAET,SAAO,WAAW,IAAI;;AAGxB,KAAI,OAAO,UAAU,UACnB,QAAO;AAGT,KAAI,MAAM,QAAQ,MAAM,CACtB,QAAO,MAAM,KAAK,UAAU,oBAAoB,MAAM,CAAC,CAAC,KAAK,GAAG;AAGlE,KAAI,OAAO,UAAU,YAAY,EAAE,UAAU,OAC3C,QAAO;CAGT,MAAM,EAAE,MAAM,OAAO,aAAa;AAGlC,KAAI,OAAO,yBAAyB,OAClC,QAAO,MAAM,wBAAwB;AAIvC,KAAI,SAAS,SACX,SAAQ,YAAY,EAAE,EAAE,KAAK,UAAe,oBAAoB,MAAM,CAAC,CAAC,KAAK,GAAG;AAIlF,KAAI,OAAO,SAAS,UAAU;AAE5B,MAAI,KAAK,WAAW,IAAI,EAAE;AACxB,OAAI,SAAS,SAAS;IACpB,MAAM,QAAQ,OAAO,aAAa;AAElC,QAAI,OAAO,UAAU,aAAa,MAAM,WAAW,IAAI,IAAI,MAAM,SAAS,KAAK,EAC7E,QAAO;AAET,WAAO,WAAW,OAAO,MAAM,CAAC;;AAGlC,WAAQ,YAAY,EAAE,EAAE,KAAK,UAAe,oBAAoB,MAAM,CAAC,CAAC,KAAK,GAAG;;AAElF,SAAO,cAAc,MAAM,OAAO,SAAS;;AAG7C,KAAI,OAAO,SAAS,WAElB,QAAO,oBADQ,KAAK,SAAS,EAAE,CAAC,CACE;AAGpC,QAAO;;;;;AAMT,SAAS,cAAc,KAAa,OAAY,UAAyB;CACvE,MAAM,QAAQ,iBAAiB,SAAS,EAAE,CAAC;AAI3C,KADoB;EAAC;EAAQ;EAAQ;EAAM;EAAM;EAAO;EAAQ,CAChD,SAAS,IAAI,CAC3B,QAAO,IAAI,MAAM,MAAM;AASzB,QAAO,IAAI,MAAM,MAAM,GALL,QAAQ,WAAW,QAAQ,YAExC,YAAY,EAAE,EAAE,KAAK,UAAU,eAAe,MAAM,CAAC,CAAC,KAAK,GAAG,IAC9D,YAAY,EAAE,EAAE,KAAK,UAAU,oBAAoB,MAAM,CAAC,CAAC,KAAK,GAAG,CAEjC,IAAI,IAAI;;;;;;AAOjD,SAAS,eAAe,OAAoB;AAC1C,KAAI,SAAS,QAAQ,OAAO,UAAU,UAAW,QAAO;AACxD,KAAI,OAAO,UAAU,YAAY,OAAO,UAAU,SAAU,QAAO,OAAO,MAAM;AAChF,KAAI,MAAM,QAAQ,MAAM,CAAE,QAAO,MAAM,IAAI,eAAe,CAAC,KAAK,GAAG;AACnE,KAAI,OAAO,UAAU,YAAY,UAAU,OAAO;AAChD,MAAI,MAAM,SAAS,QAAS,QAAO,OAAO,MAAM,OAAO,aAAa,GAAG;AACvE,MAAI,MAAM,SAAS,UAAW,SAAQ,MAAM,YAAY,EAAE,EAAE,IAAI,eAAe,CAAC,KAAK,GAAG;AAExF,SAAO,oBAAoB,MAAM;;AAEnC,QAAO;;;;;AAMT,SAAS,iBAAiB,OAAoC;CAC5D,MAAM,QAAkB,EAAE;AAE1B,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,MAAM,EAAE;AAChD,MAAI,QAAQ,cAAc,QAAQ,SAAS,QAAQ,SAAS,QAAQ,0BAClE;AAGF,MAAI,SAAS,QAAQ,UAAU,MAC7B;AAIF,MAAI,UAAU,MAAM;AAClB,SAAM,KAAK,IAAI;AACf;;EAIF,MAAM,WACJ,QAAQ,cACJ,UACA,QAAQ,YACN,QACA,QAAQ,YACN,YACA,QAAQ,gBACN,gBACA,QAAQ,cACN,eACA;AAEd,QAAM,KAAK,GAAG,SAAS,IAAI,WAAW,OAAO,MAAM,CAAC,CAAC,GAAG;;AAG1D,QAAO,MAAM,SAAS,IAAI,MAAM,MAAM,KAAK,IAAI,GAAG;;;;;AAMpD,SAAS,WAAW,KAAqB;AACvC,QAAO,IACJ,QAAQ,MAAM,QAAQ,CACtB,QAAQ,MAAM,OAAO,CACrB,QAAQ,MAAM,OAAO,CACrB,QAAQ,MAAM,SAAS,CACvB,QAAQ,MAAM,QAAQ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "./src-
|
|
1
|
+
import "./src-DW3tIczg.mjs";
|
|
2
2
|
import "./jsx-runtime-D9ZNjMJ2.mjs";
|
|
3
|
-
import { n as renderDocument, t as DefaultDocument } from "./document-
|
|
3
|
+
import { n as renderDocument, t as DefaultDocument } from "./document-BOJDaiBc.mjs";
|
|
4
4
|
|
|
5
5
|
export { renderDocument };
|
package/dist/dom/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as Signal } from "../types-
|
|
1
|
+
import { c as JSXNode, d as VNode, u as Ref } from "../types-CZMcXQTW.mjs";
|
|
2
|
+
import { r as Signal } from "../types-BlaUrkq0.mjs";
|
|
3
3
|
|
|
4
4
|
//#region ../dom/src/operations.d.ts
|
|
5
5
|
/**
|
|
@@ -99,6 +99,37 @@ declare function createPortal(children: JSXNode, container: Element): VNode;
|
|
|
99
99
|
*/
|
|
100
100
|
declare function PortalComponent(props: PortalProps): VNode;
|
|
101
101
|
//#endregion
|
|
102
|
+
//#region ../dom/src/forward.d.ts
|
|
103
|
+
/**
|
|
104
|
+
* Forward props interface
|
|
105
|
+
*/
|
|
106
|
+
interface ForwardProps {
|
|
107
|
+
children: JSXNode;
|
|
108
|
+
[key: string]: unknown;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Forward component - merges props onto its single child element
|
|
112
|
+
*
|
|
113
|
+
* Forward is a renderless primitive that injects props into its child
|
|
114
|
+
* without producing an extra DOM node. Think of it as declarative
|
|
115
|
+
* prop spreading from parent to child.
|
|
116
|
+
*
|
|
117
|
+
* Props merging behavior:
|
|
118
|
+
* - `class`/`className`: concatenated (both applied)
|
|
119
|
+
* - `style`: merged objects (Forward overrides per-property)
|
|
120
|
+
* - Event handlers (`on*`): chained (both run)
|
|
121
|
+
* - Other props: Forward overrides child
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```tsx
|
|
125
|
+
* <Forward onClick={handler} class="extra">
|
|
126
|
+
* <button class="btn">Click me</button>
|
|
127
|
+
* </Forward>
|
|
128
|
+
* // renders: <button class="btn extra" onClick={handler}>Click me</button>
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
declare function ForwardComponent(props: ForwardProps): VNode;
|
|
132
|
+
//#endregion
|
|
102
133
|
//#region ../dom/src/style-anchor.d.ts
|
|
103
134
|
/**
|
|
104
135
|
* Get the current style injection target
|
|
@@ -192,5 +223,39 @@ declare function ComponentStyleAnchor({
|
|
|
192
223
|
children
|
|
193
224
|
}: ComponentStyleAnchorProps): VNode;
|
|
194
225
|
//#endregion
|
|
195
|
-
|
|
226
|
+
//#region ../dom/src/native.d.ts
|
|
227
|
+
interface NativeProps {
|
|
228
|
+
/** The native DOM element to embed in the SemaJSX tree */
|
|
229
|
+
element: Element;
|
|
230
|
+
/** Additional attributes to apply to the element */
|
|
231
|
+
[key: string]: unknown;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Embed a native DOM element in the SemaJSX render tree.
|
|
235
|
+
*
|
|
236
|
+
* Useful for integrating third-party libraries that return real DOM elements
|
|
237
|
+
* (e.g., Lucide's createElement, D3 nodes, Canvas elements).
|
|
238
|
+
*
|
|
239
|
+
* Props (except `element`) are applied to the element using the same
|
|
240
|
+
* property-setting logic as regular JSX elements — supports class, style,
|
|
241
|
+
* event handlers, signals, and standard attributes.
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* ```tsx
|
|
245
|
+
* import { Native } from "semajsx/dom";
|
|
246
|
+
* import { createElement, Rocket } from "lucide";
|
|
247
|
+
*
|
|
248
|
+
* const App = () => (
|
|
249
|
+
* <div>
|
|
250
|
+
* <Native element={createElement(Rocket)} stroke="#007aff" />
|
|
251
|
+
* </div>
|
|
252
|
+
* );
|
|
253
|
+
* ```
|
|
254
|
+
*/
|
|
255
|
+
declare function Native({
|
|
256
|
+
element,
|
|
257
|
+
...attrs
|
|
258
|
+
}: NativeProps): VNode;
|
|
259
|
+
//#endregion
|
|
260
|
+
export { AppStyleAnchor, AppStyleAnchorProps, ComponentStyleAnchor, ComponentStyleAnchorProps, DOMRenderResult, ForwardComponent, ForwardProps, Native, NativeProps, PortalComponent, PortalProps, appendChild, createComment, createElement, createPortal, createTextNode, getStyleTarget, insertBefore, removeChild, render, replaceNode, setAppStyleTarget, setComponentStyleTarget, setProperty, setRef, setSignalProperty, setText };
|
|
196
261
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/dom/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../dom/src/operations.ts","../../../dom/src/properties.ts","../../../dom/src/render.ts","../../../dom/src/portal.ts","../../../dom/src/style-anchor.ts"],"mappings":";;;;;;;iBAIgB,aAAA,CAAc,OAAA,WAAkB,OAAA;AAAA,iBAIhC,cAAA,CAAe,IAAA,WAAe,IAAA;AAAA,iBAI9B,aAAA,CAAc,IAAA,WAAe,OAAA;AAAA,iBAI7B,WAAA,CAAY,MAAA,EAAQ,IAAA,EAAM,KAAA,EAAO,IAAA;AAAA,iBAIjC,WAAA,CAAY,IAAA,EAAM,IAAA;AAAA,iBAIlB,YAAA,CAAa,MAAA,EAAQ,IAAA,EAAM,OAAA,EAAS,IAAA,EAAM,OAAA,EAAS,IAAA;AAAA,iBAInD,WAAA,CAAY,OAAA,EAAS,IAAA,EAAM,OAAA,EAAS,IAAA;AAAA,iBAIpC,OAAA,CAAQ,IAAA,EAAM,IAAA,EAAM,IAAA;;;;;AA5BpC;iBC+CgB,WAAA,CAAY,OAAA,EAAS,OAAA,EAAS,GAAA,UAAa,KAAA;;;;iBA6F3C,iBAAA,aAAA,CACd,OAAA,EAAS,OAAA,EACT,GAAA,UACA,MAAA,EAAQ,MAAA,CAAO,CAAA;;;;;ADvIjB;iBCuJgB,MAAA,CAAO,OAAA,EAAS,IAAA,EAAM,GAAA,EAAK,GAAA;;;;;;UCxF1B,eAAA;EFvED;;;EE2Ed,OAAA;AAAA;;;;;AFnEF;;;;;AAIA;;;;;;;;;;iBE2GgB,MAAA,CACd,OAAA,EAAS,KAAA,GAAQ,OAAA,CAAQ,KAAA,IAAS,qBAAA,CAAsB,KAAA,GACxD,SAAA,EAAW,OAAA,GACV,eAAA;;;;;;UCxHc,WAAA;EACf,QAAA,EAAU,OAAA;EACV,SAAA,EAAW,OAAA;AAAA;;AHAb;;;;;AAIA;;;;;AAIA;;;;;;iBGYgB,YAAA,CAAa,QAAA,EAAU,OAAA,EAAS,SAAA,EAAW,OAAA,GAAU,KAAA;;;;AHRrE;;;;;AAIA;;iBGmBgB,eAAA,CAAgB,KAAA,EAAO,WAAA,GAAc,KAAA;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../dom/src/operations.ts","../../../dom/src/properties.ts","../../../dom/src/render.ts","../../../dom/src/portal.ts","../../../dom/src/forward.ts","../../../dom/src/style-anchor.ts","../../../dom/src/native.ts"],"mappings":";;;;;;;iBAIgB,aAAA,CAAc,OAAA,WAAkB,OAAA;AAAA,iBAIhC,cAAA,CAAe,IAAA,WAAe,IAAA;AAAA,iBAI9B,aAAA,CAAc,IAAA,WAAe,OAAA;AAAA,iBAI7B,WAAA,CAAY,MAAA,EAAQ,IAAA,EAAM,KAAA,EAAO,IAAA;AAAA,iBAIjC,WAAA,CAAY,IAAA,EAAM,IAAA;AAAA,iBAIlB,YAAA,CAAa,MAAA,EAAQ,IAAA,EAAM,OAAA,EAAS,IAAA,EAAM,OAAA,EAAS,IAAA;AAAA,iBAInD,WAAA,CAAY,OAAA,EAAS,IAAA,EAAM,OAAA,EAAS,IAAA;AAAA,iBAIpC,OAAA,CAAQ,IAAA,EAAM,IAAA,EAAM,IAAA;;;;;AA5BpC;iBC+CgB,WAAA,CAAY,OAAA,EAAS,OAAA,EAAS,GAAA,UAAa,KAAA;;;;iBA6F3C,iBAAA,aAAA,CACd,OAAA,EAAS,OAAA,EACT,GAAA,UACA,MAAA,EAAQ,MAAA,CAAO,CAAA;;;;;ADvIjB;iBCuJgB,MAAA,CAAO,OAAA,EAAS,IAAA,EAAM,GAAA,EAAK,GAAA;;;;;;UCxF1B,eAAA;EFvED;;;EE2Ed,OAAA;AAAA;;;;;AFnEF;;;;;AAIA;;;;;;;;;;iBE2GgB,MAAA,CACd,OAAA,EAAS,KAAA,GAAQ,OAAA,CAAQ,KAAA,IAAS,qBAAA,CAAsB,KAAA,GACxD,SAAA,EAAW,OAAA,GACV,eAAA;;;;;;UCxHc,WAAA;EACf,QAAA,EAAU,OAAA;EACV,SAAA,EAAW,OAAA;AAAA;;AHAb;;;;;AAIA;;;;;AAIA;;;;;;iBGYgB,YAAA,CAAa,QAAA,EAAU,OAAA,EAAS,SAAA,EAAW,OAAA,GAAU,KAAA;;;;AHRrE;;;;;AAIA;;iBGmBgB,eAAA,CAAgB,KAAA,EAAO,WAAA,GAAc,KAAA;;;;;;UCrCpC,YAAA;EACf,QAAA,EAAU,OAAA;EAAA;;;AJCZ;;;;;AAIA;;;;;AAIA;;;;;;;;;;iBIgBgB,gBAAA,CAAiB,KAAA,EAAO,YAAA,GAAe,KAAA;;;;;AJxBvD;;;;;AAIA;iBKYgB,cAAA,CAAA,GAAkB,OAAA,GAAU,UAAA;;;;ALR5C;;;iBKkBgB,iBAAA,CAAkB,MAAA,EAAQ,OAAA,GAAU,UAAA;;;;;;iBASpC,uBAAA,CAAwB,MAAA,EAAQ,OAAA,GAAU,UAAA;ALvB1D;;;AAAA,UK8BiB,mBAAA;EL9BiB;EKgChC,MAAA,EAAQ,OAAA,GAAU,UAAA;EL5BJ;EK8Bd,QAAA,GAAW,OAAA;AAAA;;;;;;;;;;;;;AL1Bb;;;;;;;iBKgDgB,cAAA,CAAA;EAAiB,MAAA;EAAQ;AAAA,GAAY,mBAAA,GAAsB,KAAA;;;AL5C3E;UK4DiB,yBAAA;;EAEf,MAAA,EAAQ,OAAA,GAAU,UAAA;;EAElB,QAAA,GAAW,OAAA;AAAA;;;;;;AJ7Cb;;;;;;;;;;AA6FA;;;;;;;;;iBIrBgB,oBAAA,CAAA;EAAuB,MAAA;EAAQ;AAAA,GAAY,yBAAA,GAA4B,KAAA;;;UCzHtE,WAAA;;EAEf,OAAA,EAAS,OAAA;ENAX;EAAA;;;;AAIA;;;;;AAIA;;;;;AAIA;;;;;;;;;;iBMegB,MAAA,CAAA;EAAS,OAAA;EAAA,GAAY;AAAA,GAAS,WAAA,GAAc,KAAA"}
|
package/dist/dom/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../src-
|
|
2
|
-
import { _ as
|
|
3
|
-
import "../src-
|
|
1
|
+
import "../src-DW3tIczg.mjs";
|
|
2
|
+
import { _ as createTextNode, a as setAppStyleTarget, b as replaceNode, c as PortalComponent, d as setProperty, f as setRef, g as createElement, h as createComment, i as getStyleTarget, l as createPortal, m as appendChild, n as AppStyleAnchor, o as setComponentStyleTarget, p as setSignalProperty, r as ComponentStyleAnchor, s as ForwardComponent, t as Native, u as render, v as insertBefore, x as setText, y as removeChild } from "../src-BqX3sryB.mjs";
|
|
3
|
+
import "../src-Ds9vl42d.mjs";
|
|
4
4
|
|
|
5
|
-
export { AppStyleAnchor, ComponentStyleAnchor, PortalComponent, appendChild, createComment, createElement, createPortal, createTextNode, getStyleTarget, insertBefore, removeChild, render, replaceNode, setAppStyleTarget, setComponentStyleTarget, setProperty, setRef, setSignalProperty, setText };
|
|
5
|
+
export { AppStyleAnchor, ComponentStyleAnchor, ForwardComponent, Native, PortalComponent, appendChild, createComment, createElement, createPortal, createTextNode, getStyleTarget, insertBefore, removeChild, render, replaceNode, setAppStyleTarget, setComponentStyleTarget, setProperty, setRef, setSignalProperty, setText };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { o as Fragment } from "../types-
|
|
2
|
-
import { n as jsxs, t as jsx } from "../jsx-
|
|
3
|
-
import { C as
|
|
1
|
+
import { o as Forward, s as Fragment } from "../types-CZMcXQTW.mjs";
|
|
2
|
+
import { n as jsxs, t as jsx } from "../jsx-fNlLjLou.mjs";
|
|
3
|
+
import { C as ThHTMLAttributes, S as TextareaHTMLAttributes, _ as ScriptHTMLAttributes, a as ClassValue, b as TableHTMLAttributes, c as IframeHTMLAttributes, d as JSX, f as LabelHTMLAttributes, g as SVGAttributes, h as OptionHTMLAttributes, i as CanvasHTMLAttributes, l as ImgHTMLAttributes, m as MetaHTMLAttributes, n as AudioHTMLAttributes, o as FormHTMLAttributes, p as LinkHTMLAttributes, r as ButtonHTMLAttributes, s as HTMLAttributes, t as AnchorHTMLAttributes, u as InputHTMLAttributes, v as SelectHTMLAttributes, w as VideoHTMLAttributes, x as TdHTMLAttributes, y as StyleHTMLAttributes } from "../jsx-runtime-DZx2Yv-t.mjs";
|
|
4
4
|
|
|
5
5
|
//#region ../dom/src/jsx-dev-runtime.d.ts
|
|
6
6
|
declare function jsxDEV(type: any, props: any, key?: any, _isStaticChildren?: boolean, _source?: any, _self?: any): any;
|
|
7
7
|
//#endregion
|
|
8
|
-
export { AnchorHTMLAttributes, AudioHTMLAttributes, ButtonHTMLAttributes, CanvasHTMLAttributes, ClassValue, FormHTMLAttributes, Fragment, HTMLAttributes, IframeHTMLAttributes, ImgHTMLAttributes, InputHTMLAttributes, JSX, LabelHTMLAttributes, LinkHTMLAttributes, MetaHTMLAttributes, OptionHTMLAttributes, ScriptHTMLAttributes, SelectHTMLAttributes, StyleHTMLAttributes, TableHTMLAttributes, TdHTMLAttributes, TextareaHTMLAttributes, ThHTMLAttributes, VideoHTMLAttributes, jsx, jsxDEV, jsxs };
|
|
8
|
+
export { AnchorHTMLAttributes, AudioHTMLAttributes, ButtonHTMLAttributes, CanvasHTMLAttributes, ClassValue, FormHTMLAttributes, Forward, Fragment, HTMLAttributes, IframeHTMLAttributes, ImgHTMLAttributes, InputHTMLAttributes, JSX, LabelHTMLAttributes, LinkHTMLAttributes, MetaHTMLAttributes, OptionHTMLAttributes, SVGAttributes, ScriptHTMLAttributes, SelectHTMLAttributes, StyleHTMLAttributes, TableHTMLAttributes, TdHTMLAttributes, TextareaHTMLAttributes, ThHTMLAttributes, VideoHTMLAttributes, jsx, jsxDEV, jsxs };
|
|
9
9
|
//# sourceMappingURL=jsx-dev-runtime.d.mts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as Fragment } from "../types-
|
|
2
|
-
import { n as jsxs, t as jsx } from "../jsx-
|
|
3
|
-
import { C as
|
|
4
|
-
export { AnchorHTMLAttributes, AudioHTMLAttributes, ButtonHTMLAttributes, CanvasHTMLAttributes, ClassValue, FormHTMLAttributes, Fragment, HTMLAttributes, IframeHTMLAttributes, ImgHTMLAttributes, InputHTMLAttributes, JSX, LabelHTMLAttributes, LinkHTMLAttributes, MetaHTMLAttributes, OptionHTMLAttributes, ScriptHTMLAttributes, SelectHTMLAttributes, StyleHTMLAttributes, TableHTMLAttributes, TdHTMLAttributes, TextareaHTMLAttributes, ThHTMLAttributes, VideoHTMLAttributes, jsx, jsxs };
|
|
1
|
+
import { o as Forward, s as Fragment } from "../types-CZMcXQTW.mjs";
|
|
2
|
+
import { n as jsxs, t as jsx } from "../jsx-fNlLjLou.mjs";
|
|
3
|
+
import { C as ThHTMLAttributes, S as TextareaHTMLAttributes, _ as ScriptHTMLAttributes, a as ClassValue, b as TableHTMLAttributes, c as IframeHTMLAttributes, d as JSX, f as LabelHTMLAttributes, g as SVGAttributes, h as OptionHTMLAttributes, i as CanvasHTMLAttributes, l as ImgHTMLAttributes, m as MetaHTMLAttributes, n as AudioHTMLAttributes, o as FormHTMLAttributes, p as LinkHTMLAttributes, r as ButtonHTMLAttributes, s as HTMLAttributes, t as AnchorHTMLAttributes, u as InputHTMLAttributes, v as SelectHTMLAttributes, w as VideoHTMLAttributes, x as TdHTMLAttributes, y as StyleHTMLAttributes } from "../jsx-runtime-DZx2Yv-t.mjs";
|
|
4
|
+
export { AnchorHTMLAttributes, AudioHTMLAttributes, ButtonHTMLAttributes, CanvasHTMLAttributes, ClassValue, FormHTMLAttributes, Forward, Fragment, HTMLAttributes, IframeHTMLAttributes, ImgHTMLAttributes, InputHTMLAttributes, JSX, LabelHTMLAttributes, LinkHTMLAttributes, MetaHTMLAttributes, OptionHTMLAttributes, SVGAttributes, ScriptHTMLAttributes, SelectHTMLAttributes, StyleHTMLAttributes, TableHTMLAttributes, TdHTMLAttributes, TextareaHTMLAttributes, ThHTMLAttributes, VideoHTMLAttributes, jsx, jsxs };
|
package/dist/dom/jsx-runtime.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as
|
|
1
|
+
import { _ as Forward, a as jsxs, i as jsx, v as Fragment } from "../src-DW3tIczg.mjs";
|
|
2
2
|
import "../jsx-runtime-D9ZNjMJ2.mjs";
|
|
3
3
|
|
|
4
|
-
export { Fragment, jsx, jsxs };
|
|
4
|
+
export { Forward, Fragment, jsx, jsxs };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as Signal } from "./types-
|
|
1
|
+
import { c as JSXNode } from "./types-CZMcXQTW.mjs";
|
|
2
|
+
import { r as Signal } from "./types-BlaUrkq0.mjs";
|
|
3
3
|
|
|
4
4
|
//#region ../core/src/helpers.d.ts
|
|
5
5
|
/**
|
|
@@ -56,4 +56,4 @@ declare function resource(promise: Promise<JSXNode>, pending?: JSXNode): Signal<
|
|
|
56
56
|
declare function stream(iterator: AsyncIterable<JSXNode>, pending?: JSXNode): Signal<JSXNode | null>;
|
|
57
57
|
//#endregion
|
|
58
58
|
export { stream as n, when as r, resource as t };
|
|
59
|
-
//# sourceMappingURL=helpers-
|
|
59
|
+
//# sourceMappingURL=helpers-CfRDJgcP.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers-
|
|
1
|
+
{"version":3,"file":"helpers-CfRDJgcP.d.mts","names":[],"sources":["../../core/src/helpers.ts"],"mappings":";;;;;;AAiBA;;;;;;;;;;;iBAAgB,IAAA,CACd,SAAA,EAAW,MAAA,WACX,OAAA,EAAS,OAAA,UAAiB,OAAA,IACzB,MAAA,CAAO,OAAA;;;;;;;;AA4BV;;;;;;;;;;;;;;iBAAgB,QAAA,CAAS,OAAA,EAAS,OAAA,CAAQ,OAAA,GAAU,OAAA,GAAU,OAAA,GAAU,MAAA,CAAO,OAAA;;;;;AA6B/E;;;;;;;;;;;iBAAgB,MAAA,CACd,QAAA,EAAU,aAAA,CAAc,OAAA,GACxB,OAAA,GAAU,OAAA,GACT,MAAA,CAAO,OAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as WritableSignal, n as ReadableSignal, t as MaybeSignal } from "./types-
|
|
1
|
+
import { a as WritableSignal, n as ReadableSignal, t as MaybeSignal } from "./types-BlaUrkq0.mjs";
|
|
2
2
|
|
|
3
3
|
//#region ../signal/src/signal.d.ts
|
|
4
4
|
/**
|
|
@@ -53,4 +53,4 @@ declare function isSignal<T = unknown>(value: unknown): value is ReadableSignal<
|
|
|
53
53
|
declare function unwrap<T>(value: MaybeSignal<T>): T;
|
|
54
54
|
//#endregion
|
|
55
55
|
export { memo as a, computed as i, unwrap as n, signal as o, batch as r, isSignal as t };
|
|
56
|
-
//# sourceMappingURL=index-
|
|
56
|
+
//# sourceMappingURL=index-B1pjI-Su.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-B1pjI-Su.d.mts","names":[],"sources":["../../signal/src/signal.ts","../../signal/src/computed.ts","../../signal/src/batch.ts","../../signal/src/utils.ts"],"mappings":";;;;;AAMA;iBAAgB,MAAA,GAAA,CAAU,YAAA,EAAc,CAAA,GAAI,cAAA,CAAe,CAAA;;;;;AAA3D;;;;;;;;;;iBCWgB,QAAA,MAAA,CAAe,GAAA,EAAK,cAAA,CAAe,CAAA,GAAI,OAAA,GAAU,KAAA,EAAO,CAAA,KAAM,CAAA,GAAI,cAAA,CAAe,CAAA;AAAA,iBAGjF,QAAA,oBAA4B,cAAA,WAAA,CAC1C,IAAA,MAAU,CAAA,GACV,OAAA,MAAa,MAAA,gBAAsB,CAAA,GAAI,CAAA,CAAE,CAAA,UAAW,cAAA,YAA0B,CAAA,eAAgB,CAAA,GAC7F,cAAA,CAAe,CAAA;AAAA,cA2DL,IAAA,SAAa,QAAA;;;;;;;iBC/BV,KAAA,GAAA,CAAS,EAAA,QAAU,CAAA,GAAI,CAAA;;;;;AF7CvC;;;;;iBGGgB,QAAA,aAAA,CAAsB,KAAA,YAAiB,KAAA,IAAS,cAAA,CAAe,CAAA;;;;;;;;;;;;iBAqB/D,MAAA,GAAA,CAAU,KAAA,EAAO,WAAA,CAAY,CAAA,IAAK,CAAA"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { d as VNode } from "./types-CZMcXQTW.mjs";
|
|
2
|
+
import { _ as SSGPlugin } from "./types-C9fiRu6l.mjs";
|
|
3
|
+
|
|
4
|
+
//#region ../ssg/src/plugins/lucide/component.d.ts
|
|
5
|
+
interface IconProps {
|
|
6
|
+
/** Icon name in kebab-case (e.g., "rocket", "arrow-right", "circle-check") */
|
|
7
|
+
name: string;
|
|
8
|
+
/** Icon size in pixels (default: 24) */
|
|
9
|
+
size?: number;
|
|
10
|
+
/** Stroke color (default: "currentColor") */
|
|
11
|
+
color?: string;
|
|
12
|
+
/** Stroke width (default: 2) */
|
|
13
|
+
strokeWidth?: number;
|
|
14
|
+
/** Additional CSS class */
|
|
15
|
+
class?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Isomorphic Lucide icon component.
|
|
19
|
+
*
|
|
20
|
+
* - **Browser**: uses lucide's `createElement` to produce a real SVGElement,
|
|
21
|
+
* embedded via `<Native>` for optimal performance.
|
|
22
|
+
* - **Server (SSG/SSR)**: constructs JSX SVG from IconNode data,
|
|
23
|
+
* rendered to HTML string by the SSR renderer.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```mdx
|
|
27
|
+
* <Icon name="rocket" />
|
|
28
|
+
* <Icon name="arrow-right" size={20} color="#007aff" />
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
declare function Icon({
|
|
32
|
+
name,
|
|
33
|
+
size,
|
|
34
|
+
color,
|
|
35
|
+
strokeWidth,
|
|
36
|
+
class: className
|
|
37
|
+
}: IconProps): VNode;
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region ../ssg/src/plugins/lucide/index.d.ts
|
|
40
|
+
interface LucidePluginOptions {
|
|
41
|
+
/** Default icon size in pixels (default: 24) */
|
|
42
|
+
size?: number;
|
|
43
|
+
/** Default stroke color (default: "currentColor") */
|
|
44
|
+
color?: string;
|
|
45
|
+
/** Default stroke width (default: 2) */
|
|
46
|
+
strokeWidth?: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Lucide icon plugin for SSG.
|
|
50
|
+
*
|
|
51
|
+
* Registers the `<Icon>` component for use in MDX content.
|
|
52
|
+
* Optionally configure default icon properties.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```tsx
|
|
56
|
+
* import { createSSG } from "@semajsx/ssg";
|
|
57
|
+
* import { lucide } from "@semajsx/ssg/plugins/lucide";
|
|
58
|
+
*
|
|
59
|
+
* const ssg = createSSG({
|
|
60
|
+
* plugins: [lucide()],
|
|
61
|
+
* });
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```tsx
|
|
66
|
+
* // With custom defaults
|
|
67
|
+
* const ssg = createSSG({
|
|
68
|
+
* plugins: [lucide({ size: 20, color: "#333" })],
|
|
69
|
+
* });
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```mdx
|
|
74
|
+
* <Icon name="rocket" />
|
|
75
|
+
* <Icon name="arrow-right" size={16} color="#007aff" />
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
declare function lucide(options?: LucidePluginOptions): SSGPlugin;
|
|
79
|
+
//#endregion
|
|
80
|
+
export { IconProps as i, lucide as n, Icon as r, LucidePluginOptions as t };
|
|
81
|
+
//# sourceMappingURL=index-Ch9GwToI.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-Ch9GwToI.d.mts","names":[],"sources":["../../ssg/src/plugins/lucide/component.tsx","../../ssg/src/plugins/lucide/index.ts"],"mappings":";;;;UAuCiB,SAAA;;EAEf,IAAA;EAFF;EAIE,IAAA;;EAEA,KAAA;;EAEA,WAAA;;EAEA,KAAA;AAAA;;;AA8BF;;;;;;;;;;;;iBAAgB,IAAA,CAAA;EACd,IAAA;EACA,IAAA;EACA,KAAA;EACA,WAAA;EACA,KAAA,EAAO;AAAA,GACN,SAAA,GAAY,KAAA;;;UC/EE,mBAAA;EDiCA;EC/Bf,IAAA;ED+Be;EC7Bf,KAAA;;EAEA,WAAA;AAAA;;;;ADmEF;;;;;;;;;;;;;;;;;;;;;;;;;;;iBClCgB,MAAA,CAAO,OAAA,GAAS,mBAAA,GAA2B,SAAA"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a as ContextProvide, c as
|
|
2
|
-
import { t as ISLAND_MARKER } from "./island-marker-
|
|
3
|
-
import { n as stream, r as when, t as resource } from "./helpers-
|
|
4
|
-
import { n as jsxs, t as jsx } from "./jsx-
|
|
5
|
-
import { a as WritableSignal, i as SignalValue, n as ReadableSignal, r as Signal, t as MaybeSignal } from "./types-
|
|
6
|
-
import { a as memo, i as computed, n as unwrap, o as signal, r as batch, t as isSignal } from "./index-
|
|
1
|
+
import { a as ContextProvide, c as JSXNode, d as VNode, f as VNodeType, i as ContextProps, l as Portal, m as WithSignals, n as ComponentAPI, o as Forward, p as WithKey, r as Context$1, s as Fragment, t as Component, u as Ref } from "./types-CZMcXQTW.mjs";
|
|
2
|
+
import { t as ISLAND_MARKER } from "./island-marker-BJIO07Vj.mjs";
|
|
3
|
+
import { n as stream, r as when, t as resource } from "./helpers-CfRDJgcP.mjs";
|
|
4
|
+
import { n as jsxs, t as jsx } from "./jsx-fNlLjLou.mjs";
|
|
5
|
+
import { a as WritableSignal, i as SignalValue, n as ReadableSignal, r as Signal, t as MaybeSignal } from "./types-BlaUrkq0.mjs";
|
|
6
|
+
import { a as memo, i as computed, n as unwrap, o as signal, r as batch, t as isSignal } from "./index-B1pjI-Su.mjs";
|
|
7
7
|
|
|
8
8
|
//#region ../core/src/vnode.d.ts
|
|
9
9
|
/**
|
|
@@ -157,5 +157,5 @@ declare function createRenderer<TNode>(strategy: RenderStrategy<TNode>): {
|
|
|
157
157
|
cleanupSubscriptions: (node: RenderedNode<TNode>) => void;
|
|
158
158
|
};
|
|
159
159
|
//#endregion
|
|
160
|
-
export { type Component, type ComponentAPI, Context, type ContextMap, type ContextProps, type ContextProvide, type Context$1 as ContextType, Fragment, ISLAND_MARKER, type JSXNode, MaybeSignal, Portal, ReadableSignal, type Ref, type RenderStrategy, type RenderedNode, Signal, SignalValue, type VNode, type WithKey, type WithSignals, WritableSignal, batch, computed, context, createComponentAPI, createFragment, createRenderer, createTextVNode, h, isAsyncIterator, isPromise, isSignal, isVNode, jsx, jsxs, memo, resource, signal, stream, unwrap, when };
|
|
160
|
+
export { type Component, type ComponentAPI, Context, type ContextMap, type ContextProps, type ContextProvide, type Context$1 as ContextType, Forward, Fragment, ISLAND_MARKER, type JSXNode, MaybeSignal, Portal, ReadableSignal, type Ref, type RenderStrategy, type RenderedNode, Signal, SignalValue, type VNode, type WithKey, type WithSignals, WritableSignal, batch, computed, context, createComponentAPI, createFragment, createRenderer, createTextVNode, h, isAsyncIterator, isPromise, isSignal, isVNode, jsx, jsxs, memo, resource, signal, stream, unwrap, when };
|
|
161
161
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { n as batch, t as signal } from "./signal-
|
|
2
|
-
import { n as memo, t as computed } from "./computed-
|
|
3
|
-
import { n as unwrap, t as isSignal } from "./utils-
|
|
1
|
+
import { n as batch, t as signal } from "./signal-BN8vHXDb.mjs";
|
|
2
|
+
import { n as memo, t as computed } from "./computed-BidG06Lt.mjs";
|
|
3
|
+
import { n as unwrap, t as isSignal } from "./utils-DbTAs943.mjs";
|
|
4
4
|
import "./signal/index.mjs";
|
|
5
|
-
import { _ as
|
|
5
|
+
import { _ as Forward, a as jsxs, c as when, d as createComponentAPI, f as ISLAND_MARKER, g as isVNode, h, i as jsx, l as Context, m as createTextVNode, n as isAsyncIterator, o as resource, p as createFragment, r as isPromise, s as stream, t as createRenderer, u as context, v as Fragment, y as Portal } from "./src-DW3tIczg.mjs";
|
|
6
6
|
|
|
7
|
-
export { Context, Fragment, ISLAND_MARKER, Portal, batch, computed, context, createComponentAPI, createFragment, createRenderer, createTextVNode, h, isAsyncIterator, isPromise, isSignal, isVNode, jsx, jsxs, memo, resource, signal, stream, unwrap, when };
|
|
7
|
+
export { Context, Forward, Fragment, ISLAND_MARKER, Portal, batch, computed, context, createComponentAPI, createFragment, createRenderer, createTextVNode, h, isAsyncIterator, isPromise, isSignal, isVNode, jsx, jsxs, memo, resource, signal, stream, unwrap, when };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"island-marker-BJIO07Vj.d.mts","names":[],"sources":["../../core/src/shared/island-marker.ts"],"mappings":";;AAIA;;;cAAa,aAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { d as
|
|
1
|
+
import { d as VNode, f as VNodeType } from "./types-CZMcXQTW.mjs";
|
|
2
2
|
|
|
3
3
|
//#region ../core/src/jsx.d.ts
|
|
4
4
|
declare function jsx(type: VNodeType, props: any, key?: any): VNode;
|
|
5
5
|
declare function jsxs(type: VNodeType, props: any, key?: any): VNode;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { jsxs as n, jsx as t };
|
|
8
|
-
//# sourceMappingURL=jsx-
|
|
8
|
+
//# sourceMappingURL=jsx-fNlLjLou.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-
|
|
1
|
+
{"version":3,"file":"jsx-fNlLjLou.d.mts","names":[],"sources":["../../core/src/jsx.ts"],"mappings":";;;iBAGgB,GAAA,CAAI,IAAA,EAAM,SAAA,EAAW,KAAA,OAAY,GAAA,SAAY,KAAA;AAAA,iBAc7C,IAAA,CAAK,IAAA,EAAM,SAAA,EAAW,KAAA,OAAY,GAAA,SAAY,KAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { i as TerminalStyle } from "./types-
|
|
1
|
+
import { c as JSXNode, d as VNode, m as WithSignals, n as ComponentAPI } from "./types-CZMcXQTW.mjs";
|
|
2
|
+
import { i as TerminalStyle } from "./types-D0jRO840.mjs";
|
|
3
3
|
|
|
4
4
|
//#region ../terminal/src/jsx-runtime.d.ts
|
|
5
5
|
/**
|
|
@@ -109,4 +109,4 @@ declare namespace JSX {
|
|
|
109
109
|
}
|
|
110
110
|
//#endregion
|
|
111
111
|
export { TextAttributes as i, JSX as n, TerminalAttributes as r, BoxAttributes as t };
|
|
112
|
-
//# sourceMappingURL=jsx-runtime-
|
|
112
|
+
//# sourceMappingURL=jsx-runtime-BFuFPDzn.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runtime-
|
|
1
|
+
{"version":3,"file":"jsx-runtime-BFuFPDzn.d.mts","names":[],"sources":["../../terminal/src/jsx-runtime.ts"],"mappings":";;;;;;;UAeU,sBAAA,SAA+B,aAAA;EAEvC,GAAA;EACA,QAAA,GAAW,OAAA;AAAA;;;;AAsBb;KAfY,kBAAA,GAAqB,WAAA,CAAY,sBAAA;;;;AA8B7C;;;;;AAKA;;;;;KApBY,aAAA,GAAgB,kBAAA;;;;;;;;;;;;;;KAehB,cAAA,GAAiB,kBAAA;;;;kBAKZ,GAAA;EAAA,KACH,OAAA,GAAU,KAAA;EAAA,KAEV,WAAA,SACF,iBAAA,KACJ,KAAA,UAAe,OAAA,MACf,KAAA,OAAY,GAAA,EAAK,YAAA,KAAiB,OAAA;EAAA,UAEvB,wBAAA;IACf,QAAA;EAAA;EAAA,UAGe,mBAAA;IACf,GAAA;EAAA;EAAA,UAGe,iBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6Bf,GAAA,EAAK,aAAA;;;;;;;;;;;;;;;;;;;;;IAsBL,IAAA,EAAM,cAAA;EAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runtime-D9ZNjMJ2.mjs","names":[],"sources":["../../dom/src/jsx-runtime.ts"],"sourcesContent":["/**\n * JSX automatic runtime for DOM (production)\n * Use with: @jsxImportSource @semajsx/dom\n */\n\nimport { Fragment, jsx, jsxs } from \"@semajsx/core\";\nimport type { ComponentAPI, JSXNode, Ref, VNode, WithKey, WithSignals } from \"@semajsx/core\";\nimport type { Signal } from \"@semajsx/signal\";\nimport type { StyleToken } from \"@semajsx/style\";\n\nexport { jsx, jsxs, Fragment };\n\n/**\n * Class value type - supports strings, StyleTokens, arrays, and conditionals\n */\nexport type ClassValue = string | StyleToken | ClassValue[] | false | null | undefined;\n\n/**\n * HTML attribute types (base definitions without Signal support)\n */\ninterface BaseHTMLAttributes<T = Element> {\n // Ref - special prop for element references\n ref?: Ref<T>;\n\n // Standard attributes\n id?: string;\n className?: ClassValue;\n class?: ClassValue;\n style?: string | Record<string, string | number>;\n title?: string;\n lang?: string;\n dir?: \"ltr\" | \"rtl\" | \"auto\";\n hidden?: boolean;\n tabIndex?: number;\n accessKey?: string;\n contentEditable?: boolean | \"true\" | \"false\";\n draggable?: boolean;\n spellcheck?: boolean;\n\n // Special React-style props\n dangerouslySetInnerHTML?: { __html: string };\n\n // ARIA attributes\n role?: string;\n \"aria-label\"?: string;\n \"aria-labelledby\"?: string;\n \"aria-describedby\"?: string;\n \"aria-hidden\"?: boolean | \"true\" | \"false\";\n \"aria-expanded\"?: boolean | \"true\" | \"false\";\n \"aria-selected\"?: boolean | \"true\" | \"false\";\n \"aria-checked\"?: boolean | \"true\" | \"false\" | \"mixed\";\n \"aria-disabled\"?: boolean | \"true\" | \"false\";\n \"aria-readonly\"?: boolean | \"true\" | \"false\";\n \"aria-required\"?: boolean | \"true\" | \"false\";\n \"aria-invalid\"?: boolean | \"true\" | \"false\" | \"grammar\" | \"spelling\";\n \"aria-pressed\"?: boolean | \"true\" | \"false\" | \"mixed\";\n \"aria-current\"?: boolean | \"true\" | \"false\" | \"page\" | \"step\" | \"location\" | \"date\" | \"time\";\n\n // Event handlers (React-style camelCase)\n onClick?: (event: MouseEvent) => void;\n onDblClick?: (event: MouseEvent) => void;\n onMouseDown?: (event: MouseEvent) => void;\n onMouseUp?: (event: MouseEvent) => void;\n onMouseEnter?: (event: MouseEvent) => void;\n onMouseLeave?: (event: MouseEvent) => void;\n onMouseMove?: (event: MouseEvent) => void;\n onMouseOver?: (event: MouseEvent) => void;\n onMouseOut?: (event: MouseEvent) => void;\n onContextMenu?: (event: MouseEvent) => void;\n\n onKeyDown?: (event: KeyboardEvent) => void;\n onKeyUp?: (event: KeyboardEvent) => void;\n onKeyPress?: (event: KeyboardEvent) => void;\n\n onFocus?: (event: FocusEvent) => void;\n onBlur?: (event: FocusEvent) => void;\n\n onChange?: (event: Event) => void;\n onInput?: (event: Event) => void;\n onSubmit?: (event: Event) => void;\n\n onScroll?: (event: Event) => void;\n onWheel?: (event: WheelEvent) => void;\n\n onTouchStart?: (event: TouchEvent) => void;\n onTouchMove?: (event: TouchEvent) => void;\n onTouchEnd?: (event: TouchEvent) => void;\n onTouchCancel?: (event: TouchEvent) => void;\n\n onDragStart?: (event: DragEvent) => void;\n onDrag?: (event: DragEvent) => void;\n onDragEnd?: (event: DragEvent) => void;\n onDragEnter?: (event: DragEvent) => void;\n onDragLeave?: (event: DragEvent) => void;\n onDragOver?: (event: DragEvent) => void;\n onDrop?: (event: DragEvent) => void;\n\n // Event handlers (native DOM lowercase)\n onclick?: (event: MouseEvent) => void;\n ondblclick?: (event: MouseEvent) => void;\n onmousedown?: (event: MouseEvent) => void;\n onmouseup?: (event: MouseEvent) => void;\n onmouseenter?: (event: MouseEvent) => void;\n onmouseleave?: (event: MouseEvent) => void;\n onmousemove?: (event: MouseEvent) => void;\n onmouseover?: (event: MouseEvent) => void;\n onmouseout?: (event: MouseEvent) => void;\n oncontextmenu?: (event: MouseEvent) => void;\n\n onkeydown?: (event: KeyboardEvent) => void;\n onkeyup?: (event: KeyboardEvent) => void;\n onkeypress?: (event: KeyboardEvent) => void;\n\n onfocus?: (event: FocusEvent) => void;\n onblur?: (event: FocusEvent) => void;\n\n onchange?: (event: Event) => void;\n oninput?: (event: Event) => void;\n onsubmit?: (event: Event) => void;\n\n onscroll?: (event: Event) => void;\n onwheel?: (event: WheelEvent) => void;\n\n ontouchstart?: (event: TouchEvent) => void;\n ontouchmove?: (event: TouchEvent) => void;\n ontouchend?: (event: TouchEvent) => void;\n ontouchcancel?: (event: TouchEvent) => void;\n\n ondragstart?: (event: DragEvent) => void;\n ondrag?: (event: DragEvent) => void;\n ondragend?: (event: DragEvent) => void;\n ondragenter?: (event: DragEvent) => void;\n ondragleave?: (event: DragEvent) => void;\n ondragover?: (event: DragEvent) => void;\n ondrop?: (event: DragEvent) => void;\n\n // Children\n children?: JSXNode;\n}\n\n/**\n * HTML attributes with Signal support\n * All non-function properties can accept Signal values\n */\nexport type HTMLAttributes<T = Element> = WithKey<WithSignals<BaseHTMLAttributes<T>>> & {\n // Data attributes support both plain values and Signals\n [dataAttribute: `data-${string}`]:\n | string\n | number\n | boolean\n | Signal<string | number | boolean>\n | undefined;\n};\n\ninterface BaseAnchorHTMLAttributes extends BaseHTMLAttributes<HTMLAnchorElement> {\n href?: string;\n target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\";\n rel?: string;\n download?: string;\n ping?: string;\n referrerPolicy?:\n | \"no-referrer\"\n | \"no-referrer-when-downgrade\"\n | \"origin\"\n | \"origin-when-cross-origin\"\n | \"same-origin\"\n | \"strict-origin\"\n | \"strict-origin-when-cross-origin\"\n | \"unsafe-url\";\n}\n\nexport type AnchorHTMLAttributes = WithKey<WithSignals<BaseAnchorHTMLAttributes>>;\n\ninterface BaseButtonHTMLAttributes extends BaseHTMLAttributes<HTMLButtonElement> {\n disabled?: boolean;\n type?: \"button\" | \"submit\" | \"reset\";\n value?: string;\n name?: string;\n form?: string;\n formAction?: string;\n formEnctype?: string;\n formMethod?: string;\n formNoValidate?: boolean;\n formTarget?: string;\n}\n\nexport type ButtonHTMLAttributes = WithKey<WithSignals<BaseButtonHTMLAttributes>>;\n\ninterface BaseInputHTMLAttributes extends BaseHTMLAttributes<HTMLInputElement> {\n accept?: string;\n alt?: string;\n autoComplete?: string;\n autoFocus?: boolean;\n capture?: boolean | \"user\" | \"environment\";\n checked?: boolean;\n defaultChecked?: boolean;\n defaultValue?: string | number;\n disabled?: boolean;\n form?: string;\n formAction?: string;\n formEnctype?: string;\n formMethod?: string;\n formNoValidate?: boolean;\n formTarget?: string;\n max?: number | string;\n maxLength?: number;\n min?: number | string;\n minLength?: number;\n multiple?: boolean;\n name?: string;\n pattern?: string;\n placeholder?: string;\n readOnly?: boolean;\n required?: boolean;\n size?: number;\n src?: string;\n step?: number | string;\n type?: string;\n value?: string | number;\n}\n\nexport type InputHTMLAttributes = WithKey<WithSignals<BaseInputHTMLAttributes>>;\n\ninterface BaseTextareaHTMLAttributes extends BaseHTMLAttributes<HTMLTextAreaElement> {\n autoComplete?: string;\n autoFocus?: boolean;\n cols?: number;\n disabled?: boolean;\n form?: string;\n maxLength?: number;\n minLength?: number;\n name?: string;\n placeholder?: string;\n readOnly?: boolean;\n required?: boolean;\n rows?: number;\n value?: string;\n wrap?: \"hard\" | \"soft\" | \"off\";\n}\n\nexport type TextareaHTMLAttributes = WithKey<WithSignals<BaseTextareaHTMLAttributes>>;\n\ninterface BaseSelectHTMLAttributes extends BaseHTMLAttributes<HTMLSelectElement> {\n autoComplete?: string;\n autoFocus?: boolean;\n disabled?: boolean;\n form?: string;\n multiple?: boolean;\n name?: string;\n required?: boolean;\n size?: number;\n value?: string | string[];\n}\n\nexport type SelectHTMLAttributes = WithKey<WithSignals<BaseSelectHTMLAttributes>>;\n\ninterface BaseOptionHTMLAttributes extends BaseHTMLAttributes<HTMLOptionElement> {\n disabled?: boolean;\n label?: string;\n selected?: boolean;\n value?: string | number;\n}\n\nexport type OptionHTMLAttributes = WithKey<WithSignals<BaseOptionHTMLAttributes>>;\n\ninterface BaseLabelHTMLAttributes extends BaseHTMLAttributes<HTMLLabelElement> {\n for?: string;\n htmlFor?: string;\n form?: string;\n}\n\nexport type LabelHTMLAttributes = WithKey<WithSignals<BaseLabelHTMLAttributes>>;\n\ninterface BaseFormHTMLAttributes extends BaseHTMLAttributes<HTMLFormElement> {\n acceptCharset?: string;\n action?: string;\n autoComplete?: string;\n enctype?: string;\n method?: \"get\" | \"post\" | \"dialog\";\n name?: string;\n noValidate?: boolean;\n target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\";\n}\n\nexport type FormHTMLAttributes = WithKey<WithSignals<BaseFormHTMLAttributes>>;\n\ninterface BaseImgHTMLAttributes extends BaseHTMLAttributes<HTMLImageElement> {\n alt?: string;\n crossOrigin?: \"anonymous\" | \"use-credentials\" | \"\";\n decoding?: \"async\" | \"auto\" | \"sync\";\n height?: number | string;\n loading?: \"eager\" | \"lazy\";\n referrerPolicy?: string;\n sizes?: string;\n src?: string;\n srcSet?: string;\n useMap?: string;\n width?: number | string;\n}\n\nexport type ImgHTMLAttributes = WithKey<WithSignals<BaseImgHTMLAttributes>>;\n\ninterface BaseVideoHTMLAttributes extends BaseHTMLAttributes<HTMLVideoElement> {\n autoPlay?: boolean;\n controls?: boolean;\n crossOrigin?: \"anonymous\" | \"use-credentials\" | \"\";\n height?: number | string;\n loop?: boolean;\n muted?: boolean;\n playsInline?: boolean;\n poster?: string;\n preload?: \"none\" | \"metadata\" | \"auto\" | \"\";\n src?: string;\n width?: number | string;\n}\n\nexport type VideoHTMLAttributes = WithKey<WithSignals<BaseVideoHTMLAttributes>>;\n\ninterface BaseAudioHTMLAttributes extends BaseHTMLAttributes<HTMLAudioElement> {\n autoPlay?: boolean;\n controls?: boolean;\n crossOrigin?: \"anonymous\" | \"use-credentials\" | \"\";\n loop?: boolean;\n muted?: boolean;\n preload?: \"none\" | \"metadata\" | \"auto\" | \"\";\n src?: string;\n}\n\nexport type AudioHTMLAttributes = WithKey<WithSignals<BaseAudioHTMLAttributes>>;\n\ninterface BaseCanvasHTMLAttributes extends BaseHTMLAttributes<HTMLCanvasElement> {\n height?: number | string;\n width?: number | string;\n}\n\nexport type CanvasHTMLAttributes = WithKey<WithSignals<BaseCanvasHTMLAttributes>>;\n\ninterface BaseIframeHTMLAttributes extends BaseHTMLAttributes<HTMLIFrameElement> {\n allow?: string;\n allowFullScreen?: boolean;\n height?: number | string;\n loading?: \"eager\" | \"lazy\";\n name?: string;\n referrerPolicy?: string;\n sandbox?: string;\n src?: string;\n srcDoc?: string;\n width?: number | string;\n}\n\nexport type IframeHTMLAttributes = WithKey<WithSignals<BaseIframeHTMLAttributes>>;\n\ninterface BaseTableHTMLAttributes extends BaseHTMLAttributes<HTMLTableElement> {\n cellPadding?: number | string;\n cellSpacing?: number | string;\n}\n\nexport type TableHTMLAttributes = WithKey<WithSignals<BaseTableHTMLAttributes>>;\n\ninterface BaseTdHTMLAttributes extends BaseHTMLAttributes<HTMLTableCellElement> {\n colSpan?: number;\n headers?: string;\n rowSpan?: number;\n}\n\nexport type TdHTMLAttributes = WithKey<WithSignals<BaseTdHTMLAttributes>>;\n\ninterface BaseThHTMLAttributes extends BaseHTMLAttributes<HTMLTableCellElement> {\n abbr?: string;\n colSpan?: number;\n headers?: string;\n rowSpan?: number;\n scope?: \"col\" | \"row\" | \"colgroup\" | \"rowgroup\";\n}\n\nexport type ThHTMLAttributes = WithKey<WithSignals<BaseThHTMLAttributes>>;\n\ninterface BaseStyleHTMLAttributes extends BaseHTMLAttributes<HTMLStyleElement> {\n media?: string;\n scoped?: boolean;\n type?: string;\n}\n\nexport type StyleHTMLAttributes = WithKey<WithSignals<BaseStyleHTMLAttributes>>;\n\ninterface BaseScriptHTMLAttributes extends BaseHTMLAttributes<HTMLScriptElement> {\n async?: boolean;\n crossOrigin?: \"anonymous\" | \"use-credentials\" | \"\";\n defer?: boolean;\n integrity?: string;\n noModule?: boolean;\n referrerPolicy?: string;\n src?: string;\n type?: string;\n}\n\nexport type ScriptHTMLAttributes = WithKey<WithSignals<BaseScriptHTMLAttributes>>;\n\ninterface BaseLinkHTMLAttributes extends BaseHTMLAttributes<HTMLLinkElement> {\n as?: string;\n crossOrigin?: \"anonymous\" | \"use-credentials\" | \"\";\n href?: string;\n hrefLang?: string;\n integrity?: string;\n media?: string;\n referrerPolicy?: string;\n rel?: string;\n sizes?: string;\n type?: string;\n}\n\nexport type LinkHTMLAttributes = WithKey<WithSignals<BaseLinkHTMLAttributes>>;\n\ninterface BaseMetaHTMLAttributes extends BaseHTMLAttributes<HTMLMetaElement> {\n charSet?: string;\n content?: string;\n httpEquiv?: string;\n name?: string;\n}\n\nexport type MetaHTMLAttributes = WithKey<WithSignals<BaseMetaHTMLAttributes>>;\n\n/**\n * JSX namespace for DOM elements\n */\nexport namespace JSX {\n // JSX factory returns sync VNodes\n export type Element = VNode;\n\n export type ElementType =\n | keyof IntrinsicElements\n | ((props: any) => JSXNode)\n | ((props: any, ctx: ComponentAPI) => JSXNode);\n\n export interface ElementChildrenAttribute {\n children: {};\n }\n\n export interface IntrinsicAttributes {\n key?: string | number;\n }\n\n export interface IntrinsicElements {\n // Document structure\n html: HTMLAttributes<HTMLHtmlElement>;\n head: HTMLAttributes<HTMLHeadElement>;\n body: HTMLAttributes<HTMLBodyElement>;\n title: HTMLAttributes<HTMLTitleElement>;\n meta: MetaHTMLAttributes;\n link: LinkHTMLAttributes;\n style: StyleHTMLAttributes;\n script: ScriptHTMLAttributes;\n\n // Content sectioning\n header: HTMLAttributes<HTMLElement>;\n footer: HTMLAttributes<HTMLElement>;\n main: HTMLAttributes<HTMLElement>;\n nav: HTMLAttributes<HTMLElement>;\n section: HTMLAttributes<HTMLElement>;\n article: HTMLAttributes<HTMLElement>;\n aside: HTMLAttributes<HTMLElement>;\n h1: HTMLAttributes<HTMLHeadingElement>;\n h2: HTMLAttributes<HTMLHeadingElement>;\n h3: HTMLAttributes<HTMLHeadingElement>;\n h4: HTMLAttributes<HTMLHeadingElement>;\n h5: HTMLAttributes<HTMLHeadingElement>;\n h6: HTMLAttributes<HTMLHeadingElement>;\n\n // Text content\n div: HTMLAttributes<HTMLDivElement>;\n p: HTMLAttributes<HTMLParagraphElement>;\n span: HTMLAttributes<HTMLSpanElement>;\n pre: HTMLAttributes<HTMLPreElement>;\n code: HTMLAttributes<HTMLElement>;\n blockquote: HTMLAttributes<HTMLQuoteElement>;\n hr: HTMLAttributes<HTMLHRElement>;\n br: HTMLAttributes<HTMLBRElement>;\n\n // Lists\n ul: HTMLAttributes<HTMLUListElement>;\n ol: HTMLAttributes<HTMLOListElement>;\n li: HTMLAttributes<HTMLLIElement>;\n dl: HTMLAttributes<HTMLDListElement>;\n dt: HTMLAttributes<HTMLElement>;\n dd: HTMLAttributes<HTMLElement>;\n\n // Inline text semantics\n a: AnchorHTMLAttributes;\n strong: HTMLAttributes<HTMLElement>;\n em: HTMLAttributes<HTMLElement>;\n b: HTMLAttributes<HTMLElement>;\n i: HTMLAttributes<HTMLElement>;\n u: HTMLAttributes<HTMLElement>;\n s: HTMLAttributes<HTMLElement>;\n small: HTMLAttributes<HTMLElement>;\n mark: HTMLAttributes<HTMLElement>;\n abbr: HTMLAttributes<HTMLElement>;\n cite: HTMLAttributes<HTMLElement>;\n q: HTMLAttributes<HTMLQuoteElement>;\n sub: HTMLAttributes<HTMLElement>;\n sup: HTMLAttributes<HTMLElement>;\n time: HTMLAttributes<HTMLTimeElement>;\n\n // Forms\n form: FormHTMLAttributes;\n input: InputHTMLAttributes;\n textarea: TextareaHTMLAttributes;\n button: ButtonHTMLAttributes;\n select: SelectHTMLAttributes;\n option: OptionHTMLAttributes;\n optgroup: HTMLAttributes<HTMLOptGroupElement>;\n label: LabelHTMLAttributes;\n fieldset: HTMLAttributes<HTMLFieldSetElement>;\n legend: HTMLAttributes<HTMLLegendElement>;\n\n // Tables\n table: TableHTMLAttributes;\n thead: HTMLAttributes<HTMLTableSectionElement>;\n tbody: HTMLAttributes<HTMLTableSectionElement>;\n tfoot: HTMLAttributes<HTMLTableSectionElement>;\n tr: HTMLAttributes<HTMLTableRowElement>;\n th: ThHTMLAttributes;\n td: TdHTMLAttributes;\n caption: HTMLAttributes<HTMLTableCaptionElement>;\n colgroup: HTMLAttributes<HTMLTableColElement>;\n col: HTMLAttributes<HTMLTableColElement>;\n\n // Media\n img: ImgHTMLAttributes;\n video: VideoHTMLAttributes;\n audio: AudioHTMLAttributes;\n source: HTMLAttributes<HTMLSourceElement>;\n track: HTMLAttributes<HTMLTrackElement>;\n canvas: CanvasHTMLAttributes;\n svg: HTMLAttributes<SVGElement>;\n\n // Embedded content\n iframe: IframeHTMLAttributes;\n embed: HTMLAttributes<HTMLEmbedElement>;\n object: HTMLAttributes<HTMLObjectElement>;\n param: HTMLAttributes<HTMLParamElement>;\n picture: HTMLAttributes<HTMLPictureElement>;\n\n // Interactive elements\n details: HTMLAttributes<HTMLDetailsElement>;\n summary: HTMLAttributes<HTMLElement>;\n dialog: HTMLAttributes<HTMLDialogElement>;\n menu: HTMLAttributes<HTMLMenuElement>;\n\n // Web Components\n slot: HTMLAttributes<HTMLSlotElement>;\n template: HTMLAttributes<HTMLTemplateElement>;\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"jsx-runtime-D9ZNjMJ2.mjs","names":[],"sources":["../../dom/src/jsx-runtime.ts"],"sourcesContent":["/**\n * JSX automatic runtime for DOM (production)\n * Use with: @jsxImportSource @semajsx/dom\n */\n\nimport { Forward, Fragment, jsx, jsxs } from \"@semajsx/core\";\nimport type { ComponentAPI, JSXNode, Ref, VNode, WithKey, WithSignals } from \"@semajsx/core\";\nimport type { Signal } from \"@semajsx/signal\";\nimport type { StyleToken } from \"@semajsx/style\";\n\nexport { jsx, jsxs, Forward, Fragment };\n\n/**\n * Class value type - supports strings, StyleTokens, arrays, and conditionals\n */\nexport type ClassValue = string | StyleToken | ClassValue[] | false | null | undefined;\n\n/**\n * HTML attribute types (base definitions without Signal support)\n */\ninterface BaseHTMLAttributes<T = Element> {\n // Ref - special prop for element references\n ref?: Ref<T>;\n\n // Standard attributes\n id?: string;\n className?: ClassValue;\n class?: ClassValue;\n style?: string | Record<string, string | number>;\n title?: string;\n lang?: string;\n dir?: \"ltr\" | \"rtl\" | \"auto\";\n hidden?: boolean;\n tabIndex?: number;\n accessKey?: string;\n contentEditable?: boolean | \"true\" | \"false\";\n draggable?: boolean;\n spellcheck?: boolean;\n\n // Special React-style props\n dangerouslySetInnerHTML?: { __html: string };\n\n // ARIA attributes\n role?: string;\n \"aria-label\"?: string;\n \"aria-labelledby\"?: string;\n \"aria-describedby\"?: string;\n \"aria-hidden\"?: boolean | \"true\" | \"false\";\n \"aria-expanded\"?: boolean | \"true\" | \"false\";\n \"aria-selected\"?: boolean | \"true\" | \"false\";\n \"aria-checked\"?: boolean | \"true\" | \"false\" | \"mixed\";\n \"aria-disabled\"?: boolean | \"true\" | \"false\";\n \"aria-readonly\"?: boolean | \"true\" | \"false\";\n \"aria-required\"?: boolean | \"true\" | \"false\";\n \"aria-invalid\"?: boolean | \"true\" | \"false\" | \"grammar\" | \"spelling\";\n \"aria-pressed\"?: boolean | \"true\" | \"false\" | \"mixed\";\n \"aria-current\"?: boolean | \"true\" | \"false\" | \"page\" | \"step\" | \"location\" | \"date\" | \"time\";\n\n // Event handlers (React-style camelCase)\n onClick?: (event: MouseEvent) => void;\n onDblClick?: (event: MouseEvent) => void;\n onMouseDown?: (event: MouseEvent) => void;\n onMouseUp?: (event: MouseEvent) => void;\n onMouseEnter?: (event: MouseEvent) => void;\n onMouseLeave?: (event: MouseEvent) => void;\n onMouseMove?: (event: MouseEvent) => void;\n onMouseOver?: (event: MouseEvent) => void;\n onMouseOut?: (event: MouseEvent) => void;\n onContextMenu?: (event: MouseEvent) => void;\n\n onKeyDown?: (event: KeyboardEvent) => void;\n onKeyUp?: (event: KeyboardEvent) => void;\n onKeyPress?: (event: KeyboardEvent) => void;\n\n onFocus?: (event: FocusEvent) => void;\n onBlur?: (event: FocusEvent) => void;\n\n onChange?: (event: Event) => void;\n onInput?: (event: Event) => void;\n onSubmit?: (event: Event) => void;\n\n onScroll?: (event: Event) => void;\n onWheel?: (event: WheelEvent) => void;\n\n onTouchStart?: (event: TouchEvent) => void;\n onTouchMove?: (event: TouchEvent) => void;\n onTouchEnd?: (event: TouchEvent) => void;\n onTouchCancel?: (event: TouchEvent) => void;\n\n onDragStart?: (event: DragEvent) => void;\n onDrag?: (event: DragEvent) => void;\n onDragEnd?: (event: DragEvent) => void;\n onDragEnter?: (event: DragEvent) => void;\n onDragLeave?: (event: DragEvent) => void;\n onDragOver?: (event: DragEvent) => void;\n onDrop?: (event: DragEvent) => void;\n\n // Event handlers (native DOM lowercase)\n onclick?: (event: MouseEvent) => void;\n ondblclick?: (event: MouseEvent) => void;\n onmousedown?: (event: MouseEvent) => void;\n onmouseup?: (event: MouseEvent) => void;\n onmouseenter?: (event: MouseEvent) => void;\n onmouseleave?: (event: MouseEvent) => void;\n onmousemove?: (event: MouseEvent) => void;\n onmouseover?: (event: MouseEvent) => void;\n onmouseout?: (event: MouseEvent) => void;\n oncontextmenu?: (event: MouseEvent) => void;\n\n onkeydown?: (event: KeyboardEvent) => void;\n onkeyup?: (event: KeyboardEvent) => void;\n onkeypress?: (event: KeyboardEvent) => void;\n\n onfocus?: (event: FocusEvent) => void;\n onblur?: (event: FocusEvent) => void;\n\n onchange?: (event: Event) => void;\n oninput?: (event: Event) => void;\n onsubmit?: (event: Event) => void;\n\n onscroll?: (event: Event) => void;\n onwheel?: (event: WheelEvent) => void;\n\n ontouchstart?: (event: TouchEvent) => void;\n ontouchmove?: (event: TouchEvent) => void;\n ontouchend?: (event: TouchEvent) => void;\n ontouchcancel?: (event: TouchEvent) => void;\n\n ondragstart?: (event: DragEvent) => void;\n ondrag?: (event: DragEvent) => void;\n ondragend?: (event: DragEvent) => void;\n ondragenter?: (event: DragEvent) => void;\n ondragleave?: (event: DragEvent) => void;\n ondragover?: (event: DragEvent) => void;\n ondrop?: (event: DragEvent) => void;\n\n // Children\n children?: JSXNode;\n}\n\n/**\n * HTML attributes with Signal support\n * All non-function properties can accept Signal values\n */\nexport type HTMLAttributes<T = Element> = WithKey<WithSignals<BaseHTMLAttributes<T>>> & {\n // Data attributes support both plain values and Signals\n [dataAttribute: `data-${string}`]:\n | string\n | number\n | boolean\n | Signal<string | number | boolean>\n | undefined;\n};\n\ninterface BaseAnchorHTMLAttributes extends BaseHTMLAttributes<HTMLAnchorElement> {\n href?: string;\n target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\";\n rel?: string;\n download?: string;\n ping?: string;\n referrerPolicy?:\n | \"no-referrer\"\n | \"no-referrer-when-downgrade\"\n | \"origin\"\n | \"origin-when-cross-origin\"\n | \"same-origin\"\n | \"strict-origin\"\n | \"strict-origin-when-cross-origin\"\n | \"unsafe-url\";\n}\n\nexport type AnchorHTMLAttributes = WithKey<WithSignals<BaseAnchorHTMLAttributes>>;\n\ninterface BaseButtonHTMLAttributes extends BaseHTMLAttributes<HTMLButtonElement> {\n disabled?: boolean;\n type?: \"button\" | \"submit\" | \"reset\";\n value?: string;\n name?: string;\n form?: string;\n formAction?: string;\n formEnctype?: string;\n formMethod?: string;\n formNoValidate?: boolean;\n formTarget?: string;\n}\n\nexport type ButtonHTMLAttributes = WithKey<WithSignals<BaseButtonHTMLAttributes>>;\n\ninterface BaseInputHTMLAttributes extends BaseHTMLAttributes<HTMLInputElement> {\n accept?: string;\n alt?: string;\n autoComplete?: string;\n autoFocus?: boolean;\n capture?: boolean | \"user\" | \"environment\";\n checked?: boolean;\n defaultChecked?: boolean;\n defaultValue?: string | number;\n disabled?: boolean;\n form?: string;\n formAction?: string;\n formEnctype?: string;\n formMethod?: string;\n formNoValidate?: boolean;\n formTarget?: string;\n max?: number | string;\n maxLength?: number;\n min?: number | string;\n minLength?: number;\n multiple?: boolean;\n name?: string;\n pattern?: string;\n placeholder?: string;\n readOnly?: boolean;\n required?: boolean;\n size?: number;\n src?: string;\n step?: number | string;\n type?: string;\n value?: string | number;\n}\n\nexport type InputHTMLAttributes = WithKey<WithSignals<BaseInputHTMLAttributes>>;\n\ninterface BaseTextareaHTMLAttributes extends BaseHTMLAttributes<HTMLTextAreaElement> {\n autoComplete?: string;\n autoFocus?: boolean;\n cols?: number;\n disabled?: boolean;\n form?: string;\n maxLength?: number;\n minLength?: number;\n name?: string;\n placeholder?: string;\n readOnly?: boolean;\n required?: boolean;\n rows?: number;\n value?: string;\n wrap?: \"hard\" | \"soft\" | \"off\";\n}\n\nexport type TextareaHTMLAttributes = WithKey<WithSignals<BaseTextareaHTMLAttributes>>;\n\ninterface BaseSelectHTMLAttributes extends BaseHTMLAttributes<HTMLSelectElement> {\n autoComplete?: string;\n autoFocus?: boolean;\n disabled?: boolean;\n form?: string;\n multiple?: boolean;\n name?: string;\n required?: boolean;\n size?: number;\n value?: string | string[];\n}\n\nexport type SelectHTMLAttributes = WithKey<WithSignals<BaseSelectHTMLAttributes>>;\n\ninterface BaseOptionHTMLAttributes extends BaseHTMLAttributes<HTMLOptionElement> {\n disabled?: boolean;\n label?: string;\n selected?: boolean;\n value?: string | number;\n}\n\nexport type OptionHTMLAttributes = WithKey<WithSignals<BaseOptionHTMLAttributes>>;\n\ninterface BaseLabelHTMLAttributes extends BaseHTMLAttributes<HTMLLabelElement> {\n for?: string;\n htmlFor?: string;\n form?: string;\n}\n\nexport type LabelHTMLAttributes = WithKey<WithSignals<BaseLabelHTMLAttributes>>;\n\ninterface BaseFormHTMLAttributes extends BaseHTMLAttributes<HTMLFormElement> {\n acceptCharset?: string;\n action?: string;\n autoComplete?: string;\n enctype?: string;\n method?: \"get\" | \"post\" | \"dialog\";\n name?: string;\n noValidate?: boolean;\n target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\";\n}\n\nexport type FormHTMLAttributes = WithKey<WithSignals<BaseFormHTMLAttributes>>;\n\ninterface BaseImgHTMLAttributes extends BaseHTMLAttributes<HTMLImageElement> {\n alt?: string;\n crossOrigin?: \"anonymous\" | \"use-credentials\" | \"\";\n decoding?: \"async\" | \"auto\" | \"sync\";\n height?: number | string;\n loading?: \"eager\" | \"lazy\";\n referrerPolicy?: string;\n sizes?: string;\n src?: string;\n srcSet?: string;\n useMap?: string;\n width?: number | string;\n}\n\nexport type ImgHTMLAttributes = WithKey<WithSignals<BaseImgHTMLAttributes>>;\n\ninterface BaseVideoHTMLAttributes extends BaseHTMLAttributes<HTMLVideoElement> {\n autoPlay?: boolean;\n controls?: boolean;\n crossOrigin?: \"anonymous\" | \"use-credentials\" | \"\";\n height?: number | string;\n loop?: boolean;\n muted?: boolean;\n playsInline?: boolean;\n poster?: string;\n preload?: \"none\" | \"metadata\" | \"auto\" | \"\";\n src?: string;\n width?: number | string;\n}\n\nexport type VideoHTMLAttributes = WithKey<WithSignals<BaseVideoHTMLAttributes>>;\n\ninterface BaseAudioHTMLAttributes extends BaseHTMLAttributes<HTMLAudioElement> {\n autoPlay?: boolean;\n controls?: boolean;\n crossOrigin?: \"anonymous\" | \"use-credentials\" | \"\";\n loop?: boolean;\n muted?: boolean;\n preload?: \"none\" | \"metadata\" | \"auto\" | \"\";\n src?: string;\n}\n\nexport type AudioHTMLAttributes = WithKey<WithSignals<BaseAudioHTMLAttributes>>;\n\ninterface BaseCanvasHTMLAttributes extends BaseHTMLAttributes<HTMLCanvasElement> {\n height?: number | string;\n width?: number | string;\n}\n\nexport type CanvasHTMLAttributes = WithKey<WithSignals<BaseCanvasHTMLAttributes>>;\n\ninterface BaseIframeHTMLAttributes extends BaseHTMLAttributes<HTMLIFrameElement> {\n allow?: string;\n allowFullScreen?: boolean;\n height?: number | string;\n loading?: \"eager\" | \"lazy\";\n name?: string;\n referrerPolicy?: string;\n sandbox?: string;\n src?: string;\n srcDoc?: string;\n width?: number | string;\n}\n\nexport type IframeHTMLAttributes = WithKey<WithSignals<BaseIframeHTMLAttributes>>;\n\ninterface BaseTableHTMLAttributes extends BaseHTMLAttributes<HTMLTableElement> {\n cellPadding?: number | string;\n cellSpacing?: number | string;\n}\n\nexport type TableHTMLAttributes = WithKey<WithSignals<BaseTableHTMLAttributes>>;\n\ninterface BaseTdHTMLAttributes extends BaseHTMLAttributes<HTMLTableCellElement> {\n colSpan?: number;\n headers?: string;\n rowSpan?: number;\n}\n\nexport type TdHTMLAttributes = WithKey<WithSignals<BaseTdHTMLAttributes>>;\n\ninterface BaseThHTMLAttributes extends BaseHTMLAttributes<HTMLTableCellElement> {\n abbr?: string;\n colSpan?: number;\n headers?: string;\n rowSpan?: number;\n scope?: \"col\" | \"row\" | \"colgroup\" | \"rowgroup\";\n}\n\nexport type ThHTMLAttributes = WithKey<WithSignals<BaseThHTMLAttributes>>;\n\ninterface BaseStyleHTMLAttributes extends BaseHTMLAttributes<HTMLStyleElement> {\n media?: string;\n scoped?: boolean;\n type?: string;\n}\n\nexport type StyleHTMLAttributes = WithKey<WithSignals<BaseStyleHTMLAttributes>>;\n\ninterface BaseScriptHTMLAttributes extends BaseHTMLAttributes<HTMLScriptElement> {\n async?: boolean;\n crossOrigin?: \"anonymous\" | \"use-credentials\" | \"\";\n defer?: boolean;\n integrity?: string;\n noModule?: boolean;\n referrerPolicy?: string;\n src?: string;\n type?: string;\n}\n\nexport type ScriptHTMLAttributes = WithKey<WithSignals<BaseScriptHTMLAttributes>>;\n\ninterface BaseLinkHTMLAttributes extends BaseHTMLAttributes<HTMLLinkElement> {\n as?: string;\n crossOrigin?: \"anonymous\" | \"use-credentials\" | \"\";\n href?: string;\n hrefLang?: string;\n integrity?: string;\n media?: string;\n referrerPolicy?: string;\n rel?: string;\n sizes?: string;\n type?: string;\n}\n\nexport type LinkHTMLAttributes = WithKey<WithSignals<BaseLinkHTMLAttributes>>;\n\ninterface BaseMetaHTMLAttributes extends BaseHTMLAttributes<HTMLMetaElement> {\n charSet?: string;\n content?: string;\n httpEquiv?: string;\n name?: string;\n}\n\nexport type MetaHTMLAttributes = WithKey<WithSignals<BaseMetaHTMLAttributes>>;\n\n/**\n * SVG element attributes — permissive to cover SVG's large attribute set\n */\nexport type SVGAttributes = HTMLAttributes<SVGElement> & {\n [key: string]: unknown;\n};\n\n/**\n * JSX namespace for DOM elements\n */\nexport namespace JSX {\n // JSX factory returns sync VNodes\n export type Element = VNode;\n\n export type ElementType =\n | keyof IntrinsicElements\n | ((props: any) => JSXNode)\n | ((props: any, ctx: ComponentAPI) => JSXNode);\n\n export interface ElementChildrenAttribute {\n children: {};\n }\n\n export interface IntrinsicAttributes {\n key?: string | number;\n }\n\n export interface IntrinsicElements {\n // Document structure\n html: HTMLAttributes<HTMLHtmlElement>;\n head: HTMLAttributes<HTMLHeadElement>;\n body: HTMLAttributes<HTMLBodyElement>;\n title: HTMLAttributes<HTMLTitleElement>;\n meta: MetaHTMLAttributes;\n link: LinkHTMLAttributes;\n style: StyleHTMLAttributes;\n script: ScriptHTMLAttributes;\n\n // Content sectioning\n header: HTMLAttributes<HTMLElement>;\n footer: HTMLAttributes<HTMLElement>;\n main: HTMLAttributes<HTMLElement>;\n nav: HTMLAttributes<HTMLElement>;\n section: HTMLAttributes<HTMLElement>;\n article: HTMLAttributes<HTMLElement>;\n aside: HTMLAttributes<HTMLElement>;\n h1: HTMLAttributes<HTMLHeadingElement>;\n h2: HTMLAttributes<HTMLHeadingElement>;\n h3: HTMLAttributes<HTMLHeadingElement>;\n h4: HTMLAttributes<HTMLHeadingElement>;\n h5: HTMLAttributes<HTMLHeadingElement>;\n h6: HTMLAttributes<HTMLHeadingElement>;\n\n // Text content\n div: HTMLAttributes<HTMLDivElement>;\n p: HTMLAttributes<HTMLParagraphElement>;\n span: HTMLAttributes<HTMLSpanElement>;\n pre: HTMLAttributes<HTMLPreElement>;\n code: HTMLAttributes<HTMLElement>;\n blockquote: HTMLAttributes<HTMLQuoteElement>;\n hr: HTMLAttributes<HTMLHRElement>;\n br: HTMLAttributes<HTMLBRElement>;\n\n // Lists\n ul: HTMLAttributes<HTMLUListElement>;\n ol: HTMLAttributes<HTMLOListElement>;\n li: HTMLAttributes<HTMLLIElement>;\n dl: HTMLAttributes<HTMLDListElement>;\n dt: HTMLAttributes<HTMLElement>;\n dd: HTMLAttributes<HTMLElement>;\n\n // Inline text semantics\n a: AnchorHTMLAttributes;\n strong: HTMLAttributes<HTMLElement>;\n em: HTMLAttributes<HTMLElement>;\n b: HTMLAttributes<HTMLElement>;\n i: HTMLAttributes<HTMLElement>;\n u: HTMLAttributes<HTMLElement>;\n s: HTMLAttributes<HTMLElement>;\n small: HTMLAttributes<HTMLElement>;\n mark: HTMLAttributes<HTMLElement>;\n abbr: HTMLAttributes<HTMLElement>;\n cite: HTMLAttributes<HTMLElement>;\n q: HTMLAttributes<HTMLQuoteElement>;\n sub: HTMLAttributes<HTMLElement>;\n sup: HTMLAttributes<HTMLElement>;\n time: HTMLAttributes<HTMLTimeElement>;\n\n // Forms\n form: FormHTMLAttributes;\n input: InputHTMLAttributes;\n textarea: TextareaHTMLAttributes;\n button: ButtonHTMLAttributes;\n select: SelectHTMLAttributes;\n option: OptionHTMLAttributes;\n optgroup: HTMLAttributes<HTMLOptGroupElement>;\n label: LabelHTMLAttributes;\n fieldset: HTMLAttributes<HTMLFieldSetElement>;\n legend: HTMLAttributes<HTMLLegendElement>;\n\n // Tables\n table: TableHTMLAttributes;\n thead: HTMLAttributes<HTMLTableSectionElement>;\n tbody: HTMLAttributes<HTMLTableSectionElement>;\n tfoot: HTMLAttributes<HTMLTableSectionElement>;\n tr: HTMLAttributes<HTMLTableRowElement>;\n th: ThHTMLAttributes;\n td: TdHTMLAttributes;\n caption: HTMLAttributes<HTMLTableCaptionElement>;\n colgroup: HTMLAttributes<HTMLTableColElement>;\n col: HTMLAttributes<HTMLTableColElement>;\n\n // Media\n img: ImgHTMLAttributes;\n video: VideoHTMLAttributes;\n audio: AudioHTMLAttributes;\n source: HTMLAttributes<HTMLSourceElement>;\n track: HTMLAttributes<HTMLTrackElement>;\n canvas: CanvasHTMLAttributes;\n svg: SVGAttributes;\n\n // SVG child elements\n circle: SVGAttributes;\n clipPath: SVGAttributes;\n defs: SVGAttributes;\n ellipse: SVGAttributes;\n g: SVGAttributes;\n line: SVGAttributes;\n linearGradient: SVGAttributes;\n mask: SVGAttributes;\n path: SVGAttributes;\n polygon: SVGAttributes;\n polyline: SVGAttributes;\n radialGradient: SVGAttributes;\n rect: SVGAttributes;\n stop: SVGAttributes;\n text: SVGAttributes;\n use: SVGAttributes;\n\n // Embedded content\n iframe: IframeHTMLAttributes;\n embed: HTMLAttributes<HTMLEmbedElement>;\n object: HTMLAttributes<HTMLObjectElement>;\n param: HTMLAttributes<HTMLParamElement>;\n picture: HTMLAttributes<HTMLPictureElement>;\n\n // Interactive elements\n details: HTMLAttributes<HTMLDetailsElement>;\n summary: HTMLAttributes<HTMLElement>;\n dialog: HTMLAttributes<HTMLDialogElement>;\n menu: HTMLAttributes<HTMLMenuElement>;\n\n // Web Components\n slot: HTMLAttributes<HTMLSlotElement>;\n template: HTMLAttributes<HTMLTemplateElement>;\n }\n}\n"],"mappings":""}
|