@pyreon/core 0.7.6 → 0.7.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.js","names":[],"sources":["../src/h.ts","../src/jsx-runtime.ts"],"sourcesContent":["import type { ComponentFn, Props, VNode, VNodeChild } from \"./types\"\n\n/** Marker for fragment nodes — renders children without a wrapper element */\nexport const Fragment: unique symbol = Symbol(\"Pyreon.Fragment\")\n\n/**\n * Hyperscript function — the compiled output of JSX.\n * `<div class=\"x\">hello</div>` → `h(\"div\", { class: \"x\" }, \"hello\")`\n *\n * Generic on P so TypeScript validates props match the component's signature\n * at the call site, then stores the result in the loosely-typed VNode.\n */\n/** Shared empty props sentinel — identity-checked in mountElement to skip applyProps. */\nexport const EMPTY_PROPS: Props = {} as Props\n\n/** Makes `children` optional in P (if present) so it can be passed as rest args to h(). */\ntype PropsWithOptionalChildren<P extends Props> = Omit<P, \"children\"> &\n (\"children\" extends keyof P ? { children?: P[\"children\"] } : unknown)\n\n// Overload: component with typed props — children is optional in the props object\n// because it can be passed as rest args. Extra keys are allowed via `& Props`.\nexport function h<P extends Props>(\n type: ComponentFn<P>,\n props: (PropsWithOptionalChildren<P> & Props) | null,\n ...children: VNodeChild[]\n): VNode\n// Overload: intrinsic element, symbol, generic/dynamic component, or mixed union\nexport function h(\n type: string | ((p: any) => VNodeChild) | symbol,\n props: Props | null,\n ...children: VNodeChild[]\n): VNode\nexport function h<P extends Props>(\n type: string | ComponentFn<P> | symbol,\n props: P | null,\n ...children: VNodeChild[]\n): VNode {\n return {\n type: type as string | ComponentFn | symbol,\n props: (props ?? EMPTY_PROPS) as Props,\n children: normalizeChildren(children),\n key: (props?.key as string | number | null) ?? null,\n }\n}\n\nfunction normalizeChildren(children: VNodeChild[]): VNodeChild[] {\n // Fast path: no nested arrays — return as-is without allocating\n for (let i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return flattenChildren(children)\n }\n }\n return children\n}\n\nfunction flattenChildren(children: VNodeChild[]): VNodeChild[] {\n const result: VNodeChild[] = []\n for (const child of children) {\n if (Array.isArray(child)) {\n result.push(...flattenChildren(child as VNodeChild[]))\n } else {\n result.push(child)\n }\n }\n return result\n}\n","/**\n * JSX automatic runtime.\n *\n * When tsconfig has `\"jsxImportSource\": \"@pyreon/core\"`, the TS/bundler compiler\n * rewrites JSX to imports from this file automatically:\n * <div class=\"x\" /> → jsx(\"div\", { class: \"x\" })\n */\nimport { Fragment, h } from \"./h\"\nimport type { ComponentFn, Props, VNode, VNodeChild } from \"./types\"\n\nexport { Fragment }\n\nexport function jsx(\n type: string | ComponentFn | symbol,\n props: Props & { children?: VNodeChild | VNodeChild[] },\n key?: string | number | null,\n): VNode {\n const { children, ...rest } = props\n const propsWithKey = (key != null ? { ...rest, key } : rest) as Props\n\n if (typeof type === \"function\") {\n // Component: keep children in props.children so the component function can access them.\n // Children must NOT be spread as h() rest args because mountComponent only passes vnode.props.\n const componentProps = children !== undefined ? { ...propsWithKey, children } : propsWithKey\n return h(type, componentProps)\n }\n\n // DOM element or symbol (Fragment, ForSymbol): children go in vnode.children\n const childArray = children === undefined ? [] : Array.isArray(children) ? children : [children]\n return h(type, propsWithKey, ...(childArray as VNodeChild[]))\n}\n\n// jsxs is called when there are multiple static children — same signature\nexport const jsxs = jsx\n\n// ─── JSX types ────────────────────────────────────────────────────────────────\n\ntype Booleanish = boolean | \"true\" | \"false\"\nexport type CSSProperties = { [K in keyof CSSStyleDeclaration]?: string | number }\nexport type StyleValue = string | CSSProperties\n\n/** Common HTML attributes accepted by all Pyreon elements */\nexport interface PyreonHTMLAttributes<E extends Element = HTMLElement> {\n // Identity\n id?: string | undefined\n class?: string | (() => string) | undefined\n className?: string | (() => string) | undefined\n style?: StyleValue | (() => StyleValue) | undefined\n // Accessible\n role?: string | undefined\n tabIndex?: number | (() => number) | undefined\n title?: string | undefined\n lang?: string | undefined\n dir?: \"ltr\" | \"rtl\" | \"auto\" | undefined\n hidden?: boolean | (() => boolean) | undefined\n draggable?: Booleanish | undefined\n // ARIA\n \"aria-label\"?: string | (() => string) | undefined\n \"aria-hidden\"?: Booleanish | (() => Booleanish) | undefined\n \"aria-disabled\"?: Booleanish | (() => Booleanish) | undefined\n \"aria-expanded\"?: Booleanish | (() => Booleanish) | undefined\n \"aria-selected\"?: Booleanish | (() => Booleanish) | undefined\n \"aria-checked\"?: Booleanish | \"mixed\" | (() => Booleanish | \"mixed\") | undefined\n \"aria-current\"?: Booleanish | \"page\" | \"step\" | \"location\" | \"date\" | \"time\" | undefined\n \"aria-live\"?: \"off\" | \"assertive\" | \"polite\" | undefined\n \"aria-atomic\"?: Booleanish | undefined\n \"aria-busy\"?: Booleanish | undefined\n \"aria-controls\"?: string | undefined\n \"aria-describedby\"?: string | undefined\n \"aria-labelledby\"?: string | undefined\n \"aria-placeholder\"?: string | undefined\n \"aria-required\"?: Booleanish | (() => Booleanish) | undefined\n \"aria-invalid\"?: Booleanish | \"grammar\" | \"spelling\" | undefined\n \"aria-valuemin\"?: number | undefined\n \"aria-valuemax\"?: number | undefined\n \"aria-valuenow\"?: number | undefined\n \"aria-valuetext\"?: string | undefined\n \"aria-haspopup\"?: Booleanish | \"menu\" | \"listbox\" | \"tree\" | \"grid\" | \"dialog\" | undefined\n \"aria-posinset\"?: number | undefined\n \"aria-setsize\"?: number | undefined\n \"aria-level\"?: number | undefined\n \"aria-multiline\"?: Booleanish | undefined\n \"aria-multiselectable\"?: Booleanish | undefined\n \"aria-orientation\"?: \"horizontal\" | \"vertical\" | undefined\n \"aria-readonly\"?: Booleanish | (() => Booleanish) | undefined\n \"aria-sort\"?: \"none\" | \"ascending\" | \"descending\" | \"other\" | undefined\n \"aria-autocomplete\"?: \"none\" | \"inline\" | \"list\" | \"both\" | undefined\n \"aria-colcount\"?: number | undefined\n \"aria-colindex\"?: number | undefined\n \"aria-colspan\"?: number | undefined\n \"aria-rowcount\"?: number | undefined\n \"aria-rowindex\"?: number | undefined\n \"aria-rowspan\"?: number | undefined\n // DOM lifecycle ref — object ref or callback ref\n ref?: { current: E | null } | ((el: E | null) => void) | undefined\n // Key for list reconciliation\n key?: string | number | undefined\n // Children — allows null, undefined, boolean in JSX children positions\n children?: VNodeChild | VNodeChild[]\n // innerHTML\n innerHTML?: string | undefined\n dangerouslySetInnerHTML?: { __html: string } | undefined\n // Events\n onClick?: ((e: MouseEvent) => void) | undefined\n onDblClick?: ((e: MouseEvent) => void) | undefined\n onMouseDown?: ((e: MouseEvent) => void) | undefined\n onMouseUp?: ((e: MouseEvent) => void) | undefined\n onMouseEnter?: ((e: MouseEvent) => void) | undefined\n onMouseLeave?: ((e: MouseEvent) => void) | undefined\n onMouseMove?: ((e: MouseEvent) => void) | undefined\n onMouseOver?: ((e: MouseEvent) => void) | undefined\n onMouseOut?: ((e: MouseEvent) => void) | undefined\n onContextMenu?: ((e: MouseEvent) => void) | undefined\n onKeyDown?: ((e: KeyboardEvent) => void) | undefined\n onKeyUp?: ((e: KeyboardEvent) => void) | undefined\n onKeyPress?: ((e: KeyboardEvent) => void) | undefined\n onFocus?: ((e: FocusEvent) => void) | undefined\n onBlur?: ((e: FocusEvent) => void) | undefined\n onChange?: ((e: Event) => void) | undefined\n onInput?: ((e: InputEvent) => void) | undefined\n onSubmit?: ((e: SubmitEvent) => void) | undefined\n onReset?: ((e: Event) => void) | undefined\n onScroll?: ((e: Event) => void) | undefined\n onWheel?: ((e: WheelEvent) => void) | undefined\n onDragStart?: ((e: DragEvent) => void) | undefined\n onDragEnd?: ((e: DragEvent) => void) | undefined\n onDragOver?: ((e: DragEvent) => void) | undefined\n onDragEnter?: ((e: DragEvent) => void) | undefined\n onDragLeave?: ((e: DragEvent) => void) | undefined\n onDrop?: ((e: DragEvent) => void) | undefined\n onTouchStart?: ((e: TouchEvent) => void) | undefined\n onTouchEnd?: ((e: TouchEvent) => void) | undefined\n onTouchMove?: ((e: TouchEvent) => void) | undefined\n onPointerDown?: ((e: PointerEvent) => void) | undefined\n onPointerUp?: ((e: PointerEvent) => void) | undefined\n onPointerMove?: ((e: PointerEvent) => void) | undefined\n onPointerEnter?: ((e: PointerEvent) => void) | undefined\n onPointerLeave?: ((e: PointerEvent) => void) | undefined\n onPointerCancel?: ((e: PointerEvent) => void) | undefined\n onPointerOver?: ((e: PointerEvent) => void) | undefined\n onPointerOut?: ((e: PointerEvent) => void) | undefined\n onTransitionEnd?: ((e: TransitionEvent) => void) | undefined\n onAnimationStart?: ((e: AnimationEvent) => void) | undefined\n onAnimationEnd?: ((e: AnimationEvent) => void) | undefined\n onAnimationIteration?: ((e: AnimationEvent) => void) | undefined\n onLoad?: ((e: Event) => void) | undefined\n onError?: ((e: Event | string) => void) | undefined\n onAbort?: ((e: Event) => void) | undefined\n onSelect?: ((e: Event) => void) | undefined\n onCopy?: ((e: ClipboardEvent) => void) | undefined\n onCut?: ((e: ClipboardEvent) => void) | undefined\n onPaste?: ((e: ClipboardEvent) => void) | undefined\n // Catch-all for data-* and other arbitrary attributes\n [key: string]: unknown\n}\n\n/** Attributes specific to form inputs */\nexport interface InputAttributes extends PyreonHTMLAttributes<HTMLInputElement> {\n type?: string | (() => string) | undefined\n value?: string | number | (() => string | number) | undefined\n defaultValue?: string | number | undefined\n checked?: boolean | (() => boolean) | undefined\n defaultChecked?: boolean | undefined\n placeholder?: string | (() => string) | undefined\n disabled?: boolean | (() => boolean) | undefined\n readOnly?: boolean | undefined\n required?: boolean | (() => boolean) | undefined\n min?: string | number | undefined\n max?: string | number | undefined\n step?: string | number | undefined\n minLength?: number | undefined\n maxLength?: number | undefined\n pattern?: string | undefined\n multiple?: boolean | undefined\n name?: string | undefined\n accept?: string | undefined\n autoComplete?: string | undefined\n autoFocus?: boolean | undefined\n form?: string | undefined\n list?: string | undefined\n size?: number | undefined\n src?: string | (() => string) | undefined\n alt?: string | undefined\n width?: number | string | undefined\n height?: number | string | undefined\n}\n\nexport interface AnchorAttributes extends PyreonHTMLAttributes<HTMLAnchorElement> {\n href?: string | (() => string) | undefined\n target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\" | string | undefined\n rel?: string | undefined\n download?: string | boolean | undefined\n}\n\nexport interface ButtonAttributes extends PyreonHTMLAttributes<HTMLButtonElement> {\n type?: \"button\" | \"submit\" | \"reset\" | undefined\n disabled?: boolean | (() => boolean) | undefined\n name?: string | undefined\n value?: string | undefined\n form?: string | undefined\n formAction?: string | undefined\n formMethod?: string | undefined\n formEncType?: string | undefined\n formNoValidate?: boolean | undefined\n formTarget?: string | undefined\n}\n\nexport interface TextareaAttributes extends PyreonHTMLAttributes<HTMLTextAreaElement> {\n value?: string | (() => string) | undefined\n defaultValue?: string | undefined\n placeholder?: string | (() => string) | undefined\n disabled?: boolean | (() => boolean) | undefined\n readOnly?: boolean | undefined\n required?: boolean | (() => boolean) | undefined\n rows?: number | undefined\n cols?: number | undefined\n minLength?: number | undefined\n maxLength?: number | undefined\n name?: string | undefined\n autoFocus?: boolean | undefined\n form?: string | undefined\n wrap?: \"hard\" | \"soft\" | undefined\n}\n\nexport interface SelectAttributes extends PyreonHTMLAttributes<HTMLSelectElement> {\n value?: string | string[] | (() => string | string[]) | undefined\n defaultValue?: string | string[] | undefined\n disabled?: boolean | (() => boolean) | undefined\n required?: boolean | (() => boolean) | undefined\n multiple?: boolean | undefined\n name?: string | undefined\n size?: number | undefined\n form?: string | undefined\n autoFocus?: boolean | undefined\n}\n\ninterface OptionAttributes extends PyreonHTMLAttributes<HTMLOptionElement> {\n value?: string | number | (() => string | number) | undefined\n disabled?: boolean | (() => boolean) | undefined\n selected?: boolean | (() => boolean) | undefined\n label?: string | undefined\n}\n\nexport interface FormAttributes extends PyreonHTMLAttributes<HTMLFormElement> {\n action?: string | undefined\n method?: \"get\" | \"post\" | undefined\n encType?: string | undefined\n noValidate?: boolean | undefined\n target?: string | undefined\n name?: string | undefined\n autoComplete?: string | undefined\n}\n\nexport interface ImgAttributes extends PyreonHTMLAttributes<HTMLImageElement> {\n src?: string | (() => string) | undefined\n alt?: string | (() => string) | undefined\n width?: number | string | (() => number | string) | undefined\n height?: number | string | (() => number | string) | undefined\n loading?: \"lazy\" | \"eager\" | undefined\n decoding?: \"auto\" | \"async\" | \"sync\" | undefined\n crossOrigin?: \"anonymous\" | \"use-credentials\" | undefined\n referrerPolicy?: string | undefined\n srcSet?: string | undefined\n sizes?: string | undefined\n}\n\ninterface VideoAttributes extends PyreonHTMLAttributes<HTMLVideoElement> {\n src?: string | (() => string) | undefined\n width?: number | string | undefined\n height?: number | string | undefined\n controls?: boolean | undefined\n autoPlay?: boolean | undefined\n muted?: boolean | undefined\n loop?: boolean | undefined\n poster?: string | undefined\n preload?: \"none\" | \"metadata\" | \"auto\" | undefined\n playsInline?: boolean | undefined\n crossOrigin?: \"anonymous\" | \"use-credentials\" | undefined\n}\n\ninterface AudioAttributes extends PyreonHTMLAttributes<HTMLAudioElement> {\n src?: string | (() => string) | undefined\n controls?: boolean | undefined\n autoPlay?: boolean | undefined\n muted?: boolean | undefined\n loop?: boolean | undefined\n preload?: \"none\" | \"metadata\" | \"auto\" | undefined\n crossOrigin?: \"anonymous\" | \"use-credentials\" | undefined\n}\n\ninterface LabelAttributes extends PyreonHTMLAttributes<HTMLLabelElement> {\n htmlFor?: string | undefined\n for?: string | undefined\n form?: string | undefined\n}\n\ninterface ThAttributes extends PyreonHTMLAttributes<HTMLTableCellElement> {\n colSpan?: number | undefined\n rowSpan?: number | undefined\n scope?: \"col\" | \"row\" | \"colgroup\" | \"rowgroup\" | undefined\n abbr?: string | undefined\n headers?: string | undefined\n}\n\ninterface TdAttributes extends PyreonHTMLAttributes<HTMLTableCellElement> {\n colSpan?: number | undefined\n rowSpan?: number | undefined\n headers?: string | undefined\n}\n\ninterface ColAttributes extends PyreonHTMLAttributes<HTMLTableColElement> {\n span?: number | undefined\n}\n\ninterface IframeAttributes extends PyreonHTMLAttributes<HTMLIFrameElement> {\n src?: string | (() => string) | undefined\n width?: number | string | undefined\n height?: number | string | undefined\n allow?: string | undefined\n allowFullScreen?: boolean | undefined\n loading?: \"lazy\" | \"eager\" | undefined\n name?: string | undefined\n sandbox?: string | undefined\n referrerPolicy?: string | undefined\n title?: string | undefined\n}\n\ninterface LinkAttributes extends PyreonHTMLAttributes<HTMLLinkElement> {\n href?: string | (() => string) | undefined\n rel?: string | undefined\n type?: string | undefined\n as?: string | undefined\n media?: string | undefined\n crossOrigin?: \"anonymous\" | \"use-credentials\" | undefined\n integrity?: string | undefined\n referrerPolicy?: string | undefined\n}\n\ninterface MetaAttributes extends PyreonHTMLAttributes<HTMLMetaElement> {\n name?: string | undefined\n content?: string | (() => string) | undefined\n httpEquiv?: string | undefined\n charset?: string | undefined\n property?: string | undefined\n}\n\ninterface ScriptAttributes extends PyreonHTMLAttributes<HTMLScriptElement> {\n src?: string | (() => string) | undefined\n type?: string | undefined\n async?: boolean | undefined\n defer?: boolean | undefined\n crossOrigin?: \"anonymous\" | \"use-credentials\" | undefined\n integrity?: string | undefined\n noModule?: boolean | undefined\n referrerPolicy?: string | undefined\n}\n\ninterface SourceAttributes extends PyreonHTMLAttributes<HTMLSourceElement> {\n src?: string | (() => string) | undefined\n type?: string | undefined\n srcSet?: string | undefined\n sizes?: string | undefined\n media?: string | undefined\n}\n\ninterface ProgressAttributes extends PyreonHTMLAttributes<HTMLProgressElement> {\n value?: number | (() => number) | undefined\n max?: number | undefined\n}\n\ninterface MeterAttributes extends PyreonHTMLAttributes<HTMLMeterElement> {\n value?: number | (() => number) | undefined\n min?: number | undefined\n max?: number | undefined\n low?: number | undefined\n high?: number | undefined\n optimum?: number | undefined\n}\n\ninterface DetailsAttributes extends PyreonHTMLAttributes<HTMLDetailsElement> {\n open?: boolean | (() => boolean) | undefined\n}\n\ninterface DialogAttributes extends PyreonHTMLAttributes<HTMLDialogElement> {\n open?: boolean | (() => boolean) | undefined\n}\n\ninterface OlAttributes extends PyreonHTMLAttributes<HTMLOListElement> {\n start?: number | undefined\n reversed?: boolean | undefined\n type?: \"1\" | \"a\" | \"A\" | \"i\" | \"I\" | undefined\n}\n\nexport interface SvgAttributes extends PyreonHTMLAttributes<SVGElement> {\n viewBox?: string | undefined\n xmlns?: string | undefined\n fill?: string | (() => string) | undefined\n stroke?: string | (() => string) | undefined\n \"stroke-width\"?: string | number | undefined\n \"stroke-linecap\"?: \"butt\" | \"round\" | \"square\" | undefined\n \"stroke-linejoin\"?: \"miter\" | \"round\" | \"bevel\" | undefined\n \"fill-rule\"?: \"nonzero\" | \"evenodd\" | undefined\n \"clip-rule\"?: \"nonzero\" | \"evenodd\" | undefined\n \"clip-path\"?: string | undefined\n d?: string | undefined\n cx?: string | number | undefined\n cy?: string | number | undefined\n r?: string | number | undefined\n rx?: string | number | undefined\n ry?: string | number | undefined\n x?: string | number | undefined\n y?: string | number | undefined\n x1?: string | number | undefined\n y1?: string | number | undefined\n x2?: string | number | undefined\n y2?: string | number | undefined\n width?: string | number | undefined\n height?: string | number | undefined\n transform?: string | (() => string) | undefined\n opacity?: string | number | (() => string | number) | undefined\n points?: string | undefined\n \"font-size\"?: string | number | undefined\n \"text-anchor\"?: \"start\" | \"middle\" | \"end\" | undefined\n \"dominant-baseline\"?: string | undefined\n}\n\ndeclare global {\n namespace JSX {\n /** The type that JSX expressions evaluate to */\n type Element = import(\"./types\").VNode\n\n /**\n * Valid JSX tag types — intrinsic strings + component functions.\n * Components may return VNode, null, strings, functions (reactive getters), etc.\n * (TS 5.1+ feature)\n */\n type ElementType = keyof IntrinsicElements | ((props: any) => import(\"./types\").VNodeChild)\n\n /** Tells TS which prop name carries children in component calls */\n interface ElementChildrenAttribute {\n // biome-ignore lint/complexity/noBannedTypes: JSX spec requires {} for ElementChildrenAttribute\n children: {}\n }\n\n interface IntrinsicElements {\n // Document structure\n html: PyreonHTMLAttributes\n head: PyreonHTMLAttributes\n body: PyreonHTMLAttributes\n title: PyreonHTMLAttributes\n base: PyreonHTMLAttributes\n meta: MetaAttributes\n link: LinkAttributes\n script: ScriptAttributes\n style: PyreonHTMLAttributes\n noscript: PyreonHTMLAttributes\n // Sections\n main: PyreonHTMLAttributes\n header: PyreonHTMLAttributes\n footer: PyreonHTMLAttributes\n nav: PyreonHTMLAttributes\n aside: PyreonHTMLAttributes\n section: PyreonHTMLAttributes\n article: PyreonHTMLAttributes\n address: PyreonHTMLAttributes\n h1: PyreonHTMLAttributes\n h2: PyreonHTMLAttributes\n h3: PyreonHTMLAttributes\n h4: PyreonHTMLAttributes\n h5: PyreonHTMLAttributes\n h6: PyreonHTMLAttributes\n hgroup: PyreonHTMLAttributes\n // Block text\n p: PyreonHTMLAttributes\n pre: PyreonHTMLAttributes\n blockquote: PyreonHTMLAttributes\n figure: PyreonHTMLAttributes\n figcaption: PyreonHTMLAttributes\n div: PyreonHTMLAttributes\n hr: PyreonHTMLAttributes\n // Inline text\n span: PyreonHTMLAttributes\n a: AnchorAttributes\n em: PyreonHTMLAttributes\n strong: PyreonHTMLAttributes\n small: PyreonHTMLAttributes\n s: PyreonHTMLAttributes\n cite: PyreonHTMLAttributes\n q: PyreonHTMLAttributes\n abbr: PyreonHTMLAttributes\n time: PyreonHTMLAttributes\n code: PyreonHTMLAttributes\n var: PyreonHTMLAttributes\n samp: PyreonHTMLAttributes\n kbd: PyreonHTMLAttributes\n mark: PyreonHTMLAttributes\n sub: PyreonHTMLAttributes\n sup: PyreonHTMLAttributes\n i: PyreonHTMLAttributes\n b: PyreonHTMLAttributes\n u: PyreonHTMLAttributes\n bdi: PyreonHTMLAttributes\n bdo: PyreonHTMLAttributes\n br: PyreonHTMLAttributes\n wbr: PyreonHTMLAttributes\n ruby: PyreonHTMLAttributes\n rt: PyreonHTMLAttributes\n rp: PyreonHTMLAttributes\n // Lists\n ul: PyreonHTMLAttributes\n ol: OlAttributes\n li: PyreonHTMLAttributes\n dl: PyreonHTMLAttributes\n dt: PyreonHTMLAttributes\n dd: PyreonHTMLAttributes\n // Forms\n form: FormAttributes\n label: LabelAttributes\n input: InputAttributes\n button: ButtonAttributes\n select: SelectAttributes\n datalist: PyreonHTMLAttributes\n optgroup: PyreonHTMLAttributes\n option: OptionAttributes\n textarea: TextareaAttributes\n output: PyreonHTMLAttributes\n progress: ProgressAttributes\n meter: MeterAttributes\n fieldset: PyreonHTMLAttributes\n legend: PyreonHTMLAttributes\n // Tables\n table: PyreonHTMLAttributes\n caption: PyreonHTMLAttributes\n colgroup: PyreonHTMLAttributes\n col: ColAttributes\n thead: PyreonHTMLAttributes\n tbody: PyreonHTMLAttributes\n tfoot: PyreonHTMLAttributes\n tr: PyreonHTMLAttributes\n th: ThAttributes\n td: TdAttributes\n // Media\n img: ImgAttributes\n video: VideoAttributes\n audio: AudioAttributes\n source: SourceAttributes\n track: PyreonHTMLAttributes\n picture: PyreonHTMLAttributes\n canvas: PyreonHTMLAttributes\n svg: SvgAttributes\n path: SvgAttributes\n circle: SvgAttributes\n ellipse: SvgAttributes\n line: SvgAttributes\n polyline: SvgAttributes\n polygon: SvgAttributes\n rect: SvgAttributes\n text: SvgAttributes\n tspan: SvgAttributes\n g: SvgAttributes\n defs: SvgAttributes\n use: SvgAttributes & { href?: string }\n symbol: SvgAttributes\n clipPath: SvgAttributes\n mask: SvgAttributes\n marker: SvgAttributes\n pattern: SvgAttributes\n linearGradient: SvgAttributes\n radialGradient: SvgAttributes\n stop: SvgAttributes & {\n offset?: string | number\n \"stop-color\"?: string\n \"stop-opacity\"?: string | number\n }\n // Interactive / embedding\n details: DetailsAttributes\n summary: PyreonHTMLAttributes\n dialog: DialogAttributes\n iframe: IframeAttributes\n embed: PyreonHTMLAttributes\n object: PyreonHTMLAttributes\n param: PyreonHTMLAttributes\n // Semantic / misc\n menu: PyreonHTMLAttributes\n menuitem: PyreonHTMLAttributes\n template: PyreonHTMLAttributes\n slot: PyreonHTMLAttributes\n portal: PyreonHTMLAttributes\n // Catch-all for custom elements and data-* attrs\n [tagName: string]: PyreonHTMLAttributes<any>\n }\n }\n}\n"],"mappings":";;AAGA,MAAa,WAA0B,OAAO,kBAAkB;;;;;;;;;AAUhE,MAAa,cAAqB,EAAE;AAmBpC,SAAgB,EACd,MACA,OACA,GAAG,UACI;AACP,QAAO;EACC;EACN,OAAQ,SAAS;EACjB,UAAU,kBAAkB,SAAS;EACrC,KAAM,OAAO,OAAkC;EAChD;;AAGH,SAAS,kBAAkB,UAAsC;AAE/D,MAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,IACnC,KAAI,MAAM,QAAQ,SAAS,GAAG,CAC5B,QAAO,gBAAgB,SAAS;AAGpC,QAAO;;AAGT,SAAS,gBAAgB,UAAsC;CAC7D,MAAM,SAAuB,EAAE;AAC/B,MAAK,MAAM,SAAS,SAClB,KAAI,MAAM,QAAQ,MAAM,CACtB,QAAO,KAAK,GAAG,gBAAgB,MAAsB,CAAC;KAEtD,QAAO,KAAK,MAAM;AAGtB,QAAO;;;;;;;;;;;;ACpDT,SAAgB,IACd,MACA,OACA,KACO;CACP,MAAM,EAAE,UAAU,GAAG,SAAS;CAC9B,MAAM,eAAgB,OAAO,OAAO;EAAE,GAAG;EAAM;EAAK,GAAG;AAEvD,KAAI,OAAO,SAAS,WAIlB,QAAO,EAAE,MADc,aAAa,SAAY;EAAE,GAAG;EAAc;EAAU,GAAG,aAClD;AAKhC,QAAO,EAAE,MAAM,cAAc,GADV,aAAa,SAAY,EAAE,GAAG,MAAM,QAAQ,SAAS,GAAG,WAAW,CAAC,SAAS,CACnC;;AAI/D,MAAa,OAAO"}
1
+ {"version":3,"file":"jsx-runtime.js","names":[],"sources":["../src/h.ts","../src/jsx-runtime.ts"],"sourcesContent":["import type { ComponentFn, Props, VNode, VNodeChild } from \"./types\"\n\n/** Marker for fragment nodes — renders children without a wrapper element */\nexport const Fragment: unique symbol = Symbol(\"Pyreon.Fragment\")\n\n/**\n * Hyperscript function — the compiled output of JSX.\n * `<div class=\"x\">hello</div>` → `h(\"div\", { class: \"x\" }, \"hello\")`\n *\n * Generic on P so TypeScript validates props match the component's signature\n * at the call site, then stores the result in the loosely-typed VNode.\n */\n/** Shared empty props sentinel — identity-checked in mountElement to skip applyProps. */\nexport const EMPTY_PROPS: Props = {} as Props\n\n/** Makes `children` optional in P (if present) so it can be passed as rest args to h(). */\ntype PropsWithOptionalChildren<P extends Props> = Omit<P, \"children\"> &\n (\"children\" extends keyof P ? { children?: P[\"children\"] } : unknown)\n\n// Overload: component with typed props — children is optional in the props object\n// because it can be passed as rest args. Extra keys are allowed via `& Props`.\nexport function h<P extends Props>(\n type: ComponentFn<P>,\n props: (PropsWithOptionalChildren<P> & Props) | null,\n ...children: VNodeChild[]\n): VNode\n// Overload: intrinsic element, symbol, generic/dynamic component, or mixed union\nexport function h(\n type: string | ((p: any) => VNodeChild) | symbol,\n props: Props | null,\n ...children: VNodeChild[]\n): VNode\nexport function h<P extends Props>(\n type: string | ComponentFn<P> | symbol,\n props: P | null,\n ...children: VNodeChild[]\n): VNode {\n return {\n type: type as string | ComponentFn | symbol,\n props: (props ?? EMPTY_PROPS) as Props,\n children: normalizeChildren(children),\n key: (props?.key as string | number | null) ?? null,\n }\n}\n\nfunction normalizeChildren(children: VNodeChild[]): VNodeChild[] {\n // Fast path: no nested arrays — return as-is without allocating\n for (let i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return flattenChildren(children)\n }\n }\n return children\n}\n\nfunction flattenChildren(children: VNodeChild[]): VNodeChild[] {\n const result: VNodeChild[] = []\n for (const child of children) {\n if (Array.isArray(child)) {\n result.push(...flattenChildren(child as VNodeChild[]))\n } else {\n result.push(child)\n }\n }\n return result\n}\n","/**\n * JSX automatic runtime.\n *\n * When tsconfig has `\"jsxImportSource\": \"@pyreon/core\"`, the TS/bundler compiler\n * rewrites JSX to imports from this file automatically:\n * <div class=\"x\" /> → jsx(\"div\", { class: \"x\" })\n */\nimport { Fragment, h } from \"./h\"\nimport type { ClassValue } from \"./style\"\nimport type { ComponentFn, Props, VNode, VNodeChild } from \"./types\"\n\nexport { Fragment }\n\nexport function jsx(\n type: string | ComponentFn | symbol,\n props: Props & { children?: VNodeChild | VNodeChild[] },\n key?: string | number | null,\n): VNode {\n const { children, ...rest } = props\n const propsWithKey = (key != null ? { ...rest, key } : rest) as Props\n\n if (typeof type === \"function\") {\n // Component: keep children in props.children so the component function can access them.\n // Children must NOT be spread as h() rest args because mountComponent only passes vnode.props.\n const componentProps = children !== undefined ? { ...propsWithKey, children } : propsWithKey\n return h(type, componentProps)\n }\n\n // DOM element or symbol (Fragment, ForSymbol): children go in vnode.children\n const childArray = children === undefined ? [] : Array.isArray(children) ? children : [children]\n return h(type, propsWithKey, ...(childArray as VNodeChild[]))\n}\n\n// jsxs is called when there are multiple static children — same signature\nexport const jsxs = jsx\n\n// ─── JSX types ────────────────────────────────────────────────────────────────\n\ntype Booleanish = boolean | \"true\" | \"false\"\nexport type CSSProperties = { [K in keyof CSSStyleDeclaration]?: string | number }\nexport type StyleValue = string | CSSProperties\n\n/** Event with typed currentTarget — used in element-specific event handlers. */\nexport type TargetedEvent<T extends Element, E extends Event = Event> = E & {\n readonly currentTarget: T\n}\n\n/** Common HTML attributes accepted by all Pyreon elements */\nexport interface PyreonHTMLAttributes<E extends Element = HTMLElement> {\n // Identity\n id?: string | undefined\n class?: ClassValue | (() => ClassValue) | undefined\n className?: ClassValue | (() => ClassValue) | undefined\n style?: StyleValue | (() => StyleValue) | undefined\n // Accessible\n role?: string | undefined\n tabIndex?: number | (() => number) | undefined\n title?: string | undefined\n lang?: string | undefined\n dir?: \"ltr\" | \"rtl\" | \"auto\" | undefined\n hidden?: boolean | (() => boolean) | undefined\n draggable?: Booleanish | undefined\n // ARIA\n \"aria-label\"?: string | (() => string) | undefined\n \"aria-hidden\"?: Booleanish | (() => Booleanish) | undefined\n \"aria-disabled\"?: Booleanish | (() => Booleanish) | undefined\n \"aria-expanded\"?: Booleanish | (() => Booleanish) | undefined\n \"aria-selected\"?: Booleanish | (() => Booleanish) | undefined\n \"aria-checked\"?: Booleanish | \"mixed\" | (() => Booleanish | \"mixed\") | undefined\n \"aria-current\"?: Booleanish | \"page\" | \"step\" | \"location\" | \"date\" | \"time\" | undefined\n \"aria-live\"?: \"off\" | \"assertive\" | \"polite\" | undefined\n \"aria-atomic\"?: Booleanish | undefined\n \"aria-busy\"?: Booleanish | undefined\n \"aria-controls\"?: string | undefined\n \"aria-describedby\"?: string | undefined\n \"aria-labelledby\"?: string | undefined\n \"aria-placeholder\"?: string | undefined\n \"aria-required\"?: Booleanish | (() => Booleanish) | undefined\n \"aria-invalid\"?: Booleanish | \"grammar\" | \"spelling\" | undefined\n \"aria-valuemin\"?: number | undefined\n \"aria-valuemax\"?: number | undefined\n \"aria-valuenow\"?: number | undefined\n \"aria-valuetext\"?: string | undefined\n \"aria-haspopup\"?: Booleanish | \"menu\" | \"listbox\" | \"tree\" | \"grid\" | \"dialog\" | undefined\n \"aria-posinset\"?: number | undefined\n \"aria-setsize\"?: number | undefined\n \"aria-level\"?: number | undefined\n \"aria-multiline\"?: Booleanish | undefined\n \"aria-multiselectable\"?: Booleanish | undefined\n \"aria-orientation\"?: \"horizontal\" | \"vertical\" | undefined\n \"aria-readonly\"?: Booleanish | (() => Booleanish) | undefined\n \"aria-sort\"?: \"none\" | \"ascending\" | \"descending\" | \"other\" | undefined\n \"aria-autocomplete\"?: \"none\" | \"inline\" | \"list\" | \"both\" | undefined\n \"aria-colcount\"?: number | undefined\n \"aria-colindex\"?: number | undefined\n \"aria-colspan\"?: number | undefined\n \"aria-rowcount\"?: number | undefined\n \"aria-rowindex\"?: number | undefined\n \"aria-rowspan\"?: number | undefined\n // DOM lifecycle ref — object ref or callback ref\n ref?: { current: E | null } | ((el: E | null) => void) | undefined\n // Key for list reconciliation\n key?: string | number | undefined\n // Children — allows null, undefined, boolean in JSX children positions\n children?: VNodeChild | VNodeChild[]\n // innerHTML\n innerHTML?: string | undefined\n dangerouslySetInnerHTML?: { __html: string } | undefined\n // Events — typed currentTarget via generic E\n onClick?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined\n onDblClick?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined\n onMouseDown?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined\n onMouseUp?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined\n onMouseEnter?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined\n onMouseLeave?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined\n onMouseMove?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined\n onMouseOver?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined\n onMouseOut?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined\n onContextMenu?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined\n onKeyDown?: ((e: TargetedEvent<E, KeyboardEvent>) => void) | undefined\n onKeyUp?: ((e: TargetedEvent<E, KeyboardEvent>) => void) | undefined\n onKeyPress?: ((e: TargetedEvent<E, KeyboardEvent>) => void) | undefined\n onFocus?: ((e: TargetedEvent<E, FocusEvent>) => void) | undefined\n onBlur?: ((e: TargetedEvent<E, FocusEvent>) => void) | undefined\n onChange?: ((e: TargetedEvent<E>) => void) | undefined\n onInput?: ((e: TargetedEvent<E, InputEvent>) => void) | undefined\n onBeforeInput?: ((e: TargetedEvent<E, InputEvent>) => void) | undefined\n onSubmit?: ((e: TargetedEvent<E, SubmitEvent>) => void) | undefined\n onReset?: ((e: TargetedEvent<E>) => void) | undefined\n onInvalid?: ((e: TargetedEvent<E>) => void) | undefined\n onScroll?: ((e: TargetedEvent<E>) => void) | undefined\n onWheel?: ((e: TargetedEvent<E, WheelEvent>) => void) | undefined\n onResize?: ((e: TargetedEvent<E>) => void) | undefined\n onDragStart?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined\n onDragEnd?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined\n onDragOver?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined\n onDragEnter?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined\n onDragLeave?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined\n onDrop?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined\n onTouchStart?: ((e: TargetedEvent<E, TouchEvent>) => void) | undefined\n onTouchEnd?: ((e: TargetedEvent<E, TouchEvent>) => void) | undefined\n onTouchMove?: ((e: TargetedEvent<E, TouchEvent>) => void) | undefined\n onPointerDown?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined\n onPointerUp?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined\n onPointerMove?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined\n onPointerEnter?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined\n onPointerLeave?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined\n onPointerCancel?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined\n onPointerOver?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined\n onPointerOut?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined\n onTransitionEnd?: ((e: TargetedEvent<E, TransitionEvent>) => void) | undefined\n onAnimationStart?: ((e: TargetedEvent<E, AnimationEvent>) => void) | undefined\n onAnimationEnd?: ((e: TargetedEvent<E, AnimationEvent>) => void) | undefined\n onAnimationIteration?: ((e: TargetedEvent<E, AnimationEvent>) => void) | undefined\n onToggle?: ((e: TargetedEvent<E>) => void) | undefined\n onLoad?: ((e: TargetedEvent<E>) => void) | undefined\n onError?: ((e: TargetedEvent<E> | string) => void) | undefined\n onAbort?: ((e: TargetedEvent<E>) => void) | undefined\n onSelect?: ((e: TargetedEvent<E>) => void) | undefined\n onCopy?: ((e: TargetedEvent<E, ClipboardEvent>) => void) | undefined\n onCut?: ((e: TargetedEvent<E, ClipboardEvent>) => void) | undefined\n onPaste?: ((e: TargetedEvent<E, ClipboardEvent>) => void) | undefined\n // data-* and aria-* catch-all (typed attributes above catch typos)\n [key: `data-${string}`]: unknown\n [key: `aria-${string}`]: unknown\n}\n\n/** Attributes specific to form inputs */\nexport interface InputAttributes extends PyreonHTMLAttributes<HTMLInputElement> {\n type?: string | (() => string) | undefined\n value?: string | number | (() => string | number) | undefined\n defaultValue?: string | number | undefined\n checked?: boolean | (() => boolean) | undefined\n defaultChecked?: boolean | undefined\n placeholder?: string | (() => string) | undefined\n disabled?: boolean | (() => boolean) | undefined\n readOnly?: boolean | undefined\n required?: boolean | (() => boolean) | undefined\n min?: string | number | undefined\n max?: string | number | undefined\n step?: string | number | undefined\n minLength?: number | undefined\n maxLength?: number | undefined\n pattern?: string | undefined\n multiple?: boolean | undefined\n name?: string | undefined\n accept?: string | undefined\n autoComplete?: string | undefined\n autoFocus?: boolean | undefined\n form?: string | undefined\n list?: string | undefined\n size?: number | undefined\n src?: string | (() => string) | undefined\n alt?: string | undefined\n width?: number | string | undefined\n height?: number | string | undefined\n}\n\nexport interface AnchorAttributes extends PyreonHTMLAttributes<HTMLAnchorElement> {\n href?: string | (() => string) | undefined\n target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\" | string | undefined\n rel?: string | undefined\n download?: string | boolean | undefined\n}\n\nexport interface ButtonAttributes extends PyreonHTMLAttributes<HTMLButtonElement> {\n type?: \"button\" | \"submit\" | \"reset\" | undefined\n disabled?: boolean | (() => boolean) | undefined\n name?: string | undefined\n value?: string | undefined\n form?: string | undefined\n formAction?: string | undefined\n formMethod?: string | undefined\n formEncType?: string | undefined\n formNoValidate?: boolean | undefined\n formTarget?: string | undefined\n}\n\nexport interface TextareaAttributes extends PyreonHTMLAttributes<HTMLTextAreaElement> {\n value?: string | (() => string) | undefined\n defaultValue?: string | undefined\n placeholder?: string | (() => string) | undefined\n disabled?: boolean | (() => boolean) | undefined\n readOnly?: boolean | undefined\n required?: boolean | (() => boolean) | undefined\n rows?: number | undefined\n cols?: number | undefined\n minLength?: number | undefined\n maxLength?: number | undefined\n name?: string | undefined\n autoFocus?: boolean | undefined\n form?: string | undefined\n wrap?: \"hard\" | \"soft\" | undefined\n}\n\nexport interface SelectAttributes extends PyreonHTMLAttributes<HTMLSelectElement> {\n value?: string | string[] | (() => string | string[]) | undefined\n defaultValue?: string | string[] | undefined\n disabled?: boolean | (() => boolean) | undefined\n required?: boolean | (() => boolean) | undefined\n multiple?: boolean | undefined\n name?: string | undefined\n size?: number | undefined\n form?: string | undefined\n autoFocus?: boolean | undefined\n}\n\ninterface OptionAttributes extends PyreonHTMLAttributes<HTMLOptionElement> {\n value?: string | number | (() => string | number) | undefined\n disabled?: boolean | (() => boolean) | undefined\n selected?: boolean | (() => boolean) | undefined\n label?: string | undefined\n}\n\nexport interface FormAttributes extends PyreonHTMLAttributes<HTMLFormElement> {\n action?: string | undefined\n method?: \"get\" | \"post\" | undefined\n encType?: string | undefined\n noValidate?: boolean | undefined\n target?: string | undefined\n name?: string | undefined\n autoComplete?: string | undefined\n}\n\nexport interface ImgAttributes extends PyreonHTMLAttributes<HTMLImageElement> {\n src?: string | (() => string) | undefined\n alt?: string | (() => string) | undefined\n width?: number | string | (() => number | string) | undefined\n height?: number | string | (() => number | string) | undefined\n loading?: \"lazy\" | \"eager\" | undefined\n decoding?: \"auto\" | \"async\" | \"sync\" | undefined\n crossOrigin?: \"anonymous\" | \"use-credentials\" | undefined\n referrerPolicy?: string | undefined\n srcSet?: string | undefined\n sizes?: string | undefined\n}\n\ninterface VideoAttributes extends PyreonHTMLAttributes<HTMLVideoElement> {\n src?: string | (() => string) | undefined\n width?: number | string | undefined\n height?: number | string | undefined\n controls?: boolean | undefined\n autoPlay?: boolean | undefined\n muted?: boolean | undefined\n loop?: boolean | undefined\n poster?: string | undefined\n preload?: \"none\" | \"metadata\" | \"auto\" | undefined\n playsInline?: boolean | undefined\n crossOrigin?: \"anonymous\" | \"use-credentials\" | undefined\n}\n\ninterface AudioAttributes extends PyreonHTMLAttributes<HTMLAudioElement> {\n src?: string | (() => string) | undefined\n controls?: boolean | undefined\n autoPlay?: boolean | undefined\n muted?: boolean | undefined\n loop?: boolean | undefined\n preload?: \"none\" | \"metadata\" | \"auto\" | undefined\n crossOrigin?: \"anonymous\" | \"use-credentials\" | undefined\n}\n\ninterface LabelAttributes extends PyreonHTMLAttributes<HTMLLabelElement> {\n htmlFor?: string | undefined\n for?: string | undefined\n form?: string | undefined\n}\n\ninterface ThAttributes extends PyreonHTMLAttributes<HTMLTableCellElement> {\n colSpan?: number | undefined\n rowSpan?: number | undefined\n scope?: \"col\" | \"row\" | \"colgroup\" | \"rowgroup\" | undefined\n abbr?: string | undefined\n headers?: string | undefined\n}\n\ninterface TdAttributes extends PyreonHTMLAttributes<HTMLTableCellElement> {\n colSpan?: number | undefined\n rowSpan?: number | undefined\n headers?: string | undefined\n}\n\ninterface ColAttributes extends PyreonHTMLAttributes<HTMLTableColElement> {\n span?: number | undefined\n}\n\ninterface IframeAttributes extends PyreonHTMLAttributes<HTMLIFrameElement> {\n src?: string | (() => string) | undefined\n width?: number | string | undefined\n height?: number | string | undefined\n allow?: string | undefined\n allowFullScreen?: boolean | undefined\n loading?: \"lazy\" | \"eager\" | undefined\n name?: string | undefined\n sandbox?: string | undefined\n referrerPolicy?: string | undefined\n title?: string | undefined\n}\n\ninterface LinkAttributes extends PyreonHTMLAttributes<HTMLLinkElement> {\n href?: string | (() => string) | undefined\n rel?: string | undefined\n type?: string | undefined\n as?: string | undefined\n media?: string | undefined\n crossOrigin?: \"anonymous\" | \"use-credentials\" | undefined\n integrity?: string | undefined\n referrerPolicy?: string | undefined\n}\n\ninterface MetaAttributes extends PyreonHTMLAttributes<HTMLMetaElement> {\n name?: string | undefined\n content?: string | (() => string) | undefined\n httpEquiv?: string | undefined\n charset?: string | undefined\n property?: string | undefined\n}\n\ninterface ScriptAttributes extends PyreonHTMLAttributes<HTMLScriptElement> {\n src?: string | (() => string) | undefined\n type?: string | undefined\n async?: boolean | undefined\n defer?: boolean | undefined\n crossOrigin?: \"anonymous\" | \"use-credentials\" | undefined\n integrity?: string | undefined\n noModule?: boolean | undefined\n referrerPolicy?: string | undefined\n}\n\ninterface SourceAttributes extends PyreonHTMLAttributes<HTMLSourceElement> {\n src?: string | (() => string) | undefined\n type?: string | undefined\n srcSet?: string | undefined\n sizes?: string | undefined\n media?: string | undefined\n}\n\ninterface ProgressAttributes extends PyreonHTMLAttributes<HTMLProgressElement> {\n value?: number | (() => number) | undefined\n max?: number | undefined\n}\n\ninterface MeterAttributes extends PyreonHTMLAttributes<HTMLMeterElement> {\n value?: number | (() => number) | undefined\n min?: number | undefined\n max?: number | undefined\n low?: number | undefined\n high?: number | undefined\n optimum?: number | undefined\n}\n\ninterface DetailsAttributes extends PyreonHTMLAttributes<HTMLDetailsElement> {\n open?: boolean | (() => boolean) | undefined\n}\n\ninterface DialogAttributes extends PyreonHTMLAttributes<HTMLDialogElement> {\n open?: boolean | (() => boolean) | undefined\n}\n\ninterface OlAttributes extends PyreonHTMLAttributes<HTMLOListElement> {\n start?: number | undefined\n reversed?: boolean | undefined\n type?: \"1\" | \"a\" | \"A\" | \"i\" | \"I\" | undefined\n}\n\ninterface CanvasAttributes extends PyreonHTMLAttributes<HTMLCanvasElement> {\n width?: number | string | undefined\n height?: number | string | undefined\n}\n\nexport interface SvgAttributes extends PyreonHTMLAttributes<SVGElement> {\n viewBox?: string | undefined\n xmlns?: string | undefined\n fill?: string | (() => string) | undefined\n stroke?: string | (() => string) | undefined\n \"stroke-width\"?: string | number | undefined\n \"stroke-linecap\"?: \"butt\" | \"round\" | \"square\" | undefined\n \"stroke-linejoin\"?: \"miter\" | \"round\" | \"bevel\" | undefined\n \"fill-rule\"?: \"nonzero\" | \"evenodd\" | undefined\n \"clip-rule\"?: \"nonzero\" | \"evenodd\" | undefined\n \"clip-path\"?: string | undefined\n d?: string | undefined\n cx?: string | number | undefined\n cy?: string | number | undefined\n r?: string | number | undefined\n rx?: string | number | undefined\n ry?: string | number | undefined\n x?: string | number | undefined\n y?: string | number | undefined\n x1?: string | number | undefined\n y1?: string | number | undefined\n x2?: string | number | undefined\n y2?: string | number | undefined\n width?: string | number | undefined\n height?: string | number | undefined\n transform?: string | (() => string) | undefined\n opacity?: string | number | (() => string | number) | undefined\n points?: string | undefined\n \"font-size\"?: string | number | undefined\n \"text-anchor\"?: \"start\" | \"middle\" | \"end\" | undefined\n \"dominant-baseline\"?: string | undefined\n}\n\ndeclare global {\n namespace JSX {\n /** The type that JSX expressions evaluate to */\n type Element = import(\"./types\").VNode\n\n /**\n * Valid JSX tag types — intrinsic strings + component functions.\n * Components may return VNode, null, strings, functions (reactive getters), etc.\n * (TS 5.1+ feature)\n */\n type ElementType = keyof IntrinsicElements | ((props: any) => import(\"./types\").VNodeChild)\n\n /** Tells TS which prop name carries children in component calls */\n interface ElementChildrenAttribute {\n // biome-ignore lint/complexity/noBannedTypes: JSX spec requires {} for ElementChildrenAttribute\n children: {}\n }\n\n interface IntrinsicElements {\n // Document structure\n html: PyreonHTMLAttributes\n head: PyreonHTMLAttributes\n body: PyreonHTMLAttributes\n title: PyreonHTMLAttributes\n base: PyreonHTMLAttributes\n meta: MetaAttributes\n link: LinkAttributes\n script: ScriptAttributes\n style: PyreonHTMLAttributes\n noscript: PyreonHTMLAttributes\n // Sections\n main: PyreonHTMLAttributes\n header: PyreonHTMLAttributes\n footer: PyreonHTMLAttributes\n nav: PyreonHTMLAttributes\n aside: PyreonHTMLAttributes\n section: PyreonHTMLAttributes\n article: PyreonHTMLAttributes\n address: PyreonHTMLAttributes\n h1: PyreonHTMLAttributes\n h2: PyreonHTMLAttributes\n h3: PyreonHTMLAttributes\n h4: PyreonHTMLAttributes\n h5: PyreonHTMLAttributes\n h6: PyreonHTMLAttributes\n hgroup: PyreonHTMLAttributes\n // Block text\n p: PyreonHTMLAttributes\n pre: PyreonHTMLAttributes\n blockquote: PyreonHTMLAttributes\n figure: PyreonHTMLAttributes\n figcaption: PyreonHTMLAttributes\n div: PyreonHTMLAttributes\n hr: PyreonHTMLAttributes\n // Inline text\n span: PyreonHTMLAttributes\n a: AnchorAttributes\n em: PyreonHTMLAttributes\n strong: PyreonHTMLAttributes\n small: PyreonHTMLAttributes\n s: PyreonHTMLAttributes\n cite: PyreonHTMLAttributes\n q: PyreonHTMLAttributes\n abbr: PyreonHTMLAttributes\n time: PyreonHTMLAttributes\n code: PyreonHTMLAttributes\n var: PyreonHTMLAttributes\n samp: PyreonHTMLAttributes\n kbd: PyreonHTMLAttributes\n mark: PyreonHTMLAttributes\n sub: PyreonHTMLAttributes\n sup: PyreonHTMLAttributes\n i: PyreonHTMLAttributes\n b: PyreonHTMLAttributes\n u: PyreonHTMLAttributes\n bdi: PyreonHTMLAttributes\n bdo: PyreonHTMLAttributes\n br: PyreonHTMLAttributes\n wbr: PyreonHTMLAttributes\n ruby: PyreonHTMLAttributes\n rt: PyreonHTMLAttributes\n rp: PyreonHTMLAttributes\n // Lists\n ul: PyreonHTMLAttributes\n ol: OlAttributes\n li: PyreonHTMLAttributes\n dl: PyreonHTMLAttributes\n dt: PyreonHTMLAttributes\n dd: PyreonHTMLAttributes\n // Forms\n form: FormAttributes\n label: LabelAttributes\n input: InputAttributes\n button: ButtonAttributes\n select: SelectAttributes\n datalist: PyreonHTMLAttributes\n optgroup: PyreonHTMLAttributes\n option: OptionAttributes\n textarea: TextareaAttributes\n output: PyreonHTMLAttributes\n progress: ProgressAttributes\n meter: MeterAttributes\n fieldset: PyreonHTMLAttributes\n legend: PyreonHTMLAttributes\n // Tables\n table: PyreonHTMLAttributes\n caption: PyreonHTMLAttributes\n colgroup: PyreonHTMLAttributes\n col: ColAttributes\n thead: PyreonHTMLAttributes\n tbody: PyreonHTMLAttributes\n tfoot: PyreonHTMLAttributes\n tr: PyreonHTMLAttributes\n th: ThAttributes\n td: TdAttributes\n // Media\n img: ImgAttributes\n video: VideoAttributes\n audio: AudioAttributes\n source: SourceAttributes\n track: PyreonHTMLAttributes\n picture: PyreonHTMLAttributes\n canvas: CanvasAttributes\n svg: SvgAttributes\n path: SvgAttributes\n circle: SvgAttributes\n ellipse: SvgAttributes\n line: SvgAttributes\n polyline: SvgAttributes\n polygon: SvgAttributes\n rect: SvgAttributes\n text: SvgAttributes\n tspan: SvgAttributes\n g: SvgAttributes\n defs: SvgAttributes\n use: SvgAttributes & { href?: string }\n symbol: SvgAttributes\n clipPath: SvgAttributes\n mask: SvgAttributes\n marker: SvgAttributes\n pattern: SvgAttributes\n linearGradient: SvgAttributes\n radialGradient: SvgAttributes\n stop: SvgAttributes & {\n offset?: string | number\n \"stop-color\"?: string\n \"stop-opacity\"?: string | number\n }\n // Interactive / embedding\n details: DetailsAttributes\n summary: PyreonHTMLAttributes\n dialog: DialogAttributes\n iframe: IframeAttributes\n embed: PyreonHTMLAttributes\n object: PyreonHTMLAttributes\n param: PyreonHTMLAttributes\n // Semantic / misc\n menu: PyreonHTMLAttributes\n menuitem: PyreonHTMLAttributes\n template: PyreonHTMLAttributes\n slot: PyreonHTMLAttributes\n portal: PyreonHTMLAttributes\n // Catch-all for custom elements and data-* attrs\n [tagName: string]: PyreonHTMLAttributes<any>\n }\n }\n}\n"],"mappings":";;AAGA,MAAa,WAA0B,OAAO,kBAAkB;;;;;;;;;AAUhE,MAAa,cAAqB,EAAE;AAmBpC,SAAgB,EACd,MACA,OACA,GAAG,UACI;AACP,QAAO;EACC;EACN,OAAQ,SAAS;EACjB,UAAU,kBAAkB,SAAS;EACrC,KAAM,OAAO,OAAkC;EAChD;;AAGH,SAAS,kBAAkB,UAAsC;AAE/D,MAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,IACnC,KAAI,MAAM,QAAQ,SAAS,GAAG,CAC5B,QAAO,gBAAgB,SAAS;AAGpC,QAAO;;AAGT,SAAS,gBAAgB,UAAsC;CAC7D,MAAM,SAAuB,EAAE;AAC/B,MAAK,MAAM,SAAS,SAClB,KAAI,MAAM,QAAQ,MAAM,CACtB,QAAO,KAAK,GAAG,gBAAgB,MAAsB,CAAC;KAEtD,QAAO,KAAK,MAAM;AAGtB,QAAO;;;;;;;;;;;;ACnDT,SAAgB,IACd,MACA,OACA,KACO;CACP,MAAM,EAAE,UAAU,GAAG,SAAS;CAC9B,MAAM,eAAgB,OAAO,OAAO;EAAE,GAAG;EAAM;EAAK,GAAG;AAEvD,KAAI,OAAO,SAAS,WAIlB,QAAO,EAAE,MADc,aAAa,SAAY;EAAE,GAAG;EAAc;EAAU,GAAG,aAClD;AAKhC,QAAO,EAAE,MAAM,cAAc,GADV,aAAa,SAAY,EAAE,GAAG,MAAM,QAAQ,SAAS,GAAG,WAAW,CAAC,SAAS,CACnC;;AAI/D,MAAa,OAAO"}
@@ -198,15 +198,30 @@ type PropsWithOptionalChildren<P extends Props> = Omit<P, "children"> & ("childr
198
198
  declare function h<P extends Props>(type: ComponentFn<P>, props: (PropsWithOptionalChildren<P> & Props) | null, ...children: VNodeChild[]): VNode;
199
199
  declare function h(type: string | ((p: any) => VNodeChild) | symbol, props: Props | null, ...children: VNodeChild[]): VNode;
200
200
  //#endregion
201
+ //#region src/style.d.ts
202
+ declare const CSS_UNITLESS: Set<string>;
203
+ /** Value accepted by the `class` prop — string, array, object, or nested mix. */
204
+ type ClassValue = string | number | boolean | null | undefined | ClassValue[] | Record<string, boolean | null | undefined | (() => boolean)>;
205
+ /** Resolve a ClassValue into a flat class string (like clsx/cx). */
206
+ declare function cx(value: ClassValue): string;
207
+ /** Convert a camelCase CSS property name to kebab-case. */
208
+ declare function toKebabCase(str: string): string;
209
+ /** Normalize a style value — appends "px" to numbers for non-unitless properties. */
210
+ declare function normalizeStyleValue(key: string, value: unknown): string;
211
+ //#endregion
201
212
  //#region src/jsx-runtime.d.ts
202
213
  type Booleanish = boolean | "true" | "false";
203
214
  type CSSProperties = { [K in keyof CSSStyleDeclaration]?: string | number };
204
215
  type StyleValue = string | CSSProperties;
216
+ /** Event with typed currentTarget — used in element-specific event handlers. */
217
+ type TargetedEvent<T extends Element, E extends Event = Event> = E & {
218
+ readonly currentTarget: T;
219
+ };
205
220
  /** Common HTML attributes accepted by all Pyreon elements */
206
221
  interface PyreonHTMLAttributes<E extends Element = HTMLElement> {
207
222
  id?: string | undefined;
208
- class?: string | (() => string) | undefined;
209
- className?: string | (() => string) | undefined;
223
+ class?: ClassValue | (() => ClassValue) | undefined;
224
+ className?: ClassValue | (() => ClassValue) | undefined;
210
225
  style?: StyleValue | (() => StyleValue) | undefined;
211
226
  role?: string | undefined;
212
227
  tabIndex?: number | (() => number) | undefined;
@@ -260,56 +275,61 @@ interface PyreonHTMLAttributes<E extends Element = HTMLElement> {
260
275
  dangerouslySetInnerHTML?: {
261
276
  __html: string;
262
277
  } | undefined;
263
- onClick?: ((e: MouseEvent) => void) | undefined;
264
- onDblClick?: ((e: MouseEvent) => void) | undefined;
265
- onMouseDown?: ((e: MouseEvent) => void) | undefined;
266
- onMouseUp?: ((e: MouseEvent) => void) | undefined;
267
- onMouseEnter?: ((e: MouseEvent) => void) | undefined;
268
- onMouseLeave?: ((e: MouseEvent) => void) | undefined;
269
- onMouseMove?: ((e: MouseEvent) => void) | undefined;
270
- onMouseOver?: ((e: MouseEvent) => void) | undefined;
271
- onMouseOut?: ((e: MouseEvent) => void) | undefined;
272
- onContextMenu?: ((e: MouseEvent) => void) | undefined;
273
- onKeyDown?: ((e: KeyboardEvent) => void) | undefined;
274
- onKeyUp?: ((e: KeyboardEvent) => void) | undefined;
275
- onKeyPress?: ((e: KeyboardEvent) => void) | undefined;
276
- onFocus?: ((e: FocusEvent) => void) | undefined;
277
- onBlur?: ((e: FocusEvent) => void) | undefined;
278
- onChange?: ((e: Event) => void) | undefined;
279
- onInput?: ((e: InputEvent) => void) | undefined;
280
- onSubmit?: ((e: SubmitEvent) => void) | undefined;
281
- onReset?: ((e: Event) => void) | undefined;
282
- onScroll?: ((e: Event) => void) | undefined;
283
- onWheel?: ((e: WheelEvent) => void) | undefined;
284
- onDragStart?: ((e: DragEvent) => void) | undefined;
285
- onDragEnd?: ((e: DragEvent) => void) | undefined;
286
- onDragOver?: ((e: DragEvent) => void) | undefined;
287
- onDragEnter?: ((e: DragEvent) => void) | undefined;
288
- onDragLeave?: ((e: DragEvent) => void) | undefined;
289
- onDrop?: ((e: DragEvent) => void) | undefined;
290
- onTouchStart?: ((e: TouchEvent) => void) | undefined;
291
- onTouchEnd?: ((e: TouchEvent) => void) | undefined;
292
- onTouchMove?: ((e: TouchEvent) => void) | undefined;
293
- onPointerDown?: ((e: PointerEvent) => void) | undefined;
294
- onPointerUp?: ((e: PointerEvent) => void) | undefined;
295
- onPointerMove?: ((e: PointerEvent) => void) | undefined;
296
- onPointerEnter?: ((e: PointerEvent) => void) | undefined;
297
- onPointerLeave?: ((e: PointerEvent) => void) | undefined;
298
- onPointerCancel?: ((e: PointerEvent) => void) | undefined;
299
- onPointerOver?: ((e: PointerEvent) => void) | undefined;
300
- onPointerOut?: ((e: PointerEvent) => void) | undefined;
301
- onTransitionEnd?: ((e: TransitionEvent) => void) | undefined;
302
- onAnimationStart?: ((e: AnimationEvent) => void) | undefined;
303
- onAnimationEnd?: ((e: AnimationEvent) => void) | undefined;
304
- onAnimationIteration?: ((e: AnimationEvent) => void) | undefined;
305
- onLoad?: ((e: Event) => void) | undefined;
306
- onError?: ((e: Event | string) => void) | undefined;
307
- onAbort?: ((e: Event) => void) | undefined;
308
- onSelect?: ((e: Event) => void) | undefined;
309
- onCopy?: ((e: ClipboardEvent) => void) | undefined;
310
- onCut?: ((e: ClipboardEvent) => void) | undefined;
311
- onPaste?: ((e: ClipboardEvent) => void) | undefined;
312
- [key: string]: unknown;
278
+ onClick?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
279
+ onDblClick?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
280
+ onMouseDown?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
281
+ onMouseUp?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
282
+ onMouseEnter?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
283
+ onMouseLeave?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
284
+ onMouseMove?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
285
+ onMouseOver?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
286
+ onMouseOut?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
287
+ onContextMenu?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
288
+ onKeyDown?: ((e: TargetedEvent<E, KeyboardEvent>) => void) | undefined;
289
+ onKeyUp?: ((e: TargetedEvent<E, KeyboardEvent>) => void) | undefined;
290
+ onKeyPress?: ((e: TargetedEvent<E, KeyboardEvent>) => void) | undefined;
291
+ onFocus?: ((e: TargetedEvent<E, FocusEvent>) => void) | undefined;
292
+ onBlur?: ((e: TargetedEvent<E, FocusEvent>) => void) | undefined;
293
+ onChange?: ((e: TargetedEvent<E>) => void) | undefined;
294
+ onInput?: ((e: TargetedEvent<E, InputEvent>) => void) | undefined;
295
+ onBeforeInput?: ((e: TargetedEvent<E, InputEvent>) => void) | undefined;
296
+ onSubmit?: ((e: TargetedEvent<E, SubmitEvent>) => void) | undefined;
297
+ onReset?: ((e: TargetedEvent<E>) => void) | undefined;
298
+ onInvalid?: ((e: TargetedEvent<E>) => void) | undefined;
299
+ onScroll?: ((e: TargetedEvent<E>) => void) | undefined;
300
+ onWheel?: ((e: TargetedEvent<E, WheelEvent>) => void) | undefined;
301
+ onResize?: ((e: TargetedEvent<E>) => void) | undefined;
302
+ onDragStart?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined;
303
+ onDragEnd?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined;
304
+ onDragOver?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined;
305
+ onDragEnter?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined;
306
+ onDragLeave?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined;
307
+ onDrop?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined;
308
+ onTouchStart?: ((e: TargetedEvent<E, TouchEvent>) => void) | undefined;
309
+ onTouchEnd?: ((e: TargetedEvent<E, TouchEvent>) => void) | undefined;
310
+ onTouchMove?: ((e: TargetedEvent<E, TouchEvent>) => void) | undefined;
311
+ onPointerDown?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined;
312
+ onPointerUp?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined;
313
+ onPointerMove?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined;
314
+ onPointerEnter?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined;
315
+ onPointerLeave?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined;
316
+ onPointerCancel?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined;
317
+ onPointerOver?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined;
318
+ onPointerOut?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined;
319
+ onTransitionEnd?: ((e: TargetedEvent<E, TransitionEvent>) => void) | undefined;
320
+ onAnimationStart?: ((e: TargetedEvent<E, AnimationEvent>) => void) | undefined;
321
+ onAnimationEnd?: ((e: TargetedEvent<E, AnimationEvent>) => void) | undefined;
322
+ onAnimationIteration?: ((e: TargetedEvent<E, AnimationEvent>) => void) | undefined;
323
+ onToggle?: ((e: TargetedEvent<E>) => void) | undefined;
324
+ onLoad?: ((e: TargetedEvent<E>) => void) | undefined;
325
+ onError?: ((e: TargetedEvent<E> | string) => void) | undefined;
326
+ onAbort?: ((e: TargetedEvent<E>) => void) | undefined;
327
+ onSelect?: ((e: TargetedEvent<E>) => void) | undefined;
328
+ onCopy?: ((e: TargetedEvent<E, ClipboardEvent>) => void) | undefined;
329
+ onCut?: ((e: TargetedEvent<E, ClipboardEvent>) => void) | undefined;
330
+ onPaste?: ((e: TargetedEvent<E, ClipboardEvent>) => void) | undefined;
331
+ [key: `data-${string}`]: unknown;
332
+ [key: `aria-${string}`]: unknown;
313
333
  }
314
334
  /** Attributes specific to form inputs */
315
335
  interface InputAttributes extends PyreonHTMLAttributes<HTMLInputElement> {
@@ -524,6 +544,10 @@ interface OlAttributes extends PyreonHTMLAttributes<HTMLOListElement> {
524
544
  reversed?: boolean | undefined;
525
545
  type?: "1" | "a" | "A" | "i" | "I" | undefined;
526
546
  }
547
+ interface CanvasAttributes extends PyreonHTMLAttributes<HTMLCanvasElement> {
548
+ width?: number | string | undefined;
549
+ height?: number | string | undefined;
550
+ }
527
551
  interface SvgAttributes extends PyreonHTMLAttributes<SVGElement> {
528
552
  viewBox?: string | undefined;
529
553
  xmlns?: string | undefined;
@@ -666,7 +690,7 @@ declare global {
666
690
  source: SourceAttributes;
667
691
  track: PyreonHTMLAttributes;
668
692
  picture: PyreonHTMLAttributes;
669
- canvas: PyreonHTMLAttributes;
693
+ canvas: CanvasAttributes;
670
694
  svg: SvgAttributes;
671
695
  path: SvgAttributes;
672
696
  circle: SvgAttributes;
@@ -814,6 +838,38 @@ interface PortalProps {
814
838
  */
815
839
  declare function Portal(props: PortalProps): VNode;
816
840
  //#endregion
841
+ //#region src/props.d.ts
842
+ /**
843
+ * Split props into two groups: keys you want and the rest.
844
+ * Unlike destructuring, this preserves reactivity (getters on the original object).
845
+ *
846
+ * @example
847
+ * const [own, html] = splitProps(props, ["label", "icon"])
848
+ * return <button {...html}><Icon name={own.icon} /> {own.label}</button>
849
+ */
850
+ declare function splitProps<T extends Record<string, unknown>, K extends (keyof T)[]>(props: T, keys: K): [Pick<T, K[number]>, Omit<T, K[number]>];
851
+ /**
852
+ * Merge default values with component props. Defaults are used when
853
+ * the prop is `undefined`. Preserves getter reactivity.
854
+ *
855
+ * @example
856
+ * const merged = mergeProps({ size: "md", variant: "primary" }, props)
857
+ * // merged.size is reactive — falls back to "md" when props.size is undefined
858
+ */
859
+ declare function mergeProps<T extends Record<string, unknown>>(...sources: T[]): T;
860
+ /**
861
+ * Generate a unique ID string for accessibility attributes (htmlFor, aria-describedby, etc.).
862
+ * SSR-safe: uses a deterministic counter that resets per request context.
863
+ *
864
+ * @example
865
+ * const id = createUniqueId()
866
+ * return <>
867
+ * <label for={id}>Name</label>
868
+ * <input id={id} />
869
+ * </>
870
+ */
871
+ declare function createUniqueId(): string;
872
+ //#endregion
817
873
  //#region src/ref.d.ts
818
874
  /**
819
875
  * createRef — mutable container for a DOM element or component value.
@@ -873,13 +929,6 @@ interface SwitchProps extends Props {
873
929
  declare function Switch(props: SwitchProps): VNode | null;
874
930
  declare const MatchSymbol: unique symbol;
875
931
  //#endregion
876
- //#region src/style.d.ts
877
- declare const CSS_UNITLESS: Set<string>;
878
- /** Convert a camelCase CSS property name to kebab-case. */
879
- declare function toKebabCase(str: string): string;
880
- /** Normalize a style value — appends "px" to numbers for non-unitless properties. */
881
- declare function normalizeStyleValue(key: string, value: unknown): string;
882
- //#endregion
883
932
  //#region src/telemetry.d.ts
884
933
  /**
885
934
  * Error telemetry — hook into Pyreon's error reporting for Sentry, Datadog, etc.
@@ -918,5 +967,5 @@ declare function registerErrorHandler(handler: ErrorHandler): () => void;
918
967
  */
919
968
  declare function reportError(ctx: ErrorContext): void;
920
969
  //#endregion
921
- export { type AnchorAttributes, type ButtonAttributes, type CSSProperties, CSS_UNITLESS, type CleanupFn, type ComponentFn, type ComponentInstance, type Context, Dynamic, type DynamicProps, EMPTY_PROPS, ErrorBoundary, type ErrorContext, type ErrorHandler, type ExtractProps, For, type ForProps, ForSymbol, type FormAttributes, Fragment, type HigherOrderComponent, type ImgAttributes, type InputAttributes, type LazyComponent, type LifecycleHooks, Match, type MatchProps, MatchSymbol, type NativeItem, Portal, type PortalProps, PortalSymbol, type Props, type PyreonHTMLAttributes, type Ref, type SelectAttributes, Show, type ShowProps, type StyleValue, Suspense, type SvgAttributes, Switch, type SwitchProps, type TextareaAttributes, type VNode, type VNodeChild, type VNodeChildAtom, createContext, createRef, defineComponent, dispatchToErrorBoundary, h, lazy, mapArray, normalizeStyleValue, onErrorCaptured, onMount, onUnmount, onUpdate, popContext, propagateError, provide, pushContext, registerErrorHandler, reportError, runWithHooks, setContextStackProvider, toKebabCase, useContext, withContext };
970
+ export { type AnchorAttributes, type ButtonAttributes, type CSSProperties, CSS_UNITLESS, type ClassValue, type CleanupFn, type ComponentFn, type ComponentInstance, type Context, Dynamic, type DynamicProps, EMPTY_PROPS, ErrorBoundary, type ErrorContext, type ErrorHandler, type ExtractProps, For, type ForProps, ForSymbol, type FormAttributes, Fragment, type HigherOrderComponent, type ImgAttributes, type InputAttributes, type LazyComponent, type LifecycleHooks, Match, type MatchProps, MatchSymbol, type NativeItem, Portal, type PortalProps, PortalSymbol, type Props, type PyreonHTMLAttributes, type Ref, type SelectAttributes, Show, type ShowProps, type StyleValue, Suspense, type SvgAttributes, Switch, type SwitchProps, type TargetedEvent, type TextareaAttributes, type VNode, type VNodeChild, type VNodeChildAtom, createContext, createRef, createUniqueId, cx, defineComponent, dispatchToErrorBoundary, h, lazy, mapArray, mergeProps, normalizeStyleValue, onErrorCaptured, onMount, onUnmount, onUpdate, popContext, propagateError, provide, pushContext, registerErrorHandler, reportError, runWithHooks, setContextStackProvider, splitProps, toKebabCase, useContext, withContext };
922
971
  //# sourceMappingURL=index2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index2.d.ts","names":[],"sources":["../../../src/types.ts","../../../src/component.ts","../../../src/context.ts","../../../src/dynamic.ts","../../../src/error-boundary.ts","../../../src/for.ts","../../../src/h.ts","../../../src/jsx-runtime.ts","../../../src/suspense.ts","../../../src/lazy.ts","../../../src/lifecycle.ts","../../../src/map-array.ts","../../../src/portal.ts","../../../src/ref.ts","../../../src/show.ts","../../../src/style.ts","../../../src/telemetry.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index2.d.ts","names":[],"sources":["../../../src/types.ts","../../../src/component.ts","../../../src/context.ts","../../../src/dynamic.ts","../../../src/error-boundary.ts","../../../src/for.ts","../../../src/h.ts","../../../src/style.ts","../../../src/jsx-runtime.ts","../../../src/suspense.ts","../../../src/lazy.ts","../../../src/lifecycle.ts","../../../src/map-array.ts","../../../src/portal.ts","../../../src/props.ts","../../../src/ref.ts","../../../src/show.ts","../../../src/telemetry.ts"],"mappings":"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"}
@@ -19,6 +19,10 @@ type ComponentFn<P extends Props = Props> = (props: P) => VNodeChild;
19
19
  /** Marker for fragment nodes — renders children without a wrapper element */
20
20
  declare const Fragment: unique symbol;
21
21
  //#endregion
22
+ //#region src/style.d.ts
23
+ /** Value accepted by the `class` prop — string, array, object, or nested mix. */
24
+ type ClassValue = string | number | boolean | null | undefined | ClassValue[] | Record<string, boolean | null | undefined | (() => boolean)>;
25
+ //#endregion
22
26
  //#region src/jsx-runtime.d.ts
23
27
  declare function jsx(type: string | ComponentFn | symbol, props: Props & {
24
28
  children?: VNodeChild | VNodeChild[];
@@ -27,11 +31,15 @@ declare const jsxs: typeof jsx;
27
31
  type Booleanish = boolean | "true" | "false";
28
32
  type CSSProperties = { [K in keyof CSSStyleDeclaration]?: string | number };
29
33
  type StyleValue = string | CSSProperties;
34
+ /** Event with typed currentTarget — used in element-specific event handlers. */
35
+ type TargetedEvent<T extends Element, E extends Event = Event> = E & {
36
+ readonly currentTarget: T;
37
+ };
30
38
  /** Common HTML attributes accepted by all Pyreon elements */
31
39
  interface PyreonHTMLAttributes<E extends Element = HTMLElement> {
32
40
  id?: string | undefined;
33
- class?: string | (() => string) | undefined;
34
- className?: string | (() => string) | undefined;
41
+ class?: ClassValue | (() => ClassValue) | undefined;
42
+ className?: ClassValue | (() => ClassValue) | undefined;
35
43
  style?: StyleValue | (() => StyleValue) | undefined;
36
44
  role?: string | undefined;
37
45
  tabIndex?: number | (() => number) | undefined;
@@ -85,56 +93,61 @@ interface PyreonHTMLAttributes<E extends Element = HTMLElement> {
85
93
  dangerouslySetInnerHTML?: {
86
94
  __html: string;
87
95
  } | undefined;
88
- onClick?: ((e: MouseEvent) => void) | undefined;
89
- onDblClick?: ((e: MouseEvent) => void) | undefined;
90
- onMouseDown?: ((e: MouseEvent) => void) | undefined;
91
- onMouseUp?: ((e: MouseEvent) => void) | undefined;
92
- onMouseEnter?: ((e: MouseEvent) => void) | undefined;
93
- onMouseLeave?: ((e: MouseEvent) => void) | undefined;
94
- onMouseMove?: ((e: MouseEvent) => void) | undefined;
95
- onMouseOver?: ((e: MouseEvent) => void) | undefined;
96
- onMouseOut?: ((e: MouseEvent) => void) | undefined;
97
- onContextMenu?: ((e: MouseEvent) => void) | undefined;
98
- onKeyDown?: ((e: KeyboardEvent) => void) | undefined;
99
- onKeyUp?: ((e: KeyboardEvent) => void) | undefined;
100
- onKeyPress?: ((e: KeyboardEvent) => void) | undefined;
101
- onFocus?: ((e: FocusEvent) => void) | undefined;
102
- onBlur?: ((e: FocusEvent) => void) | undefined;
103
- onChange?: ((e: Event) => void) | undefined;
104
- onInput?: ((e: InputEvent) => void) | undefined;
105
- onSubmit?: ((e: SubmitEvent) => void) | undefined;
106
- onReset?: ((e: Event) => void) | undefined;
107
- onScroll?: ((e: Event) => void) | undefined;
108
- onWheel?: ((e: WheelEvent) => void) | undefined;
109
- onDragStart?: ((e: DragEvent) => void) | undefined;
110
- onDragEnd?: ((e: DragEvent) => void) | undefined;
111
- onDragOver?: ((e: DragEvent) => void) | undefined;
112
- onDragEnter?: ((e: DragEvent) => void) | undefined;
113
- onDragLeave?: ((e: DragEvent) => void) | undefined;
114
- onDrop?: ((e: DragEvent) => void) | undefined;
115
- onTouchStart?: ((e: TouchEvent) => void) | undefined;
116
- onTouchEnd?: ((e: TouchEvent) => void) | undefined;
117
- onTouchMove?: ((e: TouchEvent) => void) | undefined;
118
- onPointerDown?: ((e: PointerEvent) => void) | undefined;
119
- onPointerUp?: ((e: PointerEvent) => void) | undefined;
120
- onPointerMove?: ((e: PointerEvent) => void) | undefined;
121
- onPointerEnter?: ((e: PointerEvent) => void) | undefined;
122
- onPointerLeave?: ((e: PointerEvent) => void) | undefined;
123
- onPointerCancel?: ((e: PointerEvent) => void) | undefined;
124
- onPointerOver?: ((e: PointerEvent) => void) | undefined;
125
- onPointerOut?: ((e: PointerEvent) => void) | undefined;
126
- onTransitionEnd?: ((e: TransitionEvent) => void) | undefined;
127
- onAnimationStart?: ((e: AnimationEvent) => void) | undefined;
128
- onAnimationEnd?: ((e: AnimationEvent) => void) | undefined;
129
- onAnimationIteration?: ((e: AnimationEvent) => void) | undefined;
130
- onLoad?: ((e: Event) => void) | undefined;
131
- onError?: ((e: Event | string) => void) | undefined;
132
- onAbort?: ((e: Event) => void) | undefined;
133
- onSelect?: ((e: Event) => void) | undefined;
134
- onCopy?: ((e: ClipboardEvent) => void) | undefined;
135
- onCut?: ((e: ClipboardEvent) => void) | undefined;
136
- onPaste?: ((e: ClipboardEvent) => void) | undefined;
137
- [key: string]: unknown;
96
+ onClick?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
97
+ onDblClick?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
98
+ onMouseDown?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
99
+ onMouseUp?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
100
+ onMouseEnter?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
101
+ onMouseLeave?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
102
+ onMouseMove?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
103
+ onMouseOver?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
104
+ onMouseOut?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
105
+ onContextMenu?: ((e: TargetedEvent<E, MouseEvent>) => void) | undefined;
106
+ onKeyDown?: ((e: TargetedEvent<E, KeyboardEvent>) => void) | undefined;
107
+ onKeyUp?: ((e: TargetedEvent<E, KeyboardEvent>) => void) | undefined;
108
+ onKeyPress?: ((e: TargetedEvent<E, KeyboardEvent>) => void) | undefined;
109
+ onFocus?: ((e: TargetedEvent<E, FocusEvent>) => void) | undefined;
110
+ onBlur?: ((e: TargetedEvent<E, FocusEvent>) => void) | undefined;
111
+ onChange?: ((e: TargetedEvent<E>) => void) | undefined;
112
+ onInput?: ((e: TargetedEvent<E, InputEvent>) => void) | undefined;
113
+ onBeforeInput?: ((e: TargetedEvent<E, InputEvent>) => void) | undefined;
114
+ onSubmit?: ((e: TargetedEvent<E, SubmitEvent>) => void) | undefined;
115
+ onReset?: ((e: TargetedEvent<E>) => void) | undefined;
116
+ onInvalid?: ((e: TargetedEvent<E>) => void) | undefined;
117
+ onScroll?: ((e: TargetedEvent<E>) => void) | undefined;
118
+ onWheel?: ((e: TargetedEvent<E, WheelEvent>) => void) | undefined;
119
+ onResize?: ((e: TargetedEvent<E>) => void) | undefined;
120
+ onDragStart?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined;
121
+ onDragEnd?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined;
122
+ onDragOver?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined;
123
+ onDragEnter?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined;
124
+ onDragLeave?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined;
125
+ onDrop?: ((e: TargetedEvent<E, DragEvent>) => void) | undefined;
126
+ onTouchStart?: ((e: TargetedEvent<E, TouchEvent>) => void) | undefined;
127
+ onTouchEnd?: ((e: TargetedEvent<E, TouchEvent>) => void) | undefined;
128
+ onTouchMove?: ((e: TargetedEvent<E, TouchEvent>) => void) | undefined;
129
+ onPointerDown?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined;
130
+ onPointerUp?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined;
131
+ onPointerMove?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined;
132
+ onPointerEnter?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined;
133
+ onPointerLeave?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined;
134
+ onPointerCancel?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined;
135
+ onPointerOver?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined;
136
+ onPointerOut?: ((e: TargetedEvent<E, PointerEvent>) => void) | undefined;
137
+ onTransitionEnd?: ((e: TargetedEvent<E, TransitionEvent>) => void) | undefined;
138
+ onAnimationStart?: ((e: TargetedEvent<E, AnimationEvent>) => void) | undefined;
139
+ onAnimationEnd?: ((e: TargetedEvent<E, AnimationEvent>) => void) | undefined;
140
+ onAnimationIteration?: ((e: TargetedEvent<E, AnimationEvent>) => void) | undefined;
141
+ onToggle?: ((e: TargetedEvent<E>) => void) | undefined;
142
+ onLoad?: ((e: TargetedEvent<E>) => void) | undefined;
143
+ onError?: ((e: TargetedEvent<E> | string) => void) | undefined;
144
+ onAbort?: ((e: TargetedEvent<E>) => void) | undefined;
145
+ onSelect?: ((e: TargetedEvent<E>) => void) | undefined;
146
+ onCopy?: ((e: TargetedEvent<E, ClipboardEvent>) => void) | undefined;
147
+ onCut?: ((e: TargetedEvent<E, ClipboardEvent>) => void) | undefined;
148
+ onPaste?: ((e: TargetedEvent<E, ClipboardEvent>) => void) | undefined;
149
+ [key: `data-${string}`]: unknown;
150
+ [key: `aria-${string}`]: unknown;
138
151
  }
139
152
  /** Attributes specific to form inputs */
140
153
  interface InputAttributes extends PyreonHTMLAttributes<HTMLInputElement> {
@@ -349,6 +362,10 @@ interface OlAttributes extends PyreonHTMLAttributes<HTMLOListElement> {
349
362
  reversed?: boolean | undefined;
350
363
  type?: "1" | "a" | "A" | "i" | "I" | undefined;
351
364
  }
365
+ interface CanvasAttributes extends PyreonHTMLAttributes<HTMLCanvasElement> {
366
+ width?: number | string | undefined;
367
+ height?: number | string | undefined;
368
+ }
352
369
  interface SvgAttributes extends PyreonHTMLAttributes<SVGElement> {
353
370
  viewBox?: string | undefined;
354
371
  xmlns?: string | undefined;
@@ -491,7 +508,7 @@ declare global {
491
508
  source: SourceAttributes;
492
509
  track: PyreonHTMLAttributes;
493
510
  picture: PyreonHTMLAttributes;
494
- canvas: PyreonHTMLAttributes;
511
+ canvas: CanvasAttributes;
495
512
  svg: SvgAttributes;
496
513
  path: SvgAttributes;
497
514
  circle: SvgAttributes;