{"version":3,"names":["untrack","EVENT_HANDLER_RE","isEventHandlerKey","key","test","classToString","value","String","Array","isArray","out","part","s","v","Object","entries","mergeClass","sources","src","class","undefined","mergeStyle","merged","lastString","style","assign","looksLikeEvent","armEvent","event","preventBaseUIHandler","baseUIHandlerPrevented","chainHandlers","handlers","length","first","args","ev","lastResult","i","h","resolveKey","push","hasGetterForKey","desc","getOwnPropertyDescriptor","get","collectOwnKeys","keys","Set","k","add","mergePropsN","Proxy","_t","has","ownKeys","enumerable","configurable"],"sources":["merge-props-n.ts"],"sourcesContent":["/**\n * Merge multiple props objects — like Solid's `merge`, but with Base UI's\n * special cases: `class`, `style` and `on*` handlers are composed rather\n * than overwritten, and `undefined` values are **skipped** (so default props\n * from earlier sources win when a later override is absent, matching Base\n * UI React's `mergeProps` semantics, not Solid's `merge` which treats\n * `undefined` as a real value).\n *\n * The merge is lazy and reactive: every property access re-reads the source\n * array, and the returned object's own-keys set re-collects on each\n * enumeration. That means state-attr projections that introduce new `data-*`\n * keys over time are seen by consumers as those keys appear.\n *\n * Behaviour:\n * - `class`: concatenated string (\"a b c\"). Objects/arrays (clsx-style) are\n *   flattened into a single string.\n * - `style`: merged shallowly, right-most wins per property.\n * - `on*`: chained. Each handler runs right-to-left; the right-most handler\n *   can call `preventBaseUIHandler()` on the event to stop earlier handlers.\n * - everything else: right-most non-`undefined` wins.\n *\n * **Strict-read note:** The proxy's `ownKeys` and `getOwnPropertyDescriptor`\n * traps fire during body-time enumeration (Solid's `mergeProps` runs\n * `Object.getOwnPropertyNames` synchronously in the consumer component's\n * body, which is an intentionally-untracked scope). The reads inside those\n * traps are intentional snapshots — Solid stores the resulting descriptors\n * (which point back at our reactive getter via `getOwnPropertyDescriptor`)\n * so reactivity flows through later, when consumers read individual keys\n * inside their own tracked scopes. We wrap the enumeration-trap bodies in\n * `untrack` to silence the false-positive `[STRICT_READ_UNTRACKED]` warning\n * that the component-body label scope would otherwise raise on every\n * source-key probe.\n */\n\nimport { untrack } from \"solid-js\";\n\nexport type PropsLike = Record<string, unknown>;\nexport type PropsSource = PropsLike | undefined;\n\nconst EVENT_HANDLER_RE = /^on[A-Z]/;\n\nfunction isEventHandlerKey(key: string): boolean {\n\treturn EVENT_HANDLER_RE.test(key);\n}\n\nfunction classToString(value: unknown): string {\n\tif (value == null || value === false) return \"\";\n\tif (typeof value === \"string\") return value;\n\tif (typeof value === \"number\") return String(value);\n\tif (Array.isArray(value)) {\n\t\tlet out = \"\";\n\t\tfor (const part of value) {\n\t\t\tconst s = classToString(part);\n\t\t\tif (s) out = out ? `${out} ${s}` : s;\n\t\t}\n\t\treturn out;\n\t}\n\tif (typeof value === \"object\") {\n\t\tlet out = \"\";\n\t\tfor (const [key, v] of Object.entries(value as Record<string, unknown>)) {\n\t\t\tif (v) out = out ? `${out} ${key}` : key;\n\t\t}\n\t\treturn out;\n\t}\n\treturn \"\";\n}\n\nfunction mergeClass(sources: readonly PropsSource[]): string | undefined {\n\tlet out = \"\";\n\tfor (const src of sources) {\n\t\tif (!src) continue;\n\t\tconst v = (src as PropsLike).class;\n\t\tif (v == null) continue;\n\t\tconst s = classToString(v);\n\t\tif (s) out = out ? `${out} ${s}` : s;\n\t}\n\treturn out || undefined;\n}\n\nfunction mergeStyle(\n\tsources: readonly PropsSource[],\n): object | string | undefined {\n\tlet merged: Record<string, unknown> | undefined;\n\tlet lastString: string | undefined;\n\tfor (const src of sources) {\n\t\tif (!src) continue;\n\t\tconst v = (src as PropsLike).style;\n\t\tif (v == null) continue;\n\t\tif (typeof v === \"string\") {\n\t\t\tlastString = v;\n\t\t\tmerged = undefined;\n\t\t\tcontinue;\n\t\t}\n\t\tlastString = undefined;\n\t\tmerged = merged ? Object.assign(merged, v) : { ...(v as object) };\n\t}\n\treturn merged ?? lastString;\n}\n\ntype AnyHandler = (...args: unknown[]) => unknown;\n\ninterface BaseUIEventLike {\n\tbaseUIHandlerPrevented?: boolean;\n\tpreventBaseUIHandler?: () => void;\n}\n\nfunction looksLikeEvent(value: unknown): value is Event & BaseUIEventLike {\n\treturn (\n\t\tvalue != null && typeof value === \"object\" && \"type\" in (value as object)\n\t);\n}\n\nfunction armEvent(event: Event & BaseUIEventLike): void {\n\tevent.preventBaseUIHandler = () => {\n\t\tevent.baseUIHandlerPrevented = true;\n\t};\n}\n\nfunction chainHandlers(handlers: AnyHandler[]): AnyHandler | undefined {\n\tif (handlers.length === 0) return undefined;\n\tconst [first] = handlers;\n\tif (handlers.length === 1 && first) {\n\t\treturn (...args: unknown[]) => {\n\t\t\tconst ev = args[0];\n\t\t\tif (looksLikeEvent(ev)) armEvent(ev);\n\t\t\treturn first(...args);\n\t\t};\n\t}\n\treturn (...args: unknown[]) => {\n\t\tconst ev = args[0];\n\t\tif (looksLikeEvent(ev)) armEvent(ev);\n\t\tlet lastResult: unknown;\n\t\tfor (let i = handlers.length - 1; i >= 0; i--) {\n\t\t\tconst h = handlers[i];\n\t\t\tif (!h) continue;\n\t\t\tlastResult = h(...args);\n\t\t\tif (looksLikeEvent(ev) && ev.baseUIHandlerPrevented) break;\n\t\t}\n\t\treturn lastResult;\n\t};\n}\n\nfunction resolveKey(key: string, sources: readonly PropsSource[]): unknown {\n\tif (key === \"class\") return mergeClass(sources);\n\tif (key === \"style\") return mergeStyle(sources);\n\tif (isEventHandlerKey(key)) {\n\t\tconst handlers: AnyHandler[] = [];\n\t\tfor (const src of sources) {\n\t\t\tif (!src) continue;\n\t\t\tconst h = (src as PropsLike)[key];\n\t\t\tif (typeof h === \"function\") handlers.push(h as AnyHandler);\n\t\t}\n\t\treturn chainHandlers(handlers);\n\t}\n\tfor (let i = sources.length - 1; i >= 0; i--) {\n\t\tconst src = sources[i];\n\t\tif (!src) continue;\n\t\tif (!(key in src)) continue;\n\t\tconst v = (src as PropsLike)[key];\n\t\tif (v === undefined) continue;\n\t\treturn v;\n\t}\n\treturn undefined;\n}\n\n/**\n * Does any source declare `key` as a getter (vs a data property)? A getter\n * is intentionally lazy — its value at enumeration time isn't meaningful,\n * and invoking it during enumeration can cascade into child component\n * body evaluation (which re-establishes `strictRead` under the child's\n * label, defeating the outer `untrack` and surfacing\n * `[STRICT_READ_UNTRACKED]`). For these keys we trust the producer's\n * intent and include them unconditionally; the downstream descriptor we\n * return from `getOwnPropertyDescriptor` still gates the actual value\n * through a getter, so RFC 07 absence semantics still hold for any\n * eventual `undefined` value.\n */\nfunction hasGetterForKey(\n\tsources: readonly PropsSource[],\n\tkey: string,\n): boolean {\n\tfor (const src of sources) {\n\t\tif (!src) continue;\n\t\tconst desc = Object.getOwnPropertyDescriptor(src, key);\n\t\tif (desc && typeof desc.get === \"function\") return true;\n\t}\n\treturn false;\n}\n\nfunction collectOwnKeys(sources: readonly PropsSource[]): string[] {\n\t// `untrack` here clears `strictRead` for the duration of the\n\t// enumeration. This trap is invoked from body-time `Object.keys` /\n\t// `getOwnPropertyNames` paths (Solid's `mergeProps`, JSX spread setup),\n\t// which are intentionally non-tracking and intentionally take a key\n\t// snapshot — the reactivity flows through the per-key getter\n\t// descriptors we return from `getOwnPropertyDescriptor`, not through\n\t// this enumeration. See module doc.\n\treturn untrack(() => {\n\t\tconst keys = new Set<string>();\n\t\tfor (const src of sources) {\n\t\t\tif (!src) continue;\n\t\t\tfor (const k of Object.keys(src)) keys.add(k);\n\t\t}\n\t\t// Mirror the resolve-semantics: if every source's value at `k` is\n\t\t// `undefined` (the skip case), the key shouldn't appear as \"own\"\n\t\t// either. Without this, Solid 2 DOM spreads would see\n\t\t// `class`/`value` as present-with-`undefined` — meaningfully\n\t\t// different from absent (RFC 07).\n\t\tconst out: string[] = [];\n\t\tfor (const k of keys) {\n\t\t\tif (hasGetterForKey(sources, k)) {\n\t\t\t\tout.push(k);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (resolveKey(k, sources) !== undefined) out.push(k);\n\t\t}\n\t\treturn out;\n\t});\n}\n\n/**\n * Merge an array of props sources into a reactive proxy. Every lookup re-reads\n * the sources, so getters (including state-projection getters added by\n * `renderElement`) stay live.\n *\n * **Solid 2 quirk**: attributes whose initial getter value is `undefined` are\n * absent from `ownKeys` at first spread and will NOT become reactive later —\n * the DOM binding never subscribes. Consumers that need a late-binding\n * attribute (e.g. `aria-labelledby`) must seed the key (`\"\"`) so it stays\n * in `ownKeys`, or project it imperatively via `setAttribute` (see\n * `<Input>`'s `aria-invalid` handling). See\n * `test/internals/merge-props-undefined-attr.test.tsx` for the pinned\n * verdict.\n */\nexport function mergePropsN(sources: readonly PropsSource[]): PropsLike {\n\treturn new Proxy({} as PropsLike, {\n\t\tget(_t, key: string | symbol) {\n\t\t\tif (typeof key === \"symbol\") return undefined;\n\t\t\treturn resolveKey(key, sources);\n\t\t},\n\t\thas(_t, key: string | symbol) {\n\t\t\tif (typeof key === \"symbol\") return false;\n\t\t\t// `has` must agree with `get`: if every source resolves the key\n\t\t\t// to `undefined`, the proxy should report it as absent.\n\t\t\t// Otherwise Solid 2's DOM binding layer would treat\n\t\t\t// `<input value={undefined}>` as \"present with undefined\" rather\n\t\t\t// than \"missing\" — meaningfully different for form controls per\n\t\t\t// RFC 07.\n\t\t\treturn resolveKey(key, sources) !== undefined;\n\t\t},\n\t\townKeys() {\n\t\t\treturn collectOwnKeys(sources);\n\t\t},\n\t\tgetOwnPropertyDescriptor(_t, key: string | symbol) {\n\t\t\tif (typeof key === \"symbol\") return undefined;\n\t\t\t// Same asymmetry fix as `has`: keys that resolve to undefined\n\t\t\t// aren't \"own\" even if the source object listed them. The\n\t\t\t// presence-probe is wrapped in `untrack` for the same\n\t\t\t// strict-read reason as `collectOwnKeys` — Solid's `mergeProps`\n\t\t\t// calls this trap synchronously during component-body setup.\n\t\t\t// The returned descriptor's `get` runs in the consumer's later\n\t\t\t// (tracked) scope, so reactivity is preserved.\n\t\t\t//\n\t\t\t// Skip the probe for keys backed by a getter on any source —\n\t\t\t// see `hasGetterForKey`.\n\t\t\tif (\n\t\t\t\t!hasGetterForKey(sources, key) &&\n\t\t\t\tuntrack(() => resolveKey(key, sources)) === undefined\n\t\t\t)\n\t\t\t\treturn undefined;\n\t\t\t// Return a getter-based descriptor so consumers that copy\n\t\t\t// descriptors (e.g. `@solidjs/web`'s `omit`) preserve reactivity\n\t\t\t// rather than snapshotting the current value.\n\t\t\treturn {\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tget: () => resolveKey(key, sources),\n\t\t\t};\n\t\t},\n\t});\n}\n"],"mappings":"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","ignoreList":[]}