{"version":3,"file":"angular.cjs","sources":["../src/angular.ts"],"sourcesContent":["// Angular wrapper\nimport { createElement } from \"react\";\nimport type { Root } from \"react-dom/client\";\nimport { createRoot } from \"react-dom/client\";\nimport { Widget } from \"./components/widget\";\nimport \"./global.css\";\n\nexport interface FeedgetConfig {\n  apiKey: string;\n  apiUrl?: string;\n  orientation?: \"left\" | \"right\";\n  metadata?: {\n    userId?: string;\n    version?: string;\n    custom?: Record<string, any>;\n  };\n}\n\nexport class FeedgetWidgetAngular {\n  private root: Root | null = null;\n  private container: HTMLDivElement | null = null;\n  private config: FeedgetConfig;\n\n  constructor(config: FeedgetConfig) {\n    this.config = config;\n  }\n\n  mount(containerElement?: HTMLElement): void {\n    // Create container if not provided\n    if (!containerElement) {\n      this.container = document.createElement(\"div\");\n      this.container.id = \"feedget-widget-container\";\n      document.body.appendChild(this.container);\n    } else {\n      this.container = containerElement as HTMLDivElement;\n    }\n\n    // Create React root and render widget\n    this.root = createRoot(this.container);\n    this.root.render(\n      createElement(Widget, {\n        apiKey: this.config.apiKey,\n        apiUrl: this.config.apiUrl,\n        orientation: this.config.orientation,\n        metadata: this.config.metadata,\n      })\n    );\n  }\n\n  unmount(): void {\n    if (this.root) {\n      this.root.unmount();\n      this.root = null;\n    }\n    if (this.container && this.container.id === \"feedget-widget-container\") {\n      document.body.removeChild(this.container);\n      this.container = null;\n    }\n  }\n\n  updateConfig(newConfig: Partial<FeedgetConfig>): void {\n    this.config = { ...this.config, ...newConfig };\n    if (this.root && this.container) {\n      this.root.render(\n        createElement(Widget, {\n          apiKey: this.config.apiKey,\n          apiUrl: this.config.apiUrl,\n          orientation: this.config.orientation,\n          metadata: this.config.metadata,\n        })\n      );\n    }\n  }\n}\n\n// Factory function for easier usage\nexport function createFeedgetWidget(\n  config: FeedgetConfig\n): FeedgetWidgetAngular {\n  return new FeedgetWidgetAngular(config);\n}\n"],"names":["FeedgetWidgetAngular","config","containerElement","createRoot","createElement","Widget","newConfig","createFeedgetWidget"],"mappings":"+KAkBO,MAAMA,CAAqB,CACxB,KAAoB,KACpB,UAAmC,KACnC,OAER,YAAYC,EAAuB,CACjC,KAAK,OAASA,CAChB,CAEA,MAAMC,EAAsC,CAErCA,EAKH,KAAK,UAAYA,GAJjB,KAAK,UAAY,SAAS,cAAc,KAAK,EAC7C,KAAK,UAAU,GAAK,2BACpB,SAAS,KAAK,YAAY,KAAK,SAAS,GAM1C,KAAK,KAAOC,2BAAW,KAAK,SAAS,EACrC,KAAK,KAAK,OACRC,EAAAA,cAAcC,EAAAA,OAAQ,CACpB,OAAQ,KAAK,OAAO,OACpB,OAAQ,KAAK,OAAO,OACpB,YAAa,KAAK,OAAO,YACzB,SAAU,KAAK,OAAO,QAAA,CACvB,CAAA,CAEL,CAEA,SAAgB,CACV,KAAK,OACP,KAAK,KAAK,QAAA,EACV,KAAK,KAAO,MAEV,KAAK,WAAa,KAAK,UAAU,KAAO,6BAC1C,SAAS,KAAK,YAAY,KAAK,SAAS,EACxC,KAAK,UAAY,KAErB,CAEA,aAAaC,EAAyC,CACpD,KAAK,OAAS,CAAE,GAAG,KAAK,OAAQ,GAAGA,CAAA,EAC/B,KAAK,MAAQ,KAAK,WACpB,KAAK,KAAK,OACRF,EAAAA,cAAcC,EAAAA,OAAQ,CACpB,OAAQ,KAAK,OAAO,OACpB,OAAQ,KAAK,OAAO,OACpB,YAAa,KAAK,OAAO,YACzB,SAAU,KAAK,OAAO,QAAA,CACvB,CAAA,CAGP,CACF,CAGO,SAASE,EACdN,EACsB,CACtB,OAAO,IAAID,EAAqBC,CAAM,CACxC"}