@onlive.ai/common-121 0.2.163 → 0.2.184

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/audi-dark.theme-B8g9SRrd.d.cts +11 -0
  2. package/audi-dark.theme-B8g9SRrd.d.ts +11 -0
  3. package/audi.theme-CbqEkKLD.d.cts +11 -0
  4. package/audi.theme-CbqEkKLD.d.ts +11 -0
  5. package/australia.theme-Cs0cygOQ.d.cts +11 -0
  6. package/australia.theme-Cs0cygOQ.d.ts +11 -0
  7. package/chunk-UTOVVCSU.js +2 -0
  8. package/components/asset/asset-modal-portal.cjs +1 -1
  9. package/components/asset/asset-modal-portal.d.cts +1 -1
  10. package/components/asset/asset-modal-portal.d.ts +1 -1
  11. package/components/asset/asset-modal-portal.js +1 -1
  12. package/components/asset/asset.cjs +4 -4
  13. package/components/asset/asset.d.cts +1 -1
  14. package/components/asset/asset.d.ts +1 -1
  15. package/components/asset/asset.js +13 -13
  16. package/components/asset/asset.loaders.cjs +1 -1
  17. package/components/asset/asset.loaders.d.cts +1 -1
  18. package/components/asset/asset.loaders.d.ts +1 -1
  19. package/components/asset/asset.loaders.js +1 -1
  20. package/components/asset/asset.renderer.cjs +4 -4
  21. package/components/asset/asset.renderer.d.cts +1 -1
  22. package/components/asset/asset.renderer.d.ts +1 -1
  23. package/components/asset/asset.renderer.js +10 -10
  24. package/components/asset/asset.styles.cjs +1 -1
  25. package/components/asset/asset.styles.d.cts +1 -1
  26. package/components/asset/asset.styles.d.ts +1 -1
  27. package/components/asset/asset.styles.js +1 -1
  28. package/components/asset/asset.types.cjs +1 -1
  29. package/components/asset/asset.types.d.cts +1 -1
  30. package/components/asset/asset.types.d.ts +1 -1
  31. package/components/asset/asset.types.js +1 -1
  32. package/components/asset/index.cjs +4 -4
  33. package/components/asset/index.d.cts +1 -1
  34. package/components/asset/index.d.ts +1 -1
  35. package/components/asset/index.js +13 -13
  36. package/components/player/player.cjs +1 -1
  37. package/components/player/player.d.cts +1 -1
  38. package/components/player/player.d.ts +1 -1
  39. package/components/player/player.js +1 -1
  40. package/components/player/player.styles.cjs +1 -1
  41. package/components/player/player.styles.d.cts +1 -1
  42. package/components/player/player.styles.d.ts +1 -1
  43. package/components/player/player.styles.js +1 -1
  44. package/components/side-bar/index.cjs +1 -1
  45. package/components/side-bar/index.d.cts +1 -1
  46. package/components/side-bar/index.d.ts +1 -1
  47. package/components/side-bar/index.js +1 -1
  48. package/components/side-bar/side-bar.cjs +1 -1
  49. package/components/side-bar/side-bar.d.cts +1 -1
  50. package/components/side-bar/side-bar.d.ts +1 -1
  51. package/components/side-bar/side-bar.js +1 -1
  52. package/components/side-bar/side-bar.styles.cjs +1 -1
  53. package/components/side-bar/side-bar.styles.d.cts +1 -1
  54. package/components/side-bar/side-bar.styles.d.ts +1 -1
  55. package/components/side-bar/side-bar.styles.js +1 -1
  56. package/components/side-bar/side-bar.types.cjs +1 -1
  57. package/components/side-bar/side-bar.types.d.cts +1 -1
  58. package/components/side-bar/side-bar.types.d.ts +1 -1
  59. package/components/side-bar/side-bar.types.js +1 -1
  60. package/components/upload/index.cjs +1 -1
  61. package/components/upload/index.d.cts +1 -1
  62. package/components/upload/index.d.ts +1 -1
  63. package/components/upload/index.js +1 -1
  64. package/components/upload/upload.cjs +1 -1
  65. package/components/upload/upload.d.cts +1 -1
  66. package/components/upload/upload.d.ts +1 -1
  67. package/components/upload/upload.js +1 -1
  68. package/components/upload/upload.styles.cjs +1 -1
  69. package/components/upload/upload.styles.d.cts +1 -1
  70. package/components/upload/upload.styles.d.ts +1 -1
  71. package/components/upload/upload.styles.js +1 -1
  72. package/components/upload/upload.types.cjs +1 -1
  73. package/components/upload/upload.types.d.cts +1 -1
  74. package/components/upload/upload.types.d.ts +1 -1
  75. package/components/upload/upload.types.js +1 -1
  76. package/cuernavaca.theme-0UFX1MeG.d.cts +11 -0
  77. package/cuernavaca.theme-0UFX1MeG.d.ts +11 -0
  78. package/cupra-diagonal.theme-DVrQr2iv.d.cts +11 -0
  79. package/cupra-diagonal.theme-DVrQr2iv.d.ts +11 -0
  80. package/cupra-events.theme-D2xJeafa.d.cts +11 -0
  81. package/cupra-events.theme-D2xJeafa.d.ts +11 -0
  82. package/cupra.theme-CqgKWLYE.d.cts +11 -0
  83. package/cupra.theme-CqgKWLYE.d.ts +11 -0
  84. package/germany.theme-CnwD309P.d.cts +11 -0
  85. package/germany.theme-CnwD309P.d.ts +11 -0
  86. package/hyundai.theme-E2ZiyZmJ.d.cts +11 -0
  87. package/hyundai.theme-E2ZiyZmJ.d.ts +11 -0
  88. package/index.cjs +276 -276
  89. package/index.d.cts +4134 -3
  90. package/index.d.ts +4134 -3
  91. package/index.js +280 -280
  92. package/italy.theme-BjfPp7rU.d.cts +11 -0
  93. package/italy.theme-BjfPp7rU.d.ts +11 -0
  94. package/magimix.theme-7cd19P1X.d.cts +11 -0
  95. package/magimix.theme-7cd19P1X.d.ts +11 -0
  96. package/media-SB4RDT6E.js +2 -0
  97. package/onlive-ai.theme-CASPoRHr.d.cts +11 -0
  98. package/onlive-ai.theme-CASPoRHr.d.ts +11 -0
  99. package/onlive.theme-nKZQHG1I.d.cts +11 -0
  100. package/onlive.theme-nKZQHG1I.d.ts +11 -0
  101. package/package.json +13 -9
  102. package/react/components/asset/Asset.cjs +1 -1
  103. package/react/components/asset/Asset.jsx +1 -1
  104. package/react/components/side-bar/SideBar.cjs +1 -1
  105. package/react/components/side-bar/SideBar.jsx +1 -1
  106. package/react/components/upload/Upload.cjs +1 -1
  107. package/react/components/upload/Upload.jsx +1 -1
  108. package/seat-cupra.theme-B4ylEjOZ.d.cts +11 -0
  109. package/seat-cupra.theme-B4ylEjOZ.d.ts +11 -0
  110. package/services/audio.service.cjs +1 -1
  111. package/services/audio.service.d.cts +1 -1
  112. package/services/audio.service.d.ts +1 -1
  113. package/services/audio.service.js +1 -1
  114. package/services/conversation/conversation.service.cjs +2 -2
  115. package/services/conversation/conversation.service.d.cts +26 -3
  116. package/services/conversation/conversation.service.d.ts +26 -3
  117. package/services/conversation/conversation.service.js +2 -2
  118. package/services/conversation/conversation.types.cjs +2 -2
  119. package/services/conversation/conversation.types.d.cts +120 -4
  120. package/services/conversation/conversation.types.d.ts +120 -4
  121. package/services/conversation/conversation.types.js +2 -2
  122. package/services/conversation/index.cjs +2 -2
  123. package/services/conversation/index.d.cts +19 -2
  124. package/services/conversation/index.d.ts +19 -2
  125. package/services/conversation/index.js +2 -2
  126. package/services/conversation/mock/actor/agent.cjs +2 -0
  127. package/services/conversation/mock/actor/agent.d.cts +202 -0
  128. package/services/conversation/mock/actor/agent.d.ts +202 -0
  129. package/services/conversation/mock/actor/agent.js +2 -0
  130. package/services/conversation/mock/actor/index.cjs +2 -0
  131. package/services/conversation/mock/actor/index.d.cts +4 -0
  132. package/services/conversation/mock/actor/index.d.ts +4 -0
  133. package/services/conversation/mock/actor/index.js +2 -0
  134. package/services/conversation/mock/actor/strategies.cjs +2 -0
  135. package/services/conversation/mock/actor/strategies.d.cts +31 -0
  136. package/services/conversation/mock/actor/strategies.d.ts +31 -0
  137. package/services/conversation/mock/actor/strategies.js +2 -0
  138. package/services/conversation/mock/errors.cjs +2 -0
  139. package/services/conversation/mock/errors.d.cts +125 -0
  140. package/services/conversation/mock/errors.d.ts +125 -0
  141. package/services/conversation/mock/errors.js +2 -0
  142. package/services/conversation/mock/events.cjs +2 -0
  143. package/services/conversation/mock/events.d.cts +253 -0
  144. package/services/conversation/mock/events.d.ts +253 -0
  145. package/services/conversation/mock/events.js +2 -0
  146. package/services/conversation/mock/factory.cjs +2 -0
  147. package/services/conversation/mock/factory.d.cts +134 -0
  148. package/services/conversation/mock/factory.d.ts +134 -0
  149. package/services/conversation/mock/factory.js +2 -0
  150. package/services/conversation/mock/fixtures.cjs +2 -0
  151. package/services/conversation/mock/fixtures.d.cts +191 -0
  152. package/services/conversation/mock/fixtures.d.ts +191 -0
  153. package/services/conversation/mock/fixtures.js +2 -0
  154. package/services/conversation/mock/generators.cjs +2 -0
  155. package/services/conversation/mock/generators.d.cts +123 -0
  156. package/services/conversation/mock/generators.d.ts +123 -0
  157. package/services/conversation/mock/generators.js +2 -0
  158. package/services/conversation/mock/index.cjs +2 -0
  159. package/services/conversation/mock/index.d.cts +24 -0
  160. package/services/conversation/mock/index.d.ts +24 -0
  161. package/services/conversation/mock/index.js +2 -0
  162. package/services/conversation/mock/livekit/index.cjs +2 -0
  163. package/services/conversation/mock/livekit/index.d.cts +7 -0
  164. package/services/conversation/mock/livekit/index.d.ts +7 -0
  165. package/services/conversation/mock/livekit/index.js +2 -0
  166. package/services/conversation/mock/livekit/local-participant.cjs +2 -0
  167. package/services/conversation/mock/livekit/local-participant.d.cts +204 -0
  168. package/services/conversation/mock/livekit/local-participant.d.ts +204 -0
  169. package/services/conversation/mock/livekit/local-participant.js +2 -0
  170. package/services/conversation/mock/livekit/participant.cjs +2 -0
  171. package/services/conversation/mock/livekit/participant.d.cts +171 -0
  172. package/services/conversation/mock/livekit/participant.d.ts +171 -0
  173. package/services/conversation/mock/livekit/participant.js +2 -0
  174. package/services/conversation/mock/livekit/room.cjs +2 -0
  175. package/services/conversation/mock/livekit/room.d.cts +292 -0
  176. package/services/conversation/mock/livekit/room.d.ts +292 -0
  177. package/services/conversation/mock/livekit/room.js +2 -0
  178. package/services/conversation/mock/livekit/streams.cjs +2 -0
  179. package/services/conversation/mock/livekit/streams.d.cts +190 -0
  180. package/services/conversation/mock/livekit/streams.d.ts +190 -0
  181. package/services/conversation/mock/livekit/streams.js +2 -0
  182. package/services/conversation/mock/livekit/tracks.cjs +2 -0
  183. package/services/conversation/mock/livekit/tracks.d.cts +149 -0
  184. package/services/conversation/mock/livekit/tracks.d.ts +149 -0
  185. package/services/conversation/mock/livekit/tracks.js +2 -0
  186. package/services/conversation/mock/media.cjs +2 -0
  187. package/services/conversation/mock/media.d.cts +174 -0
  188. package/services/conversation/mock/media.d.ts +174 -0
  189. package/services/conversation/mock/media.js +2 -0
  190. package/services/conversation/mock/service.cjs +2 -0
  191. package/services/conversation/mock/service.d.cts +305 -0
  192. package/services/conversation/mock/service.d.ts +305 -0
  193. package/services/conversation/mock/service.js +2 -0
  194. package/services/conversation/mock/service.test.cjs +2 -0
  195. package/services/conversation/mock/service.test.d.cts +1 -0
  196. package/services/conversation/mock/service.test.d.ts +1 -0
  197. package/services/conversation/mock/service.test.js +2 -0
  198. package/services/conversation/mock/state.cjs +2 -0
  199. package/services/conversation/mock/state.d.cts +296 -0
  200. package/services/conversation/mock/state.d.ts +296 -0
  201. package/services/conversation/mock/state.js +2 -0
  202. package/services/conversation/mock/storybook.cjs +2 -0
  203. package/services/conversation/mock/storybook.d.cts +197 -0
  204. package/services/conversation/mock/storybook.d.ts +197 -0
  205. package/services/conversation/mock/storybook.js +2 -0
  206. package/services/conversation/mock/types.cjs +2 -0
  207. package/services/conversation/mock/types.d.cts +442 -0
  208. package/services/conversation/mock/types.d.ts +442 -0
  209. package/services/conversation/mock/types.js +1 -0
  210. package/services/faqs/faqs.service.cjs +1 -1
  211. package/services/faqs/faqs.service.d.cts +1 -1
  212. package/services/faqs/faqs.service.d.ts +1 -1
  213. package/services/faqs/faqs.service.js +1 -1
  214. package/services/faqs/faqs.types.cjs +1 -1
  215. package/services/faqs/faqs.types.d.cts +1 -1
  216. package/services/faqs/faqs.types.d.ts +1 -1
  217. package/services/faqs/faqs.types.js +1 -1
  218. package/services/faqs/index.cjs +1 -1
  219. package/services/faqs/index.d.cts +1 -1
  220. package/services/faqs/index.d.ts +1 -1
  221. package/services/faqs/index.js +1 -1
  222. package/services/file/file.service.cjs +1 -1
  223. package/services/file/file.service.d.cts +1 -1
  224. package/services/file/file.service.d.ts +1 -1
  225. package/services/file/file.service.js +1 -1
  226. package/services/file/file.types.cjs +1 -1
  227. package/services/file/file.types.d.cts +1 -1
  228. package/services/file/file.types.d.ts +1 -1
  229. package/services/file/file.types.js +1 -1
  230. package/services/file/index.cjs +1 -1
  231. package/services/file/index.d.cts +1 -1
  232. package/services/file/index.d.ts +1 -1
  233. package/services/file/index.js +1 -1
  234. package/services/firebase/firebase-api.cjs +1 -1
  235. package/services/firebase/firebase-api.d.cts +1 -1
  236. package/services/firebase/firebase-api.d.ts +1 -1
  237. package/services/firebase/firebase-api.js +1 -1
  238. package/services/multimedia/config.example.cjs +1 -1
  239. package/services/multimedia/config.example.d.cts +1 -1
  240. package/services/multimedia/config.example.d.ts +1 -1
  241. package/services/multimedia/config.example.js +1 -1
  242. package/services/multimedia/index.cjs +1 -1
  243. package/services/multimedia/index.d.cts +1 -1
  244. package/services/multimedia/index.d.ts +1 -1
  245. package/services/multimedia/index.js +1 -1
  246. package/services/multimedia/multimedia.service.cjs +1 -1
  247. package/services/multimedia/multimedia.service.d.cts +1 -1
  248. package/services/multimedia/multimedia.service.d.ts +1 -1
  249. package/services/multimedia/multimedia.service.js +1 -1
  250. package/services/multimedia/multimedia.types.cjs +1 -1
  251. package/services/multimedia/multimedia.types.d.cts +1 -1
  252. package/services/multimedia/multimedia.types.d.ts +1 -1
  253. package/services/multimedia/multimedia.types.js +1 -1
  254. package/services/product/index.cjs +1 -1
  255. package/services/product/index.d.cts +1 -1
  256. package/services/product/index.d.ts +1 -1
  257. package/services/product/index.js +1 -1
  258. package/services/product/product.service.cjs +1 -1
  259. package/services/product/product.service.d.cts +1 -1
  260. package/services/product/product.service.d.ts +1 -1
  261. package/services/product/product.service.js +1 -1
  262. package/services/product/product.types.cjs +1 -1
  263. package/services/product/product.types.d.cts +1 -1
  264. package/services/product/product.types.d.ts +1 -1
  265. package/services/product/product.types.js +1 -1
  266. package/services/request.provider.cjs +1 -1
  267. package/services/request.provider.d.cts +1 -1
  268. package/services/request.provider.d.ts +1 -1
  269. package/services/request.provider.js +1 -1
  270. package/services/session.service.cjs +2 -2
  271. package/services/session.service.d.cts +1 -1
  272. package/services/session.service.d.ts +1 -1
  273. package/services/session.service.js +2 -2
  274. package/services/upload/index.cjs +1 -1
  275. package/services/upload/index.d.cts +1 -1
  276. package/services/upload/index.d.ts +1 -1
  277. package/services/upload/index.js +1 -1
  278. package/services/upload/upload.service.cjs +1 -1
  279. package/services/upload/upload.service.d.cts +1 -1
  280. package/services/upload/upload.service.d.ts +1 -1
  281. package/services/upload/upload.service.js +1 -1
  282. package/themes/custom/audi-dark.theme.cjs +920 -0
  283. package/themes/custom/audi-dark.theme.d.cts +3 -0
  284. package/themes/custom/audi-dark.theme.d.ts +3 -0
  285. package/themes/custom/audi-dark.theme.js +920 -0
  286. package/themes/custom/audi.theme.cjs +777 -0
  287. package/themes/custom/audi.theme.d.cts +3 -0
  288. package/themes/custom/audi.theme.d.ts +3 -0
  289. package/themes/custom/audi.theme.js +777 -0
  290. package/themes/custom/australia.theme.cjs +386 -0
  291. package/themes/custom/australia.theme.d.cts +3 -0
  292. package/themes/custom/australia.theme.d.ts +3 -0
  293. package/themes/custom/australia.theme.js +386 -0
  294. package/themes/custom/cuernavaca.theme.cjs +196 -0
  295. package/themes/custom/cuernavaca.theme.d.cts +3 -0
  296. package/themes/custom/cuernavaca.theme.d.ts +3 -0
  297. package/themes/custom/cuernavaca.theme.js +196 -0
  298. package/themes/custom/cupra-diagonal.theme.cjs +1029 -0
  299. package/themes/custom/cupra-diagonal.theme.d.cts +3 -0
  300. package/themes/custom/cupra-diagonal.theme.d.ts +3 -0
  301. package/themes/custom/cupra-diagonal.theme.js +1029 -0
  302. package/themes/custom/cupra-events.theme.cjs +555 -0
  303. package/themes/custom/cupra-events.theme.d.cts +3 -0
  304. package/themes/custom/cupra-events.theme.d.ts +3 -0
  305. package/themes/custom/cupra-events.theme.js +555 -0
  306. package/themes/custom/cupra.theme.cjs +147 -0
  307. package/themes/custom/cupra.theme.d.cts +3 -0
  308. package/themes/custom/cupra.theme.d.ts +3 -0
  309. package/themes/custom/cupra.theme.js +147 -0
  310. package/themes/custom/germany.theme.cjs +716 -0
  311. package/themes/custom/germany.theme.d.cts +3 -0
  312. package/themes/custom/germany.theme.d.ts +3 -0
  313. package/themes/custom/germany.theme.js +716 -0
  314. package/themes/custom/hyundai.theme.cjs +294 -0
  315. package/themes/custom/hyundai.theme.d.cts +3 -0
  316. package/themes/custom/hyundai.theme.d.ts +3 -0
  317. package/themes/custom/hyundai.theme.js +294 -0
  318. package/themes/custom/italy.theme.cjs +850 -0
  319. package/themes/custom/italy.theme.d.cts +3 -0
  320. package/themes/custom/italy.theme.d.ts +3 -0
  321. package/themes/custom/italy.theme.js +850 -0
  322. package/themes/custom/magimix.theme.cjs +119 -0
  323. package/themes/custom/magimix.theme.d.cts +3 -0
  324. package/themes/custom/magimix.theme.d.ts +3 -0
  325. package/themes/custom/magimix.theme.js +119 -0
  326. package/themes/custom/onlive-ai.theme.cjs +74 -0
  327. package/themes/custom/onlive-ai.theme.d.cts +3 -0
  328. package/themes/custom/onlive-ai.theme.d.ts +3 -0
  329. package/themes/custom/onlive-ai.theme.js +74 -0
  330. package/themes/custom/onlive.theme.cjs +33 -0
  331. package/themes/custom/onlive.theme.d.cts +3 -0
  332. package/themes/custom/onlive.theme.d.ts +3 -0
  333. package/themes/custom/onlive.theme.js +33 -0
  334. package/themes/custom/seat-cupra.theme.cjs +478 -0
  335. package/themes/custom/seat-cupra.theme.d.cts +3 -0
  336. package/themes/custom/seat-cupra.theme.d.ts +3 -0
  337. package/themes/custom/seat-cupra.theme.js +478 -0
  338. package/themes/dark.cjs +13 -2
  339. package/themes/dark.d.cts +1 -1
  340. package/themes/dark.d.ts +1 -1
  341. package/themes/dark.js +12 -1
  342. package/themes/light.cjs +13 -2
  343. package/themes/light.d.cts +1 -1
  344. package/themes/light.d.ts +1 -1
  345. package/themes/light.js +12 -1
  346. package/types/globals.cjs +1 -1
  347. package/types/globals.d.cts +1 -1
  348. package/types/globals.d.ts +1 -1
  349. package/types/globals.js +1 -1
  350. package/types/tracking-options.cjs +1 -1
  351. package/types/tracking-options.d.cts +1 -1
  352. package/types/tracking-options.d.ts +1 -1
  353. package/types/tracking-options.js +1 -1
  354. package/utils/adopt-styles.cjs +1 -1
  355. package/utils/adopt-styles.d.cts +1 -1
  356. package/utils/adopt-styles.d.ts +1 -1
  357. package/utils/adopt-styles.js +1 -1
  358. package/utils/apply-optional-styles.cjs +6548 -0
  359. package/utils/apply-optional-styles.d.cts +47 -0
  360. package/utils/apply-optional-styles.d.ts +47 -0
  361. package/utils/apply-optional-styles.js +6548 -0
  362. package/utils/browser-preferences.cjs +1 -1
  363. package/utils/browser-preferences.d.cts +1 -1
  364. package/utils/browser-preferences.d.ts +1 -1
  365. package/utils/browser-preferences.js +1 -1
  366. package/utils/classify-media.cjs +1 -1
  367. package/utils/classify-media.d.cts +1 -1
  368. package/utils/classify-media.d.ts +1 -1
  369. package/utils/classify-media.js +1 -1
  370. package/utils/decorators.cjs +1 -1
  371. package/utils/decorators.d.cts +1 -1
  372. package/utils/decorators.d.ts +1 -1
  373. package/utils/decorators.js +1 -1
  374. package/utils/detected-lang.cjs +1 -1
  375. package/utils/detected-lang.d.cts +1 -1
  376. package/utils/detected-lang.d.ts +1 -1
  377. package/utils/detected-lang.js +1 -1
  378. package/utils/fullscreen.cjs +1 -1
  379. package/utils/fullscreen.d.cts +1 -1
  380. package/utils/fullscreen.d.ts +1 -1
  381. package/utils/fullscreen.js +1 -1
  382. package/utils/insert-script.cjs +1 -1
  383. package/utils/insert-script.d.cts +1 -1
  384. package/utils/insert-script.d.ts +1 -1
  385. package/utils/insert-script.js +1 -1
  386. package/utils/is-map-compatible.cjs +1 -1
  387. package/utils/is-map-compatible.d.cts +1 -1
  388. package/utils/is-map-compatible.d.ts +1 -1
  389. package/utils/is-map-compatible.js +1 -1
  390. package/utils/markdown.cjs +1 -1
  391. package/utils/markdown.d.cts +1 -1
  392. package/utils/markdown.d.ts +1 -1
  393. package/utils/markdown.js +1 -1
  394. package/utils/merge.cjs +1 -1
  395. package/utils/merge.d.cts +1 -1
  396. package/utils/merge.d.ts +1 -1
  397. package/utils/merge.js +1 -1
  398. package/utils/multiband-track-volume.cjs +1 -1
  399. package/utils/multiband-track-volume.d.cts +1 -1
  400. package/utils/multiband-track-volume.d.ts +1 -1
  401. package/utils/multiband-track-volume.js +1 -1
  402. package/utils/onlive-url-params.cjs +1 -1
  403. package/utils/onlive-url-params.d.cts +1 -1
  404. package/utils/onlive-url-params.d.ts +1 -1
  405. package/utils/onlive-url-params.js +1 -1
  406. package/utils/pretty-distance.cjs +1 -1
  407. package/utils/pretty-distance.d.cts +1 -1
  408. package/utils/pretty-distance.d.ts +1 -1
  409. package/utils/pretty-distance.js +1 -1
  410. package/utils/pretty-time.cjs +1 -1
  411. package/utils/pretty-time.d.cts +1 -1
  412. package/utils/pretty-time.d.ts +1 -1
  413. package/utils/pretty-time.js +1 -1
  414. package/utils/random-string.cjs +1 -1
  415. package/utils/random-string.d.cts +1 -1
  416. package/utils/random-string.d.ts +1 -1
  417. package/utils/random-string.js +1 -1
  418. package/utils/resource-type.cjs +1 -1
  419. package/utils/resource-type.d.cts +1 -1
  420. package/utils/resource-type.d.ts +1 -1
  421. package/utils/resource-type.js +1 -1
  422. package/utils/round-number.cjs +1 -1
  423. package/utils/round-number.d.cts +1 -1
  424. package/utils/round-number.d.ts +1 -1
  425. package/utils/round-number.js +1 -1
  426. package/utils/safe-html.cjs +2 -2
  427. package/utils/safe-html.d.cts +9 -2
  428. package/utils/safe-html.d.ts +9 -2
  429. package/utils/safe-html.js +2 -2
  430. package/utils/sanitize.cjs +1 -1
  431. package/utils/sanitize.d.cts +1 -1
  432. package/utils/sanitize.d.ts +1 -1
  433. package/utils/sanitize.js +1 -1
  434. package/utils/spread.cjs +1 -1
  435. package/utils/spread.d.cts +1 -1
  436. package/utils/spread.d.ts +1 -1
  437. package/utils/spread.js +1 -1
  438. package/utils/watch.cjs +1 -1
  439. package/utils/watch.d.cts +1 -1
  440. package/utils/watch.d.ts +1 -1
  441. package/utils/watch.js +1 -1
  442. package/react/components/asset/Asset.d.cts +0 -33
  443. package/react/components/asset/Asset.d.ts +0 -33
  444. package/react/components/side-bar/SideBar.d.cts +0 -37
  445. package/react/components/side-bar/SideBar.d.ts +0 -37
  446. package/react/components/upload/Upload.d.cts +0 -23
  447. package/react/components/upload/Upload.d.ts +0 -23
@@ -0,0 +1,11 @@
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ import * as lit from 'lit';
3
+
4
+ declare const styles: lit.CSSResult;
5
+
6
+ declare const _onlive_ai_common_121_themes_custom_audi_dark_theme_js_styles: typeof styles;
7
+ declare namespace _onlive_ai_common_121_themes_custom_audi_dark_theme_js {
8
+ export { _onlive_ai_common_121_themes_custom_audi_dark_theme_js_styles as styles };
9
+ }
10
+
11
+ export { _onlive_ai_common_121_themes_custom_audi_dark_theme_js as _, styles as s };
@@ -0,0 +1,11 @@
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ import * as lit from 'lit';
3
+
4
+ declare const styles: lit.CSSResult;
5
+
6
+ declare const _onlive_ai_common_121_themes_custom_audi_dark_theme_js_styles: typeof styles;
7
+ declare namespace _onlive_ai_common_121_themes_custom_audi_dark_theme_js {
8
+ export { _onlive_ai_common_121_themes_custom_audi_dark_theme_js_styles as styles };
9
+ }
10
+
11
+ export { _onlive_ai_common_121_themes_custom_audi_dark_theme_js as _, styles as s };
@@ -0,0 +1,11 @@
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ import * as lit from 'lit';
3
+
4
+ declare const styles: lit.CSSResult;
5
+
6
+ declare const _onlive_ai_common_121_themes_custom_audi_theme_js_styles: typeof styles;
7
+ declare namespace _onlive_ai_common_121_themes_custom_audi_theme_js {
8
+ export { _onlive_ai_common_121_themes_custom_audi_theme_js_styles as styles };
9
+ }
10
+
11
+ export { _onlive_ai_common_121_themes_custom_audi_theme_js as _, styles as s };
@@ -0,0 +1,11 @@
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ import * as lit from 'lit';
3
+
4
+ declare const styles: lit.CSSResult;
5
+
6
+ declare const _onlive_ai_common_121_themes_custom_audi_theme_js_styles: typeof styles;
7
+ declare namespace _onlive_ai_common_121_themes_custom_audi_theme_js {
8
+ export { _onlive_ai_common_121_themes_custom_audi_theme_js_styles as styles };
9
+ }
10
+
11
+ export { _onlive_ai_common_121_themes_custom_audi_theme_js as _, styles as s };
@@ -0,0 +1,11 @@
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ import * as lit from 'lit';
3
+
4
+ declare const styles: lit.CSSResult;
5
+
6
+ declare const _onlive_ai_common_121_themes_custom_australia_theme_js_styles: typeof styles;
7
+ declare namespace _onlive_ai_common_121_themes_custom_australia_theme_js {
8
+ export { _onlive_ai_common_121_themes_custom_australia_theme_js_styles as styles };
9
+ }
10
+
11
+ export { _onlive_ai_common_121_themes_custom_australia_theme_js as _, styles as s };
@@ -0,0 +1,11 @@
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ import * as lit from 'lit';
3
+
4
+ declare const styles: lit.CSSResult;
5
+
6
+ declare const _onlive_ai_common_121_themes_custom_australia_theme_js_styles: typeof styles;
7
+ declare namespace _onlive_ai_common_121_themes_custom_australia_theme_js {
8
+ export { _onlive_ai_common_121_themes_custom_australia_theme_js_styles as styles };
9
+ }
10
+
11
+ export { _onlive_ai_common_121_themes_custom_australia_theme_js as _, styles as s };
@@ -0,0 +1,2 @@
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ var w=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var I=(s,a,t,i)=>{for(var n=i>1?void 0:i?x(a,t):a,d=s.length-1,l;d>=0;d--)(l=s[d])&&(n=(i?l(a,t,n):l(n))||n);return i&&n&&w(a,t,n),n};function A(s={}){let{width:a=640,height:t=480,fps:i=30,backgroundColor:n="#1a1a2e",foregroundColor:d="#4361ee",label:l="Mock Video",animation:S="wave"}=s,r=document.createElement("canvas");r.width=a,r.height=t;let e=r.getContext("2d"),m,h=Date.now(),v={wave:u=>{e.fillStyle=n,e.fillRect(0,0,a,t),e.strokeStyle=d,e.lineWidth=3,e.beginPath();for(let o=0;o<a;o++){let c=t/2+Math.sin(o/a*4*Math.PI+u*.002)*(t/4);o===0?e.moveTo(o,c):e.lineTo(o,c)}e.stroke()},pulse:u=>{e.fillStyle=n,e.fillRect(0,0,a,t);let o=Math.sin(u*.003)*.3+.7,c=Math.min(a,t)*.3*o;e.beginPath(),e.arc(a/2,t/2,c,0,Math.PI*2),e.fillStyle=d,e.fill()},bars:u=>{e.fillStyle=n,e.fillRect(0,0,a,t);let o=20,c=a/o,f=t*.7;e.fillStyle=d;for(let g=0;g<o;g++){let k=Math.abs(Math.sin(g/o*Math.PI*2+u*.004))*f,T=g*c,C=t-k;e.fillRect(T+2,C,c-4,k)}},avatar:u=>{e.fillStyle=n,e.fillRect(0,0,a,t);let o=a/2,c=t/2-20,f=Math.min(a,t)*.15;e.beginPath(),e.arc(o,c,f,0,Math.PI*2),e.fillStyle=d,e.fill(),e.beginPath(),e.ellipse(o,c+f*2.2,f*1.5,f,0,Math.PI,0),e.fill(),Math.sin(u*.01)>0&&(e.beginPath(),e.arc(o,c+f*3,5+Math.sin(u*.02)*3,0,Math.PI*2),e.fillStyle="#22c55e",e.fill())},none:()=>{e.fillStyle=n,e.fillRect(0,0,a,t)}},y=()=>{e.fillStyle="rgba(255, 255, 255, 0.8)",e.font=`${Math.floor(t*.04)}px system-ui, sans-serif`,e.textAlign="center",e.fillText(l,a/2,t-20)},b=()=>{let u=Date.now()-h;v[S](u),y(),m=requestAnimationFrame(b)};b();let p=r.captureStream(i),M=p.getVideoTracks()[0];return{track:M,stream:p,cleanup:()=>{cancelAnimationFrame(m),M.stop()}}}function E(s={}){let{frequency:a=440,volume:t=.1,waveType:i="sine",addVariation:n=!0,enabled:d=!1}=s,l=new AudioContext,S=l.createMediaStreamDestination(),r=l.createOscillator();r.type=i,r.frequency.value=a;let e=l.createGain();e.gain.value=d?t:0;let m=null,h=null;n&&(m=l.createOscillator(),m.frequency.value=.5,h=l.createGain(),h.gain.value=10,m.connect(h),h.connect(r.frequency),m.start()),r.connect(e),e.connect(S),r.start();let v=S.stream,y=v.getAudioTracks()[0];return{track:y,stream:v,setVolume:b=>{e.gain.value=Math.max(0,Math.min(1,b))},setEnabled:b=>{e.gain.value=b?t:0},cleanup:()=>{r.stop(),m?.stop(),l.close(),y.stop()}}}function P(s,a){let t=A(s),i=E(a),n=new MediaStream([t.track,i.track]);return{videoTrack:t.track,audioTrack:i.track,combinedStream:n,setAudioVolume:i.setVolume,setAudioEnabled:i.setEnabled,cleanup:()=>{t.cleanup(),i.cleanup()}}}var V={localCamera:{video:{width:640,height:480,animation:"avatar",label:"You",foregroundColor:"#4361ee"},audio:{enabled:!1}},agentCamera:{video:{width:640,height:480,animation:"avatar",label:"AI Agent",foregroundColor:"#22c55e",backgroundColor:"#0f172a"},audio:{enabled:!1,frequency:300}},screenShare:{video:{width:1920,height:1080,animation:"bars",label:"Screen Share",backgroundColor:"#0a0a0a",foregroundColor:"#f59e0b"},audio:{enabled:!1}},voiceOnly:{video:{width:320,height:240,animation:"wave",label:"Voice Call"},audio:{enabled:!1,volume:.05}}};function q(s){let a=V[s];return P(a.video,a.audio)}export{I as a,A as b,E as c,P as d,V as e,q as f};
@@ -1,4 +1,4 @@
1
- /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
2
  "use strict";var f=Object.create;var r=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var $=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var b=(t,a)=>{for(var e in a)r(t,e,{get:a[e],enumerable:!0})},v=(t,a,e,l)=>{if(a&&typeof a=="object"||typeof a=="function")for(let o of y(a))!w.call(t,o)&&o!==e&&r(t,o,{get:()=>a[o],enumerable:!(l=x(a,o))||l.enumerable});return t};var m=(t,a,e)=>(e=t!=null?f($(t)):{},v(a||!t||!t.__esModule?r(e,"default",{value:t,enumerable:!0}):e,t)),z=t=>v(r({},"__esModule",{value:!0}),t);var M={};b(M,{AssetModalPortal:()=>p});module.exports=z(M);var p=class{constructor(a,e){this.asset=a,this.onClose=e}getMultimediaSubtype(a){let e=a.format||"";return e.startsWith("video/")?"video":e.startsWith("image/")?"image":e.includes("presentation")||e.includes("pdf")||e.includes("powerpoint")||e.includes("slides")||e.includes("application/vnd.ms-powerpoint")||e.includes("application/vnd.openxmlformats-officedocument.presentationml")||a.slides&&a.slides.length>0?"presentation":a.duration||a.vodUrl?"video":"image"}formatDuration(a){let e=Math.floor(a/60),l=Math.floor(a%60);return`${e}:${l.toString().padStart(2,"0")}`}async open(){await import("@onlive.ai/ui/dist/components/dialog/dialog.js"),await import("@onlive.ai/ui/dist/components/icon-button/icon-button.js"),await import("@onlive.ai/ui/dist/components/button/button.js"),await import("@onlive.ai/ui/dist/components/icon/icon.js");let a=this.asset;this.getMultimediaSubtype(a)==="presentation"&&(a.slides?.length??0)>0&&await Promise.all([import("@onlive.ai/ui/dist/components/carousel/carousel.js"),import("@onlive.ai/ui/dist/components/carousel-item/carousel-item.js")]),this.injectStyles(),this.createDialog(),this.dialog?.show()}close(){this.dialog?.hide(),setTimeout(()=>{this.removeDialog()},300)}createDialog(){if(this.dialog||!this.asset)return;let a=this.createDialogHTML(),e=document.createElement("div");e.innerHTML=a,this.dialog=e.firstElementChild,this.dialog&&(document.body.appendChild(this.dialog),this.attachEventListeners())}removeDialog(){this.dialog&&(this.dialog.parentNode&&this.dialog.parentNode.removeChild(this.dialog),this.dialog=void 0)}injectStyles(){if(document.getElementById("asset-modal-styles"))return;let a=document.createElement("style");a.id="asset-modal-styles",a.textContent=this.getModalStyles(),document.head.appendChild(a)}getModalStyles(){return`
3
3
 
4
4
  ol-dialog::part(base){
@@ -1,4 +1,4 @@
1
- /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
2
  import { IAsset } from './asset.types.cjs';
3
3
 
4
4
  declare class AssetModalPortal {
@@ -1,4 +1,4 @@
1
- /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
2
  import { IAsset } from './asset.types.js';
3
3
 
4
4
  declare class AssetModalPortal {
@@ -1,4 +1,4 @@
1
- /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
2
  var c=class{constructor(e,a){this.asset=e,this.onClose=a}getMultimediaSubtype(e){let a=e.format||"";return a.startsWith("video/")?"video":a.startsWith("image/")?"image":a.includes("presentation")||a.includes("pdf")||a.includes("powerpoint")||a.includes("slides")||a.includes("application/vnd.ms-powerpoint")||a.includes("application/vnd.openxmlformats-officedocument.presentationml")||e.slides&&e.slides.length>0?"presentation":e.duration||e.vodUrl?"video":"image"}formatDuration(e){let a=Math.floor(e/60),l=Math.floor(e%60);return`${a}:${l.toString().padStart(2,"0")}`}async open(){await import("@onlive.ai/ui/dist/components/dialog/dialog.js"),await import("@onlive.ai/ui/dist/components/icon-button/icon-button.js"),await import("@onlive.ai/ui/dist/components/button/button.js"),await import("@onlive.ai/ui/dist/components/icon/icon.js");let e=this.asset;this.getMultimediaSubtype(e)==="presentation"&&(e.slides?.length??0)>0&&await Promise.all([import("@onlive.ai/ui/dist/components/carousel/carousel.js"),import("@onlive.ai/ui/dist/components/carousel-item/carousel-item.js")]),this.injectStyles(),this.createDialog(),this.dialog?.show()}close(){this.dialog?.hide(),setTimeout(()=>{this.removeDialog()},300)}createDialog(){if(this.dialog||!this.asset)return;let e=this.createDialogHTML(),a=document.createElement("div");a.innerHTML=e,this.dialog=a.firstElementChild,this.dialog&&(document.body.appendChild(this.dialog),this.attachEventListeners())}removeDialog(){this.dialog&&(this.dialog.parentNode&&this.dialog.parentNode.removeChild(this.dialog),this.dialog=void 0)}injectStyles(){if(document.getElementById("asset-modal-styles"))return;let e=document.createElement("style");e.id="asset-modal-styles",e.textContent=this.getModalStyles(),document.head.appendChild(e)}getModalStyles(){return`
3
3
 
4
4
  ol-dialog::part(base){
@@ -1,5 +1,5 @@
1
- /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
2
- "use strict";var K=Object.create;var w=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var X=Object.getOwnPropertyNames;var W=Object.getPrototypeOf,Z=Object.prototype.hasOwnProperty;var ee=(i,e)=>{for(var t in e)w(i,t,{get:e[t],enumerable:!0})},$=(i,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of X(e))!Z.call(i,s)&&s!==t&&w(i,s,{get:()=>e[s],enumerable:!(o=I(e,s))||o.enumerable});return i};var u=(i,e,t)=>(t=i!=null?K(W(i)):{},$(e||!i||!i.__esModule?w(t,"default",{value:i,enumerable:!0}):t,i)),te=i=>$(w({},"__esModule",{value:!0}),i),c=(i,e,t,o)=>{for(var s=o>1?void 0:o?I(e,t):e,l=i.length-1,a;l>=0;l--)(a=i[l])&&(s=(o?a(e,t,s):a(s))||s);return o&&s&&w(e,t,s),s};var ne={};ee(ne,{OSBAsset:()=>v});module.exports=te(ne);var g=require("lit"),p=require("lit/decorators.js"),G=require("lit/directives/class-map.js");var oe=(i,e)=>(customElements.get(i)?console.debug(`Custom element <${i}> is already defined, skipping definition of ${e.name}.`):window.customElements.define(i,e),e),se=(i,e)=>{let{kind:t,elements:o}=e;return{kind:t,elements:o,finisher(s){customElements.get(i)||window.customElements.define(i,s)}}},A=i=>e=>typeof e=="function"?oe(i,e):se(i,e);var k=class i{constructor(e){this.config=e}static initialize(e){return new i(e)}getBaseUrl(){return`${this.config.baseUrl}`}getHeaders(){return{"Content-Type":"application/json"}}async makeRequest(e,t={}){let o=`${this.getBaseUrl()}${e}`,s=await fetch(o,{...t,headers:{...this.getHeaders(),...t.headers}});if(!s.ok)throw new Error(`FAQs API error: ${s.status} ${s.statusText}`);return s.json()}async getSettingsByOrganization(e,t){try{let o=new URLSearchParams;t&&o.append("userGroupId",t);let s=o.toString(),l=`${this.getBaseUrl()}/settings/organization/${e}${s?`?${s}`:""}`,a=await fetch(l,{method:"GET",headers:this.getHeaders(),credentials:"include"});if(a.status===404)return null;if(!a.ok)throw new Error(`Failed to fetch settings: ${a.statusText}`);return await a.json()}catch(o){return console.error("Error fetching settings:",o),null}}async getFaqs(e={}){let t=new URLSearchParams;if(e.search&&t.append("search",e.search),e.organizationId&&t.append("organizationId",e.organizationId),e.groupId&&t.append("groupId",e.groupId),e.isActive!==void 0&&t.append("isActive",e.isActive.toString()),e.page&&t.append("page",e.page.toString()),e.limit&&t.append("limit",e.limit.toString()),e.sortBy&&t.append("sortBy",e.sortBy),e.sortOrder&&t.append("sortOrder",e.sortOrder),e.extraFilters){for(let[l,a]of Object.entries(e.extraFilters))if(a&&(Array.isArray(a)?a.length>0:a.toString().trim()!=="")){let d=Array.isArray(a)?a.join(","):a.toString();t.append(`extra_${l}`,d)}}let o=t.toString(),s=`/faqs${o?`?${o}`:""}`;return this.makeRequest(s)}async getFaqById(e){return this.makeRequest(`/faqs/${e}`,{})}};var b=async(i,e)=>{let t=await fetch(i,e);if(!t.ok){let o=await t.json().catch(()=>({}));throw new Error(JSON.stringify({status:t.status,statusText:t.statusText,...o}))}return t&&t.json()};var S=class i{constructor(e){this.config=e,this.enableUpload=e.enableUpload||!1}static getInstance(e){if(!i.instance&&e&&(i.instance=new i(e)),!i.instance)throw new Error("FileService must be initialized with config first");return i.instance}static initialize(e){return i.instance=new i(e),i.instance}async uploadFile(e,t={}){try{let o=await this.requestSignedUrl({filename:e.name,description:t.description,loadDirection:"up",bucketType:t.bucketType||"conversations",path:t.path||".temp",mimeType:e.type});return await this.uploadToSignedUrl(o.data.signedUrlData.signedUrl,e),{success:!0,id:o.data.file.id,name:o.data.file.name,url:o.data.file.url,type:o.data.file.type}}catch(o){return console.error("Error uploading file:",o),{success:!1,error:o instanceof Error?o.message:"Unknown error"}}}async requestSignedUrl(e){let t=`${this.config.baseUrl}/files/upload-url`;return this.makeRequest(t,{method:"POST",body:JSON.stringify(e)})}async uploadToSignedUrl(e,t){let o=await fetch(e,{method:"PUT",body:t,headers:{"Content-Type":t.type}});if(!o.ok){let s=await o.text().catch(()=>"No response");throw new Error(`Upload failed with status: ${o.status}. Response: ${s}`)}}async uploadFileWithRetry(e,t={}){let o=t.maxRetries||3,s=null;for(let l=1;l<=o;l++)try{let a=await this.uploadFile(e,t);if(a.success)return a;throw new Error(a.error||"Upload failed")}catch(a){if(s=a instanceof Error?a:new Error("Unknown error"),l===o)break;let d=2**l*1e3;await new Promise(r=>setTimeout(r,d))}return{success:!1,error:s?.message||"Upload failed after retries"}}async getFileById(e){let t=`${this.config.baseUrl}/files/${e}`,o=await this.makeRequest(t);if(!o.success)throw new Error("Failed to get file");return o.data}async makeRequest(e,t){let o={"Content-Type":"application/json"};return this.config.organizationId&&(o["X-Onlive-Organization-Id"]=this.config.organizationId),t?.headers&&Object.assign(o,t.headers),b(e,{...t,headers:o})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var z=class i{constructor(e){this.config=e}static getInstance(e){if(!i.instance&&e&&(i.instance=new i(e)),!i.instance)throw new Error("MultimediaService must be initialized with config first");return i.instance}static initialize(e){return i.instance=new i(e),i.instance}async getImages(e={}){let t=new URLSearchParams({type:"image",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let o=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(o)}async getVideos(e={}){let t=new URLSearchParams({type:"video",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let o=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(o)}async getPresentations(e={}){let t=new URLSearchParams({type:"presentation",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let o=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(o)}async getAllMultimedia(e={}){let[t,o,s]=await Promise.all([this.getImages(e),this.getVideos(e),this.getPresentations(e)]);return{images:t,videos:o,presentations:s}}async getMultimediaByToken(e){let t=`${this.config.baseUrl}/multimedia/secure-token/${e}`;return this.makeRequest(t,!1)}async searchMultimedia(e,t){let o={search:e,page:1,limit:50,includeSecureToken:!0};if(t)return this.getMultimediaByType(t,o);let[s,l,a]=await Promise.all([this.getImages(o),this.getVideos(o),this.getPresentations(o)]),d=[...s.items,...l.items,...a.items];return{items:d,total:d.length,count:d.length,currentPage:1,totalPages:1}}async getMultimediaByType(e,t){switch(e){case"image":return this.getImages(t);case"video":return this.getVideos(t);case"presentation":return this.getPresentations(t);default:throw new Error(`Invalid multimedia type: ${e}`)}}appendExtraFilters(e,t){if(t){for(let[o,s]of Object.entries(t))if(s&&(Array.isArray(s)?s.length>0:s.toString().trim()!=="")){let l=Array.isArray(s)?s.join(","):s.toString();e.append(`extra_${o}`,l)}}}async makeRequest(e,t=!0){let o={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return b(e,{method:"GET",headers:o,credentials:t?"include":void 0})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var x=class i{constructor(e){this.config=e}static getInstance(e){if(!i.instance&&e&&(i.instance=new i(e)),!i.instance)throw new Error("ProductService must be initialized with config first");return i.instance}static initialize(e){return i.instance=new i(e),i.instance}async getProducts(e={}){let t=new URLSearchParams({...e.title&&{title:e.title},...e.search&&{search:e.search},...e.category&&{category:e.category},...e.tags&&{tags:e.tags.join(",")},...e.sortBy&&{sortBy:e.sortBy},...e.sortOrder&&{sortOrder:e.sortOrder},...e.minPrice&&{minPrice:e.minPrice.toString()},...e.maxPrice&&{maxPrice:e.maxPrice.toString()},...e.inStock!==void 0&&{inStock:e.inStock.toString()},...e.offset&&{offset:e.offset.toString()},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});e.extraFields&&Object.keys(e.extraFields).length>0&&t.append("extraFields",JSON.stringify(e.extraFields));let o=`${this.config.baseUrl}/products?${t}`;return this.makeRequest(o,!0)}async getProductByToken(e){let t=`${this.config.baseUrl}/products/secure-token/${e}`;return this.makeRequest(t)}async searchProducts(e,t={}){return this.getProducts({...t,search:e})}async makeRequest(e,t=!1){let o={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return b(e,{method:"GET",headers:o,credentials:t?"include":"same-origin"})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var P=class{constructor(e){e?.multimediaService&&(this.multimediaService=z.initialize(e.multimediaService)),e?.faqsService&&(this.faqsService=k.initialize(e.faqsService)),e?.productService&&(this.productService=x.initialize(e.productService)),e?.fileService&&(this.fileService=S.initialize(e.fileService))}async loadAsset(e,t){switch(e){case"multimedia":return this.loadMultimediaAsset(t);case"product":return this.loadProductAsset(t);case"faq":return this.loadFaqAsset(t);case"file":return this.loadFileAsset(t);default:throw new Error(`Unsupported asset type: ${e}`)}}async loadMultimediaAsset(e){if(!this.multimediaService)throw new Error("MultimediaService not configured");let t=await this.multimediaService.getMultimediaByToken(e);if(!t)throw new Error("Multimedia not found");return{id:t.id,name:t.name,description:t.description||"",url:t.url,thumbnail:t.animatedCoverUrl||t.url,type:"multimedia",externalId:t.id,format:t.format,size:t.size||void 0,duration:t.duration||void 0,vodUrl:t.vodUrl||void 0,slides:t.slides||[],labels:t.labels,animatedCoverUrl:t.animatedCoverUrl||void 0,metadata:{organizationId:t.organizationId,status:t.status,createdAt:t.createdAt,updatedAt:t.updatedAt}}}async loadProductAsset(e){if(!this.productService)throw new Error("MultimediaService not configured");let t=await this.productService.getProductByToken(e);if(!t)throw new Error("Product not found");return{id:t.id,name:t.name,description:t.description,url:t.url,thumbnail:t.images?.[0],type:"product",externalId:t.externalId,price:t.price,currency:t.currency,category:t.category,tags:t.tags,images:t.images,variants:t.variants?.map(o=>({id:o.id,externalId:o.externalId,price:o.price,currency:o.currency,images:o.images})),options:t.options,metadata:{providerType:t.providerType,providerId:t.providerId,discountType:t.discountType,discount:t.discount,stock:t.stock,broken:t.broken}}}async loadFaqAsset(e){if(!this.faqsService)throw new Error("FaqsService not configured");let t=await this.faqsService.getFaqById(e);return{id:t.id,name:t.question,description:t.answer,url:`#faq-${t.id}`,type:"faq",externalId:t.id,question:t.question,answer:t.answer,priority:t.priority,isActive:t.isActive,metadata:{organizationId:t.organizationId,createdAt:t.createdAt,updatedAt:t.updatedAt}}}async loadFileAsset(e){if(!this.fileService)throw new Error("FileService not configured");let t=await this.fileService.getFileById(e),o=t.type||"",s=o.startsWith("video/"),l=o.startsWith("image/");return{id:t.id,name:t.name,description:t.description||"",url:t.url,thumbnail:l?t.url:void 0,type:"file",externalId:t.id,format:o,size:t.metadata?.size,duration:void 0,vodUrl:s?t.url:void 0,labels:[],animatedCoverUrl:s?t.url:void 0,metadata:{path:t.metadata?.path,bucketType:t.metadata?.bucketType,loadDirection:t.metadata?.loadDirection,createdAt:t.createdAt,updatedAt:t.updatedAt}}}};var n=require("lit"),J=require("lit/directives/class-map.js"),y=require("lit/directives/if-defined.js"),f=require("lit/directives/when.js");var L=require("lit/directives/unsafe-html.js");var E=u(require("dompurify"),1),ie={ALLOWED_TAGS:["p","br","span","b","strong","i","em","u","s","del","ul","ol","li","code","pre","a","h1","h2","h3","h4","table","thead","tbody","tr","th","td"],ALLOWED_ATTR:["href","target","rel","title","aria-label","role","colspan","rowspan"],FORCE_HTTPS:!0,ALLOW_DATA_ATTR:!1};E.default.addHook("afterSanitizeAttributes",i=>{"target"in i&&i.target==="_blank"&&i.setAttribute("rel","noopener noreferrer")});var U=(i,e=ie)=>E.default.sanitize(i,e);function V(i=""){return(0,L.unsafeHTML)(U(i,{ADD_ATTR:["target","rel"],ADD_TAGS:["ol-"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:/^ol-/,attributeNameCheck:null,allowCustomizedBuiltInElements:!0}}))}var Me=require("@onlive.ai/ui/dist/components/button/button.js"),Te=require("@onlive.ai/ui/dist/components/icon/icon.js"),_=require("lit"),T=require("lit/decorators.js"),Y=require("lit/directives/repeat.js"),H=u(require("video.js"),1);var M=require("lit"),D=u(require("video.js/dist/video-js.min.css?inline"),1),B=M.css`
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ "use strict";var K=Object.create;var w=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var X=Object.getOwnPropertyNames;var W=Object.getPrototypeOf,Z=Object.prototype.hasOwnProperty;var ee=(i,e)=>{for(var t in e)w(i,t,{get:e[t],enumerable:!0})},$=(i,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of X(e))!Z.call(i,s)&&s!==t&&w(i,s,{get:()=>e[s],enumerable:!(o=I(e,s))||o.enumerable});return i};var u=(i,e,t)=>(t=i!=null?K(W(i)):{},$(e||!i||!i.__esModule?w(t,"default",{value:i,enumerable:!0}):t,i)),te=i=>$(w({},"__esModule",{value:!0}),i),c=(i,e,t,o)=>{for(var s=o>1?void 0:o?I(e,t):e,l=i.length-1,a;l>=0;l--)(a=i[l])&&(s=(o?a(e,t,s):a(s))||s);return o&&s&&w(e,t,s),s};var ae={};ee(ae,{OSBAsset:()=>v});module.exports=te(ae);var g=require("lit"),p=require("lit/decorators.js"),G=require("lit/directives/class-map.js");var oe=(i,e)=>(customElements.get(i)?console.debug(`Custom element <${i}> is already defined, skipping definition of ${e.name}.`):window.customElements.define(i,e),e),se=(i,e)=>{let{kind:t,elements:o}=e;return{kind:t,elements:o,finisher(s){customElements.get(i)||window.customElements.define(i,s)}}},A=i=>e=>typeof e=="function"?oe(i,e):se(i,e);var k=class i{constructor(e){this.config=e}static initialize(e){return new i(e)}getBaseUrl(){return`${this.config.baseUrl}`}getHeaders(){return{"Content-Type":"application/json"}}async makeRequest(e,t={}){let o=`${this.getBaseUrl()}${e}`,s=await fetch(o,{...t,headers:{...this.getHeaders(),...t.headers}});if(!s.ok)throw new Error(`FAQs API error: ${s.status} ${s.statusText}`);return s.json()}async getSettingsByOrganization(e,t){try{let o=new URLSearchParams;t&&o.append("userGroupId",t);let s=o.toString(),l=`${this.getBaseUrl()}/settings/organization/${e}${s?`?${s}`:""}`,a=await fetch(l,{method:"GET",headers:this.getHeaders(),credentials:"include"});if(a.status===404)return null;if(!a.ok)throw new Error(`Failed to fetch settings: ${a.statusText}`);return await a.json()}catch(o){return console.error("Error fetching settings:",o),null}}async getFaqs(e={}){let t=new URLSearchParams;if(e.search&&t.append("search",e.search),e.organizationId&&t.append("organizationId",e.organizationId),e.groupId&&t.append("groupId",e.groupId),e.isActive!==void 0&&t.append("isActive",e.isActive.toString()),e.page&&t.append("page",e.page.toString()),e.limit&&t.append("limit",e.limit.toString()),e.sortBy&&t.append("sortBy",e.sortBy),e.sortOrder&&t.append("sortOrder",e.sortOrder),e.extraFilters){for(let[l,a]of Object.entries(e.extraFilters))if(a&&(Array.isArray(a)?a.length>0:a.toString().trim()!=="")){let d=Array.isArray(a)?a.join(","):a.toString();t.append(`extra_${l}`,d)}}let o=t.toString(),s=`/faqs${o?`?${o}`:""}`;return this.makeRequest(s)}async getFaqById(e){return this.makeRequest(`/faqs/${e}`,{})}};var b=async(i,e)=>{let t=await fetch(i,e);if(!t.ok){let o=await t.json().catch(()=>({}));throw new Error(JSON.stringify({status:t.status,statusText:t.statusText,...o}))}return t&&t.json()};var S=class i{constructor(e){this.config=e,this.enableUpload=e.enableUpload||!1}static getInstance(e){if(!i.instance&&e&&(i.instance=new i(e)),!i.instance)throw new Error("FileService must be initialized with config first");return i.instance}static initialize(e){return i.instance=new i(e),i.instance}async uploadFile(e,t={}){try{let o=await this.requestSignedUrl({filename:e.name,description:t.description,loadDirection:"up",bucketType:t.bucketType||"conversations",path:t.path||".temp",mimeType:e.type});return await this.uploadToSignedUrl(o.data.signedUrlData.signedUrl,e),{success:!0,id:o.data.file.id,name:o.data.file.name,url:o.data.file.url,type:o.data.file.type}}catch(o){return console.error("Error uploading file:",o),{success:!1,error:o instanceof Error?o.message:"Unknown error"}}}async requestSignedUrl(e){let t=`${this.config.baseUrl}/files/upload-url`;return this.makeRequest(t,{method:"POST",body:JSON.stringify(e)})}async uploadToSignedUrl(e,t){let o=await fetch(e,{method:"PUT",body:t,headers:{"Content-Type":t.type}});if(!o.ok){let s=await o.text().catch(()=>"No response");throw new Error(`Upload failed with status: ${o.status}. Response: ${s}`)}}async uploadFileWithRetry(e,t={}){let o=t.maxRetries||3,s=null;for(let l=1;l<=o;l++)try{let a=await this.uploadFile(e,t);if(a.success)return a;throw new Error(a.error||"Upload failed")}catch(a){if(s=a instanceof Error?a:new Error("Unknown error"),l===o)break;let d=2**l*1e3;await new Promise(r=>setTimeout(r,d))}return{success:!1,error:s?.message||"Upload failed after retries"}}async getFileById(e){let t=`${this.config.baseUrl}/files/${e}`,o=await this.makeRequest(t);if(!o.success)throw new Error("Failed to get file");return o.data}async makeRequest(e,t){let o={"Content-Type":"application/json"};return this.config.organizationId&&(o["X-Onlive-Organization-Id"]=this.config.organizationId),t?.headers&&Object.assign(o,t.headers),b(e,{...t,headers:o})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var z=class i{constructor(e){this.config=e}static getInstance(e){if(!i.instance&&e&&(i.instance=new i(e)),!i.instance)throw new Error("MultimediaService must be initialized with config first");return i.instance}static initialize(e){return i.instance=new i(e),i.instance}async getImages(e={}){let t=new URLSearchParams({type:"image",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let o=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(o)}async getVideos(e={}){let t=new URLSearchParams({type:"video",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let o=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(o)}async getPresentations(e={}){let t=new URLSearchParams({type:"presentation",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let o=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(o)}async getAllMultimedia(e={}){let[t,o,s]=await Promise.all([this.getImages(e),this.getVideos(e),this.getPresentations(e)]);return{images:t,videos:o,presentations:s}}async getMultimediaByToken(e){let t=`${this.config.baseUrl}/multimedia/secure-token/${e}`;return this.makeRequest(t,!1)}async searchMultimedia(e,t){let o={search:e,page:1,limit:50,includeSecureToken:!0};if(t)return this.getMultimediaByType(t,o);let[s,l,a]=await Promise.all([this.getImages(o),this.getVideos(o),this.getPresentations(o)]),d=[...s.items,...l.items,...a.items];return{items:d,total:d.length,count:d.length,currentPage:1,totalPages:1}}async getMultimediaByType(e,t){switch(e){case"image":return this.getImages(t);case"video":return this.getVideos(t);case"presentation":return this.getPresentations(t);default:throw new Error(`Invalid multimedia type: ${e}`)}}appendExtraFilters(e,t){if(t){for(let[o,s]of Object.entries(t))if(s&&(Array.isArray(s)?s.length>0:s.toString().trim()!=="")){let l=Array.isArray(s)?s.join(","):s.toString();e.append(`extra_${o}`,l)}}}async makeRequest(e,t=!0){let o={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return b(e,{method:"GET",headers:o,credentials:t?"include":void 0})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var x=class i{constructor(e){this.config=e}static getInstance(e){if(!i.instance&&e&&(i.instance=new i(e)),!i.instance)throw new Error("ProductService must be initialized with config first");return i.instance}static initialize(e){return i.instance=new i(e),i.instance}async getProducts(e={}){let t=new URLSearchParams({...e.title&&{title:e.title},...e.search&&{search:e.search},...e.category&&{category:e.category},...e.tags&&{tags:e.tags.join(",")},...e.sortBy&&{sortBy:e.sortBy},...e.sortOrder&&{sortOrder:e.sortOrder},...e.minPrice&&{minPrice:e.minPrice.toString()},...e.maxPrice&&{maxPrice:e.maxPrice.toString()},...e.inStock!==void 0&&{inStock:e.inStock.toString()},...e.offset&&{offset:e.offset.toString()},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});e.extraFields&&Object.keys(e.extraFields).length>0&&t.append("extraFields",JSON.stringify(e.extraFields));let o=`${this.config.baseUrl}/products?${t}`;return this.makeRequest(o,!0)}async getProductByToken(e){let t=`${this.config.baseUrl}/products/secure-token/${e}`;return this.makeRequest(t)}async searchProducts(e,t={}){return this.getProducts({...t,search:e})}async makeRequest(e,t=!1){let o={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return b(e,{method:"GET",headers:o,credentials:t?"include":"same-origin"})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var P=class{constructor(e){e?.multimediaService&&(this.multimediaService=z.initialize(e.multimediaService)),e?.faqsService&&(this.faqsService=k.initialize(e.faqsService)),e?.productService&&(this.productService=x.initialize(e.productService)),e?.fileService&&(this.fileService=S.initialize(e.fileService))}async loadAsset(e,t){switch(e){case"multimedia":return this.loadMultimediaAsset(t);case"product":return this.loadProductAsset(t);case"faq":return this.loadFaqAsset(t);case"file":return this.loadFileAsset(t);default:throw new Error(`Unsupported asset type: ${e}`)}}async loadMultimediaAsset(e){if(!this.multimediaService)throw new Error("MultimediaService not configured");let t=await this.multimediaService.getMultimediaByToken(e);if(!t)throw new Error("Multimedia not found");return{id:t.id,name:t.name,description:t.description||"",url:t.url,thumbnail:t.animatedCoverUrl||t.url,type:"multimedia",externalId:t.id,format:t.format,size:t.size||void 0,duration:t.duration||void 0,vodUrl:t.vodUrl||void 0,slides:t.slides||[],labels:t.labels,animatedCoverUrl:t.animatedCoverUrl||void 0,metadata:{organizationId:t.organizationId,status:t.status,createdAt:t.createdAt,updatedAt:t.updatedAt}}}async loadProductAsset(e){if(!this.productService)throw new Error("MultimediaService not configured");let t=await this.productService.getProductByToken(e);if(!t)throw new Error("Product not found");return{id:t.id,name:t.name,description:t.description,url:t.url,thumbnail:t.images?.[0],type:"product",externalId:t.externalId,price:t.price,currency:t.currency,category:t.category,tags:t.tags,images:t.images,variants:t.variants?.map(o=>({id:o.id,externalId:o.externalId,price:o.price,currency:o.currency,images:o.images})),options:t.options,metadata:{providerType:t.providerType,providerId:t.providerId,discountType:t.discountType,discount:t.discount,stock:t.stock,broken:t.broken}}}async loadFaqAsset(e){if(!this.faqsService)throw new Error("FaqsService not configured");let t=await this.faqsService.getFaqById(e);return{id:t.id,name:t.question,description:t.answer,url:`#faq-${t.id}`,type:"faq",externalId:t.id,question:t.question,answer:t.answer,priority:t.priority,isActive:t.isActive,metadata:{organizationId:t.organizationId,createdAt:t.createdAt,updatedAt:t.updatedAt}}}async loadFileAsset(e){if(!this.fileService)throw new Error("FileService not configured");let t=await this.fileService.getFileById(e),o=t.type||"",s=o.startsWith("video/"),l=o.startsWith("image/");return{id:t.id,name:t.name,description:t.description||"",url:t.url,thumbnail:l?t.url:void 0,type:"file",externalId:t.id,format:o,size:t.metadata?.size,duration:void 0,vodUrl:s?t.url:void 0,labels:[],animatedCoverUrl:s?t.url:void 0,metadata:{path:t.metadata?.path,bucketType:t.metadata?.bucketType,loadDirection:t.metadata?.loadDirection,createdAt:t.createdAt,updatedAt:t.updatedAt}}}};var n=require("lit"),J=require("lit/directives/class-map.js"),y=require("lit/directives/if-defined.js"),f=require("lit/directives/when.js");var L=require("lit/directives/unsafe-html.js");var E=u(require("dompurify"),1),ie={ALLOWED_TAGS:["p","br","span","b","strong","i","em","u","s","del","ul","ol","li","code","pre","a","h1","h2","h3","h4","table","thead","tbody","tr","th","td"],ALLOWED_ATTR:["href","target","rel","title","aria-label","role","colspan","rowspan"],FORCE_HTTPS:!0,ALLOW_DATA_ATTR:!1};E.default.addHook("afterSanitizeAttributes",i=>{"target"in i&&i.target==="_blank"&&i.setAttribute("rel","noopener noreferrer")});var U=(i,e=ie)=>E.default.sanitize(i,e);function V(i=""){return(0,L.unsafeHTML)(ne(i))}function ne(i=""){return U(i,{ADD_ATTR:["target","rel"],ADD_TAGS:["ol-"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:/^ol-/,attributeNameCheck:null,allowCustomizedBuiltInElements:!0}})}var Te=require("@onlive.ai/ui/dist/components/button/button.js"),Fe=require("@onlive.ai/ui/dist/components/icon/icon.js"),_=require("lit"),T=require("lit/decorators.js"),Y=require("lit/directives/repeat.js"),H=u(require("video.js"),1);var M=require("lit"),D=u(require("video.js/dist/video-js.min.css?inline"),1),B=M.css`
3
3
  ${(0,M.unsafeCSS)(D.default)}
4
4
  .och__player {
5
5
  width: 100%;
@@ -2048,13 +2048,13 @@ video::-webkit-media-text-track-display {
2048
2048
  ${this.renderThumbnailOverlay(e)}
2049
2049
  ${this.renderHoverOverlay(e,o,l,s)}
2050
2050
  </div>
2051
- `}renderThumbnailContent(e){switch(e.type){case"multimedia":{let t=e;switch(this.getMultimediaSubtype(t)){case"video":return this.renderVideoThumbnail(t);case"presentation":return this.renderPresentationThumbnail(t);case"image":default:return n.html`
2051
+ `}renderThumbnailContent(e){switch(e.type){case"multimedia":{let t=e;switch(this.getMultimediaSubtype(t)){case"video":return this.renderVideoThumbnail(t);case"presentation":return this.renderPresentationThumbnail(t);default:return n.html`
2052
2052
  <img
2053
2053
  src="${(0,y.ifDefined)(t.thumbnail||t.url)}"
2054
2054
  alt="${t.name}"
2055
2055
  class="ol-asset__image"
2056
2056
  />
2057
- `}}case"file":{let t=e;switch(this.getMultimediaSubtype(t)){case"video":return this.renderVideoThumbnail(t);case"presentation":return this.renderPresentationThumbnail(t);case"image":default:return n.html`
2057
+ `}}case"file":{let t=e;switch(this.getMultimediaSubtype(t)){case"video":return this.renderVideoThumbnail(t);case"presentation":return this.renderPresentationThumbnail(t);default:return n.html`
2058
2058
  <img
2059
2059
  src="${(0,y.ifDefined)(t.thumbnail||t.url)}"
2060
2060
  alt="${t.name}"
@@ -1,4 +1,4 @@
1
- /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
2
  import * as lit from 'lit';
3
3
  import { LitElement, TemplateResult } from 'lit';
4
4
  import { AssetType, AssetConfig } from './asset.types.cjs';
@@ -1,4 +1,4 @@
1
- /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
2
  import * as lit from 'lit';
3
3
  import { LitElement, TemplateResult } from 'lit';
4
4
  import { AssetType, AssetConfig } from './asset.types.js';
@@ -1,6 +1,6 @@
1
- /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
2
- var U=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var c=(n,e,t,o)=>{for(var s=o>1?void 0:o?L(e,t):e,l=n.length-1,a;l>=0;l--)(a=n[l])&&(s=(o?a(e,t,s):a(s))||s);return o&&s&&U(e,t,s),s};import{html as z,LitElement as ee}from"lit";import{property as T,state as h}from"lit/decorators.js";import{classMap as te}from"lit/directives/class-map.js";var V=(n,e)=>(customElements.get(n)?console.debug(`Custom element <${n}> is already defined, skipping definition of ${e.name}.`):window.customElements.define(n,e),e),D=(n,e)=>{let{kind:t,elements:o}=e;return{kind:t,elements:o,finisher(s){customElements.get(n)||window.customElements.define(n,s)}}},y=n=>e=>typeof e=="function"?V(n,e):D(n,e);var w=class n{constructor(e){this.config=e}static initialize(e){return new n(e)}getBaseUrl(){return`${this.config.baseUrl}`}getHeaders(){return{"Content-Type":"application/json"}}async makeRequest(e,t={}){let o=`${this.getBaseUrl()}${e}`,s=await fetch(o,{...t,headers:{...this.getHeaders(),...t.headers}});if(!s.ok)throw new Error(`FAQs API error: ${s.status} ${s.statusText}`);return s.json()}async getSettingsByOrganization(e,t){try{let o=new URLSearchParams;t&&o.append("userGroupId",t);let s=o.toString(),l=`${this.getBaseUrl()}/settings/organization/${e}${s?`?${s}`:""}`,a=await fetch(l,{method:"GET",headers:this.getHeaders(),credentials:"include"});if(a.status===404)return null;if(!a.ok)throw new Error(`Failed to fetch settings: ${a.statusText}`);return await a.json()}catch(o){return console.error("Error fetching settings:",o),null}}async getFaqs(e={}){let t=new URLSearchParams;if(e.search&&t.append("search",e.search),e.organizationId&&t.append("organizationId",e.organizationId),e.groupId&&t.append("groupId",e.groupId),e.isActive!==void 0&&t.append("isActive",e.isActive.toString()),e.page&&t.append("page",e.page.toString()),e.limit&&t.append("limit",e.limit.toString()),e.sortBy&&t.append("sortBy",e.sortBy),e.sortOrder&&t.append("sortOrder",e.sortOrder),e.extraFilters){for(let[l,a]of Object.entries(e.extraFilters))if(a&&(Array.isArray(a)?a.length>0:a.toString().trim()!=="")){let d=Array.isArray(a)?a.join(","):a.toString();t.append(`extra_${l}`,d)}}let o=t.toString(),s=`/faqs${o?`?${o}`:""}`;return this.makeRequest(s)}async getFaqById(e){return this.makeRequest(`/faqs/${e}`,{})}};var j=async(n,e)=>{let t=await fetch(n,e);if(!t.ok){let o=await t.json().catch(()=>({}));throw new Error(JSON.stringify({status:t.status,statusText:t.statusText,...o}))}return t&&t.json()};var x=class n{constructor(e){this.config=e,this.enableUpload=e.enableUpload||!1}static getInstance(e){if(!n.instance&&e&&(n.instance=new n(e)),!n.instance)throw new Error("FileService must be initialized with config first");return n.instance}static initialize(e){return n.instance=new n(e),n.instance}async uploadFile(e,t={}){try{let o=await this.requestSignedUrl({filename:e.name,description:t.description,loadDirection:"up",bucketType:t.bucketType||"conversations",path:t.path||".temp",mimeType:e.type});return await this.uploadToSignedUrl(o.data.signedUrlData.signedUrl,e),{success:!0,id:o.data.file.id,name:o.data.file.name,url:o.data.file.url,type:o.data.file.type}}catch(o){return console.error("Error uploading file:",o),{success:!1,error:o instanceof Error?o.message:"Unknown error"}}}async requestSignedUrl(e){let t=`${this.config.baseUrl}/files/upload-url`;return this.makeRequest(t,{method:"POST",body:JSON.stringify(e)})}async uploadToSignedUrl(e,t){let o=await fetch(e,{method:"PUT",body:t,headers:{"Content-Type":t.type}});if(!o.ok){let s=await o.text().catch(()=>"No response");throw new Error(`Upload failed with status: ${o.status}. Response: ${s}`)}}async uploadFileWithRetry(e,t={}){let o=t.maxRetries||3,s=null;for(let l=1;l<=o;l++)try{let a=await this.uploadFile(e,t);if(a.success)return a;throw new Error(a.error||"Upload failed")}catch(a){if(s=a instanceof Error?a:new Error("Unknown error"),l===o)break;let d=2**l*1e3;await new Promise(r=>setTimeout(r,d))}return{success:!1,error:s?.message||"Upload failed after retries"}}async getFileById(e){let t=`${this.config.baseUrl}/files/${e}`,o=await this.makeRequest(t);if(!o.success)throw new Error("Failed to get file");return o.data}async makeRequest(e,t){let o={"Content-Type":"application/json"};return this.config.organizationId&&(o["X-Onlive-Organization-Id"]=this.config.organizationId),t?.headers&&Object.assign(o,t.headers),j(e,{...t,headers:o})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var _=class n{constructor(e){this.config=e}static getInstance(e){if(!n.instance&&e&&(n.instance=new n(e)),!n.instance)throw new Error("MultimediaService must be initialized with config first");return n.instance}static initialize(e){return n.instance=new n(e),n.instance}async getImages(e={}){let t=new URLSearchParams({type:"image",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let o=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(o)}async getVideos(e={}){let t=new URLSearchParams({type:"video",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let o=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(o)}async getPresentations(e={}){let t=new URLSearchParams({type:"presentation",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let o=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(o)}async getAllMultimedia(e={}){let[t,o,s]=await Promise.all([this.getImages(e),this.getVideos(e),this.getPresentations(e)]);return{images:t,videos:o,presentations:s}}async getMultimediaByToken(e){let t=`${this.config.baseUrl}/multimedia/secure-token/${e}`;return this.makeRequest(t,!1)}async searchMultimedia(e,t){let o={search:e,page:1,limit:50,includeSecureToken:!0};if(t)return this.getMultimediaByType(t,o);let[s,l,a]=await Promise.all([this.getImages(o),this.getVideos(o),this.getPresentations(o)]),d=[...s.items,...l.items,...a.items];return{items:d,total:d.length,count:d.length,currentPage:1,totalPages:1}}async getMultimediaByType(e,t){switch(e){case"image":return this.getImages(t);case"video":return this.getVideos(t);case"presentation":return this.getPresentations(t);default:throw new Error(`Invalid multimedia type: ${e}`)}}appendExtraFilters(e,t){if(t){for(let[o,s]of Object.entries(t))if(s&&(Array.isArray(s)?s.length>0:s.toString().trim()!=="")){let l=Array.isArray(s)?s.join(","):s.toString();e.append(`extra_${o}`,l)}}}async makeRequest(e,t=!0){let o={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return j(e,{method:"GET",headers:o,credentials:t?"include":void 0})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var g=class n{constructor(e){this.config=e}static getInstance(e){if(!n.instance&&e&&(n.instance=new n(e)),!n.instance)throw new Error("ProductService must be initialized with config first");return n.instance}static initialize(e){return n.instance=new n(e),n.instance}async getProducts(e={}){let t=new URLSearchParams({...e.title&&{title:e.title},...e.search&&{search:e.search},...e.category&&{category:e.category},...e.tags&&{tags:e.tags.join(",")},...e.sortBy&&{sortBy:e.sortBy},...e.sortOrder&&{sortOrder:e.sortOrder},...e.minPrice&&{minPrice:e.minPrice.toString()},...e.maxPrice&&{maxPrice:e.maxPrice.toString()},...e.inStock!==void 0&&{inStock:e.inStock.toString()},...e.offset&&{offset:e.offset.toString()},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});e.extraFields&&Object.keys(e.extraFields).length>0&&t.append("extraFields",JSON.stringify(e.extraFields));let o=`${this.config.baseUrl}/products?${t}`;return this.makeRequest(o,!0)}async getProductByToken(e){let t=`${this.config.baseUrl}/products/secure-token/${e}`;return this.makeRequest(t)}async searchProducts(e,t={}){return this.getProducts({...t,search:e})}async makeRequest(e,t=!1){let o={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return j(e,{method:"GET",headers:o,credentials:t?"include":"same-origin"})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var A=class{constructor(e){e?.multimediaService&&(this.multimediaService=_.initialize(e.multimediaService)),e?.faqsService&&(this.faqsService=w.initialize(e.faqsService)),e?.productService&&(this.productService=g.initialize(e.productService)),e?.fileService&&(this.fileService=x.initialize(e.fileService))}async loadAsset(e,t){switch(e){case"multimedia":return this.loadMultimediaAsset(t);case"product":return this.loadProductAsset(t);case"faq":return this.loadFaqAsset(t);case"file":return this.loadFileAsset(t);default:throw new Error(`Unsupported asset type: ${e}`)}}async loadMultimediaAsset(e){if(!this.multimediaService)throw new Error("MultimediaService not configured");let t=await this.multimediaService.getMultimediaByToken(e);if(!t)throw new Error("Multimedia not found");return{id:t.id,name:t.name,description:t.description||"",url:t.url,thumbnail:t.animatedCoverUrl||t.url,type:"multimedia",externalId:t.id,format:t.format,size:t.size||void 0,duration:t.duration||void 0,vodUrl:t.vodUrl||void 0,slides:t.slides||[],labels:t.labels,animatedCoverUrl:t.animatedCoverUrl||void 0,metadata:{organizationId:t.organizationId,status:t.status,createdAt:t.createdAt,updatedAt:t.updatedAt}}}async loadProductAsset(e){if(!this.productService)throw new Error("MultimediaService not configured");let t=await this.productService.getProductByToken(e);if(!t)throw new Error("Product not found");return{id:t.id,name:t.name,description:t.description,url:t.url,thumbnail:t.images?.[0],type:"product",externalId:t.externalId,price:t.price,currency:t.currency,category:t.category,tags:t.tags,images:t.images,variants:t.variants?.map(o=>({id:o.id,externalId:o.externalId,price:o.price,currency:o.currency,images:o.images})),options:t.options,metadata:{providerType:t.providerType,providerId:t.providerId,discountType:t.discountType,discount:t.discount,stock:t.stock,broken:t.broken}}}async loadFaqAsset(e){if(!this.faqsService)throw new Error("FaqsService not configured");let t=await this.faqsService.getFaqById(e);return{id:t.id,name:t.question,description:t.answer,url:`#faq-${t.id}`,type:"faq",externalId:t.id,question:t.question,answer:t.answer,priority:t.priority,isActive:t.isActive,metadata:{organizationId:t.organizationId,createdAt:t.createdAt,updatedAt:t.updatedAt}}}async loadFileAsset(e){if(!this.fileService)throw new Error("FileService not configured");let t=await this.fileService.getFileById(e),o=t.type||"",s=o.startsWith("video/"),l=o.startsWith("image/");return{id:t.id,name:t.name,description:t.description||"",url:t.url,thumbnail:l?t.url:void 0,type:"file",externalId:t.id,format:o,size:t.metadata?.size,duration:void 0,vodUrl:s?t.url:void 0,labels:[],animatedCoverUrl:s?t.url:void 0,metadata:{path:t.metadata?.path,bucketType:t.metadata?.bucketType,loadDirection:t.metadata?.loadDirection,createdAt:t.createdAt,updatedAt:t.updatedAt}}}};import{html as i}from"lit";import{classMap as W}from"lit/directives/class-map.js";import{ifDefined as b}from"lit/directives/if-defined.js";import{when as m}from"lit/directives/when.js";import{unsafeHTML as Y}from"lit/directives/unsafe-html.js";import F from"dompurify";var B={ALLOWED_TAGS:["p","br","span","b","strong","i","em","u","s","del","ul","ol","li","code","pre","a","h1","h2","h3","h4","table","thead","tbody","tr","th","td"],ALLOWED_ATTR:["href","target","rel","title","aria-label","role","colspan","rowspan"],FORCE_HTTPS:!0,ALLOW_DATA_ATTR:!1};F.addHook("afterSanitizeAttributes",n=>{"target"in n&&n.target==="_blank"&&n.setAttribute("rel","noopener noreferrer")});var q=(n,e=B)=>F.sanitize(n,e);function C(n=""){return Y(q(n,{ADD_ATTR:["target","rel"],ADD_TAGS:["ol-"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:/^ol-/,attributeNameCheck:null,allowCustomizedBuiltInElements:!0}}))}import"@onlive.ai/ui/dist/components/button/button.js";import"@onlive.ai/ui/dist/components/icon/icon.js";import{html as E,LitElement as N}from"lit";import{property as G,query as Q}from"lit/decorators.js";import{repeat as K}from"lit/directives/repeat.js";import X from"video.js";import{css as H,unsafeCSS as J}from"lit";import O from"video.js/dist/video-js.min.css?inline";var R=H`
3
- ${J(O)}
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ var U=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var c=(n,e,t,o)=>{for(var s=o>1?void 0:o?L(e,t):e,l=n.length-1,a;l>=0;l--)(a=n[l])&&(s=(o?a(e,t,s):a(s))||s);return o&&s&&U(e,t,s),s};import{html as z,LitElement as te}from"lit";import{property as T,state as h}from"lit/decorators.js";import{classMap as oe}from"lit/directives/class-map.js";var V=(n,e)=>(customElements.get(n)?console.debug(`Custom element <${n}> is already defined, skipping definition of ${e.name}.`):window.customElements.define(n,e),e),D=(n,e)=>{let{kind:t,elements:o}=e;return{kind:t,elements:o,finisher(s){customElements.get(n)||window.customElements.define(n,s)}}},y=n=>e=>typeof e=="function"?V(n,e):D(n,e);var w=class n{constructor(e){this.config=e}static initialize(e){return new n(e)}getBaseUrl(){return`${this.config.baseUrl}`}getHeaders(){return{"Content-Type":"application/json"}}async makeRequest(e,t={}){let o=`${this.getBaseUrl()}${e}`,s=await fetch(o,{...t,headers:{...this.getHeaders(),...t.headers}});if(!s.ok)throw new Error(`FAQs API error: ${s.status} ${s.statusText}`);return s.json()}async getSettingsByOrganization(e,t){try{let o=new URLSearchParams;t&&o.append("userGroupId",t);let s=o.toString(),l=`${this.getBaseUrl()}/settings/organization/${e}${s?`?${s}`:""}`,a=await fetch(l,{method:"GET",headers:this.getHeaders(),credentials:"include"});if(a.status===404)return null;if(!a.ok)throw new Error(`Failed to fetch settings: ${a.statusText}`);return await a.json()}catch(o){return console.error("Error fetching settings:",o),null}}async getFaqs(e={}){let t=new URLSearchParams;if(e.search&&t.append("search",e.search),e.organizationId&&t.append("organizationId",e.organizationId),e.groupId&&t.append("groupId",e.groupId),e.isActive!==void 0&&t.append("isActive",e.isActive.toString()),e.page&&t.append("page",e.page.toString()),e.limit&&t.append("limit",e.limit.toString()),e.sortBy&&t.append("sortBy",e.sortBy),e.sortOrder&&t.append("sortOrder",e.sortOrder),e.extraFilters){for(let[l,a]of Object.entries(e.extraFilters))if(a&&(Array.isArray(a)?a.length>0:a.toString().trim()!=="")){let d=Array.isArray(a)?a.join(","):a.toString();t.append(`extra_${l}`,d)}}let o=t.toString(),s=`/faqs${o?`?${o}`:""}`;return this.makeRequest(s)}async getFaqById(e){return this.makeRequest(`/faqs/${e}`,{})}};var j=async(n,e)=>{let t=await fetch(n,e);if(!t.ok){let o=await t.json().catch(()=>({}));throw new Error(JSON.stringify({status:t.status,statusText:t.statusText,...o}))}return t&&t.json()};var x=class n{constructor(e){this.config=e,this.enableUpload=e.enableUpload||!1}static getInstance(e){if(!n.instance&&e&&(n.instance=new n(e)),!n.instance)throw new Error("FileService must be initialized with config first");return n.instance}static initialize(e){return n.instance=new n(e),n.instance}async uploadFile(e,t={}){try{let o=await this.requestSignedUrl({filename:e.name,description:t.description,loadDirection:"up",bucketType:t.bucketType||"conversations",path:t.path||".temp",mimeType:e.type});return await this.uploadToSignedUrl(o.data.signedUrlData.signedUrl,e),{success:!0,id:o.data.file.id,name:o.data.file.name,url:o.data.file.url,type:o.data.file.type}}catch(o){return console.error("Error uploading file:",o),{success:!1,error:o instanceof Error?o.message:"Unknown error"}}}async requestSignedUrl(e){let t=`${this.config.baseUrl}/files/upload-url`;return this.makeRequest(t,{method:"POST",body:JSON.stringify(e)})}async uploadToSignedUrl(e,t){let o=await fetch(e,{method:"PUT",body:t,headers:{"Content-Type":t.type}});if(!o.ok){let s=await o.text().catch(()=>"No response");throw new Error(`Upload failed with status: ${o.status}. Response: ${s}`)}}async uploadFileWithRetry(e,t={}){let o=t.maxRetries||3,s=null;for(let l=1;l<=o;l++)try{let a=await this.uploadFile(e,t);if(a.success)return a;throw new Error(a.error||"Upload failed")}catch(a){if(s=a instanceof Error?a:new Error("Unknown error"),l===o)break;let d=2**l*1e3;await new Promise(r=>setTimeout(r,d))}return{success:!1,error:s?.message||"Upload failed after retries"}}async getFileById(e){let t=`${this.config.baseUrl}/files/${e}`,o=await this.makeRequest(t);if(!o.success)throw new Error("Failed to get file");return o.data}async makeRequest(e,t){let o={"Content-Type":"application/json"};return this.config.organizationId&&(o["X-Onlive-Organization-Id"]=this.config.organizationId),t?.headers&&Object.assign(o,t.headers),j(e,{...t,headers:o})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var _=class n{constructor(e){this.config=e}static getInstance(e){if(!n.instance&&e&&(n.instance=new n(e)),!n.instance)throw new Error("MultimediaService must be initialized with config first");return n.instance}static initialize(e){return n.instance=new n(e),n.instance}async getImages(e={}){let t=new URLSearchParams({type:"image",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let o=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(o)}async getVideos(e={}){let t=new URLSearchParams({type:"video",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let o=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(o)}async getPresentations(e={}){let t=new URLSearchParams({type:"presentation",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let o=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(o)}async getAllMultimedia(e={}){let[t,o,s]=await Promise.all([this.getImages(e),this.getVideos(e),this.getPresentations(e)]);return{images:t,videos:o,presentations:s}}async getMultimediaByToken(e){let t=`${this.config.baseUrl}/multimedia/secure-token/${e}`;return this.makeRequest(t,!1)}async searchMultimedia(e,t){let o={search:e,page:1,limit:50,includeSecureToken:!0};if(t)return this.getMultimediaByType(t,o);let[s,l,a]=await Promise.all([this.getImages(o),this.getVideos(o),this.getPresentations(o)]),d=[...s.items,...l.items,...a.items];return{items:d,total:d.length,count:d.length,currentPage:1,totalPages:1}}async getMultimediaByType(e,t){switch(e){case"image":return this.getImages(t);case"video":return this.getVideos(t);case"presentation":return this.getPresentations(t);default:throw new Error(`Invalid multimedia type: ${e}`)}}appendExtraFilters(e,t){if(t){for(let[o,s]of Object.entries(t))if(s&&(Array.isArray(s)?s.length>0:s.toString().trim()!=="")){let l=Array.isArray(s)?s.join(","):s.toString();e.append(`extra_${o}`,l)}}}async makeRequest(e,t=!0){let o={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return j(e,{method:"GET",headers:o,credentials:t?"include":void 0})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var g=class n{constructor(e){this.config=e}static getInstance(e){if(!n.instance&&e&&(n.instance=new n(e)),!n.instance)throw new Error("ProductService must be initialized with config first");return n.instance}static initialize(e){return n.instance=new n(e),n.instance}async getProducts(e={}){let t=new URLSearchParams({...e.title&&{title:e.title},...e.search&&{search:e.search},...e.category&&{category:e.category},...e.tags&&{tags:e.tags.join(",")},...e.sortBy&&{sortBy:e.sortBy},...e.sortOrder&&{sortOrder:e.sortOrder},...e.minPrice&&{minPrice:e.minPrice.toString()},...e.maxPrice&&{maxPrice:e.maxPrice.toString()},...e.inStock!==void 0&&{inStock:e.inStock.toString()},...e.offset&&{offset:e.offset.toString()},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});e.extraFields&&Object.keys(e.extraFields).length>0&&t.append("extraFields",JSON.stringify(e.extraFields));let o=`${this.config.baseUrl}/products?${t}`;return this.makeRequest(o,!0)}async getProductByToken(e){let t=`${this.config.baseUrl}/products/secure-token/${e}`;return this.makeRequest(t)}async searchProducts(e,t={}){return this.getProducts({...t,search:e})}async makeRequest(e,t=!1){let o={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return j(e,{method:"GET",headers:o,credentials:t?"include":"same-origin"})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var A=class{constructor(e){e?.multimediaService&&(this.multimediaService=_.initialize(e.multimediaService)),e?.faqsService&&(this.faqsService=w.initialize(e.faqsService)),e?.productService&&(this.productService=g.initialize(e.productService)),e?.fileService&&(this.fileService=x.initialize(e.fileService))}async loadAsset(e,t){switch(e){case"multimedia":return this.loadMultimediaAsset(t);case"product":return this.loadProductAsset(t);case"faq":return this.loadFaqAsset(t);case"file":return this.loadFileAsset(t);default:throw new Error(`Unsupported asset type: ${e}`)}}async loadMultimediaAsset(e){if(!this.multimediaService)throw new Error("MultimediaService not configured");let t=await this.multimediaService.getMultimediaByToken(e);if(!t)throw new Error("Multimedia not found");return{id:t.id,name:t.name,description:t.description||"",url:t.url,thumbnail:t.animatedCoverUrl||t.url,type:"multimedia",externalId:t.id,format:t.format,size:t.size||void 0,duration:t.duration||void 0,vodUrl:t.vodUrl||void 0,slides:t.slides||[],labels:t.labels,animatedCoverUrl:t.animatedCoverUrl||void 0,metadata:{organizationId:t.organizationId,status:t.status,createdAt:t.createdAt,updatedAt:t.updatedAt}}}async loadProductAsset(e){if(!this.productService)throw new Error("MultimediaService not configured");let t=await this.productService.getProductByToken(e);if(!t)throw new Error("Product not found");return{id:t.id,name:t.name,description:t.description,url:t.url,thumbnail:t.images?.[0],type:"product",externalId:t.externalId,price:t.price,currency:t.currency,category:t.category,tags:t.tags,images:t.images,variants:t.variants?.map(o=>({id:o.id,externalId:o.externalId,price:o.price,currency:o.currency,images:o.images})),options:t.options,metadata:{providerType:t.providerType,providerId:t.providerId,discountType:t.discountType,discount:t.discount,stock:t.stock,broken:t.broken}}}async loadFaqAsset(e){if(!this.faqsService)throw new Error("FaqsService not configured");let t=await this.faqsService.getFaqById(e);return{id:t.id,name:t.question,description:t.answer,url:`#faq-${t.id}`,type:"faq",externalId:t.id,question:t.question,answer:t.answer,priority:t.priority,isActive:t.isActive,metadata:{organizationId:t.organizationId,createdAt:t.createdAt,updatedAt:t.updatedAt}}}async loadFileAsset(e){if(!this.fileService)throw new Error("FileService not configured");let t=await this.fileService.getFileById(e),o=t.type||"",s=o.startsWith("video/"),l=o.startsWith("image/");return{id:t.id,name:t.name,description:t.description||"",url:t.url,thumbnail:l?t.url:void 0,type:"file",externalId:t.id,format:o,size:t.metadata?.size,duration:void 0,vodUrl:s?t.url:void 0,labels:[],animatedCoverUrl:s?t.url:void 0,metadata:{path:t.metadata?.path,bucketType:t.metadata?.bucketType,loadDirection:t.metadata?.loadDirection,createdAt:t.createdAt,updatedAt:t.updatedAt}}}};import{html as i}from"lit";import{classMap as Z}from"lit/directives/class-map.js";import{ifDefined as b}from"lit/directives/if-defined.js";import{when as m}from"lit/directives/when.js";import{unsafeHTML as Y}from"lit/directives/unsafe-html.js";import F from"dompurify";var B={ALLOWED_TAGS:["p","br","span","b","strong","i","em","u","s","del","ul","ol","li","code","pre","a","h1","h2","h3","h4","table","thead","tbody","tr","th","td"],ALLOWED_ATTR:["href","target","rel","title","aria-label","role","colspan","rowspan"],FORCE_HTTPS:!0,ALLOW_DATA_ATTR:!1};F.addHook("afterSanitizeAttributes",n=>{"target"in n&&n.target==="_blank"&&n.setAttribute("rel","noopener noreferrer")});var q=(n,e=B)=>F.sanitize(n,e);function C(n=""){return Y(H(n))}function H(n=""){return q(n,{ADD_ATTR:["target","rel"],ADD_TAGS:["ol-"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:/^ol-/,attributeNameCheck:null,allowCustomizedBuiltInElements:!0}})}import"@onlive.ai/ui/dist/components/button/button.js";import"@onlive.ai/ui/dist/components/icon/icon.js";import{html as E,LitElement as G}from"lit";import{property as Q,query as K}from"lit/decorators.js";import{repeat as X}from"lit/directives/repeat.js";import W from"video.js";import{css as J,unsafeCSS as O}from"lit";import N from"video.js/dist/video-js.min.css?inline";var R=J`
3
+ ${O(N)}
4
4
  .och__player {
5
5
  width: 100%;
6
6
  height: auto;
@@ -13,18 +13,18 @@ var U=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var c=(n,e,t,o
13
13
  background: transparent;
14
14
  transition: all 0.2s ease;
15
15
  }
16
- `;var f=class extends N{constructor(){super(...arguments);this.sources=[];this.player=null}connectedCallback(){super.connectedCallback();let t="videojs-font-face";if(!document.head.querySelector(`#${t}`)){let o=document.createElement("style");o.id=t,o.innerHTML=`
16
+ `;var f=class extends G{constructor(){super(...arguments);this.sources=[];this.player=null}connectedCallback(){super.connectedCallback();let t="videojs-font-face";if(!document.head.querySelector(`#${t}`)){let o=document.createElement("style");o.id=t,o.innerHTML=`
17
17
  @font-face {
18
18
  font-family: VideoJS;
19
19
  src:
20
20
  url(https://cdn.onlive.site/fonts/video-js/font/VideoJS.woff) format("woff"),
21
21
  url(https://cdn.onlive.site/fonts/video-js/font/VideoJS.ttf) format("truetype");
22
- }`,document.head.appendChild(o)}}firstUpdated(){this.$player&&(this.player=X(this.$player,{controls:!0,controlBar:{children:["playToggle","progressControl","volumePanel","fullscreenToggle"]}}))}play(){this.player?.play()}pause(){this.player?.pause()}render(){return E`
22
+ }`,document.head.appendChild(o)}}firstUpdated(){this.$player&&(this.player=W(this.$player,{controls:!0,controlBar:{children:["playToggle","progressControl","volumePanel","fullscreenToggle"]}}))}play(){this.player?.play()}pause(){this.player?.pause()}render(){return E`
23
23
  <video
24
24
  id="player"
25
25
  class="och__player video-js video-js vjs-16-9 vjs-controls-enabled vjs-workinghover vjs-v8 vjs-theme-sea vjs_video_2321-dimensions vjs-has-started vjs-paused vjs-user-inactive"
26
26
  >
27
- ${K(this.sources,t=>t.src,t=>E`<source src=${t.src} type=${t.type}></source>`)}
27
+ ${X(this.sources,t=>t.src,t=>E`<source src=${t.src} type=${t.type}></source>`)}
28
28
  <p class="vjs-no-js">
29
29
  To view this video please enable JavaScript, and consider upgrading to a web browser that
30
30
  <a href="https://videojs.com/html5-video-support/" target="_blank"> supports HTML5 video </a>
@@ -2041,20 +2041,20 @@ video::-webkit-media-text-track-display {
2041
2041
  transition: all 0.2s ease;
2042
2042
  }
2043
2043
  </style>
2044
- `}};f.styles=[R],c([G({type:Array})],f.prototype,"sources",2),c([Q("#player")],f.prototype,"$player",2),f=c([y("och-player")],f);var k=class{formatFileSize(e){let t=["B","KB","MB","GB"];if(e===0)return"0 B";let o=Math.floor(Math.log(e)/Math.log(1024));return Math.round(e/1024**o*100)/100+" "+t[o]}formatDuration(e){let t=Math.floor(e/60),o=Math.floor(e%60);return`${t}:${o.toString().padStart(2,"0")}`}getMultimediaSubtype(e){let t=e.format||"";return t.startsWith("video/")?"video":t.startsWith("image/")?"image":t.includes("presentation")||t.includes("pdf")||t.includes("powerpoint")||t.includes("slides")||t.includes("application/vnd.ms-powerpoint")||t.includes("application/vnd.openxmlformats-officedocument.presentationml")||e.slides&&e.slides.length>0?"presentation":e.duration||e.vodUrl?"video":"image"}renderThumbnail(e,t,o,s,l){return!t.showThumbnail||e.type==="faq"?i``:i`
2044
+ `}};f.styles=[R],c([Q({type:Array})],f.prototype,"sources",2),c([K("#player")],f.prototype,"$player",2),f=c([y("och-player")],f);var k=class{formatFileSize(e){let t=["B","KB","MB","GB"];if(e===0)return"0 B";let o=Math.floor(Math.log(e)/Math.log(1024));return Math.round(e/1024**o*100)/100+" "+t[o]}formatDuration(e){let t=Math.floor(e/60),o=Math.floor(e%60);return`${t}:${o.toString().padStart(2,"0")}`}getMultimediaSubtype(e){let t=e.format||"";return t.startsWith("video/")?"video":t.startsWith("image/")?"image":t.includes("presentation")||t.includes("pdf")||t.includes("powerpoint")||t.includes("slides")||t.includes("application/vnd.ms-powerpoint")||t.includes("application/vnd.openxmlformats-officedocument.presentationml")||e.slides&&e.slides.length>0?"presentation":e.duration||e.vodUrl?"video":"image"}renderThumbnail(e,t,o,s,l){return!t.showThumbnail||e.type==="faq"?i``:i`
2045
2045
  <div class="ol-asset__thumbnail">
2046
2046
  ${this.renderThumbnailContent(e)}
2047
2047
  ${this.renderMetadata(e,t)}
2048
2048
  ${this.renderThumbnailOverlay(e)}
2049
2049
  ${this.renderHoverOverlay(e,o,l,s)}
2050
2050
  </div>
2051
- `}renderThumbnailContent(e){switch(e.type){case"multimedia":{let t=e;switch(this.getMultimediaSubtype(t)){case"video":return this.renderVideoThumbnail(t);case"presentation":return this.renderPresentationThumbnail(t);case"image":default:return i`
2051
+ `}renderThumbnailContent(e){switch(e.type){case"multimedia":{let t=e;switch(this.getMultimediaSubtype(t)){case"video":return this.renderVideoThumbnail(t);case"presentation":return this.renderPresentationThumbnail(t);default:return i`
2052
2052
  <img
2053
2053
  src="${b(t.thumbnail||t.url)}"
2054
2054
  alt="${t.name}"
2055
2055
  class="ol-asset__image"
2056
2056
  />
2057
- `}}case"file":{let t=e;switch(this.getMultimediaSubtype(t)){case"video":return this.renderVideoThumbnail(t);case"presentation":return this.renderPresentationThumbnail(t);case"image":default:return i`
2057
+ `}}case"file":{let t=e;switch(this.getMultimediaSubtype(t)){case"video":return this.renderVideoThumbnail(t);case"presentation":return this.renderPresentationThumbnail(t);default:return i`
2058
2058
  <img
2059
2059
  src="${b(t.thumbnail||t.url)}"
2060
2060
  alt="${t.name}"
@@ -2097,7 +2097,7 @@ video::-webkit-media-text-track-display {
2097
2097
  `}renderThumbnailOverlay(e){let t=[];if(e.type==="multimedia"||e.type==="file"){let o=e;this.getMultimediaSubtype(o)==="video"&&o.duration&&t.push(i`
2098
2098
  <div class="ol-asset__duration">${this.formatDuration(o.duration)}</div>
2099
2099
  `)}return i`${t}`}renderContent(e,t){let o=(e.type==="multimedia"||e.type==="file")&&!t.showName&&!t.showDescription&&!t.showTags;return i`
2100
- <div class=${W({"ol-asset__content":!0,"ol-asset__content--assets":!!o})}>
2100
+ <div class=${Z({"ol-asset__content":!0,"ol-asset__content--assets":!!o})}>
2101
2101
  ${this.renderName(e,t)}
2102
2102
  ${this.renderDescription(e,t)}
2103
2103
  ${this.renderPrice(e)}
@@ -2289,7 +2289,7 @@ video::-webkit-media-text-track-display {
2289
2289
  `)}
2290
2290
  </div>
2291
2291
  </div>
2292
- `}openProductInNewWindow(e){e.url&&window.open(e.url,"_blank","noopener,noreferrer")}};import{css as Z}from"lit";var I=Z`
2292
+ `}openProductInNewWindow(e){e.url&&window.open(e.url,"_blank","noopener,noreferrer")}};import{css as ee}from"lit";var I=ee`
2293
2293
  :host {
2294
2294
  display: block;
2295
2295
  --asset-border-radius: 8px;
@@ -3518,7 +3518,7 @@ video::-webkit-media-text-track-display {
3518
3518
  </div>
3519
3519
  </div>
3520
3520
  </ol-dialog>
3521
- `}attachEventListeners(){this.dialog&&(this.dialog.addEventListener("ol-after-hide",()=>{this.onClose?.()}),this.dialog.addEventListener("ol-request-close",e=>{e.detail?.source==="overlay"&&e.preventDefault()}))}escapeHtml(e){let t=document.createElement("div");return t.textContent=e,t.innerHTML}};var v=class extends ee{constructor(){super(...arguments);this.loadingState="idle";this.assetRenderer=new k;this.isDownloading=!1;this.defaultDisplayOptions={showThumbnail:!0,showName:!1,showDescription:!1,showMetadata:!0,showPrice:!0,showDuration:!1,showSize:!1,showTags:!1,layout:"card",size:"medium"}}connectedCallback(){super.connectedCallback(),this.initializeServices(),this.loadAsset()}disconnectedCallback(){super.disconnectedCallback(),this.closeModal()}initializeServices(){this.assetLoader=new A(this.config)}async loadAsset(){if(!this.type||!this.externalId){this.error="Type and externalId are required",this.loadingState="error";return}this.loadingState="loading",this.error=void 0;try{let t=await this.assetLoader.loadAsset(this.type,this.externalId);this.asset=t,this.loadingState="loaded",this.dispatchEvent(new CustomEvent("asset-load",{detail:t})),console.debug("Asset loaded:",t)}catch(t){console.error(`Error loading ${this.type} asset:`,t),this.error=t instanceof Error?t.message:"Failed to load asset",this.loadingState="error",this.dispatchEvent(new CustomEvent("asset-error",{detail:{error:this.error,asset:this.asset}}))}}async onDownload(t){if(!(!t.url||this.isDownloading)){this.isDownloading=!0;try{let o=await fetch(t.url,{method:"GET",mode:"cors",cache:"no-cache"});if(o.ok){let s=await o.blob(),l=window.URL.createObjectURL(s),a=document.createElement("a");a.href=l,a.download=this.getDownloadFilename(t),a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),setTimeout(()=>window.URL.revokeObjectURL(l),100),this.dispatchEvent(new CustomEvent("asset-download",{detail:t})),this.isDownloading=!1;return}}catch(o){console.warn("Fetch strategy failed:",o)}try{let o=await fetch(t.url,{headers:{Accept:"*/*"},mode:"no-cors"});if(o.type==="opaque")throw new Error("No-cors response, cannot access blob");let s=await o.blob(),l=window.URL.createObjectURL(s),a=document.createElement("a");a.href=l,a.download=this.getDownloadFilename(t),a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),setTimeout(()=>window.URL.revokeObjectURL(l),100),this.dispatchEvent(new CustomEvent("asset-download",{detail:t})),this.isDownloading=!1;return}catch(o){console.warn("No-cors strategy failed:",o)}try{let o=document.createElement("a");o.href=t.url,o.download=this.getDownloadFilename(t),o.target="_blank",o.rel="noopener noreferrer",o.style.position="absolute",o.style.left="-9999px",document.body.appendChild(o),o.click(),setTimeout(()=>{document.body.removeChild(o)},100),this.dispatchEvent(new CustomEvent("asset-download",{detail:t}))}catch(o){console.error("All download strategies failed:",o),window.open(t.url,"_blank")}this.isDownloading=!1}}getDownloadFilename(t){let o=Date.now(),s=this.getFileExtension(t);return`${t.name||`asset-${t.type}-${o}`}${s}`}getFileExtension(t){if(t.url){let l=new URL(t.url).pathname,a=l.lastIndexOf(".");if(a>0)return l.substring(a)}return{multimedia:".jpg",file:".bin",product:".jpg",faq:".txt"}[t.type]||""}async openModal(){this.asset&&(this.modalPortal=new S(this.asset,this.closeModal.bind(this)),await this.modalPortal.open())}onMaximize(){if(this.asset){if(this.asset.type==="multimedia"||this.asset.type==="file"){let t=this.asset,o=t.slides&&t.slides.length>0,s=t.format||"";if((s.includes("presentation")||s.includes("pdf")||s.includes("powerpoint")||s.includes("slides")||s.includes("application/vnd.ms-powerpoint")||s.includes("application/vnd.openxmlformats-officedocument.presentationml")||o&&t.slides.length>0)&&!o)return}this.asset.type==="multimedia"||this.asset.type==="file"||this.asset.type==="faq"?this.openModal():this.dispatchEvent(new CustomEvent("asset-click",{detail:this.asset}))}}closeModal(){this.modalPortal&&(this.modalPortal.close(),this.modalPortal=void 0)}render(){let t={...this.defaultDisplayOptions,...this.config?.assetDisplayOptions||{}};return this.loadingState==="loading"?z`
3521
+ `}attachEventListeners(){this.dialog&&(this.dialog.addEventListener("ol-after-hide",()=>{this.onClose?.()}),this.dialog.addEventListener("ol-request-close",e=>{e.detail?.source==="overlay"&&e.preventDefault()}))}escapeHtml(e){let t=document.createElement("div");return t.textContent=e,t.innerHTML}};var v=class extends te{constructor(){super(...arguments);this.loadingState="idle";this.assetRenderer=new k;this.isDownloading=!1;this.defaultDisplayOptions={showThumbnail:!0,showName:!1,showDescription:!1,showMetadata:!0,showPrice:!0,showDuration:!1,showSize:!1,showTags:!1,layout:"card",size:"medium"}}connectedCallback(){super.connectedCallback(),this.initializeServices(),this.loadAsset()}disconnectedCallback(){super.disconnectedCallback(),this.closeModal()}initializeServices(){this.assetLoader=new A(this.config)}async loadAsset(){if(!this.type||!this.externalId){this.error="Type and externalId are required",this.loadingState="error";return}this.loadingState="loading",this.error=void 0;try{let t=await this.assetLoader.loadAsset(this.type,this.externalId);this.asset=t,this.loadingState="loaded",this.dispatchEvent(new CustomEvent("asset-load",{detail:t})),console.debug("Asset loaded:",t)}catch(t){console.error(`Error loading ${this.type} asset:`,t),this.error=t instanceof Error?t.message:"Failed to load asset",this.loadingState="error",this.dispatchEvent(new CustomEvent("asset-error",{detail:{error:this.error,asset:this.asset}}))}}async onDownload(t){if(!(!t.url||this.isDownloading)){this.isDownloading=!0;try{let o=await fetch(t.url,{method:"GET",mode:"cors",cache:"no-cache"});if(o.ok){let s=await o.blob(),l=window.URL.createObjectURL(s),a=document.createElement("a");a.href=l,a.download=this.getDownloadFilename(t),a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),setTimeout(()=>window.URL.revokeObjectURL(l),100),this.dispatchEvent(new CustomEvent("asset-download",{detail:t})),this.isDownloading=!1;return}}catch(o){console.warn("Fetch strategy failed:",o)}try{let o=await fetch(t.url,{headers:{Accept:"*/*"},mode:"no-cors"});if(o.type==="opaque")throw new Error("No-cors response, cannot access blob");let s=await o.blob(),l=window.URL.createObjectURL(s),a=document.createElement("a");a.href=l,a.download=this.getDownloadFilename(t),a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),setTimeout(()=>window.URL.revokeObjectURL(l),100),this.dispatchEvent(new CustomEvent("asset-download",{detail:t})),this.isDownloading=!1;return}catch(o){console.warn("No-cors strategy failed:",o)}try{let o=document.createElement("a");o.href=t.url,o.download=this.getDownloadFilename(t),o.target="_blank",o.rel="noopener noreferrer",o.style.position="absolute",o.style.left="-9999px",document.body.appendChild(o),o.click(),setTimeout(()=>{document.body.removeChild(o)},100),this.dispatchEvent(new CustomEvent("asset-download",{detail:t}))}catch(o){console.error("All download strategies failed:",o),window.open(t.url,"_blank")}this.isDownloading=!1}}getDownloadFilename(t){let o=Date.now(),s=this.getFileExtension(t);return`${t.name||`asset-${t.type}-${o}`}${s}`}getFileExtension(t){if(t.url){let l=new URL(t.url).pathname,a=l.lastIndexOf(".");if(a>0)return l.substring(a)}return{multimedia:".jpg",file:".bin",product:".jpg",faq:".txt"}[t.type]||""}async openModal(){this.asset&&(this.modalPortal=new S(this.asset,this.closeModal.bind(this)),await this.modalPortal.open())}onMaximize(){if(this.asset){if(this.asset.type==="multimedia"||this.asset.type==="file"){let t=this.asset,o=t.slides&&t.slides.length>0,s=t.format||"";if((s.includes("presentation")||s.includes("pdf")||s.includes("powerpoint")||s.includes("slides")||s.includes("application/vnd.ms-powerpoint")||s.includes("application/vnd.openxmlformats-officedocument.presentationml")||o&&t.slides.length>0)&&!o)return}this.asset.type==="multimedia"||this.asset.type==="file"||this.asset.type==="faq"?this.openModal():this.dispatchEvent(new CustomEvent("asset-click",{detail:this.asset}))}}closeModal(){this.modalPortal&&(this.modalPortal.close(),this.modalPortal=void 0)}render(){let t={...this.defaultDisplayOptions,...this.config?.assetDisplayOptions||{}};return this.loadingState==="loading"?z`
3522
3522
  <div class="ol-asset ol-asset--loading">
3523
3523
  ${this.assetRenderer.renderLoading()}
3524
3524
  </div>
@@ -3528,7 +3528,7 @@ video::-webkit-media-text-track-display {
3528
3528
  </div>
3529
3529
  `:this.asset?z`
3530
3530
  <div
3531
- class="ol-asset ${te({"ol-asset--compact":t.layout==="compact","ol-asset--minimal":t.layout==="minimal","ol-asset--small":t.size==="small","ol-asset--medium":t.size==="medium","ol-asset--large":t.size==="large","ol-asset--faq":this.asset.type==="faq"})}"
3531
+ class="ol-asset ${oe({"ol-asset--compact":t.layout==="compact","ol-asset--minimal":t.layout==="minimal","ol-asset--small":t.size==="small","ol-asset--medium":t.size==="medium","ol-asset--large":t.size==="large","ol-asset--faq":this.asset.type==="faq"})}"
3532
3532
  >
3533
3533
  ${this.assetRenderer.renderThumbnail(this.asset,t,this.onDownload.bind(this),this.isDownloading,this.onMaximize.bind(this))}
3534
3534
  ${this.assetRenderer.renderContent(this.asset,t)}
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
2
  "use strict";var p=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var S=(r,e)=>{for(var t in e)p(r,t,{get:e[t],enumerable:!0})},P=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of v(e))!y.call(r,s)&&s!==t&&p(r,s,{get:()=>e[s],enumerable:!(i=h(e,s))||i.enumerable});return r};var w=r=>P(p({},"__esModule",{value:!0}),r);var F={};S(F,{AssetLoaders:()=>m});module.exports=w(F);var d=class r{constructor(e){this.config=e}static initialize(e){return new r(e)}getBaseUrl(){return`${this.config.baseUrl}`}getHeaders(){return{"Content-Type":"application/json"}}async makeRequest(e,t={}){let i=`${this.getBaseUrl()}${e}`,s=await fetch(i,{...t,headers:{...this.getHeaders(),...t.headers}});if(!s.ok)throw new Error(`FAQs API error: ${s.status} ${s.statusText}`);return s.json()}async getSettingsByOrganization(e,t){try{let i=new URLSearchParams;t&&i.append("userGroupId",t);let s=i.toString(),o=`${this.getBaseUrl()}/settings/organization/${e}${s?`?${s}`:""}`,n=await fetch(o,{method:"GET",headers:this.getHeaders(),credentials:"include"});if(n.status===404)return null;if(!n.ok)throw new Error(`Failed to fetch settings: ${n.statusText}`);return await n.json()}catch(i){return console.error("Error fetching settings:",i),null}}async getFaqs(e={}){let t=new URLSearchParams;if(e.search&&t.append("search",e.search),e.organizationId&&t.append("organizationId",e.organizationId),e.groupId&&t.append("groupId",e.groupId),e.isActive!==void 0&&t.append("isActive",e.isActive.toString()),e.page&&t.append("page",e.page.toString()),e.limit&&t.append("limit",e.limit.toString()),e.sortBy&&t.append("sortBy",e.sortBy),e.sortOrder&&t.append("sortOrder",e.sortOrder),e.extraFilters){for(let[o,n]of Object.entries(e.extraFilters))if(n&&(Array.isArray(n)?n.length>0:n.toString().trim()!=="")){let a=Array.isArray(n)?n.join(","):n.toString();t.append(`extra_${o}`,a)}}let i=t.toString(),s=`/faqs${i?`?${i}`:""}`;return this.makeRequest(s)}async getFaqById(e){return this.makeRequest(`/faqs/${e}`,{})}};var c=async(r,e)=>{let t=await fetch(r,e);if(!t.ok){let i=await t.json().catch(()=>({}));throw new Error(JSON.stringify({status:t.status,statusText:t.statusText,...i}))}return t&&t.json()};var l=class r{constructor(e){this.config=e,this.enableUpload=e.enableUpload||!1}static getInstance(e){if(!r.instance&&e&&(r.instance=new r(e)),!r.instance)throw new Error("FileService must be initialized with config first");return r.instance}static initialize(e){return r.instance=new r(e),r.instance}async uploadFile(e,t={}){try{let i=await this.requestSignedUrl({filename:e.name,description:t.description,loadDirection:"up",bucketType:t.bucketType||"conversations",path:t.path||".temp",mimeType:e.type});return await this.uploadToSignedUrl(i.data.signedUrlData.signedUrl,e),{success:!0,id:i.data.file.id,name:i.data.file.name,url:i.data.file.url,type:i.data.file.type}}catch(i){return console.error("Error uploading file:",i),{success:!1,error:i instanceof Error?i.message:"Unknown error"}}}async requestSignedUrl(e){let t=`${this.config.baseUrl}/files/upload-url`;return this.makeRequest(t,{method:"POST",body:JSON.stringify(e)})}async uploadToSignedUrl(e,t){let i=await fetch(e,{method:"PUT",body:t,headers:{"Content-Type":t.type}});if(!i.ok){let s=await i.text().catch(()=>"No response");throw new Error(`Upload failed with status: ${i.status}. Response: ${s}`)}}async uploadFileWithRetry(e,t={}){let i=t.maxRetries||3,s=null;for(let o=1;o<=i;o++)try{let n=await this.uploadFile(e,t);if(n.success)return n;throw new Error(n.error||"Upload failed")}catch(n){if(s=n instanceof Error?n:new Error("Unknown error"),o===i)break;let a=2**o*1e3;await new Promise(f=>setTimeout(f,a))}return{success:!1,error:s?.message||"Upload failed after retries"}}async getFileById(e){let t=`${this.config.baseUrl}/files/${e}`,i=await this.makeRequest(t);if(!i.success)throw new Error("Failed to get file");return i.data}async makeRequest(e,t){let i={"Content-Type":"application/json"};return this.config.organizationId&&(i["X-Onlive-Organization-Id"]=this.config.organizationId),t?.headers&&Object.assign(i,t.headers),c(e,{...t,headers:i})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var g=class r{constructor(e){this.config=e}static getInstance(e){if(!r.instance&&e&&(r.instance=new r(e)),!r.instance)throw new Error("MultimediaService must be initialized with config first");return r.instance}static initialize(e){return r.instance=new r(e),r.instance}async getImages(e={}){let t=new URLSearchParams({type:"image",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let i=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(i)}async getVideos(e={}){let t=new URLSearchParams({type:"video",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let i=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(i)}async getPresentations(e={}){let t=new URLSearchParams({type:"presentation",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let i=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(i)}async getAllMultimedia(e={}){let[t,i,s]=await Promise.all([this.getImages(e),this.getVideos(e),this.getPresentations(e)]);return{images:t,videos:i,presentations:s}}async getMultimediaByToken(e){let t=`${this.config.baseUrl}/multimedia/secure-token/${e}`;return this.makeRequest(t,!1)}async searchMultimedia(e,t){let i={search:e,page:1,limit:50,includeSecureToken:!0};if(t)return this.getMultimediaByType(t,i);let[s,o,n]=await Promise.all([this.getImages(i),this.getVideos(i),this.getPresentations(i)]),a=[...s.items,...o.items,...n.items];return{items:a,total:a.length,count:a.length,currentPage:1,totalPages:1}}async getMultimediaByType(e,t){switch(e){case"image":return this.getImages(t);case"video":return this.getVideos(t);case"presentation":return this.getPresentations(t);default:throw new Error(`Invalid multimedia type: ${e}`)}}appendExtraFilters(e,t){if(t){for(let[i,s]of Object.entries(t))if(s&&(Array.isArray(s)?s.length>0:s.toString().trim()!=="")){let o=Array.isArray(s)?s.join(","):s.toString();e.append(`extra_${i}`,o)}}}async makeRequest(e,t=!0){let i={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return c(e,{method:"GET",headers:i,credentials:t?"include":void 0})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var u=class r{constructor(e){this.config=e}static getInstance(e){if(!r.instance&&e&&(r.instance=new r(e)),!r.instance)throw new Error("ProductService must be initialized with config first");return r.instance}static initialize(e){return r.instance=new r(e),r.instance}async getProducts(e={}){let t=new URLSearchParams({...e.title&&{title:e.title},...e.search&&{search:e.search},...e.category&&{category:e.category},...e.tags&&{tags:e.tags.join(",")},...e.sortBy&&{sortBy:e.sortBy},...e.sortOrder&&{sortOrder:e.sortOrder},...e.minPrice&&{minPrice:e.minPrice.toString()},...e.maxPrice&&{maxPrice:e.maxPrice.toString()},...e.inStock!==void 0&&{inStock:e.inStock.toString()},...e.offset&&{offset:e.offset.toString()},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});e.extraFields&&Object.keys(e.extraFields).length>0&&t.append("extraFields",JSON.stringify(e.extraFields));let i=`${this.config.baseUrl}/products?${t}`;return this.makeRequest(i,!0)}async getProductByToken(e){let t=`${this.config.baseUrl}/products/secure-token/${e}`;return this.makeRequest(t)}async searchProducts(e,t={}){return this.getProducts({...t,search:e})}async makeRequest(e,t=!1){let i={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return c(e,{method:"GET",headers:i,credentials:t?"include":"same-origin"})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var m=class{constructor(e){e?.multimediaService&&(this.multimediaService=g.initialize(e.multimediaService)),e?.faqsService&&(this.faqsService=d.initialize(e.faqsService)),e?.productService&&(this.productService=u.initialize(e.productService)),e?.fileService&&(this.fileService=l.initialize(e.fileService))}async loadAsset(e,t){switch(e){case"multimedia":return this.loadMultimediaAsset(t);case"product":return this.loadProductAsset(t);case"faq":return this.loadFaqAsset(t);case"file":return this.loadFileAsset(t);default:throw new Error(`Unsupported asset type: ${e}`)}}async loadMultimediaAsset(e){if(!this.multimediaService)throw new Error("MultimediaService not configured");let t=await this.multimediaService.getMultimediaByToken(e);if(!t)throw new Error("Multimedia not found");return{id:t.id,name:t.name,description:t.description||"",url:t.url,thumbnail:t.animatedCoverUrl||t.url,type:"multimedia",externalId:t.id,format:t.format,size:t.size||void 0,duration:t.duration||void 0,vodUrl:t.vodUrl||void 0,slides:t.slides||[],labels:t.labels,animatedCoverUrl:t.animatedCoverUrl||void 0,metadata:{organizationId:t.organizationId,status:t.status,createdAt:t.createdAt,updatedAt:t.updatedAt}}}async loadProductAsset(e){if(!this.productService)throw new Error("MultimediaService not configured");let t=await this.productService.getProductByToken(e);if(!t)throw new Error("Product not found");return{id:t.id,name:t.name,description:t.description,url:t.url,thumbnail:t.images?.[0],type:"product",externalId:t.externalId,price:t.price,currency:t.currency,category:t.category,tags:t.tags,images:t.images,variants:t.variants?.map(i=>({id:i.id,externalId:i.externalId,price:i.price,currency:i.currency,images:i.images})),options:t.options,metadata:{providerType:t.providerType,providerId:t.providerId,discountType:t.discountType,discount:t.discount,stock:t.stock,broken:t.broken}}}async loadFaqAsset(e){if(!this.faqsService)throw new Error("FaqsService not configured");let t=await this.faqsService.getFaqById(e);return{id:t.id,name:t.question,description:t.answer,url:`#faq-${t.id}`,type:"faq",externalId:t.id,question:t.question,answer:t.answer,priority:t.priority,isActive:t.isActive,metadata:{organizationId:t.organizationId,createdAt:t.createdAt,updatedAt:t.updatedAt}}}async loadFileAsset(e){if(!this.fileService)throw new Error("FileService not configured");let t=await this.fileService.getFileById(e),i=t.type||"",s=i.startsWith("video/"),o=i.startsWith("image/");return{id:t.id,name:t.name,description:t.description||"",url:t.url,thumbnail:o?t.url:void 0,type:"file",externalId:t.id,format:i,size:t.metadata?.size,duration:void 0,vodUrl:s?t.url:void 0,labels:[],animatedCoverUrl:s?t.url:void 0,metadata:{path:t.metadata?.path,bucketType:t.metadata?.bucketType,loadDirection:t.metadata?.loadDirection,createdAt:t.createdAt,updatedAt:t.updatedAt}}}};0&&(module.exports={AssetLoaders});
@@ -1,4 +1,4 @@
1
- /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
2
  import { AssetConfig, AssetType, IAsset } from './asset.types.cjs';
3
3
 
4
4
  declare class AssetLoaders {
@@ -1,4 +1,4 @@
1
- /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
2
  import { AssetConfig, AssetType, IAsset } from './asset.types.js';
3
3
 
4
4
  declare class AssetLoaders {
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
2
  var d=class r{constructor(e){this.config=e}static initialize(e){return new r(e)}getBaseUrl(){return`${this.config.baseUrl}`}getHeaders(){return{"Content-Type":"application/json"}}async makeRequest(e,t={}){let i=`${this.getBaseUrl()}${e}`,s=await fetch(i,{...t,headers:{...this.getHeaders(),...t.headers}});if(!s.ok)throw new Error(`FAQs API error: ${s.status} ${s.statusText}`);return s.json()}async getSettingsByOrganization(e,t){try{let i=new URLSearchParams;t&&i.append("userGroupId",t);let s=i.toString(),o=`${this.getBaseUrl()}/settings/organization/${e}${s?`?${s}`:""}`,n=await fetch(o,{method:"GET",headers:this.getHeaders(),credentials:"include"});if(n.status===404)return null;if(!n.ok)throw new Error(`Failed to fetch settings: ${n.statusText}`);return await n.json()}catch(i){return console.error("Error fetching settings:",i),null}}async getFaqs(e={}){let t=new URLSearchParams;if(e.search&&t.append("search",e.search),e.organizationId&&t.append("organizationId",e.organizationId),e.groupId&&t.append("groupId",e.groupId),e.isActive!==void 0&&t.append("isActive",e.isActive.toString()),e.page&&t.append("page",e.page.toString()),e.limit&&t.append("limit",e.limit.toString()),e.sortBy&&t.append("sortBy",e.sortBy),e.sortOrder&&t.append("sortOrder",e.sortOrder),e.extraFilters){for(let[o,n]of Object.entries(e.extraFilters))if(n&&(Array.isArray(n)?n.length>0:n.toString().trim()!=="")){let a=Array.isArray(n)?n.join(","):n.toString();t.append(`extra_${o}`,a)}}let i=t.toString(),s=`/faqs${i?`?${i}`:""}`;return this.makeRequest(s)}async getFaqById(e){return this.makeRequest(`/faqs/${e}`,{})}};var c=async(r,e)=>{let t=await fetch(r,e);if(!t.ok){let i=await t.json().catch(()=>({}));throw new Error(JSON.stringify({status:t.status,statusText:t.statusText,...i}))}return t&&t.json()};var l=class r{constructor(e){this.config=e,this.enableUpload=e.enableUpload||!1}static getInstance(e){if(!r.instance&&e&&(r.instance=new r(e)),!r.instance)throw new Error("FileService must be initialized with config first");return r.instance}static initialize(e){return r.instance=new r(e),r.instance}async uploadFile(e,t={}){try{let i=await this.requestSignedUrl({filename:e.name,description:t.description,loadDirection:"up",bucketType:t.bucketType||"conversations",path:t.path||".temp",mimeType:e.type});return await this.uploadToSignedUrl(i.data.signedUrlData.signedUrl,e),{success:!0,id:i.data.file.id,name:i.data.file.name,url:i.data.file.url,type:i.data.file.type}}catch(i){return console.error("Error uploading file:",i),{success:!1,error:i instanceof Error?i.message:"Unknown error"}}}async requestSignedUrl(e){let t=`${this.config.baseUrl}/files/upload-url`;return this.makeRequest(t,{method:"POST",body:JSON.stringify(e)})}async uploadToSignedUrl(e,t){let i=await fetch(e,{method:"PUT",body:t,headers:{"Content-Type":t.type}});if(!i.ok){let s=await i.text().catch(()=>"No response");throw new Error(`Upload failed with status: ${i.status}. Response: ${s}`)}}async uploadFileWithRetry(e,t={}){let i=t.maxRetries||3,s=null;for(let o=1;o<=i;o++)try{let n=await this.uploadFile(e,t);if(n.success)return n;throw new Error(n.error||"Upload failed")}catch(n){if(s=n instanceof Error?n:new Error("Unknown error"),o===i)break;let a=2**o*1e3;await new Promise(m=>setTimeout(m,a))}return{success:!1,error:s?.message||"Upload failed after retries"}}async getFileById(e){let t=`${this.config.baseUrl}/files/${e}`,i=await this.makeRequest(t);if(!i.success)throw new Error("Failed to get file");return i.data}async makeRequest(e,t){let i={"Content-Type":"application/json"};return this.config.organizationId&&(i["X-Onlive-Organization-Id"]=this.config.organizationId),t?.headers&&Object.assign(i,t.headers),c(e,{...t,headers:i})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var g=class r{constructor(e){this.config=e}static getInstance(e){if(!r.instance&&e&&(r.instance=new r(e)),!r.instance)throw new Error("MultimediaService must be initialized with config first");return r.instance}static initialize(e){return r.instance=new r(e),r.instance}async getImages(e={}){let t=new URLSearchParams({type:"image",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let i=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(i)}async getVideos(e={}){let t=new URLSearchParams({type:"video",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let i=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(i)}async getPresentations(e={}){let t=new URLSearchParams({type:"presentation",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let i=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(i)}async getAllMultimedia(e={}){let[t,i,s]=await Promise.all([this.getImages(e),this.getVideos(e),this.getPresentations(e)]);return{images:t,videos:i,presentations:s}}async getMultimediaByToken(e){let t=`${this.config.baseUrl}/multimedia/secure-token/${e}`;return this.makeRequest(t,!1)}async searchMultimedia(e,t){let i={search:e,page:1,limit:50,includeSecureToken:!0};if(t)return this.getMultimediaByType(t,i);let[s,o,n]=await Promise.all([this.getImages(i),this.getVideos(i),this.getPresentations(i)]),a=[...s.items,...o.items,...n.items];return{items:a,total:a.length,count:a.length,currentPage:1,totalPages:1}}async getMultimediaByType(e,t){switch(e){case"image":return this.getImages(t);case"video":return this.getVideos(t);case"presentation":return this.getPresentations(t);default:throw new Error(`Invalid multimedia type: ${e}`)}}appendExtraFilters(e,t){if(t){for(let[i,s]of Object.entries(t))if(s&&(Array.isArray(s)?s.length>0:s.toString().trim()!=="")){let o=Array.isArray(s)?s.join(","):s.toString();e.append(`extra_${i}`,o)}}}async makeRequest(e,t=!0){let i={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return c(e,{method:"GET",headers:i,credentials:t?"include":void 0})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var u=class r{constructor(e){this.config=e}static getInstance(e){if(!r.instance&&e&&(r.instance=new r(e)),!r.instance)throw new Error("ProductService must be initialized with config first");return r.instance}static initialize(e){return r.instance=new r(e),r.instance}async getProducts(e={}){let t=new URLSearchParams({...e.title&&{title:e.title},...e.search&&{search:e.search},...e.category&&{category:e.category},...e.tags&&{tags:e.tags.join(",")},...e.sortBy&&{sortBy:e.sortBy},...e.sortOrder&&{sortOrder:e.sortOrder},...e.minPrice&&{minPrice:e.minPrice.toString()},...e.maxPrice&&{maxPrice:e.maxPrice.toString()},...e.inStock!==void 0&&{inStock:e.inStock.toString()},...e.offset&&{offset:e.offset.toString()},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});e.extraFields&&Object.keys(e.extraFields).length>0&&t.append("extraFields",JSON.stringify(e.extraFields));let i=`${this.config.baseUrl}/products?${t}`;return this.makeRequest(i,!0)}async getProductByToken(e){let t=`${this.config.baseUrl}/products/secure-token/${e}`;return this.makeRequest(t)}async searchProducts(e,t={}){return this.getProducts({...t,search:e})}async makeRequest(e,t=!1){let i={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return c(e,{method:"GET",headers:i,credentials:t?"include":"same-origin"})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var p=class{constructor(e){e?.multimediaService&&(this.multimediaService=g.initialize(e.multimediaService)),e?.faqsService&&(this.faqsService=d.initialize(e.faqsService)),e?.productService&&(this.productService=u.initialize(e.productService)),e?.fileService&&(this.fileService=l.initialize(e.fileService))}async loadAsset(e,t){switch(e){case"multimedia":return this.loadMultimediaAsset(t);case"product":return this.loadProductAsset(t);case"faq":return this.loadFaqAsset(t);case"file":return this.loadFileAsset(t);default:throw new Error(`Unsupported asset type: ${e}`)}}async loadMultimediaAsset(e){if(!this.multimediaService)throw new Error("MultimediaService not configured");let t=await this.multimediaService.getMultimediaByToken(e);if(!t)throw new Error("Multimedia not found");return{id:t.id,name:t.name,description:t.description||"",url:t.url,thumbnail:t.animatedCoverUrl||t.url,type:"multimedia",externalId:t.id,format:t.format,size:t.size||void 0,duration:t.duration||void 0,vodUrl:t.vodUrl||void 0,slides:t.slides||[],labels:t.labels,animatedCoverUrl:t.animatedCoverUrl||void 0,metadata:{organizationId:t.organizationId,status:t.status,createdAt:t.createdAt,updatedAt:t.updatedAt}}}async loadProductAsset(e){if(!this.productService)throw new Error("MultimediaService not configured");let t=await this.productService.getProductByToken(e);if(!t)throw new Error("Product not found");return{id:t.id,name:t.name,description:t.description,url:t.url,thumbnail:t.images?.[0],type:"product",externalId:t.externalId,price:t.price,currency:t.currency,category:t.category,tags:t.tags,images:t.images,variants:t.variants?.map(i=>({id:i.id,externalId:i.externalId,price:i.price,currency:i.currency,images:i.images})),options:t.options,metadata:{providerType:t.providerType,providerId:t.providerId,discountType:t.discountType,discount:t.discount,stock:t.stock,broken:t.broken}}}async loadFaqAsset(e){if(!this.faqsService)throw new Error("FaqsService not configured");let t=await this.faqsService.getFaqById(e);return{id:t.id,name:t.question,description:t.answer,url:`#faq-${t.id}`,type:"faq",externalId:t.id,question:t.question,answer:t.answer,priority:t.priority,isActive:t.isActive,metadata:{organizationId:t.organizationId,createdAt:t.createdAt,updatedAt:t.updatedAt}}}async loadFileAsset(e){if(!this.fileService)throw new Error("FileService not configured");let t=await this.fileService.getFileById(e),i=t.type||"",s=i.startsWith("video/"),o=i.startsWith("image/");return{id:t.id,name:t.name,description:t.description||"",url:t.url,thumbnail:o?t.url:void 0,type:"file",externalId:t.id,format:i,size:t.metadata?.size,duration:void 0,vodUrl:s?t.url:void 0,labels:[],animatedCoverUrl:s?t.url:void 0,metadata:{path:t.metadata?.path,bucketType:t.metadata?.bucketType,loadDirection:t.metadata?.loadDirection,createdAt:t.createdAt,updatedAt:t.updatedAt}}}};export{p as AssetLoaders};
@@ -1,5 +1,5 @@
1
- /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
2
- "use strict";var Y=Object.create;var c=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var J=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var P=(i,e)=>{for(var o in e)c(i,o,{get:e[o],enumerable:!0})},A=(i,e,o,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of B(e))!C.call(i,n)&&n!==o&&c(i,n,{get:()=>e[n],enumerable:!(t=y(e,n))||t.enumerable});return i};var h=(i,e,o)=>(o=i!=null?Y(J(i)):{},A(e||!i||!i.__esModule?c(o,"default",{value:i,enumerable:!0}):o,i)),E=i=>A(c({},"__esModule",{value:!0}),i),u=(i,e,o,t)=>{for(var n=t>1?void 0:t?y(e,o):e,v=i.length-1,j;v>=0;v--)(j=i[v])&&(n=(t?j(e,o,n):j(n))||n);return t&&n&&c(e,o,n),n};var D={};P(D,{AssetRenderer:()=>g});module.exports=E(D);var s=require("lit"),T=require("lit/directives/class-map.js"),d=require("lit/directives/if-defined.js"),r=require("lit/directives/when.js");var k=require("lit/directives/unsafe-html.js");var b=h(require("dompurify"),1),F={ALLOWED_TAGS:["p","br","span","b","strong","i","em","u","s","del","ul","ol","li","code","pre","a","h1","h2","h3","h4","table","thead","tbody","tr","th","td"],ALLOWED_ATTR:["href","target","rel","title","aria-label","role","colspan","rowspan"],FORCE_HTTPS:!0,ALLOW_DATA_ATTR:!1};b.default.addHook("afterSanitizeAttributes",i=>{"target"in i&&i.target==="_blank"&&i.setAttribute("rel","noopener noreferrer")});var w=(i,e=F)=>b.default.sanitize(i,e);function x(i=""){return(0,k.unsafeHTML)(w(i,{ADD_ATTR:["target","rel"],ADD_TAGS:["ol-"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:/^ol-/,attributeNameCheck:null,allowCustomizedBuiltInElements:!0}}))}var H=(i,e)=>(customElements.get(i)?console.debug(`Custom element <${i}> is already defined, skipping definition of ${e.name}.`):window.customElements.define(i,e),e),L=(i,e)=>{let{kind:o,elements:t}=e;return{kind:o,elements:t,finisher(n){customElements.get(i)||window.customElements.define(i,n)}}},z=i=>e=>typeof e=="function"?H(i,e):L(i,e);var O=require("@onlive.ai/ui/dist/components/button/button.js"),X=require("@onlive.ai/ui/dist/components/icon/icon.js"),p=require("lit"),f=require("lit/decorators.js"),V=require("lit/directives/repeat.js"),_=h(require("video.js"),1);var m=require("lit"),S=h(require("video.js/dist/video-js.min.css?inline"),1),M=m.css`
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ "use strict";var Y=Object.create;var c=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var J=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var P=(i,e)=>{for(var o in e)c(i,o,{get:e[o],enumerable:!0})},A=(i,e,o,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of B(e))!C.call(i,n)&&n!==o&&c(i,n,{get:()=>e[n],enumerable:!(t=y(e,n))||t.enumerable});return i};var h=(i,e,o)=>(o=i!=null?Y(J(i)):{},A(e||!i||!i.__esModule?c(o,"default",{value:i,enumerable:!0}):o,i)),E=i=>A(c({},"__esModule",{value:!0}),i),u=(i,e,o,t)=>{for(var n=t>1?void 0:t?y(e,o):e,v=i.length-1,j;v>=0;v--)(j=i[v])&&(n=(t?j(e,o,n):j(n))||n);return t&&n&&c(e,o,n),n};var R={};P(R,{AssetRenderer:()=>g});module.exports=E(R);var s=require("lit"),T=require("lit/directives/class-map.js"),d=require("lit/directives/if-defined.js"),r=require("lit/directives/when.js");var k=require("lit/directives/unsafe-html.js");var b=h(require("dompurify"),1),H={ALLOWED_TAGS:["p","br","span","b","strong","i","em","u","s","del","ul","ol","li","code","pre","a","h1","h2","h3","h4","table","thead","tbody","tr","th","td"],ALLOWED_ATTR:["href","target","rel","title","aria-label","role","colspan","rowspan"],FORCE_HTTPS:!0,ALLOW_DATA_ATTR:!1};b.default.addHook("afterSanitizeAttributes",i=>{"target"in i&&i.target==="_blank"&&i.setAttribute("rel","noopener noreferrer")});var w=(i,e=H)=>b.default.sanitize(i,e);function x(i=""){return(0,k.unsafeHTML)(F(i))}function F(i=""){return w(i,{ADD_ATTR:["target","rel"],ADD_TAGS:["ol-"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:/^ol-/,attributeNameCheck:null,allowCustomizedBuiltInElements:!0}})}var L=(i,e)=>(customElements.get(i)?console.debug(`Custom element <${i}> is already defined, skipping definition of ${e.name}.`):window.customElements.define(i,e),e),D=(i,e)=>{let{kind:o,elements:t}=e;return{kind:o,elements:t,finisher(n){customElements.get(i)||window.customElements.define(i,n)}}},z=i=>e=>typeof e=="function"?L(i,e):D(i,e);var X=require("@onlive.ai/ui/dist/components/button/button.js"),Q=require("@onlive.ai/ui/dist/components/icon/icon.js"),p=require("lit"),f=require("lit/decorators.js"),V=require("lit/directives/repeat.js"),_=h(require("video.js"),1);var m=require("lit"),S=h(require("video.js/dist/video-js.min.css?inline"),1),M=m.css`
3
3
  ${(0,m.unsafeCSS)(S.default)}
4
4
  .och__player {
5
5
  width: 100%;
@@ -2048,13 +2048,13 @@ video::-webkit-media-text-track-display {
2048
2048
  ${this.renderThumbnailOverlay(e)}
2049
2049
  ${this.renderHoverOverlay(e,t,v,n)}
2050
2050
  </div>
2051
- `}renderThumbnailContent(e){switch(e.type){case"multimedia":{let o=e;switch(this.getMultimediaSubtype(o)){case"video":return this.renderVideoThumbnail(o);case"presentation":return this.renderPresentationThumbnail(o);case"image":default:return s.html`
2051
+ `}renderThumbnailContent(e){switch(e.type){case"multimedia":{let o=e;switch(this.getMultimediaSubtype(o)){case"video":return this.renderVideoThumbnail(o);case"presentation":return this.renderPresentationThumbnail(o);default:return s.html`
2052
2052
  <img
2053
2053
  src="${(0,d.ifDefined)(o.thumbnail||o.url)}"
2054
2054
  alt="${o.name}"
2055
2055
  class="ol-asset__image"
2056
2056
  />
2057
- `}}case"file":{let o=e;switch(this.getMultimediaSubtype(o)){case"video":return this.renderVideoThumbnail(o);case"presentation":return this.renderPresentationThumbnail(o);case"image":default:return s.html`
2057
+ `}}case"file":{let o=e;switch(this.getMultimediaSubtype(o)){case"video":return this.renderVideoThumbnail(o);case"presentation":return this.renderPresentationThumbnail(o);default:return s.html`
2058
2058
  <img
2059
2059
  src="${(0,d.ifDefined)(o.thumbnail||o.url)}"
2060
2060
  alt="${o.name}"
@@ -1,4 +1,4 @@
1
- /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
2
  import { TemplateResult } from 'lit';
3
3
  import '../player/player.cjs';
4
4
  import { IAsset, AssetDisplayOptions } from './asset.types.cjs';
@@ -1,4 +1,4 @@
1
- /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
2
  import { TemplateResult } from 'lit';
3
3
  import '../player/player.js';
4
4
  import { IAsset, AssetDisplayOptions } from './asset.types.js';