@onlive.ai/common-121 0.2.227 → 0.2.230

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 (508) hide show
  1. package/{audi-dark.theme-CmBU76BS.d.cts → audi-dark.theme-BDa-xEbe.d.cts} +1 -1
  2. package/{audi-dark.theme-CmBU76BS.d.ts → audi-dark.theme-BDa-xEbe.d.ts} +1 -1
  3. package/{audi.theme-Dv00cyiq.d.cts → audi.theme-B-t6TJ4Q.d.cts} +1 -1
  4. package/{audi.theme-Dv00cyiq.d.ts → audi.theme-B-t6TJ4Q.d.ts} +1 -1
  5. package/{australia.theme-MBhnmXS4.d.cts → australia.theme-Do8ilkFN.d.cts} +1 -1
  6. package/{australia.theme-MBhnmXS4.d.ts → australia.theme-Do8ilkFN.d.ts} +1 -1
  7. package/{chunk-QP5HM4T4.js → chunk-5KMLMQ5U.js} +1 -1
  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 +38 -39
  13. package/components/asset/asset.d.cts +1 -1
  14. package/components/asset/asset.d.ts +1 -1
  15. package/components/asset/asset.js +28 -29
  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 +77 -78
  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 +20 -21
  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 +38 -39
  33. package/components/asset/index.d.cts +1 -1
  34. package/components/asset/index.d.ts +1 -1
  35. package/components/asset/index.js +28 -29
  36. package/components/player/player.cjs +5 -6
  37. package/components/player/player.d.cts +6 -1
  38. package/components/player/player.d.ts +6 -1
  39. package/components/player/player.js +6 -7
  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 +15 -16
  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 +9 -10
  48. package/components/side-bar/side-bar.cjs +9 -10
  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 +9 -10
  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-CUjrY9Xc.d.cts → cuernavaca.theme-C7eI43Ti.d.cts} +1 -1
  77. package/{cuernavaca.theme-CUjrY9Xc.d.ts → cuernavaca.theme-C7eI43Ti.d.ts} +1 -1
  78. package/{cupra-diagonal.theme-CpQckNhJ.d.cts → cupra-diagonal.theme-CTnux7Xn.d.cts} +1 -1
  79. package/{cupra-diagonal.theme-CpQckNhJ.d.ts → cupra-diagonal.theme-CTnux7Xn.d.ts} +1 -1
  80. package/{cupra-events.theme-cVqmX62Y.d.cts → cupra-events.theme-DVzhEs0S.d.cts} +1 -1
  81. package/{cupra-events.theme-cVqmX62Y.d.ts → cupra-events.theme-DVzhEs0S.d.ts} +1 -1
  82. package/{cupra.theme-DKaGh_O3.d.cts → cupra.theme-DGD1gXAe.d.cts} +1 -1
  83. package/{cupra.theme-DKaGh_O3.d.ts → cupra.theme-DGD1gXAe.d.ts} +1 -1
  84. package/{dark-BxHAJ7kM.d.cts → dark-Bp5g8THy.d.cts} +1 -1
  85. package/{dark-BxHAJ7kM.d.ts → dark-Bp5g8THy.d.ts} +1 -1
  86. package/{germany.theme-nFG04X6c.d.cts → germany.theme-Dr2KwHjU.d.cts} +1 -1
  87. package/{germany.theme-nFG04X6c.d.ts → germany.theme-Dr2KwHjU.d.ts} +1 -1
  88. package/{hyundai.theme-Dxmi6-Jk.d.cts → hyundai.theme-a4zB1THd.d.cts} +1 -1
  89. package/{hyundai.theme-Dxmi6-Jk.d.ts → hyundai.theme-a4zB1THd.d.ts} +1 -1
  90. package/index.cjs +13 -14
  91. package/index.d.cts +7 -2
  92. package/index.d.ts +7 -2
  93. package/index.iife.js +99 -100
  94. package/index.js +114 -115
  95. package/{italy.theme-ghaT8KXg.d.cts → italy.theme-jr09Vs7Z.d.cts} +1 -1
  96. package/{italy.theme-ghaT8KXg.d.ts → italy.theme-jr09Vs7Z.d.ts} +1 -1
  97. package/{jac-dark.theme-DdqAsf4f.d.cts → jac-dark.theme-CnuWig-V.d.cts} +1 -1
  98. package/{jac-dark.theme-DdqAsf4f.d.ts → jac-dark.theme-CnuWig-V.d.ts} +1 -1
  99. package/{jac.theme-Di6EpMHt.d.cts → jac.theme-CLx_Lx9m.d.cts} +1 -1
  100. package/{jac.theme-Di6EpMHt.d.ts → jac.theme-CLx_Lx9m.d.ts} +1 -1
  101. package/{light-BlLrq4kY.d.cts → light-SRZLDwc5.d.cts} +1 -1
  102. package/{light-BlLrq4kY.d.ts → light-SRZLDwc5.d.ts} +1 -1
  103. package/{magimix.theme-BPqGCjtn.d.cts → magimix.theme-BBI5gGGE.d.cts} +1 -1
  104. package/{magimix.theme-BPqGCjtn.d.ts → magimix.theme-BBI5gGGE.d.ts} +1 -1
  105. package/{media-PYNZP2A2.js → media-SMLGLG2N.js} +2 -2
  106. package/{onlive-ai.theme-DhO68-0D.d.cts → onlive-ai.theme-BzWL7xq-.d.cts} +1 -1
  107. package/{onlive-ai.theme-DhO68-0D.d.ts → onlive-ai.theme-BzWL7xq-.d.ts} +1 -1
  108. package/{onlive.theme-DLBUb-9X.d.cts → onlive.theme-wChpAYgO.d.cts} +1 -1
  109. package/{onlive.theme-DLBUb-9X.d.ts → onlive.theme-wChpAYgO.d.ts} +1 -1
  110. package/package.json +2 -2
  111. package/peugeot.theme-2goyfg2G.d.cts +11 -0
  112. package/peugeot.theme-2goyfg2G.d.ts +11 -0
  113. package/react/components/asset/Asset.cjs +1 -1
  114. package/react/components/asset/Asset.jsx +1 -1
  115. package/react/components/side-bar/SideBar.cjs +1 -1
  116. package/react/components/side-bar/SideBar.jsx +1 -1
  117. package/react/components/upload/Upload.cjs +1 -1
  118. package/react/components/upload/Upload.jsx +1 -1
  119. package/{seat-cupra.theme-qDT2y1oc.d.cts → seat-cupra.theme-CmR-q7Xu.d.cts} +1 -1
  120. package/{seat-cupra.theme-qDT2y1oc.d.ts → seat-cupra.theme-CmR-q7Xu.d.ts} +1 -1
  121. package/{seat.theme-CLUnSkVY.d.cts → seat.theme-BCvHF65K.d.cts} +1 -1
  122. package/{seat.theme-CLUnSkVY.d.ts → seat.theme-BCvHF65K.d.ts} +1 -1
  123. package/services/audio.service.cjs +1 -1
  124. package/services/audio.service.d.cts +1 -1
  125. package/services/audio.service.d.ts +1 -1
  126. package/services/audio.service.js +1 -1
  127. package/services/conversation/conversation.service.cjs +1 -1
  128. package/services/conversation/conversation.service.d.cts +1 -1
  129. package/services/conversation/conversation.service.d.ts +1 -1
  130. package/services/conversation/conversation.service.js +1 -1
  131. package/services/conversation/conversation.types.cjs +1 -1
  132. package/services/conversation/conversation.types.d.cts +1 -1
  133. package/services/conversation/conversation.types.d.ts +1 -1
  134. package/services/conversation/conversation.types.js +1 -1
  135. package/services/conversation/index.cjs +1 -1
  136. package/services/conversation/index.d.cts +1 -1
  137. package/services/conversation/index.d.ts +1 -1
  138. package/services/conversation/index.js +1 -1
  139. package/services/conversation/mock/actor/agent.cjs +1 -1
  140. package/services/conversation/mock/actor/agent.d.cts +1 -1
  141. package/services/conversation/mock/actor/agent.d.ts +1 -1
  142. package/services/conversation/mock/actor/agent.js +1 -1
  143. package/services/conversation/mock/actor/index.cjs +1 -1
  144. package/services/conversation/mock/actor/index.d.cts +1 -1
  145. package/services/conversation/mock/actor/index.d.ts +1 -1
  146. package/services/conversation/mock/actor/index.js +1 -1
  147. package/services/conversation/mock/actor/strategies.cjs +1 -1
  148. package/services/conversation/mock/actor/strategies.d.cts +1 -1
  149. package/services/conversation/mock/actor/strategies.d.ts +1 -1
  150. package/services/conversation/mock/actor/strategies.js +1 -1
  151. package/services/conversation/mock/errors.cjs +1 -1
  152. package/services/conversation/mock/errors.d.cts +1 -1
  153. package/services/conversation/mock/errors.d.ts +1 -1
  154. package/services/conversation/mock/errors.js +1 -1
  155. package/services/conversation/mock/events.cjs +1 -1
  156. package/services/conversation/mock/events.d.cts +1 -1
  157. package/services/conversation/mock/events.d.ts +1 -1
  158. package/services/conversation/mock/events.js +1 -1
  159. package/services/conversation/mock/factory.cjs +1 -1
  160. package/services/conversation/mock/factory.d.cts +1 -1
  161. package/services/conversation/mock/factory.d.ts +1 -1
  162. package/services/conversation/mock/factory.js +1 -1
  163. package/services/conversation/mock/fixtures.cjs +1 -1
  164. package/services/conversation/mock/fixtures.d.cts +1 -1
  165. package/services/conversation/mock/fixtures.d.ts +1 -1
  166. package/services/conversation/mock/fixtures.js +1 -1
  167. package/services/conversation/mock/generators.cjs +1 -1
  168. package/services/conversation/mock/generators.d.cts +1 -1
  169. package/services/conversation/mock/generators.d.ts +1 -1
  170. package/services/conversation/mock/generators.js +1 -1
  171. package/services/conversation/mock/index.cjs +1 -1
  172. package/services/conversation/mock/index.d.cts +1 -1
  173. package/services/conversation/mock/index.d.ts +1 -1
  174. package/services/conversation/mock/index.js +1 -1
  175. package/services/conversation/mock/livekit/index.cjs +1 -1
  176. package/services/conversation/mock/livekit/index.d.cts +1 -1
  177. package/services/conversation/mock/livekit/index.d.ts +1 -1
  178. package/services/conversation/mock/livekit/index.js +1 -1
  179. package/services/conversation/mock/livekit/local-participant.cjs +1 -1
  180. package/services/conversation/mock/livekit/local-participant.d.cts +1 -1
  181. package/services/conversation/mock/livekit/local-participant.d.ts +1 -1
  182. package/services/conversation/mock/livekit/local-participant.js +1 -1
  183. package/services/conversation/mock/livekit/participant.cjs +1 -1
  184. package/services/conversation/mock/livekit/participant.d.cts +1 -1
  185. package/services/conversation/mock/livekit/participant.d.ts +1 -1
  186. package/services/conversation/mock/livekit/participant.js +1 -1
  187. package/services/conversation/mock/livekit/room.cjs +1 -1
  188. package/services/conversation/mock/livekit/room.d.cts +1 -1
  189. package/services/conversation/mock/livekit/room.d.ts +1 -1
  190. package/services/conversation/mock/livekit/room.js +1 -1
  191. package/services/conversation/mock/livekit/streams.cjs +1 -1
  192. package/services/conversation/mock/livekit/streams.d.cts +1 -1
  193. package/services/conversation/mock/livekit/streams.d.ts +1 -1
  194. package/services/conversation/mock/livekit/streams.js +1 -1
  195. package/services/conversation/mock/livekit/tracks.cjs +1 -1
  196. package/services/conversation/mock/livekit/tracks.d.cts +1 -1
  197. package/services/conversation/mock/livekit/tracks.d.ts +1 -1
  198. package/services/conversation/mock/livekit/tracks.js +1 -1
  199. package/services/conversation/mock/media.cjs +1 -1
  200. package/services/conversation/mock/media.d.cts +1 -1
  201. package/services/conversation/mock/media.d.ts +1 -1
  202. package/services/conversation/mock/media.js +1 -1
  203. package/services/conversation/mock/service.cjs +1 -1
  204. package/services/conversation/mock/service.d.cts +1 -1
  205. package/services/conversation/mock/service.d.ts +1 -1
  206. package/services/conversation/mock/service.js +1 -1
  207. package/services/conversation/mock/service.test.cjs +1 -1
  208. package/services/conversation/mock/service.test.d.cts +1 -1
  209. package/services/conversation/mock/service.test.d.ts +1 -1
  210. package/services/conversation/mock/service.test.js +1 -1
  211. package/services/conversation/mock/state.cjs +1 -1
  212. package/services/conversation/mock/state.d.cts +1 -1
  213. package/services/conversation/mock/state.d.ts +1 -1
  214. package/services/conversation/mock/state.js +1 -1
  215. package/services/conversation/mock/storybook.cjs +1 -1
  216. package/services/conversation/mock/storybook.d.cts +1 -1
  217. package/services/conversation/mock/storybook.d.ts +1 -1
  218. package/services/conversation/mock/storybook.js +1 -1
  219. package/services/conversation/mock/types.cjs +1 -1
  220. package/services/conversation/mock/types.d.cts +1 -1
  221. package/services/conversation/mock/types.d.ts +1 -1
  222. package/services/conversation/mock/types.js +1 -1
  223. package/services/deep-link.service.cjs +1 -1
  224. package/services/deep-link.service.d.cts +1 -1
  225. package/services/deep-link.service.d.ts +1 -1
  226. package/services/deep-link.service.js +1 -1
  227. package/services/faqs/faqs.service.cjs +1 -1
  228. package/services/faqs/faqs.service.d.cts +1 -1
  229. package/services/faqs/faqs.service.d.ts +1 -1
  230. package/services/faqs/faqs.service.js +1 -1
  231. package/services/faqs/faqs.types.cjs +1 -1
  232. package/services/faqs/faqs.types.d.cts +1 -1
  233. package/services/faqs/faqs.types.d.ts +1 -1
  234. package/services/faqs/faqs.types.js +1 -1
  235. package/services/faqs/index.cjs +1 -1
  236. package/services/faqs/index.d.cts +1 -1
  237. package/services/faqs/index.d.ts +1 -1
  238. package/services/faqs/index.js +1 -1
  239. package/services/file/file.service.cjs +1 -1
  240. package/services/file/file.service.d.cts +1 -1
  241. package/services/file/file.service.d.ts +1 -1
  242. package/services/file/file.service.js +1 -1
  243. package/services/file/file.types.cjs +1 -1
  244. package/services/file/file.types.d.cts +1 -1
  245. package/services/file/file.types.d.ts +1 -1
  246. package/services/file/file.types.js +1 -1
  247. package/services/file/index.cjs +1 -1
  248. package/services/file/index.d.cts +1 -1
  249. package/services/file/index.d.ts +1 -1
  250. package/services/file/index.js +1 -1
  251. package/services/firebase/firebase-api.cjs +1 -1
  252. package/services/firebase/firebase-api.d.cts +1 -1
  253. package/services/firebase/firebase-api.d.ts +1 -1
  254. package/services/firebase/firebase-api.js +1 -1
  255. package/services/multimedia/config.example.cjs +1 -1
  256. package/services/multimedia/config.example.d.cts +1 -1
  257. package/services/multimedia/config.example.d.ts +1 -1
  258. package/services/multimedia/config.example.js +1 -1
  259. package/services/multimedia/index.cjs +1 -1
  260. package/services/multimedia/index.d.cts +1 -1
  261. package/services/multimedia/index.d.ts +1 -1
  262. package/services/multimedia/index.js +1 -1
  263. package/services/multimedia/multimedia.service.cjs +1 -1
  264. package/services/multimedia/multimedia.service.d.cts +1 -1
  265. package/services/multimedia/multimedia.service.d.ts +1 -1
  266. package/services/multimedia/multimedia.service.js +1 -1
  267. package/services/multimedia/multimedia.types.cjs +1 -1
  268. package/services/multimedia/multimedia.types.d.cts +1 -1
  269. package/services/multimedia/multimedia.types.d.ts +1 -1
  270. package/services/multimedia/multimedia.types.js +1 -1
  271. package/services/product/index.cjs +1 -1
  272. package/services/product/index.d.cts +1 -1
  273. package/services/product/index.d.ts +1 -1
  274. package/services/product/index.js +1 -1
  275. package/services/product/product.service.cjs +1 -1
  276. package/services/product/product.service.d.cts +1 -1
  277. package/services/product/product.service.d.ts +1 -1
  278. package/services/product/product.service.js +1 -1
  279. package/services/product/product.types.cjs +1 -1
  280. package/services/product/product.types.d.cts +1 -1
  281. package/services/product/product.types.d.ts +1 -1
  282. package/services/product/product.types.js +1 -1
  283. package/services/request.provider.cjs +1 -1
  284. package/services/request.provider.d.cts +1 -1
  285. package/services/request.provider.d.ts +1 -1
  286. package/services/request.provider.js +1 -1
  287. package/services/session.service.cjs +1 -1
  288. package/services/session.service.d.cts +1 -1
  289. package/services/session.service.d.ts +1 -1
  290. package/services/session.service.js +1 -1
  291. package/services/sessions-api.service.cjs +1 -1
  292. package/services/sessions-api.service.d.cts +1 -1
  293. package/services/sessions-api.service.d.ts +1 -1
  294. package/services/sessions-api.service.js +1 -1
  295. package/services/sessions.controller.cjs +1 -1
  296. package/services/sessions.controller.d.cts +1 -1
  297. package/services/sessions.controller.d.ts +1 -1
  298. package/services/sessions.controller.js +1 -1
  299. package/services/sessions.types.cjs +1 -1
  300. package/services/sessions.types.d.cts +1 -1
  301. package/services/sessions.types.d.ts +1 -1
  302. package/services/sessions.types.js +1 -1
  303. package/services/upload/index.cjs +1 -1
  304. package/services/upload/index.d.cts +1 -1
  305. package/services/upload/index.d.ts +1 -1
  306. package/services/upload/index.js +1 -1
  307. package/services/upload/upload.service.cjs +1 -1
  308. package/services/upload/upload.service.d.cts +1 -1
  309. package/services/upload/upload.service.d.ts +1 -1
  310. package/services/upload/upload.service.js +1 -1
  311. package/{skoda.theme-ChGMp526.d.cts → skoda.theme-BCNfnrlu.d.cts} +1 -1
  312. package/{skoda.theme-ChGMp526.d.ts → skoda.theme-BCNfnrlu.d.ts} +1 -1
  313. package/themes/custom/audi-dark.theme.cjs +1 -1
  314. package/themes/custom/audi-dark.theme.d.cts +2 -2
  315. package/themes/custom/audi-dark.theme.d.ts +2 -2
  316. package/themes/custom/audi-dark.theme.js +1 -1
  317. package/themes/custom/audi.theme.cjs +1 -1
  318. package/themes/custom/audi.theme.d.cts +2 -2
  319. package/themes/custom/audi.theme.d.ts +2 -2
  320. package/themes/custom/audi.theme.js +1 -1
  321. package/themes/custom/australia.theme.cjs +1 -1
  322. package/themes/custom/australia.theme.d.cts +2 -2
  323. package/themes/custom/australia.theme.d.ts +2 -2
  324. package/themes/custom/australia.theme.js +1 -1
  325. package/themes/custom/cuernavaca.theme.cjs +1 -1
  326. package/themes/custom/cuernavaca.theme.d.cts +2 -2
  327. package/themes/custom/cuernavaca.theme.d.ts +2 -2
  328. package/themes/custom/cuernavaca.theme.js +1 -1
  329. package/themes/custom/cupra-diagonal.theme.cjs +1 -1
  330. package/themes/custom/cupra-diagonal.theme.d.cts +2 -2
  331. package/themes/custom/cupra-diagonal.theme.d.ts +2 -2
  332. package/themes/custom/cupra-diagonal.theme.js +1 -1
  333. package/themes/custom/cupra-events.theme.cjs +1 -1
  334. package/themes/custom/cupra-events.theme.d.cts +2 -2
  335. package/themes/custom/cupra-events.theme.d.ts +2 -2
  336. package/themes/custom/cupra-events.theme.js +1 -1
  337. package/themes/custom/cupra.theme.cjs +1 -1
  338. package/themes/custom/cupra.theme.d.cts +2 -2
  339. package/themes/custom/cupra.theme.d.ts +2 -2
  340. package/themes/custom/cupra.theme.js +1 -1
  341. package/themes/custom/germany.theme.cjs +1 -1
  342. package/themes/custom/germany.theme.d.cts +2 -2
  343. package/themes/custom/germany.theme.d.ts +2 -2
  344. package/themes/custom/germany.theme.js +1 -1
  345. package/themes/custom/glass.theme.cjs +1 -1
  346. package/themes/custom/glass.theme.d.cts +1 -1
  347. package/themes/custom/glass.theme.d.ts +1 -1
  348. package/themes/custom/glass.theme.js +1 -1
  349. package/themes/custom/hyundai.theme.cjs +1 -1
  350. package/themes/custom/hyundai.theme.d.cts +2 -2
  351. package/themes/custom/hyundai.theme.d.ts +2 -2
  352. package/themes/custom/hyundai.theme.js +1 -1
  353. package/themes/custom/italy.theme.cjs +1 -1
  354. package/themes/custom/italy.theme.d.cts +2 -2
  355. package/themes/custom/italy.theme.d.ts +2 -2
  356. package/themes/custom/italy.theme.js +1 -1
  357. package/themes/custom/jac-dark.theme.cjs +1 -1
  358. package/themes/custom/jac-dark.theme.d.cts +2 -2
  359. package/themes/custom/jac-dark.theme.d.ts +2 -2
  360. package/themes/custom/jac-dark.theme.js +1 -1
  361. package/themes/custom/jac.theme.cjs +1 -1
  362. package/themes/custom/jac.theme.d.cts +2 -2
  363. package/themes/custom/jac.theme.d.ts +2 -2
  364. package/themes/custom/jac.theme.js +1 -1
  365. package/themes/custom/magimix.theme.cjs +1 -1
  366. package/themes/custom/magimix.theme.d.cts +2 -2
  367. package/themes/custom/magimix.theme.d.ts +2 -2
  368. package/themes/custom/magimix.theme.js +1 -1
  369. package/themes/custom/onlive-ai.theme.cjs +1 -1
  370. package/themes/custom/onlive-ai.theme.d.cts +2 -2
  371. package/themes/custom/onlive-ai.theme.d.ts +2 -2
  372. package/themes/custom/onlive-ai.theme.js +1 -1
  373. package/themes/custom/onlive.theme.cjs +1 -1
  374. package/themes/custom/onlive.theme.d.cts +2 -2
  375. package/themes/custom/onlive.theme.d.ts +2 -2
  376. package/themes/custom/onlive.theme.js +1 -1
  377. package/themes/custom/peugeot.theme.cjs +372 -0
  378. package/themes/custom/peugeot.theme.css +369 -0
  379. package/themes/custom/peugeot.theme.d.cts +3 -0
  380. package/themes/custom/peugeot.theme.d.ts +3 -0
  381. package/themes/custom/peugeot.theme.js +372 -0
  382. package/themes/custom/seat-cupra.theme.cjs +1 -1
  383. package/themes/custom/seat-cupra.theme.d.cts +2 -2
  384. package/themes/custom/seat-cupra.theme.d.ts +2 -2
  385. package/themes/custom/seat-cupra.theme.js +1 -1
  386. package/themes/custom/seat.theme.cjs +36 -31
  387. package/themes/custom/seat.theme.css +36 -31
  388. package/themes/custom/seat.theme.d.cts +2 -2
  389. package/themes/custom/seat.theme.d.ts +2 -2
  390. package/themes/custom/seat.theme.js +36 -31
  391. package/themes/custom/skoda.theme.cjs +1 -1
  392. package/themes/custom/skoda.theme.d.cts +2 -2
  393. package/themes/custom/skoda.theme.d.ts +2 -2
  394. package/themes/custom/skoda.theme.js +1 -1
  395. package/themes/custom/transparency.theme.cjs +1 -1
  396. package/themes/custom/transparency.theme.d.cts +2 -2
  397. package/themes/custom/transparency.theme.d.ts +2 -2
  398. package/themes/custom/transparency.theme.js +1 -1
  399. package/themes/dark.cjs +1 -1
  400. package/themes/dark.d.cts +2 -2
  401. package/themes/dark.d.ts +2 -2
  402. package/themes/dark.js +1 -1
  403. package/themes/light.cjs +1 -1
  404. package/themes/light.d.cts +2 -2
  405. package/themes/light.d.ts +2 -2
  406. package/themes/light.js +1 -1
  407. package/{transparency.theme-GZeoSWwI.d.cts → transparency.theme-CGmZFrjm.d.cts} +1 -1
  408. package/{transparency.theme-GZeoSWwI.d.ts → transparency.theme-CGmZFrjm.d.ts} +1 -1
  409. package/types/deep-link.types.cjs +1 -1
  410. package/types/deep-link.types.d.cts +1 -1
  411. package/types/deep-link.types.d.ts +1 -1
  412. package/types/deep-link.types.js +1 -1
  413. package/types/globals.cjs +1 -1
  414. package/types/globals.d.cts +1 -1
  415. package/types/globals.d.ts +1 -1
  416. package/types/globals.js +1 -1
  417. package/types/tracking-options.cjs +1 -1
  418. package/types/tracking-options.d.cts +1 -1
  419. package/types/tracking-options.d.ts +1 -1
  420. package/types/tracking-options.js +1 -1
  421. package/utils/adopt-styles.cjs +1 -1
  422. package/utils/adopt-styles.d.cts +1 -1
  423. package/utils/adopt-styles.d.ts +1 -1
  424. package/utils/adopt-styles.js +1 -1
  425. package/utils/apply-optional-styles.cjs +428 -53
  426. package/utils/apply-optional-styles.d.cts +25 -23
  427. package/utils/apply-optional-styles.d.ts +25 -23
  428. package/utils/apply-optional-styles.js +428 -53
  429. package/utils/browser-preferences.cjs +1 -1
  430. package/utils/browser-preferences.d.cts +1 -1
  431. package/utils/browser-preferences.d.ts +1 -1
  432. package/utils/browser-preferences.js +1 -1
  433. package/utils/classify-media.cjs +1 -1
  434. package/utils/classify-media.d.cts +1 -1
  435. package/utils/classify-media.d.ts +1 -1
  436. package/utils/classify-media.js +1 -1
  437. package/utils/decorators.cjs +1 -1
  438. package/utils/decorators.d.cts +1 -1
  439. package/utils/decorators.d.ts +1 -1
  440. package/utils/decorators.js +1 -1
  441. package/utils/detected-lang.cjs +1 -1
  442. package/utils/detected-lang.d.cts +1 -1
  443. package/utils/detected-lang.d.ts +1 -1
  444. package/utils/detected-lang.js +1 -1
  445. package/utils/fullscreen.cjs +1 -1
  446. package/utils/fullscreen.d.cts +1 -1
  447. package/utils/fullscreen.d.ts +1 -1
  448. package/utils/fullscreen.js +1 -1
  449. package/utils/insert-script.cjs +1 -1
  450. package/utils/insert-script.d.cts +1 -1
  451. package/utils/insert-script.d.ts +1 -1
  452. package/utils/insert-script.js +1 -1
  453. package/utils/is-map-compatible.cjs +1 -1
  454. package/utils/is-map-compatible.d.cts +1 -1
  455. package/utils/is-map-compatible.d.ts +1 -1
  456. package/utils/is-map-compatible.js +1 -1
  457. package/utils/markdown.cjs +1 -1
  458. package/utils/markdown.d.cts +1 -1
  459. package/utils/markdown.d.ts +1 -1
  460. package/utils/markdown.js +1 -1
  461. package/utils/merge.cjs +1 -1
  462. package/utils/merge.d.cts +1 -1
  463. package/utils/merge.d.ts +1 -1
  464. package/utils/merge.js +1 -1
  465. package/utils/multiband-track-volume.cjs +1 -1
  466. package/utils/multiband-track-volume.d.cts +1 -1
  467. package/utils/multiband-track-volume.d.ts +1 -1
  468. package/utils/multiband-track-volume.js +1 -1
  469. package/utils/onlive-url-params.cjs +1 -1
  470. package/utils/onlive-url-params.d.cts +1 -1
  471. package/utils/onlive-url-params.d.ts +1 -1
  472. package/utils/onlive-url-params.js +1 -1
  473. package/utils/pretty-distance.cjs +1 -1
  474. package/utils/pretty-distance.d.cts +1 -1
  475. package/utils/pretty-distance.d.ts +1 -1
  476. package/utils/pretty-distance.js +1 -1
  477. package/utils/pretty-time.cjs +1 -1
  478. package/utils/pretty-time.d.cts +1 -1
  479. package/utils/pretty-time.d.ts +1 -1
  480. package/utils/pretty-time.js +1 -1
  481. package/utils/random-string.cjs +1 -1
  482. package/utils/random-string.d.cts +1 -1
  483. package/utils/random-string.d.ts +1 -1
  484. package/utils/random-string.js +1 -1
  485. package/utils/resource-type.cjs +1 -1
  486. package/utils/resource-type.d.cts +1 -1
  487. package/utils/resource-type.d.ts +1 -1
  488. package/utils/resource-type.js +1 -1
  489. package/utils/round-number.cjs +1 -1
  490. package/utils/round-number.d.cts +1 -1
  491. package/utils/round-number.d.ts +1 -1
  492. package/utils/round-number.js +1 -1
  493. package/utils/safe-html.cjs +1 -1
  494. package/utils/safe-html.d.cts +1 -1
  495. package/utils/safe-html.d.ts +1 -1
  496. package/utils/safe-html.js +1 -1
  497. package/utils/sanitize.cjs +1 -1
  498. package/utils/sanitize.d.cts +1 -1
  499. package/utils/sanitize.d.ts +1 -1
  500. package/utils/sanitize.js +1 -1
  501. package/utils/spread.cjs +1 -1
  502. package/utils/spread.d.cts +1 -1
  503. package/utils/spread.d.ts +1 -1
  504. package/utils/spread.js +1 -1
  505. package/utils/watch.cjs +1 -1
  506. package/utils/watch.d.cts +1 -1
  507. package/utils/watch.d.ts +1 -1
  508. package/utils/watch.js +1 -1
@@ -1,6 +1,6 @@
1
- /*! @onlive.ai/common-121 v0.2.227 | © 2026 Onlive.ai */
2
- var U=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var d=(a,e,t,o)=>{for(var s=o>1?void 0:o?L(e,t):e,l=a.length-1,n;l>=0;l--)(n=a[l])&&(s=(o?n(e,t,s):n(s))||s);return o&&s&&U(e,t,s),s};import{html as z,LitElement as te}from"lit";import{property as P,state as j}from"lit/decorators.js";import{classMap as oe}from"lit/directives/class-map.js";var D=(a,e)=>(customElements.get(a)?console.debug(`Custom element <${a}> is already defined, skipping definition of ${e.name}.`):window.customElements.define(a,e),e),V=(a,e)=>{let{kind:t,elements:o}=e;return{kind:t,elements:o,finisher(s){customElements.get(a)||window.customElements.define(a,s)}}},y=a=>e=>typeof e=="function"?D(a,e):V(a,e);var x=class a{constructor(e){this.config=e}static initialize(e){return new a(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}`:""}`,n=await fetch(l,{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(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,n]of Object.entries(e.extraFilters))if(n&&(Array.isArray(n)?n.length>0:n.toString().trim()!=="")){let v=Array.isArray(n)?n.join(","):n.toString();t.append(`extra_${l}`,v)}}let o=t.toString(),s=`/faqs${o?`?${o}`:""}`;return this.makeRequest(s)}async getFaqById(e){return this.makeRequest(`/faqs/${e}`,{})}};var g=async(a,e)=>{let t=await fetch(a,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 w=class a{constructor(e){this.config=e,this.enableUpload=e.enableUpload||!1}static getInstance(e){if(!a.instance&&e&&(a.instance=new a(e)),!a.instance)throw new Error("FileService must be initialized with config first");return a.instance}static initialize(e){return a.instance=new a(e),a.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 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"),l===o)break;let v=2**l*1e3;await new Promise(r=>setTimeout(r,v))}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),g(e,{...t,headers:o})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var _=class a{constructor(e){this.config=e}static getInstance(e){if(!a.instance&&e&&(a.instance=new a(e)),!a.instance)throw new Error("MultimediaService must be initialized with config first");return a.instance}static initialize(e){return a.instance=new a(e),a.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,n]=await Promise.all([this.getImages(o),this.getVideos(o),this.getPresentations(o)]),v=[...s.items,...l.items,...n.items];return{items:v,total:v.length,count:v.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 g(e,{method:"GET",headers:o,credentials:t?"include":void 0})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var h=class a{constructor(e){this.config=e}static getInstance(e){if(!a.instance&&e&&(a.instance=new a(e)),!a.instance)throw new Error("ProductService must be initialized with config first");return a.instance}static initialize(e){return a.instance=new a(e),a.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 g(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=x.initialize(e.faqsService)),e?.productService&&(this.productService=h.initialize(e.productService)),e?.fileService&&(this.fileService=w.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",a=>{"target"in a&&a.target==="_blank"&&a.setAttribute("rel","noopener noreferrer")});var q=(a,e=B)=>F.sanitize(a,e);function C(a=""){return Y(H(a))}function H(a=""){return q(a,{ADD_ATTR:["target","rel","content","variant","size"],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)}
1
+ /*! @onlive.ai/common-121 v0.2.230 | © 2026 Onlive.ai */
2
+ var $=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var d=(a,e,t,o)=>{for(var s=o>1?void 0:o?U(e,t):e,n=a.length-1,l;n>=0;n--)(l=a[n])&&(s=(o?l(e,t,s):l(s))||s);return o&&s&&$(e,t,s),s};import{html as z,LitElement as ee}from"lit";import{property as P,state as f}from"lit/decorators.js";import{classMap as te}from"lit/directives/class-map.js";var L=(a,e)=>(customElements.get(a)?console.debug(`Custom element <${a}> is already defined, skipping definition of ${e.name}.`):window.customElements.define(a,e),e),D=(a,e)=>{let{kind:t,elements:o}=e;return{kind:t,elements:o,finisher(s){customElements.get(a)||window.customElements.define(a,s)}}},y=a=>e=>typeof e=="function"?L(a,e):D(a,e);var x=class a{constructor(e){this.config=e}static initialize(e){return new a(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(),n=`${this.getBaseUrl()}/settings/organization/${e}${s?`?${s}`:""}`,l=await fetch(n,{method:"GET",headers:this.getHeaders(),credentials:"include"});if(l.status===404)return null;if(!l.ok)throw new Error(`Failed to fetch settings: ${l.statusText}`);return await l.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[n,l]of Object.entries(e.extraFilters))if(l&&(Array.isArray(l)?l.length>0:l.toString().trim()!=="")){let v=Array.isArray(l)?l.join(","):l.toString();t.append(`extra_${n}`,v)}}let o=t.toString(),s=`/faqs${o?`?${o}`:""}`;return this.makeRequest(s)}async getFaqById(e){return this.makeRequest(`/faqs/${e}`,{})}};var h=async(a,e)=>{let t=await fetch(a,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 w=class a{constructor(e){this.config=e,this.enableUpload=e.enableUpload||!1}static getInstance(e){if(!a.instance&&e&&(a.instance=new a(e)),!a.instance)throw new Error("FileService must be initialized with config first");return a.instance}static initialize(e){return a.instance=new a(e),a.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 n=1;n<=o;n++)try{let l=await this.uploadFile(e,t);if(l.success)return l;throw new Error(l.error||"Upload failed")}catch(l){if(s=l instanceof Error?l:new Error("Unknown error"),n===o)break;let v=2**n*1e3;await new Promise(r=>setTimeout(r,v))}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),h(e,{...t,headers:o})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var _=class a{constructor(e){this.config=e}static getInstance(e){if(!a.instance&&e&&(a.instance=new a(e)),!a.instance)throw new Error("MultimediaService must be initialized with config first");return a.instance}static initialize(e){return a.instance=new a(e),a.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,n,l]=await Promise.all([this.getImages(o),this.getVideos(o),this.getPresentations(o)]),v=[...s.items,...n.items,...l.items];return{items:v,total:v.length,count:v.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 n=Array.isArray(s)?s.join(","):s.toString();e.append(`extra_${o}`,n)}}}async makeRequest(e,t=!0){let o={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return h(e,{method:"GET",headers:o,credentials:t?"include":void 0})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var j=class a{constructor(e){this.config=e}static getInstance(e){if(!a.instance&&e&&(a.instance=new a(e)),!a.instance)throw new Error("ProductService must be initialized with config first");return a.instance}static initialize(e){return a.instance=new a(e),a.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 h(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=x.initialize(e.faqsService)),e?.productService&&(this.productService=j.initialize(e.productService)),e?.fileService&&(this.fileService=w.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/"),n=o.startsWith("image/");return{id:t.id,name:t.name,description:t.description||"",url:t.url,thumbnail:n?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 X}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 B}from"lit/directives/unsafe-html.js";import F from"dompurify";var V={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",a=>{"target"in a&&a.target==="_blank"&&a.setAttribute("rel","noopener noreferrer")});var q=(a,e=V)=>F.sanitize(a,e);function C(a=""){return B(Y(a))}function Y(a=""){return q(a,{ADD_ATTR:["target","rel","content","variant","size"],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 N,LitElement as G}from"lit";import{property as W,query as Q}from"lit/decorators.js";import K 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)}
4
4
  .och__player {
5
5
  width: 100%;
6
6
  height: auto;
@@ -13,18 +13,17 @@ var U=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var d=(a,e,t,o
13
13
  background: transparent;
14
14
  transition: all 0.2s ease;
15
15
  }
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=`
16
+ `;var g=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=W(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)}}disconnectedCallback(){this.player?.dispose(),this.player=null,super.disconnectedCallback()}inferMimeType(t,o){let s=t.split("?")[0]?.toLowerCase()||"";if(s.endsWith(".m3u8")||s.endsWith(".m3u"))return"application/x-mpegURL";if(s.endsWith(".mpd"))return"application/dash+xml";if(o){let n=o.toLowerCase();return n==="application/x-mpegurl"||n==="application/vnd.apple.mpegurl"||n==="audio/mpegurl"||n==="audio/x-mpegurl"?"application/x-mpegURL":o}return s.endsWith(".webm")?"video/webm":s.endsWith(".ogv")?"video/ogg":s.endsWith(".mov")?"video/quicktime":s.endsWith(".mp3")?"audio/mpeg":s.endsWith(".m4a")?"audio/mp4":s.endsWith(".aac")?"audio/aac":s.endsWith(".wav")?"audio/wav":s.endsWith(".ogg")||s.endsWith(".oga")?"audio/ogg":(s.endsWith(".mp4")||s.endsWith(".m4v"),"video/mp4")}get normalizedSources(){return this.sources.map(t=>{let o=t.src;return{src:o,type:this.inferMimeType(o,t.type)}})}emitPlayerErrorDiagnostics(){if(!this.player)return;let t=this.player.error(),o={code:t?.code??null,message:t?.message??"unknown-error",currentSrc:this.player.currentSrc()||null,browser:navigator.userAgent,sources:this.normalizedSources};this.dispatchEvent(new CustomEvent("och-player-error",{detail:o,bubbles:!0,composed:!0}))}firstUpdated(){this.$player&&(this.player=K(this.$player,{controls:!0,sources:this.normalizedSources,html5:{vhs:{overrideNative:!0}},controlBar:{children:["playToggle","progressControl","volumePanel","fullscreenToggle"]}}),this.player.on("error",()=>this.emitPlayerErrorDiagnostics()))}updated(t){if(!this.player||!t.has("sources"))return;let o=this.normalizedSources;if(o.length>0){this.player.src(o);return}this.player.reset()}play(){this.player?.play()}pause(){this.player?.pause()}render(){return N`
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
- ${X(this.sources,t=>t.src,t=>E`<source src=${t.src} type=${t.type}></source>`)}
28
27
  <p class="vjs-no-js">
29
28
  To view this video please enable JavaScript, and consider upgrading to a web browser that
30
29
  <a href="https://videojs.com/html5-video-support/" target="_blank"> supports HTML5 video </a>
@@ -2041,12 +2040,12 @@ video::-webkit-media-text-track-display {
2041
2040
  transition: all 0.2s ease;
2042
2041
  }
2043
2042
  </style>
2044
- `}};f.styles=[R],d([Q({type:Array})],f.prototype,"sources",2),d([K("#player")],f.prototype,"$player",2),f=d([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,n){return!t.showThumbnail||e.type==="faq"?i``:i`
2043
+ `}};g.styles=[R],d([W({type:Array})],g.prototype,"sources",2),d([Q("#player")],g.prototype,"$player",2),g=d([y("och-player")],g);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,n,l){return!t.showThumbnail||e.type==="faq"?i``:i`
2045
2044
  <div class="ol-asset__thumbnail">
2046
2045
  ${this.renderThumbnailContent(e)}
2047
2046
  ${this.renderMetadata(e,t)}
2048
2047
  ${this.renderThumbnailOverlay(e)}
2049
- ${this.renderHoverOverlay(e,o,l,s,n)}
2048
+ ${this.renderHoverOverlay(e,o,n,s,l)}
2050
2049
  </div>
2051
2050
  `}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
2051
  <img
@@ -2097,7 +2096,7 @@ video::-webkit-media-text-track-display {
2097
2096
  `}renderThumbnailOverlay(e){let t=[];if(e.type==="multimedia"||e.type==="file"){let o=e;this.getMultimediaSubtype(o)==="video"&&o.duration&&t.push(i`
2098
2097
  <div class="ol-asset__duration">${this.formatDuration(o.duration)}</div>
2099
2098
  `)}return i`${t}`}renderContent(e,t){let o=!t.showName&&!t.showDescription&&!t.showTags&&(e.type!=="product"||!t.showPrice);return i`
2100
- <div class=${Z({"ol-asset__content":!0,"ol-asset__content--assets":!!o})}>
2099
+ <div class=${X({"ol-asset__content":!0,"ol-asset__content--assets":!!o})}>
2101
2100
  ${this.renderName(e,t)}
2102
2101
  ${this.renderDescription(e,t)}
2103
2102
  ${this.renderPrice(e,t)}
@@ -2203,7 +2202,7 @@ video::-webkit-media-text-track-display {
2203
2202
  <h3 class="ol-asset__modal-title">${e.name}</h3>
2204
2203
  ${e.description?i`<p class="ol-asset__modal-description">${e.description}</p>`:i``}
2205
2204
  </div>
2206
- `}}renderHoverOverlay(e,t,o,s,l){let n=e.type==="multimedia"&&this.getMultimediaSubtype(e)==="video",v=(e.type==="multimedia"||e.type==="file")&&this.getMultimediaSubtype(e)==="presentation"&&(!e.slides||e.slides.length===0);return n?i`
2205
+ `}}renderHoverOverlay(e,t,o,s,n){let l=e.type==="multimedia"&&this.getMultimediaSubtype(e)==="video",v=(e.type==="multimedia"||e.type==="file")&&this.getMultimediaSubtype(e)==="presentation"&&(!e.slides||e.slides.length===0);return l?i`
2207
2206
  <div class="ol-asset__video-controls">
2208
2207
  ${m(o,()=>i`
2209
2208
  <ol-button
@@ -2244,7 +2243,7 @@ video::-webkit-media-text-track-display {
2244
2243
  ${m(e.type==="product",()=>i`
2245
2244
  <ol-button
2246
2245
  class="ol-asset__hover-btn ol-asset__hover-btn--external"
2247
- @click=${r=>{r.stopPropagation(),e.url&&(l?l(e.url):window.open(e.url,"_blank","noopener,noreferrer"))}}
2246
+ @click=${r=>{r.stopPropagation(),e.url&&(n?n(e.url):window.open(e.url,"_blank","noopener,noreferrer"))}}
2248
2247
  title="Open ${e.name} in new window"
2249
2248
  >
2250
2249
  <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
@@ -2289,7 +2288,7 @@ video::-webkit-media-text-track-display {
2289
2288
  `)}
2290
2289
  </div>
2291
2290
  </div>
2292
- `}};import{css as ee}from"lit";var $=ee`
2291
+ `}};import{css as Z}from"lit";var E=Z`
2293
2292
  :host {
2294
2293
  display: block;
2295
2294
  --asset-border-radius: 8px;
@@ -3403,7 +3402,7 @@ video::-webkit-media-text-track-display {
3403
3402
  ol-dialog.ol-asset__dialog[data-display-state="maximized"] .ol-asset__modal-question {
3404
3403
  color: rgba(130, 170, 255, 1);
3405
3404
  }
3406
- `}createDialogHTML(){if(!this.asset)return"";let{name:e,description:t,url:o,type:s}=this.asset,l="";if(s==="multimedia"){let r=this.asset,u=this.getMultimediaSubtype(r);if(u==="image")l=`
3405
+ `}createDialogHTML(){if(!this.asset)return"";let{name:e,description:t,url:o,type:s}=this.asset,n="";if(s==="multimedia"){let r=this.asset,u=this.getMultimediaSubtype(r);if(u==="image")n=`
3407
3406
  <div class="ol-asset__modal-media-container">
3408
3407
  <div class="ol-asset__modal-image-container">
3409
3408
  <img
@@ -3424,7 +3423,7 @@ video::-webkit-media-text-track-display {
3424
3423
  </div>
3425
3424
  </div>
3426
3425
  </div>
3427
- `;else if(u==="video")l=`
3426
+ `;else if(u==="video")n=`
3428
3427
  <div class="ol-asset__modal-media-container">
3429
3428
  <div class="ol-asset__modal-video-container">
3430
3429
  <video
@@ -3453,7 +3452,7 @@ video::-webkit-media-text-track-display {
3453
3452
  `:""}
3454
3453
  </div>
3455
3454
  </div>
3456
- `;else if(u==="presentation")if(r.slides&&r.slides.length>0){let p=r.slides;l=`
3455
+ `;else if(u==="presentation")if(r.slides&&r.slides.length>0){let p=r.slides;n=`
3457
3456
  <div class="ol-asset__modal-media-container" data-type="presentation">
3458
3457
  <div class="ol-asset__modal-presentation">
3459
3458
  <ol-carousel pagination navigation loop class="ol-asset__modal-carousel">
@@ -3483,7 +3482,7 @@ video::-webkit-media-text-track-display {
3483
3482
  </div>
3484
3483
  </div>
3485
3484
  </div>
3486
- `}else l=`
3485
+ `}else n=`
3487
3486
  <div class="ol-asset__modal-presentation">
3488
3487
  <div class="ol-asset__modal-presentation-fallback">
3489
3488
  <div class="ol-asset__modal-presentation-icon">\u{1F4C4}</div>
@@ -3495,7 +3494,7 @@ video::-webkit-media-text-track-display {
3495
3494
  ${t?`<p class="ol-asset__modal-description">${t}</p>`:""}
3496
3495
  <p class="ol-asset__modal-type">Type: Presentation</p>
3497
3496
  </div>
3498
- `}else if(s==="file"){let r=this.asset,u=this.getMultimediaSubtype(r);if(u==="image")l=`
3497
+ `}else if(s==="file"){let r=this.asset,u=this.getMultimediaSubtype(r);if(u==="image")n=`
3499
3498
  <div class="ol-asset__modal-media-container">
3500
3499
  <div class="ol-asset__modal-image-container">
3501
3500
  <img
@@ -3516,7 +3515,7 @@ video::-webkit-media-text-track-display {
3516
3515
  </div>
3517
3516
  </div>
3518
3517
  </div>
3519
- `;else if(u==="video")l=`
3518
+ `;else if(u==="video")n=`
3520
3519
  <div class="ol-asset__modal-media-container">
3521
3520
  <div class="ol-asset__modal-video-container">
3522
3521
  <video
@@ -3545,7 +3544,7 @@ video::-webkit-media-text-track-display {
3545
3544
  `:""}
3546
3545
  </div>
3547
3546
  </div>
3548
- `;else if(u==="presentation")if(r.slides&&r.slides.length>0){let p=r.slides;l=`
3547
+ `;else if(u==="presentation")if(r.slides&&r.slides.length>0){let p=r.slides;n=`
3549
3548
  <div class="ol-asset__modal-media-container" data-type="presentation">
3550
3549
  <div class="ol-asset__modal-presentation">
3551
3550
  <ol-carousel pagination navigation loop class="ol-asset__modal-carousel">
@@ -3575,7 +3574,7 @@ video::-webkit-media-text-track-display {
3575
3574
  </div>
3576
3575
  </div>
3577
3576
  </div>
3578
- `}else l=`
3577
+ `}else n=`
3579
3578
  <div class="ol-asset__modal-presentation">
3580
3579
  <div class="ol-asset__modal-presentation-fallback">
3581
3580
  <div class="ol-asset__modal-presentation-icon">\u{1F4C4}</div>
@@ -3587,31 +3586,31 @@ video::-webkit-media-text-track-display {
3587
3586
  ${t?`<p class="ol-asset__modal-description">${t}</p>`:""}
3588
3587
  <p class="ol-asset__modal-type">Type: Presentation File</p>
3589
3588
  </div>
3590
- `}else if(s==="faq"){let r=this.asset;l=`
3589
+ `}else if(s==="faq"){let r=this.asset;n=`
3591
3590
  <div class="ol-asset__modal-faq">
3592
3591
  <h3 class="ol-asset__modal-question">${r.question||e}</h3>
3593
3592
  <div class="ol-asset__modal-answer">${r.answer||t}</div>
3594
3593
  </div>
3595
- `}else l=`
3594
+ `}else n=`
3596
3595
  <div class="ol-asset__modal-info">
3597
3596
  <h3 class="ol-asset__modal-title">${e}</h3>
3598
3597
  ${t?`<p class="ol-asset__modal-description">${t}</p>`:""}
3599
3598
  </div>
3600
- `;let n=s==="multimedia"||s==="file",v=s==="faq"&&this.asset.question||e;return`
3599
+ `;let l=s==="multimedia"||s==="file",v=s==="faq"&&this.asset.question||e;return`
3601
3600
  <ol-dialog
3602
3601
  label="${this.escapeHtml(v)}"
3603
3602
  class="ol-asset__dialog"
3604
- data-fullscreen="${n}"
3603
+ data-fullscreen="${l}"
3605
3604
  data-display-state="${this.displayState}"
3606
- ${n?'style="--width: 95vw; --max-width: 1600px;"':""}
3605
+ ${l?'style="--width: 95vw; --max-width: 1600px;"':""}
3607
3606
  >
3608
3607
  <div class="ol-asset__dialog-content">
3609
3608
  <div class="ol-asset__dialog-body">
3610
- ${l}
3609
+ ${n}
3611
3610
  </div>
3612
3611
  </div>
3613
3612
  </ol-dialog>
3614
- `}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 c=class extends te{constructor(){super(...arguments);this.displayState="normal";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),n=document.createElement("a");n.href=l,n.download=this.getDownloadFilename(t),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n),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),n=document.createElement("a");n.href=l,n.download=this.getDownloadFilename(t),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n),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,n=l.lastIndexOf(".");if(n>0)return l.substring(n)}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),this.displayState),await this.modalPortal.open())}onOpenLink(t){this.dispatchEvent(new CustomEvent("open-link",{detail:{url:t},bubbles:!0,composed:!0}))}onMaximize(){if(console.debug("Maximize clicked for asset:",this.asset),!!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`
3613
+ `}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 c=class extends ee{constructor(){super(...arguments);this.displayState="normal";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(),n=window.URL.createObjectURL(s),l=document.createElement("a");l.href=n,l.download=this.getDownloadFilename(t),l.style.display="none",document.body.appendChild(l),l.click(),document.body.removeChild(l),setTimeout(()=>window.URL.revokeObjectURL(n),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(),n=window.URL.createObjectURL(s),l=document.createElement("a");l.href=n,l.download=this.getDownloadFilename(t),l.style.display="none",document.body.appendChild(l),l.click(),document.body.removeChild(l),setTimeout(()=>window.URL.revokeObjectURL(n),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 n=new URL(t.url).pathname,l=n.lastIndexOf(".");if(l>0)return n.substring(l)}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),this.displayState),await this.modalPortal.open())}onOpenLink(t){this.dispatchEvent(new CustomEvent("open-link",{detail:{url:t},bubbles:!0,composed:!0}))}onMaximize(){if(console.debug("Maximize clicked for asset:",this.asset),!!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`
3615
3614
  <div class="ol-asset ol-asset--loading">
3616
3615
  ${this.assetRenderer.renderLoading()}
3617
3616
  </div>
@@ -3621,9 +3620,9 @@ video::-webkit-media-text-track-display {
3621
3620
  </div>
3622
3621
  `:this.asset?z`
3623
3622
  <div
3624
- 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"})}"
3623
+ 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"})}"
3625
3624
  >
3626
3625
  ${this.assetRenderer.renderThumbnail(this.asset,t,this.onDownload.bind(this),this.isDownloading,this.onMaximize.bind(this),this.onOpenLink.bind(this))}
3627
3626
  ${this.assetRenderer.renderContent(this.asset,t)}
3628
3627
  </div>
3629
- `:z``}};c.styles=[$],d([P({type:String})],c.prototype,"type",2),d([P({type:String})],c.prototype,"externalId",2),d([P({type:Object})],c.prototype,"config",2),d([P({type:String,attribute:"display-state"})],c.prototype,"displayState",2),d([j()],c.prototype,"asset",2),d([j()],c.prototype,"loadingState",2),d([j()],c.prototype,"error",2),d([j()],c.prototype,"assetLoader",2),d([j()],c.prototype,"assetRenderer",2),d([j()],c.prototype,"isDownloading",2),c=d([y("osb-asset")],c);export{c as OSBAsset};
3628
+ `:z``}};c.styles=[E],d([P({type:String})],c.prototype,"type",2),d([P({type:String})],c.prototype,"externalId",2),d([P({type:Object})],c.prototype,"config",2),d([P({type:String,attribute:"display-state"})],c.prototype,"displayState",2),d([f()],c.prototype,"asset",2),d([f()],c.prototype,"loadingState",2),d([f()],c.prototype,"error",2),d([f()],c.prototype,"assetLoader",2),d([f()],c.prototype,"assetRenderer",2),d([f()],c.prototype,"isDownloading",2),c=d([y("osb-asset")],c);export{c as OSBAsset};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/common-121 v0.2.227 | © 2026 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.230 | © 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.227 | © 2026 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.230 | © 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.227 | © 2026 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.230 | © 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.227 | © 2026 Onlive.ai */
1
+ /*! @onlive.ai/common-121 v0.2.230 | © 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};