{"version":3,"file":"adapter.mjs","names":[],"sources":["../../src/web-components/adapter.ts"],"sourcesContent":["import { html } from \"lit\";\nimport type {\n  ComponentApi,\n  InferredComponentApiSchemaType,\n  ResolveA2uiProps,\n} from \"@a2ui/web_core/v0_9\";\nimport type {\n  LitComponentImplementation,\n  LitRenderable,\n  LitRendererFn,\n} from \"./types\";\n\nexport function createLitComponent<Api extends ComponentApi, S = void>(\n  api: Api,\n  renderFn: LitRendererFn<Api, S>,\n  setupState?: () => S,\n): LitComponentImplementation {\n  return {\n    name: api.name,\n    schema: api.schema,\n    render: (context, buildChild) => html`\n      <cpk-a2ui-bound-component\n        .api=${api}\n        .context=${context}\n        .buildChild=${buildChild}\n        .renderFn=${renderFn}\n        .setupState=${setupState}\n      ></cpk-a2ui-bound-component>\n    `,\n  };\n}\n\nexport function createBinderlessLitComponent(\n  api: ComponentApi,\n  renderFn: (componentProps: {\n    context: Parameters<LitComponentImplementation[\"render\"]>[0];\n    buildChild: (id: string, basePath?: string) => LitRenderable;\n  }) => LitRenderable,\n): LitComponentImplementation {\n  return {\n    name: api.name,\n    schema: api.schema,\n    render: (context, buildChild) => renderFn({ context, buildChild }),\n  };\n}\n\nexport type {\n  InferredComponentApiSchemaType,\n  ResolveA2uiProps,\n  LitComponentImplementation,\n  LitRenderable,\n  LitRendererFn,\n};\n"],"mappings":";;;AAYA,SAAgB,mBACd,KACA,UACA,YAC4B;AAC5B,QAAO;EACL,MAAM,IAAI;EACV,QAAQ,IAAI;EACZ,SAAS,SAAS,eAAe,IAAI;;eAE1B,IAAI;mBACA,QAAQ;sBACL,WAAW;oBACb,SAAS;sBACP,WAAW;;;EAG9B;;AAGH,SAAgB,6BACd,KACA,UAI4B;AAC5B,QAAO;EACL,MAAM,IAAI;EACV,QAAQ,IAAI;EACZ,SAAS,SAAS,eAAe,SAAS;GAAE;GAAS;GAAY,CAAC;EACnE"}