{
  "version": 3,
  "sources": ["../../assets/hooks/lazy-hook.ts", "../../assets/hooks/hooks.ts"],
  "sourcesContent": ["import type { Hook } from \"phoenix_live_view\";\n\nexport type HookModule = Record<string, Hook<object, HTMLElement> | undefined>;\n\nexport function createLazyHook(importFn: () => Promise<HookModule>, exportName: string): Hook {\n  return {\n    async mounted() {\n      const el = this.el;\n\n      try {\n        const mod = await importFn();\n        const real = mod[exportName];\n        (this as { _realHook?: Hook<object, HTMLElement> })._realHook = real;\n\n        if (real?.mounted) {\n          await real.mounted.call(this);\n        }\n      } finally {\n        el.removeAttribute(\"data-loading\");\n      }\n    },\n    updated() {\n      (this as { _realHook?: Hook })._realHook?.updated?.call(this);\n    },\n    destroyed() {\n      (this as { _realHook?: Hook })._realHook?.destroyed?.call(this);\n    },\n    disconnected() {\n      (this as { _realHook?: Hook })._realHook?.disconnected?.call(this);\n    },\n    reconnected() {\n      (this as { _realHook?: Hook })._realHook?.reconnected?.call(this);\n    },\n    beforeUpdate() {\n      (this as { _realHook?: Hook })._realHook?.beforeUpdate?.call(this);\n    },\n  };\n}\n", "import { createLazyHook, type HookModule } from \"./lazy-hook\";\n\nfunction everyEntryIsLazyFactory(named: Record<string, unknown>): boolean {\n  const values = Object.values(named);\n  return values.length > 0 && values.every((v) => typeof v === \"function\");\n}\n\nexport function hooks<const T extends Record<string, unknown>>(named: T): T {\n  const record = named as Record<string, unknown>;\n  if (everyEntryIsLazyFactory(record)) {\n    return Object.fromEntries(\n      Object.keys(record).map((name) => [\n        name,\n        createLazyHook(record[name] as () => Promise<HookModule>, name),\n      ])\n    ) as T;\n  }\n  return named;\n}\n"],
  "mappings": ";AAIO,SAAS,eAAe,UAAqC,YAA0B;AAC5F,SAAO;AAAA,IACL,MAAM,UAAU;AACd,YAAM,KAAK,KAAK;AAEhB,UAAI;AACF,cAAM,MAAM,MAAM,SAAS;AAC3B,cAAM,OAAO,IAAI,UAAU;AAC3B,QAAC,KAAmD,YAAY;AAEhE,YAAI,MAAM,SAAS;AACjB,gBAAM,KAAK,QAAQ,KAAK,IAAI;AAAA,QAC9B;AAAA,MACF,UAAE;AACA,WAAG,gBAAgB,cAAc;AAAA,MACnC;AAAA,IACF;AAAA,IACA,UAAU;AACR,MAAC,KAA8B,WAAW,SAAS,KAAK,IAAI;AAAA,IAC9D;AAAA,IACA,YAAY;AACV,MAAC,KAA8B,WAAW,WAAW,KAAK,IAAI;AAAA,IAChE;AAAA,IACA,eAAe;AACb,MAAC,KAA8B,WAAW,cAAc,KAAK,IAAI;AAAA,IACnE;AAAA,IACA,cAAc;AACZ,MAAC,KAA8B,WAAW,aAAa,KAAK,IAAI;AAAA,IAClE;AAAA,IACA,eAAe;AACb,MAAC,KAA8B,WAAW,cAAc,KAAK,IAAI;AAAA,IACnE;AAAA,EACF;AACF;;;ACnCA,SAAS,wBAAwB,OAAyC;AACxE,QAAM,SAAS,OAAO,OAAO,KAAK;AAClC,SAAO,OAAO,SAAS,KAAK,OAAO,MAAM,CAAC,MAAM,OAAO,MAAM,UAAU;AACzE;AAEO,SAAS,MAA+C,OAAa;AAC1E,QAAM,SAAS;AACf,MAAI,wBAAwB,MAAM,GAAG;AACnC,WAAO,OAAO;AAAA,MACZ,OAAO,KAAK,MAAM,EAAE,IAAI,CAAC,SAAS;AAAA,QAChC;AAAA,QACA,eAAe,OAAO,IAAI,GAAgC,IAAI;AAAA,MAChE,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO;AACT;",
  "names": []
}
