{"version":3,"sources":["../src/jsx-runtime.ts"],"names":["jsx","type","props","key","children","propsKey","otherProps","finalKey","jsxs","jsxDEV","Fragment"],"mappings":"AAGO,SAASA,EAAIC,CAAAA,CAAWC,CAAAA,CAAgCC,CAAAA,CAAsB,CACjF,GAAM,CAAE,QAAA,CAAAC,CAAAA,CAAU,GAAA,CAAKC,EAAU,GAAGC,CAAW,CAAA,CAAIJ,CAAAA,EAAS,EAAC,CAEvDK,CAAAA,CAAWJ,CAAAA,GAAQ,MAAA,CAAYA,EAAME,CAAAA,CAC3C,OAAO,CACH,IAAA,CAAAJ,EACA,KAAA,CAAOK,CAAAA,CACP,QAAA,CAAU,KAAA,CAAM,QAAQF,CAAQ,CAAA,CAAIA,CAAAA,CAAYA,CAAAA,EAAY,KAAO,CAACA,CAAsB,CAAA,CAAI,GAC9F,GAAA,CAAKG,CACT,CACJ,CAGO,SAASC,CAAAA,CAAKP,CAAAA,CAAWC,CAAAA,CAAgCC,CAAAA,CAAsB,CAClF,OAAOH,CAAAA,CAAIC,CAAAA,CAAMC,CAAAA,CAAOC,CAAG,CAC/B,CAIO,SAASM,CAAAA,CAAOR,EAAWC,CAAAA,CAAgCC,CAAAA,CAAsB,CACpF,OAAOH,EAAIC,CAAAA,CAAMC,CAAAA,CAAOC,CAAG,CAC/B,CAEO,SAASO,CAAAA,CAASR,EAA4C,CACjE,OAAOA,EAAM,QACjB","file":"chunk-M3Z3SCA5.mjs","sourcesContent":["import type { FNode, FNodeChild } from './dom/types'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- JSX factory: type must accept any component or tag; props are heterogeneous across all components\nexport function jsx(type: any, props: Record<string, unknown>, key?: unknown): FNode {\n    const { children, key: propsKey, ...otherProps } = props || {}\n    // Use explicit key argument if provided, otherwise use key from props\n    const finalKey = key !== undefined ? key : propsKey\n    return {\n        type,\n        props: otherProps,\n        children: Array.isArray(children) ? children : (children != null ? [children as FNodeChild] : []),\n        key: finalKey\n    }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- see jsx above\nexport function jsxs(type: any, props: Record<string, unknown>, key?: unknown): FNode {\n    return jsx(type, props, key)\n}\n\n// Development version (same as jsx for our purposes)\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- see jsx above\nexport function jsxDEV(type: any, props: Record<string, unknown>, key?: unknown): FNode {\n    return jsx(type, props, key)\n}\n\nexport function Fragment(props: Record<string, unknown>): FNodeChild {\n    return props.children as FNodeChild\n}\n\n// eslint-disable-next-line @typescript-eslint/no-namespace -- JSX namespace is required by TypeScript's JSX type system; cannot be replaced with module syntax\nexport namespace JSX {\n    export interface IntrinsicElements {\n        [elemName: string]: Record<string, unknown>\n    }\n    export type Element = FNode | FNodeChild\n    export interface ElementChildrenAttribute {\n        // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- `children: {}` is the TypeScript-idiomatic way to declare the children prop in JSX ElementChildrenAttribute\n        children: {}\n    }\n}\n"]}