{"version":3,"sources":["../../../src/lib/widgets-context.ts"],"sourcesContent":["import * as React from \"react\";\nimport { DEFAULT_API_HOSTNAME } from \"./api/config.js\";\nimport type { Elements } from \"./elements.js\";\n\nexport interface WidgetsContextType {\n  elements: Elements;\n  apiBaseUrl: string;\n}\n\nconst WidgetsContext = React.createContext<WidgetsContextType | undefined>(\n  undefined,\n);\nWidgetsContext.displayName = \"WidgetsContext\";\nexport { WidgetsContext };\n\nexport function useWorkOsApiUrl() {\n  const context = React.useContext(WidgetsContext);\n  return context?.apiBaseUrl || `https://${DEFAULT_API_HOSTNAME}`;\n}\n\nexport function useElement<K extends keyof Elements>(\n  key: K,\n): NonNullable<Elements[K]> {\n  const context = React.useContext(WidgetsContext);\n  if (!context) {\n    throw new Error(\"useElement must be used within a WidgetsContext provider\");\n  }\n  return context.elements[key] || {};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AACvB,oBAAqC;AAQrC,MAAM,iBAAiB,MAAM;AAAA,EAC3B;AACF;AACA,eAAe,cAAc;AAGtB,SAAS,kBAAkB;AAChC,QAAM,UAAU,MAAM,WAAW,cAAc;AAC/C,SAAO,SAAS,cAAc,WAAW,kCAAoB;AAC/D;AAEO,SAAS,WACd,KAC0B;AAC1B,QAAM,UAAU,MAAM,WAAW,cAAc;AAC/C,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AACA,SAAO,QAAQ,SAAS,GAAG,KAAK,CAAC;AACnC;","names":[]}