@pyreon/core 0.7.4 → 0.7.5
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/lib/jsx-dev-runtime.js.map +1 -1
- package/lib/jsx-runtime.js.map +1 -1
- package/lib/types/jsx-dev-runtime.d.ts +29 -29
- package/lib/types/jsx-dev-runtime.d.ts.map +1 -1
- package/lib/types/jsx-runtime.d.ts +29 -29
- package/lib/types/jsx-runtime.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/jsx-runtime.ts +28 -28
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-dev-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\"\ntype CSSProperties = { [K in keyof CSSStyleDeclaration]?: string | number }\ntype StyleValue = string | CSSProperties\n\n/** Common HTML attributes accepted by all Pyreon elements */\ninterface PyreonHTMLAttributes {\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: unknown } | ((el: Element | 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 */\ninterface InputAttributes extends PyreonHTMLAttributes {\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\ninterface AnchorAttributes extends PyreonHTMLAttributes {\n href?: string | (() => string) | undefined\n target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\" | string | undefined\n rel?: string | undefined\n download?: string | boolean | undefined\n}\n\ninterface ButtonAttributes extends PyreonHTMLAttributes {\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\ninterface TextareaAttributes extends PyreonHTMLAttributes {\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\ninterface SelectAttributes extends PyreonHTMLAttributes {\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 {\n value?: string | number | (() => string | number) | undefined\n disabled?: boolean | (() => boolean) | undefined\n selected?: boolean | (() => boolean) | undefined\n label?: string | undefined\n}\n\ninterface FormAttributes extends PyreonHTMLAttributes {\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\ninterface ImgAttributes extends PyreonHTMLAttributes {\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 {\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 {\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 {\n htmlFor?: string | undefined\n for?: string | undefined\n form?: string | undefined\n}\n\ninterface ThAttributes extends PyreonHTMLAttributes {\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 {\n colSpan?: number | undefined\n rowSpan?: number | undefined\n headers?: string | undefined\n}\n\ninterface ColAttributes extends PyreonHTMLAttributes {\n span?: number | undefined\n}\n\ninterface IframeAttributes extends PyreonHTMLAttributes {\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 {\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 {\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 {\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 {\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 {\n value?: number | (() => number) | undefined\n max?: number | undefined\n}\n\ninterface MeterAttributes extends PyreonHTMLAttributes {\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 {\n open?: boolean | (() => boolean) | undefined\n}\n\ninterface DialogAttributes extends PyreonHTMLAttributes {\n open?: boolean | (() => boolean) | undefined\n}\n\ninterface OlAttributes extends PyreonHTMLAttributes {\n start?: number | undefined\n reversed?: boolean | undefined\n type?: \"1\" | \"a\" | \"A\" | \"i\" | \"I\" | undefined\n}\n\ninterface SvgAttributes extends PyreonHTMLAttributes {\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\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-dev-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\"\ntype CSSProperties = { [K in keyof CSSStyleDeclaration]?: string | number }\ntype StyleValue = string | CSSProperties\n\n/** Common HTML attributes accepted by all Pyreon elements */\ninterface 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 */\ninterface 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\ninterface 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\ninterface 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\ninterface 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\ninterface 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\ninterface 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\ninterface 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 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"}
|
package/lib/jsx-runtime.js.map
CHANGED
|
@@ -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\"\ntype CSSProperties = { [K in keyof CSSStyleDeclaration]?: string | number }\ntype StyleValue = string | CSSProperties\n\n/** Common HTML attributes accepted by all Pyreon elements */\ninterface PyreonHTMLAttributes {\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: unknown } | ((el: Element | 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 */\ninterface InputAttributes extends PyreonHTMLAttributes {\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\ninterface AnchorAttributes extends PyreonHTMLAttributes {\n href?: string | (() => string) | undefined\n target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\" | string | undefined\n rel?: string | undefined\n download?: string | boolean | undefined\n}\n\ninterface ButtonAttributes extends PyreonHTMLAttributes {\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\ninterface TextareaAttributes extends PyreonHTMLAttributes {\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\ninterface SelectAttributes extends PyreonHTMLAttributes {\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 {\n value?: string | number | (() => string | number) | undefined\n disabled?: boolean | (() => boolean) | undefined\n selected?: boolean | (() => boolean) | undefined\n label?: string | undefined\n}\n\ninterface FormAttributes extends PyreonHTMLAttributes {\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\ninterface ImgAttributes extends PyreonHTMLAttributes {\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 {\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 {\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 {\n htmlFor?: string | undefined\n for?: string | undefined\n form?: string | undefined\n}\n\ninterface ThAttributes extends PyreonHTMLAttributes {\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 {\n colSpan?: number | undefined\n rowSpan?: number | undefined\n headers?: string | undefined\n}\n\ninterface ColAttributes extends PyreonHTMLAttributes {\n span?: number | undefined\n}\n\ninterface IframeAttributes extends PyreonHTMLAttributes {\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 {\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 {\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 {\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 {\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 {\n value?: number | (() => number) | undefined\n max?: number | undefined\n}\n\ninterface MeterAttributes extends PyreonHTMLAttributes {\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 {\n open?: boolean | (() => boolean) | undefined\n}\n\ninterface DialogAttributes extends PyreonHTMLAttributes {\n open?: boolean | (() => boolean) | undefined\n}\n\ninterface OlAttributes extends PyreonHTMLAttributes {\n start?: number | undefined\n reversed?: boolean | undefined\n type?: \"1\" | \"a\" | \"A\" | \"i\" | \"I\" | undefined\n}\n\ninterface SvgAttributes extends PyreonHTMLAttributes {\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\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 { 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\"\ntype CSSProperties = { [K in keyof CSSStyleDeclaration]?: string | number }\ntype StyleValue = string | CSSProperties\n\n/** Common HTML attributes accepted by all Pyreon elements */\ninterface 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 */\ninterface 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\ninterface 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\ninterface 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\ninterface 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\ninterface 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\ninterface 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\ninterface 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 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"}
|
|
@@ -28,7 +28,7 @@ type Booleanish = boolean | "true" | "false";
|
|
|
28
28
|
type CSSProperties = { [K in keyof CSSStyleDeclaration]?: string | number };
|
|
29
29
|
type StyleValue = string | CSSProperties;
|
|
30
30
|
/** Common HTML attributes accepted by all Pyreon elements */
|
|
31
|
-
interface PyreonHTMLAttributes {
|
|
31
|
+
interface PyreonHTMLAttributes<E extends Element = HTMLElement> {
|
|
32
32
|
id?: string | undefined;
|
|
33
33
|
class?: string | (() => string) | undefined;
|
|
34
34
|
className?: string | (() => string) | undefined;
|
|
@@ -77,8 +77,8 @@ interface PyreonHTMLAttributes {
|
|
|
77
77
|
"aria-rowindex"?: number | undefined;
|
|
78
78
|
"aria-rowspan"?: number | undefined;
|
|
79
79
|
ref?: {
|
|
80
|
-
current:
|
|
81
|
-
} | ((el:
|
|
80
|
+
current: E | null;
|
|
81
|
+
} | ((el: E | null) => void) | undefined;
|
|
82
82
|
key?: string | number | undefined;
|
|
83
83
|
children?: VNodeChild | VNodeChild[];
|
|
84
84
|
innerHTML?: string | undefined;
|
|
@@ -137,7 +137,7 @@ interface PyreonHTMLAttributes {
|
|
|
137
137
|
[key: string]: unknown;
|
|
138
138
|
}
|
|
139
139
|
/** Attributes specific to form inputs */
|
|
140
|
-
interface InputAttributes extends PyreonHTMLAttributes {
|
|
140
|
+
interface InputAttributes extends PyreonHTMLAttributes<HTMLInputElement> {
|
|
141
141
|
type?: string | (() => string) | undefined;
|
|
142
142
|
value?: string | number | (() => string | number) | undefined;
|
|
143
143
|
defaultValue?: string | number | undefined;
|
|
@@ -166,13 +166,13 @@ interface InputAttributes extends PyreonHTMLAttributes {
|
|
|
166
166
|
width?: number | string | undefined;
|
|
167
167
|
height?: number | string | undefined;
|
|
168
168
|
}
|
|
169
|
-
interface AnchorAttributes extends PyreonHTMLAttributes {
|
|
169
|
+
interface AnchorAttributes extends PyreonHTMLAttributes<HTMLAnchorElement> {
|
|
170
170
|
href?: string | (() => string) | undefined;
|
|
171
171
|
target?: "_blank" | "_self" | "_parent" | "_top" | string | undefined;
|
|
172
172
|
rel?: string | undefined;
|
|
173
173
|
download?: string | boolean | undefined;
|
|
174
174
|
}
|
|
175
|
-
interface ButtonAttributes extends PyreonHTMLAttributes {
|
|
175
|
+
interface ButtonAttributes extends PyreonHTMLAttributes<HTMLButtonElement> {
|
|
176
176
|
type?: "button" | "submit" | "reset" | undefined;
|
|
177
177
|
disabled?: boolean | (() => boolean) | undefined;
|
|
178
178
|
name?: string | undefined;
|
|
@@ -184,7 +184,7 @@ interface ButtonAttributes extends PyreonHTMLAttributes {
|
|
|
184
184
|
formNoValidate?: boolean | undefined;
|
|
185
185
|
formTarget?: string | undefined;
|
|
186
186
|
}
|
|
187
|
-
interface TextareaAttributes extends PyreonHTMLAttributes {
|
|
187
|
+
interface TextareaAttributes extends PyreonHTMLAttributes<HTMLTextAreaElement> {
|
|
188
188
|
value?: string | (() => string) | undefined;
|
|
189
189
|
defaultValue?: string | undefined;
|
|
190
190
|
placeholder?: string | (() => string) | undefined;
|
|
@@ -200,7 +200,7 @@ interface TextareaAttributes extends PyreonHTMLAttributes {
|
|
|
200
200
|
form?: string | undefined;
|
|
201
201
|
wrap?: "hard" | "soft" | undefined;
|
|
202
202
|
}
|
|
203
|
-
interface SelectAttributes extends PyreonHTMLAttributes {
|
|
203
|
+
interface SelectAttributes extends PyreonHTMLAttributes<HTMLSelectElement> {
|
|
204
204
|
value?: string | string[] | (() => string | string[]) | undefined;
|
|
205
205
|
defaultValue?: string | string[] | undefined;
|
|
206
206
|
disabled?: boolean | (() => boolean) | undefined;
|
|
@@ -211,13 +211,13 @@ interface SelectAttributes extends PyreonHTMLAttributes {
|
|
|
211
211
|
form?: string | undefined;
|
|
212
212
|
autoFocus?: boolean | undefined;
|
|
213
213
|
}
|
|
214
|
-
interface OptionAttributes extends PyreonHTMLAttributes {
|
|
214
|
+
interface OptionAttributes extends PyreonHTMLAttributes<HTMLOptionElement> {
|
|
215
215
|
value?: string | number | (() => string | number) | undefined;
|
|
216
216
|
disabled?: boolean | (() => boolean) | undefined;
|
|
217
217
|
selected?: boolean | (() => boolean) | undefined;
|
|
218
218
|
label?: string | undefined;
|
|
219
219
|
}
|
|
220
|
-
interface FormAttributes extends PyreonHTMLAttributes {
|
|
220
|
+
interface FormAttributes extends PyreonHTMLAttributes<HTMLFormElement> {
|
|
221
221
|
action?: string | undefined;
|
|
222
222
|
method?: "get" | "post" | undefined;
|
|
223
223
|
encType?: string | undefined;
|
|
@@ -226,7 +226,7 @@ interface FormAttributes extends PyreonHTMLAttributes {
|
|
|
226
226
|
name?: string | undefined;
|
|
227
227
|
autoComplete?: string | undefined;
|
|
228
228
|
}
|
|
229
|
-
interface ImgAttributes extends PyreonHTMLAttributes {
|
|
229
|
+
interface ImgAttributes extends PyreonHTMLAttributes<HTMLImageElement> {
|
|
230
230
|
src?: string | (() => string) | undefined;
|
|
231
231
|
alt?: string | (() => string) | undefined;
|
|
232
232
|
width?: number | string | (() => number | string) | undefined;
|
|
@@ -238,7 +238,7 @@ interface ImgAttributes extends PyreonHTMLAttributes {
|
|
|
238
238
|
srcSet?: string | undefined;
|
|
239
239
|
sizes?: string | undefined;
|
|
240
240
|
}
|
|
241
|
-
interface VideoAttributes extends PyreonHTMLAttributes {
|
|
241
|
+
interface VideoAttributes extends PyreonHTMLAttributes<HTMLVideoElement> {
|
|
242
242
|
src?: string | (() => string) | undefined;
|
|
243
243
|
width?: number | string | undefined;
|
|
244
244
|
height?: number | string | undefined;
|
|
@@ -251,7 +251,7 @@ interface VideoAttributes extends PyreonHTMLAttributes {
|
|
|
251
251
|
playsInline?: boolean | undefined;
|
|
252
252
|
crossOrigin?: "anonymous" | "use-credentials" | undefined;
|
|
253
253
|
}
|
|
254
|
-
interface AudioAttributes extends PyreonHTMLAttributes {
|
|
254
|
+
interface AudioAttributes extends PyreonHTMLAttributes<HTMLAudioElement> {
|
|
255
255
|
src?: string | (() => string) | undefined;
|
|
256
256
|
controls?: boolean | undefined;
|
|
257
257
|
autoPlay?: boolean | undefined;
|
|
@@ -260,27 +260,27 @@ interface AudioAttributes extends PyreonHTMLAttributes {
|
|
|
260
260
|
preload?: "none" | "metadata" | "auto" | undefined;
|
|
261
261
|
crossOrigin?: "anonymous" | "use-credentials" | undefined;
|
|
262
262
|
}
|
|
263
|
-
interface LabelAttributes extends PyreonHTMLAttributes {
|
|
263
|
+
interface LabelAttributes extends PyreonHTMLAttributes<HTMLLabelElement> {
|
|
264
264
|
htmlFor?: string | undefined;
|
|
265
265
|
for?: string | undefined;
|
|
266
266
|
form?: string | undefined;
|
|
267
267
|
}
|
|
268
|
-
interface ThAttributes extends PyreonHTMLAttributes {
|
|
268
|
+
interface ThAttributes extends PyreonHTMLAttributes<HTMLTableCellElement> {
|
|
269
269
|
colSpan?: number | undefined;
|
|
270
270
|
rowSpan?: number | undefined;
|
|
271
271
|
scope?: "col" | "row" | "colgroup" | "rowgroup" | undefined;
|
|
272
272
|
abbr?: string | undefined;
|
|
273
273
|
headers?: string | undefined;
|
|
274
274
|
}
|
|
275
|
-
interface TdAttributes extends PyreonHTMLAttributes {
|
|
275
|
+
interface TdAttributes extends PyreonHTMLAttributes<HTMLTableCellElement> {
|
|
276
276
|
colSpan?: number | undefined;
|
|
277
277
|
rowSpan?: number | undefined;
|
|
278
278
|
headers?: string | undefined;
|
|
279
279
|
}
|
|
280
|
-
interface ColAttributes extends PyreonHTMLAttributes {
|
|
280
|
+
interface ColAttributes extends PyreonHTMLAttributes<HTMLTableColElement> {
|
|
281
281
|
span?: number | undefined;
|
|
282
282
|
}
|
|
283
|
-
interface IframeAttributes extends PyreonHTMLAttributes {
|
|
283
|
+
interface IframeAttributes extends PyreonHTMLAttributes<HTMLIFrameElement> {
|
|
284
284
|
src?: string | (() => string) | undefined;
|
|
285
285
|
width?: number | string | undefined;
|
|
286
286
|
height?: number | string | undefined;
|
|
@@ -292,7 +292,7 @@ interface IframeAttributes extends PyreonHTMLAttributes {
|
|
|
292
292
|
referrerPolicy?: string | undefined;
|
|
293
293
|
title?: string | undefined;
|
|
294
294
|
}
|
|
295
|
-
interface LinkAttributes extends PyreonHTMLAttributes {
|
|
295
|
+
interface LinkAttributes extends PyreonHTMLAttributes<HTMLLinkElement> {
|
|
296
296
|
href?: string | (() => string) | undefined;
|
|
297
297
|
rel?: string | undefined;
|
|
298
298
|
type?: string | undefined;
|
|
@@ -302,14 +302,14 @@ interface LinkAttributes extends PyreonHTMLAttributes {
|
|
|
302
302
|
integrity?: string | undefined;
|
|
303
303
|
referrerPolicy?: string | undefined;
|
|
304
304
|
}
|
|
305
|
-
interface MetaAttributes extends PyreonHTMLAttributes {
|
|
305
|
+
interface MetaAttributes extends PyreonHTMLAttributes<HTMLMetaElement> {
|
|
306
306
|
name?: string | undefined;
|
|
307
307
|
content?: string | (() => string) | undefined;
|
|
308
308
|
httpEquiv?: string | undefined;
|
|
309
309
|
charset?: string | undefined;
|
|
310
310
|
property?: string | undefined;
|
|
311
311
|
}
|
|
312
|
-
interface ScriptAttributes extends PyreonHTMLAttributes {
|
|
312
|
+
interface ScriptAttributes extends PyreonHTMLAttributes<HTMLScriptElement> {
|
|
313
313
|
src?: string | (() => string) | undefined;
|
|
314
314
|
type?: string | undefined;
|
|
315
315
|
async?: boolean | undefined;
|
|
@@ -319,18 +319,18 @@ interface ScriptAttributes extends PyreonHTMLAttributes {
|
|
|
319
319
|
noModule?: boolean | undefined;
|
|
320
320
|
referrerPolicy?: string | undefined;
|
|
321
321
|
}
|
|
322
|
-
interface SourceAttributes extends PyreonHTMLAttributes {
|
|
322
|
+
interface SourceAttributes extends PyreonHTMLAttributes<HTMLSourceElement> {
|
|
323
323
|
src?: string | (() => string) | undefined;
|
|
324
324
|
type?: string | undefined;
|
|
325
325
|
srcSet?: string | undefined;
|
|
326
326
|
sizes?: string | undefined;
|
|
327
327
|
media?: string | undefined;
|
|
328
328
|
}
|
|
329
|
-
interface ProgressAttributes extends PyreonHTMLAttributes {
|
|
329
|
+
interface ProgressAttributes extends PyreonHTMLAttributes<HTMLProgressElement> {
|
|
330
330
|
value?: number | (() => number) | undefined;
|
|
331
331
|
max?: number | undefined;
|
|
332
332
|
}
|
|
333
|
-
interface MeterAttributes extends PyreonHTMLAttributes {
|
|
333
|
+
interface MeterAttributes extends PyreonHTMLAttributes<HTMLMeterElement> {
|
|
334
334
|
value?: number | (() => number) | undefined;
|
|
335
335
|
min?: number | undefined;
|
|
336
336
|
max?: number | undefined;
|
|
@@ -338,18 +338,18 @@ interface MeterAttributes extends PyreonHTMLAttributes {
|
|
|
338
338
|
high?: number | undefined;
|
|
339
339
|
optimum?: number | undefined;
|
|
340
340
|
}
|
|
341
|
-
interface DetailsAttributes extends PyreonHTMLAttributes {
|
|
341
|
+
interface DetailsAttributes extends PyreonHTMLAttributes<HTMLDetailsElement> {
|
|
342
342
|
open?: boolean | (() => boolean) | undefined;
|
|
343
343
|
}
|
|
344
|
-
interface DialogAttributes extends PyreonHTMLAttributes {
|
|
344
|
+
interface DialogAttributes extends PyreonHTMLAttributes<HTMLDialogElement> {
|
|
345
345
|
open?: boolean | (() => boolean) | undefined;
|
|
346
346
|
}
|
|
347
|
-
interface OlAttributes extends PyreonHTMLAttributes {
|
|
347
|
+
interface OlAttributes extends PyreonHTMLAttributes<HTMLOListElement> {
|
|
348
348
|
start?: number | undefined;
|
|
349
349
|
reversed?: boolean | undefined;
|
|
350
350
|
type?: "1" | "a" | "A" | "i" | "I" | undefined;
|
|
351
351
|
}
|
|
352
|
-
interface SvgAttributes extends PyreonHTMLAttributes {
|
|
352
|
+
interface SvgAttributes extends PyreonHTMLAttributes<SVGElement> {
|
|
353
353
|
viewBox?: string | undefined;
|
|
354
354
|
xmlns?: string | undefined;
|
|
355
355
|
fill?: string | (() => string) | undefined;
|
|
@@ -531,7 +531,7 @@ declare global {
|
|
|
531
531
|
template: PyreonHTMLAttributes;
|
|
532
532
|
slot: PyreonHTMLAttributes;
|
|
533
533
|
portal: PyreonHTMLAttributes;
|
|
534
|
-
[tagName: string]: PyreonHTMLAttributes
|
|
534
|
+
[tagName: string]: PyreonHTMLAttributes<any>;
|
|
535
535
|
}
|
|
536
536
|
}
|
|
537
537
|
} //# sourceMappingURL=jsx-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-dev-runtime2.d.ts","names":[],"sources":["../../../src/types.ts","../../../src/h.ts","../../../src/jsx-runtime.ts"],"mappings":";KAGY,cAAA,GAAiB,KAAA,GAAQ,KAAA;AAAA,KACzB,UAAA,GAAa,cAAA,UAAwB,cAAA;AAAA,UAEhC,KAAA;;EAEf,IAAA,WAAe,WAAA;EACf,KAAA,EAAO,KAAA;EACP,QAAA,EAAU,UAAA;EACV,GAAA;AAAA;AAAA,KAKU,KAAA,GAAQ,MAAA;;AAVpB;;;KAkBY,WAAA,WAAsB,KAAA,GAAQ,KAAA,KAAU,KAAA,EAAO,CAAA,KAAM,UAAA;;;AArBjE;AAAA,cCAa,QAAA;;;iBCSG,GAAA,CACd,IAAA,WAAe,WAAA,WACf,KAAA,EAAO,KAAA;EAAU,QAAA,GAAW,UAAA,GAAa,UAAA;AAAA,GACzC,GAAA,4BACC,KAAA;AAAA,cAiBU,IAAA,SAAI,GAAA;AAAA,KAIZ,UAAA;AAAA,KACA,aAAA,iBAA8B,mBAAA;AAAA,KAC9B,UAAA,YAAsB,aAAA;;UAGjB,oBAAA;
|
|
1
|
+
{"version":3,"file":"jsx-dev-runtime2.d.ts","names":[],"sources":["../../../src/types.ts","../../../src/h.ts","../../../src/jsx-runtime.ts"],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ type Booleanish = boolean | "true" | "false";
|
|
|
28
28
|
type CSSProperties = { [K in keyof CSSStyleDeclaration]?: string | number };
|
|
29
29
|
type StyleValue = string | CSSProperties;
|
|
30
30
|
/** Common HTML attributes accepted by all Pyreon elements */
|
|
31
|
-
interface PyreonHTMLAttributes {
|
|
31
|
+
interface PyreonHTMLAttributes<E extends Element = HTMLElement> {
|
|
32
32
|
id?: string | undefined;
|
|
33
33
|
class?: string | (() => string) | undefined;
|
|
34
34
|
className?: string | (() => string) | undefined;
|
|
@@ -77,8 +77,8 @@ interface PyreonHTMLAttributes {
|
|
|
77
77
|
"aria-rowindex"?: number | undefined;
|
|
78
78
|
"aria-rowspan"?: number | undefined;
|
|
79
79
|
ref?: {
|
|
80
|
-
current:
|
|
81
|
-
} | ((el:
|
|
80
|
+
current: E | null;
|
|
81
|
+
} | ((el: E | null) => void) | undefined;
|
|
82
82
|
key?: string | number | undefined;
|
|
83
83
|
children?: VNodeChild | VNodeChild[];
|
|
84
84
|
innerHTML?: string | undefined;
|
|
@@ -137,7 +137,7 @@ interface PyreonHTMLAttributes {
|
|
|
137
137
|
[key: string]: unknown;
|
|
138
138
|
}
|
|
139
139
|
/** Attributes specific to form inputs */
|
|
140
|
-
interface InputAttributes extends PyreonHTMLAttributes {
|
|
140
|
+
interface InputAttributes extends PyreonHTMLAttributes<HTMLInputElement> {
|
|
141
141
|
type?: string | (() => string) | undefined;
|
|
142
142
|
value?: string | number | (() => string | number) | undefined;
|
|
143
143
|
defaultValue?: string | number | undefined;
|
|
@@ -166,13 +166,13 @@ interface InputAttributes extends PyreonHTMLAttributes {
|
|
|
166
166
|
width?: number | string | undefined;
|
|
167
167
|
height?: number | string | undefined;
|
|
168
168
|
}
|
|
169
|
-
interface AnchorAttributes extends PyreonHTMLAttributes {
|
|
169
|
+
interface AnchorAttributes extends PyreonHTMLAttributes<HTMLAnchorElement> {
|
|
170
170
|
href?: string | (() => string) | undefined;
|
|
171
171
|
target?: "_blank" | "_self" | "_parent" | "_top" | string | undefined;
|
|
172
172
|
rel?: string | undefined;
|
|
173
173
|
download?: string | boolean | undefined;
|
|
174
174
|
}
|
|
175
|
-
interface ButtonAttributes extends PyreonHTMLAttributes {
|
|
175
|
+
interface ButtonAttributes extends PyreonHTMLAttributes<HTMLButtonElement> {
|
|
176
176
|
type?: "button" | "submit" | "reset" | undefined;
|
|
177
177
|
disabled?: boolean | (() => boolean) | undefined;
|
|
178
178
|
name?: string | undefined;
|
|
@@ -184,7 +184,7 @@ interface ButtonAttributes extends PyreonHTMLAttributes {
|
|
|
184
184
|
formNoValidate?: boolean | undefined;
|
|
185
185
|
formTarget?: string | undefined;
|
|
186
186
|
}
|
|
187
|
-
interface TextareaAttributes extends PyreonHTMLAttributes {
|
|
187
|
+
interface TextareaAttributes extends PyreonHTMLAttributes<HTMLTextAreaElement> {
|
|
188
188
|
value?: string | (() => string) | undefined;
|
|
189
189
|
defaultValue?: string | undefined;
|
|
190
190
|
placeholder?: string | (() => string) | undefined;
|
|
@@ -200,7 +200,7 @@ interface TextareaAttributes extends PyreonHTMLAttributes {
|
|
|
200
200
|
form?: string | undefined;
|
|
201
201
|
wrap?: "hard" | "soft" | undefined;
|
|
202
202
|
}
|
|
203
|
-
interface SelectAttributes extends PyreonHTMLAttributes {
|
|
203
|
+
interface SelectAttributes extends PyreonHTMLAttributes<HTMLSelectElement> {
|
|
204
204
|
value?: string | string[] | (() => string | string[]) | undefined;
|
|
205
205
|
defaultValue?: string | string[] | undefined;
|
|
206
206
|
disabled?: boolean | (() => boolean) | undefined;
|
|
@@ -211,13 +211,13 @@ interface SelectAttributes extends PyreonHTMLAttributes {
|
|
|
211
211
|
form?: string | undefined;
|
|
212
212
|
autoFocus?: boolean | undefined;
|
|
213
213
|
}
|
|
214
|
-
interface OptionAttributes extends PyreonHTMLAttributes {
|
|
214
|
+
interface OptionAttributes extends PyreonHTMLAttributes<HTMLOptionElement> {
|
|
215
215
|
value?: string | number | (() => string | number) | undefined;
|
|
216
216
|
disabled?: boolean | (() => boolean) | undefined;
|
|
217
217
|
selected?: boolean | (() => boolean) | undefined;
|
|
218
218
|
label?: string | undefined;
|
|
219
219
|
}
|
|
220
|
-
interface FormAttributes extends PyreonHTMLAttributes {
|
|
220
|
+
interface FormAttributes extends PyreonHTMLAttributes<HTMLFormElement> {
|
|
221
221
|
action?: string | undefined;
|
|
222
222
|
method?: "get" | "post" | undefined;
|
|
223
223
|
encType?: string | undefined;
|
|
@@ -226,7 +226,7 @@ interface FormAttributes extends PyreonHTMLAttributes {
|
|
|
226
226
|
name?: string | undefined;
|
|
227
227
|
autoComplete?: string | undefined;
|
|
228
228
|
}
|
|
229
|
-
interface ImgAttributes extends PyreonHTMLAttributes {
|
|
229
|
+
interface ImgAttributes extends PyreonHTMLAttributes<HTMLImageElement> {
|
|
230
230
|
src?: string | (() => string) | undefined;
|
|
231
231
|
alt?: string | (() => string) | undefined;
|
|
232
232
|
width?: number | string | (() => number | string) | undefined;
|
|
@@ -238,7 +238,7 @@ interface ImgAttributes extends PyreonHTMLAttributes {
|
|
|
238
238
|
srcSet?: string | undefined;
|
|
239
239
|
sizes?: string | undefined;
|
|
240
240
|
}
|
|
241
|
-
interface VideoAttributes extends PyreonHTMLAttributes {
|
|
241
|
+
interface VideoAttributes extends PyreonHTMLAttributes<HTMLVideoElement> {
|
|
242
242
|
src?: string | (() => string) | undefined;
|
|
243
243
|
width?: number | string | undefined;
|
|
244
244
|
height?: number | string | undefined;
|
|
@@ -251,7 +251,7 @@ interface VideoAttributes extends PyreonHTMLAttributes {
|
|
|
251
251
|
playsInline?: boolean | undefined;
|
|
252
252
|
crossOrigin?: "anonymous" | "use-credentials" | undefined;
|
|
253
253
|
}
|
|
254
|
-
interface AudioAttributes extends PyreonHTMLAttributes {
|
|
254
|
+
interface AudioAttributes extends PyreonHTMLAttributes<HTMLAudioElement> {
|
|
255
255
|
src?: string | (() => string) | undefined;
|
|
256
256
|
controls?: boolean | undefined;
|
|
257
257
|
autoPlay?: boolean | undefined;
|
|
@@ -260,27 +260,27 @@ interface AudioAttributes extends PyreonHTMLAttributes {
|
|
|
260
260
|
preload?: "none" | "metadata" | "auto" | undefined;
|
|
261
261
|
crossOrigin?: "anonymous" | "use-credentials" | undefined;
|
|
262
262
|
}
|
|
263
|
-
interface LabelAttributes extends PyreonHTMLAttributes {
|
|
263
|
+
interface LabelAttributes extends PyreonHTMLAttributes<HTMLLabelElement> {
|
|
264
264
|
htmlFor?: string | undefined;
|
|
265
265
|
for?: string | undefined;
|
|
266
266
|
form?: string | undefined;
|
|
267
267
|
}
|
|
268
|
-
interface ThAttributes extends PyreonHTMLAttributes {
|
|
268
|
+
interface ThAttributes extends PyreonHTMLAttributes<HTMLTableCellElement> {
|
|
269
269
|
colSpan?: number | undefined;
|
|
270
270
|
rowSpan?: number | undefined;
|
|
271
271
|
scope?: "col" | "row" | "colgroup" | "rowgroup" | undefined;
|
|
272
272
|
abbr?: string | undefined;
|
|
273
273
|
headers?: string | undefined;
|
|
274
274
|
}
|
|
275
|
-
interface TdAttributes extends PyreonHTMLAttributes {
|
|
275
|
+
interface TdAttributes extends PyreonHTMLAttributes<HTMLTableCellElement> {
|
|
276
276
|
colSpan?: number | undefined;
|
|
277
277
|
rowSpan?: number | undefined;
|
|
278
278
|
headers?: string | undefined;
|
|
279
279
|
}
|
|
280
|
-
interface ColAttributes extends PyreonHTMLAttributes {
|
|
280
|
+
interface ColAttributes extends PyreonHTMLAttributes<HTMLTableColElement> {
|
|
281
281
|
span?: number | undefined;
|
|
282
282
|
}
|
|
283
|
-
interface IframeAttributes extends PyreonHTMLAttributes {
|
|
283
|
+
interface IframeAttributes extends PyreonHTMLAttributes<HTMLIFrameElement> {
|
|
284
284
|
src?: string | (() => string) | undefined;
|
|
285
285
|
width?: number | string | undefined;
|
|
286
286
|
height?: number | string | undefined;
|
|
@@ -292,7 +292,7 @@ interface IframeAttributes extends PyreonHTMLAttributes {
|
|
|
292
292
|
referrerPolicy?: string | undefined;
|
|
293
293
|
title?: string | undefined;
|
|
294
294
|
}
|
|
295
|
-
interface LinkAttributes extends PyreonHTMLAttributes {
|
|
295
|
+
interface LinkAttributes extends PyreonHTMLAttributes<HTMLLinkElement> {
|
|
296
296
|
href?: string | (() => string) | undefined;
|
|
297
297
|
rel?: string | undefined;
|
|
298
298
|
type?: string | undefined;
|
|
@@ -302,14 +302,14 @@ interface LinkAttributes extends PyreonHTMLAttributes {
|
|
|
302
302
|
integrity?: string | undefined;
|
|
303
303
|
referrerPolicy?: string | undefined;
|
|
304
304
|
}
|
|
305
|
-
interface MetaAttributes extends PyreonHTMLAttributes {
|
|
305
|
+
interface MetaAttributes extends PyreonHTMLAttributes<HTMLMetaElement> {
|
|
306
306
|
name?: string | undefined;
|
|
307
307
|
content?: string | (() => string) | undefined;
|
|
308
308
|
httpEquiv?: string | undefined;
|
|
309
309
|
charset?: string | undefined;
|
|
310
310
|
property?: string | undefined;
|
|
311
311
|
}
|
|
312
|
-
interface ScriptAttributes extends PyreonHTMLAttributes {
|
|
312
|
+
interface ScriptAttributes extends PyreonHTMLAttributes<HTMLScriptElement> {
|
|
313
313
|
src?: string | (() => string) | undefined;
|
|
314
314
|
type?: string | undefined;
|
|
315
315
|
async?: boolean | undefined;
|
|
@@ -319,18 +319,18 @@ interface ScriptAttributes extends PyreonHTMLAttributes {
|
|
|
319
319
|
noModule?: boolean | undefined;
|
|
320
320
|
referrerPolicy?: string | undefined;
|
|
321
321
|
}
|
|
322
|
-
interface SourceAttributes extends PyreonHTMLAttributes {
|
|
322
|
+
interface SourceAttributes extends PyreonHTMLAttributes<HTMLSourceElement> {
|
|
323
323
|
src?: string | (() => string) | undefined;
|
|
324
324
|
type?: string | undefined;
|
|
325
325
|
srcSet?: string | undefined;
|
|
326
326
|
sizes?: string | undefined;
|
|
327
327
|
media?: string | undefined;
|
|
328
328
|
}
|
|
329
|
-
interface ProgressAttributes extends PyreonHTMLAttributes {
|
|
329
|
+
interface ProgressAttributes extends PyreonHTMLAttributes<HTMLProgressElement> {
|
|
330
330
|
value?: number | (() => number) | undefined;
|
|
331
331
|
max?: number | undefined;
|
|
332
332
|
}
|
|
333
|
-
interface MeterAttributes extends PyreonHTMLAttributes {
|
|
333
|
+
interface MeterAttributes extends PyreonHTMLAttributes<HTMLMeterElement> {
|
|
334
334
|
value?: number | (() => number) | undefined;
|
|
335
335
|
min?: number | undefined;
|
|
336
336
|
max?: number | undefined;
|
|
@@ -338,18 +338,18 @@ interface MeterAttributes extends PyreonHTMLAttributes {
|
|
|
338
338
|
high?: number | undefined;
|
|
339
339
|
optimum?: number | undefined;
|
|
340
340
|
}
|
|
341
|
-
interface DetailsAttributes extends PyreonHTMLAttributes {
|
|
341
|
+
interface DetailsAttributes extends PyreonHTMLAttributes<HTMLDetailsElement> {
|
|
342
342
|
open?: boolean | (() => boolean) | undefined;
|
|
343
343
|
}
|
|
344
|
-
interface DialogAttributes extends PyreonHTMLAttributes {
|
|
344
|
+
interface DialogAttributes extends PyreonHTMLAttributes<HTMLDialogElement> {
|
|
345
345
|
open?: boolean | (() => boolean) | undefined;
|
|
346
346
|
}
|
|
347
|
-
interface OlAttributes extends PyreonHTMLAttributes {
|
|
347
|
+
interface OlAttributes extends PyreonHTMLAttributes<HTMLOListElement> {
|
|
348
348
|
start?: number | undefined;
|
|
349
349
|
reversed?: boolean | undefined;
|
|
350
350
|
type?: "1" | "a" | "A" | "i" | "I" | undefined;
|
|
351
351
|
}
|
|
352
|
-
interface SvgAttributes extends PyreonHTMLAttributes {
|
|
352
|
+
interface SvgAttributes extends PyreonHTMLAttributes<SVGElement> {
|
|
353
353
|
viewBox?: string | undefined;
|
|
354
354
|
xmlns?: string | undefined;
|
|
355
355
|
fill?: string | (() => string) | undefined;
|
|
@@ -531,7 +531,7 @@ declare global {
|
|
|
531
531
|
template: PyreonHTMLAttributes;
|
|
532
532
|
slot: PyreonHTMLAttributes;
|
|
533
533
|
portal: PyreonHTMLAttributes;
|
|
534
|
-
[tagName: string]: PyreonHTMLAttributes
|
|
534
|
+
[tagName: string]: PyreonHTMLAttributes<any>;
|
|
535
535
|
}
|
|
536
536
|
}
|
|
537
537
|
} //# sourceMappingURL=jsx-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runtime2.d.ts","names":[],"sources":["../../../src/types.ts","../../../src/h.ts","../../../src/jsx-runtime.ts"],"mappings":";KAGY,cAAA,GAAiB,KAAA,GAAQ,KAAA;AAAA,KACzB,UAAA,GAAa,cAAA,UAAwB,cAAA;AAAA,UAEhC,KAAA;;EAEf,IAAA,WAAe,WAAA;EACf,KAAA,EAAO,KAAA;EACP,QAAA,EAAU,UAAA;EACV,GAAA;AAAA;AAAA,KAKU,KAAA,GAAQ,MAAA;;AAVpB;;;KAkBY,WAAA,WAAsB,KAAA,GAAQ,KAAA,KAAU,KAAA,EAAO,CAAA,KAAM,UAAA;;;AArBjE;AAAA,cCAa,QAAA;;;iBCSG,GAAA,CACd,IAAA,WAAe,WAAA,WACf,KAAA,EAAO,KAAA;EAAU,QAAA,GAAW,UAAA,GAAa,UAAA;AAAA,GACzC,GAAA,4BACC,KAAA;AAAA,cAiBU,IAAA,SAAI,GAAA;AAAA,KAIZ,UAAA;AAAA,KACA,aAAA,iBAA8B,mBAAA;AAAA,KAC9B,UAAA,YAAsB,aAAA;;UAGjB,oBAAA;
|
|
1
|
+
{"version":3,"file":"jsx-runtime2.d.ts","names":[],"sources":["../../../src/types.ts","../../../src/h.ts","../../../src/jsx-runtime.ts"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pyreon/core",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.5",
|
|
4
4
|
"description": "Core component model and lifecycle for Pyreon",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"prepublishOnly": "bun run build"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@pyreon/reactivity": "^0.7.
|
|
52
|
+
"@pyreon/reactivity": "^0.7.5"
|
|
53
53
|
},
|
|
54
54
|
"publishConfig": {
|
|
55
55
|
"access": "public"
|
package/src/jsx-runtime.ts
CHANGED
|
@@ -40,7 +40,7 @@ type CSSProperties = { [K in keyof CSSStyleDeclaration]?: string | number }
|
|
|
40
40
|
type StyleValue = string | CSSProperties
|
|
41
41
|
|
|
42
42
|
/** Common HTML attributes accepted by all Pyreon elements */
|
|
43
|
-
interface PyreonHTMLAttributes {
|
|
43
|
+
interface PyreonHTMLAttributes<E extends Element = HTMLElement> {
|
|
44
44
|
// Identity
|
|
45
45
|
id?: string | undefined
|
|
46
46
|
class?: string | (() => string) | undefined
|
|
@@ -92,7 +92,7 @@ interface PyreonHTMLAttributes {
|
|
|
92
92
|
"aria-rowindex"?: number | undefined
|
|
93
93
|
"aria-rowspan"?: number | undefined
|
|
94
94
|
// DOM lifecycle ref — object ref or callback ref
|
|
95
|
-
ref?: { current:
|
|
95
|
+
ref?: { current: E | null } | ((el: E | null) => void) | undefined
|
|
96
96
|
// Key for list reconciliation
|
|
97
97
|
key?: string | number | undefined
|
|
98
98
|
// Children — allows null, undefined, boolean in JSX children positions
|
|
@@ -155,7 +155,7 @@ interface PyreonHTMLAttributes {
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
/** Attributes specific to form inputs */
|
|
158
|
-
interface InputAttributes extends PyreonHTMLAttributes {
|
|
158
|
+
interface InputAttributes extends PyreonHTMLAttributes<HTMLInputElement> {
|
|
159
159
|
type?: string | (() => string) | undefined
|
|
160
160
|
value?: string | number | (() => string | number) | undefined
|
|
161
161
|
defaultValue?: string | number | undefined
|
|
@@ -185,14 +185,14 @@ interface InputAttributes extends PyreonHTMLAttributes {
|
|
|
185
185
|
height?: number | string | undefined
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
-
interface AnchorAttributes extends PyreonHTMLAttributes {
|
|
188
|
+
interface AnchorAttributes extends PyreonHTMLAttributes<HTMLAnchorElement> {
|
|
189
189
|
href?: string | (() => string) | undefined
|
|
190
190
|
target?: "_blank" | "_self" | "_parent" | "_top" | string | undefined
|
|
191
191
|
rel?: string | undefined
|
|
192
192
|
download?: string | boolean | undefined
|
|
193
193
|
}
|
|
194
194
|
|
|
195
|
-
interface ButtonAttributes extends PyreonHTMLAttributes {
|
|
195
|
+
interface ButtonAttributes extends PyreonHTMLAttributes<HTMLButtonElement> {
|
|
196
196
|
type?: "button" | "submit" | "reset" | undefined
|
|
197
197
|
disabled?: boolean | (() => boolean) | undefined
|
|
198
198
|
name?: string | undefined
|
|
@@ -205,7 +205,7 @@ interface ButtonAttributes extends PyreonHTMLAttributes {
|
|
|
205
205
|
formTarget?: string | undefined
|
|
206
206
|
}
|
|
207
207
|
|
|
208
|
-
interface TextareaAttributes extends PyreonHTMLAttributes {
|
|
208
|
+
interface TextareaAttributes extends PyreonHTMLAttributes<HTMLTextAreaElement> {
|
|
209
209
|
value?: string | (() => string) | undefined
|
|
210
210
|
defaultValue?: string | undefined
|
|
211
211
|
placeholder?: string | (() => string) | undefined
|
|
@@ -222,7 +222,7 @@ interface TextareaAttributes extends PyreonHTMLAttributes {
|
|
|
222
222
|
wrap?: "hard" | "soft" | undefined
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
-
interface SelectAttributes extends PyreonHTMLAttributes {
|
|
225
|
+
interface SelectAttributes extends PyreonHTMLAttributes<HTMLSelectElement> {
|
|
226
226
|
value?: string | string[] | (() => string | string[]) | undefined
|
|
227
227
|
defaultValue?: string | string[] | undefined
|
|
228
228
|
disabled?: boolean | (() => boolean) | undefined
|
|
@@ -234,14 +234,14 @@ interface SelectAttributes extends PyreonHTMLAttributes {
|
|
|
234
234
|
autoFocus?: boolean | undefined
|
|
235
235
|
}
|
|
236
236
|
|
|
237
|
-
interface OptionAttributes extends PyreonHTMLAttributes {
|
|
237
|
+
interface OptionAttributes extends PyreonHTMLAttributes<HTMLOptionElement> {
|
|
238
238
|
value?: string | number | (() => string | number) | undefined
|
|
239
239
|
disabled?: boolean | (() => boolean) | undefined
|
|
240
240
|
selected?: boolean | (() => boolean) | undefined
|
|
241
241
|
label?: string | undefined
|
|
242
242
|
}
|
|
243
243
|
|
|
244
|
-
interface FormAttributes extends PyreonHTMLAttributes {
|
|
244
|
+
interface FormAttributes extends PyreonHTMLAttributes<HTMLFormElement> {
|
|
245
245
|
action?: string | undefined
|
|
246
246
|
method?: "get" | "post" | undefined
|
|
247
247
|
encType?: string | undefined
|
|
@@ -251,7 +251,7 @@ interface FormAttributes extends PyreonHTMLAttributes {
|
|
|
251
251
|
autoComplete?: string | undefined
|
|
252
252
|
}
|
|
253
253
|
|
|
254
|
-
interface ImgAttributes extends PyreonHTMLAttributes {
|
|
254
|
+
interface ImgAttributes extends PyreonHTMLAttributes<HTMLImageElement> {
|
|
255
255
|
src?: string | (() => string) | undefined
|
|
256
256
|
alt?: string | (() => string) | undefined
|
|
257
257
|
width?: number | string | (() => number | string) | undefined
|
|
@@ -264,7 +264,7 @@ interface ImgAttributes extends PyreonHTMLAttributes {
|
|
|
264
264
|
sizes?: string | undefined
|
|
265
265
|
}
|
|
266
266
|
|
|
267
|
-
interface VideoAttributes extends PyreonHTMLAttributes {
|
|
267
|
+
interface VideoAttributes extends PyreonHTMLAttributes<HTMLVideoElement> {
|
|
268
268
|
src?: string | (() => string) | undefined
|
|
269
269
|
width?: number | string | undefined
|
|
270
270
|
height?: number | string | undefined
|
|
@@ -278,7 +278,7 @@ interface VideoAttributes extends PyreonHTMLAttributes {
|
|
|
278
278
|
crossOrigin?: "anonymous" | "use-credentials" | undefined
|
|
279
279
|
}
|
|
280
280
|
|
|
281
|
-
interface AudioAttributes extends PyreonHTMLAttributes {
|
|
281
|
+
interface AudioAttributes extends PyreonHTMLAttributes<HTMLAudioElement> {
|
|
282
282
|
src?: string | (() => string) | undefined
|
|
283
283
|
controls?: boolean | undefined
|
|
284
284
|
autoPlay?: boolean | undefined
|
|
@@ -288,13 +288,13 @@ interface AudioAttributes extends PyreonHTMLAttributes {
|
|
|
288
288
|
crossOrigin?: "anonymous" | "use-credentials" | undefined
|
|
289
289
|
}
|
|
290
290
|
|
|
291
|
-
interface LabelAttributes extends PyreonHTMLAttributes {
|
|
291
|
+
interface LabelAttributes extends PyreonHTMLAttributes<HTMLLabelElement> {
|
|
292
292
|
htmlFor?: string | undefined
|
|
293
293
|
for?: string | undefined
|
|
294
294
|
form?: string | undefined
|
|
295
295
|
}
|
|
296
296
|
|
|
297
|
-
interface ThAttributes extends PyreonHTMLAttributes {
|
|
297
|
+
interface ThAttributes extends PyreonHTMLAttributes<HTMLTableCellElement> {
|
|
298
298
|
colSpan?: number | undefined
|
|
299
299
|
rowSpan?: number | undefined
|
|
300
300
|
scope?: "col" | "row" | "colgroup" | "rowgroup" | undefined
|
|
@@ -302,17 +302,17 @@ interface ThAttributes extends PyreonHTMLAttributes {
|
|
|
302
302
|
headers?: string | undefined
|
|
303
303
|
}
|
|
304
304
|
|
|
305
|
-
interface TdAttributes extends PyreonHTMLAttributes {
|
|
305
|
+
interface TdAttributes extends PyreonHTMLAttributes<HTMLTableCellElement> {
|
|
306
306
|
colSpan?: number | undefined
|
|
307
307
|
rowSpan?: number | undefined
|
|
308
308
|
headers?: string | undefined
|
|
309
309
|
}
|
|
310
310
|
|
|
311
|
-
interface ColAttributes extends PyreonHTMLAttributes {
|
|
311
|
+
interface ColAttributes extends PyreonHTMLAttributes<HTMLTableColElement> {
|
|
312
312
|
span?: number | undefined
|
|
313
313
|
}
|
|
314
314
|
|
|
315
|
-
interface IframeAttributes extends PyreonHTMLAttributes {
|
|
315
|
+
interface IframeAttributes extends PyreonHTMLAttributes<HTMLIFrameElement> {
|
|
316
316
|
src?: string | (() => string) | undefined
|
|
317
317
|
width?: number | string | undefined
|
|
318
318
|
height?: number | string | undefined
|
|
@@ -325,7 +325,7 @@ interface IframeAttributes extends PyreonHTMLAttributes {
|
|
|
325
325
|
title?: string | undefined
|
|
326
326
|
}
|
|
327
327
|
|
|
328
|
-
interface LinkAttributes extends PyreonHTMLAttributes {
|
|
328
|
+
interface LinkAttributes extends PyreonHTMLAttributes<HTMLLinkElement> {
|
|
329
329
|
href?: string | (() => string) | undefined
|
|
330
330
|
rel?: string | undefined
|
|
331
331
|
type?: string | undefined
|
|
@@ -336,7 +336,7 @@ interface LinkAttributes extends PyreonHTMLAttributes {
|
|
|
336
336
|
referrerPolicy?: string | undefined
|
|
337
337
|
}
|
|
338
338
|
|
|
339
|
-
interface MetaAttributes extends PyreonHTMLAttributes {
|
|
339
|
+
interface MetaAttributes extends PyreonHTMLAttributes<HTMLMetaElement> {
|
|
340
340
|
name?: string | undefined
|
|
341
341
|
content?: string | (() => string) | undefined
|
|
342
342
|
httpEquiv?: string | undefined
|
|
@@ -344,7 +344,7 @@ interface MetaAttributes extends PyreonHTMLAttributes {
|
|
|
344
344
|
property?: string | undefined
|
|
345
345
|
}
|
|
346
346
|
|
|
347
|
-
interface ScriptAttributes extends PyreonHTMLAttributes {
|
|
347
|
+
interface ScriptAttributes extends PyreonHTMLAttributes<HTMLScriptElement> {
|
|
348
348
|
src?: string | (() => string) | undefined
|
|
349
349
|
type?: string | undefined
|
|
350
350
|
async?: boolean | undefined
|
|
@@ -355,7 +355,7 @@ interface ScriptAttributes extends PyreonHTMLAttributes {
|
|
|
355
355
|
referrerPolicy?: string | undefined
|
|
356
356
|
}
|
|
357
357
|
|
|
358
|
-
interface SourceAttributes extends PyreonHTMLAttributes {
|
|
358
|
+
interface SourceAttributes extends PyreonHTMLAttributes<HTMLSourceElement> {
|
|
359
359
|
src?: string | (() => string) | undefined
|
|
360
360
|
type?: string | undefined
|
|
361
361
|
srcSet?: string | undefined
|
|
@@ -363,12 +363,12 @@ interface SourceAttributes extends PyreonHTMLAttributes {
|
|
|
363
363
|
media?: string | undefined
|
|
364
364
|
}
|
|
365
365
|
|
|
366
|
-
interface ProgressAttributes extends PyreonHTMLAttributes {
|
|
366
|
+
interface ProgressAttributes extends PyreonHTMLAttributes<HTMLProgressElement> {
|
|
367
367
|
value?: number | (() => number) | undefined
|
|
368
368
|
max?: number | undefined
|
|
369
369
|
}
|
|
370
370
|
|
|
371
|
-
interface MeterAttributes extends PyreonHTMLAttributes {
|
|
371
|
+
interface MeterAttributes extends PyreonHTMLAttributes<HTMLMeterElement> {
|
|
372
372
|
value?: number | (() => number) | undefined
|
|
373
373
|
min?: number | undefined
|
|
374
374
|
max?: number | undefined
|
|
@@ -377,21 +377,21 @@ interface MeterAttributes extends PyreonHTMLAttributes {
|
|
|
377
377
|
optimum?: number | undefined
|
|
378
378
|
}
|
|
379
379
|
|
|
380
|
-
interface DetailsAttributes extends PyreonHTMLAttributes {
|
|
380
|
+
interface DetailsAttributes extends PyreonHTMLAttributes<HTMLDetailsElement> {
|
|
381
381
|
open?: boolean | (() => boolean) | undefined
|
|
382
382
|
}
|
|
383
383
|
|
|
384
|
-
interface DialogAttributes extends PyreonHTMLAttributes {
|
|
384
|
+
interface DialogAttributes extends PyreonHTMLAttributes<HTMLDialogElement> {
|
|
385
385
|
open?: boolean | (() => boolean) | undefined
|
|
386
386
|
}
|
|
387
387
|
|
|
388
|
-
interface OlAttributes extends PyreonHTMLAttributes {
|
|
388
|
+
interface OlAttributes extends PyreonHTMLAttributes<HTMLOListElement> {
|
|
389
389
|
start?: number | undefined
|
|
390
390
|
reversed?: boolean | undefined
|
|
391
391
|
type?: "1" | "a" | "A" | "i" | "I" | undefined
|
|
392
392
|
}
|
|
393
393
|
|
|
394
|
-
interface SvgAttributes extends PyreonHTMLAttributes {
|
|
394
|
+
interface SvgAttributes extends PyreonHTMLAttributes<SVGElement> {
|
|
395
395
|
viewBox?: string | undefined
|
|
396
396
|
xmlns?: string | undefined
|
|
397
397
|
fill?: string | (() => string) | undefined
|
|
@@ -587,7 +587,7 @@ declare global {
|
|
|
587
587
|
slot: PyreonHTMLAttributes
|
|
588
588
|
portal: PyreonHTMLAttributes
|
|
589
589
|
// Catch-all for custom elements and data-* attrs
|
|
590
|
-
[tagName: string]: PyreonHTMLAttributes
|
|
590
|
+
[tagName: string]: PyreonHTMLAttributes<any>
|
|
591
591
|
}
|
|
592
592
|
}
|
|
593
593
|
}
|