{
  "version": 3,
  "sources": ["../src/hydrate.ts"],
  "sourcesContent": ["import { Tonic } from './index.js'\n\n/**\n * Hydrate server-rendered Tonic components.\n *\n * Call this to wrap component registration so that existing\n * server-rendered DOM is preserved instead of being re-rendered.\n * Event handlers are still attached, props are parsed from\n * attributes, and lifecycle hooks (`willConnect`, `connected`)\n * are called.\n *\n * If a `<script type=\"application/json\" data-tonic-ssr>` tag\n * exists in the document, its JSON content is parsed and used\n * to restore complex props (objects, arrays) for components\n * with matching `id` attributes.\n *\n * @param callback Register your components inside this callback\n * @returns The parsed SSR state, or null if none was embedded\n *\n * @example\n * ```ts\n * import { hydrate } from '@substrate-system/tonic/hydrate'\n * import { Tonic } from '@substrate-system/tonic'\n * import { MyApp } from './components.js'\n *\n * const state = hydrate(() => {\n *     Tonic.add(MyApp)\n * })\n * ```\n */\nexport function hydrate (\n    callback:() => void\n):Record<string, any>|null {\n    const script = document.querySelector(\n        'script[data-tonic-ssr]'\n    )\n\n    const state:Record<string, any>|null = script ?\n        JSON.parse(script.textContent || '{}') :\n        null\n\n    Tonic._ssrState = state\n    Tonic._hydrating = true\n\n    callback()\n\n    Tonic._hydrating = false\n    Tonic._ssrState = null\n\n    return state\n}\n"],
  "mappings": "4dAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAsB,sBA8Bf,SAASC,EACZC,EACuB,CACvB,MAAMC,EAAS,SAAS,cACpB,wBACJ,EAEMC,EAAiCD,EACnC,KAAK,MAAMA,EAAO,aAAe,IAAI,EACrC,KAEJ,eAAM,UAAYC,EAClB,QAAM,WAAa,GAEnBF,EAAS,EAET,QAAM,WAAa,GACnB,QAAM,UAAY,KAEXE,CACX,CApBgBC,EAAAJ,EAAA",
  "names": ["hydrate_exports", "__export", "hydrate", "__toCommonJS", "import_index", "hydrate", "callback", "script", "state", "__name"]
}
