@onlive.ai/common-121 0.2.66 → 0.2.163

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 (286) hide show
  1. package/README.md +0 -1
  2. package/components/asset/asset-modal-portal.cjs +550 -0
  3. package/components/asset/asset-modal-portal.d.cts +22 -0
  4. package/components/asset/asset-modal-portal.d.ts +22 -0
  5. package/components/asset/asset-modal-portal.js +550 -0
  6. package/components/asset/asset.cjs +3536 -0
  7. package/components/asset/asset.d.cts +37 -0
  8. package/components/asset/asset.d.ts +37 -0
  9. package/components/asset/asset.js +3536 -0
  10. package/components/asset/asset.loaders.cjs +2 -0
  11. package/components/asset/asset.loaders.d.cts +17 -0
  12. package/components/asset/asset.loaders.d.ts +17 -0
  13. package/components/asset/asset.loaders.js +2 -0
  14. package/components/asset/asset.renderer.cjs +2292 -0
  15. package/components/asset/asset.renderer.d.cts +29 -0
  16. package/components/asset/asset.renderer.d.ts +29 -0
  17. package/components/asset/asset.renderer.js +2292 -0
  18. package/components/asset/asset.styles.cjs +683 -0
  19. package/components/asset/asset.styles.d.cts +6 -0
  20. package/components/asset/asset.styles.d.ts +6 -0
  21. package/components/asset/asset.styles.js +683 -0
  22. package/components/asset/asset.types.cjs +2 -0
  23. package/components/asset/asset.types.d.cts +103 -0
  24. package/components/asset/asset.types.d.ts +103 -0
  25. package/components/asset/asset.types.js +1 -0
  26. package/components/asset/index.cjs +3536 -0
  27. package/components/asset/index.d.cts +8 -0
  28. package/components/asset/index.d.ts +8 -0
  29. package/components/asset/index.js +3536 -0
  30. package/components/player/player.cjs +2044 -0
  31. package/components/player/player.d.cts +25 -0
  32. package/components/player/player.d.ts +25 -0
  33. package/components/player/player.js +2044 -0
  34. package/components/player/player.styles.cjs +16 -0
  35. package/components/player/player.styles.d.cts +6 -0
  36. package/components/player/player.styles.d.ts +6 -0
  37. package/components/player/player.styles.js +16 -0
  38. package/components/side-bar/index.cjs +3185 -0
  39. package/components/side-bar/index.d.cts +11 -0
  40. package/components/side-bar/index.d.ts +11 -0
  41. package/components/side-bar/index.js +3185 -0
  42. package/components/side-bar/side-bar.cjs +3185 -0
  43. package/components/side-bar/side-bar.d.cts +83 -0
  44. package/components/side-bar/side-bar.d.ts +83 -0
  45. package/components/side-bar/side-bar.js +3185 -0
  46. package/components/side-bar/side-bar.styles.cjs +801 -0
  47. package/components/side-bar/side-bar.styles.d.cts +6 -0
  48. package/components/side-bar/side-bar.styles.d.ts +6 -0
  49. package/components/side-bar/side-bar.styles.js +801 -0
  50. package/components/side-bar/side-bar.types.cjs +2 -0
  51. package/components/side-bar/side-bar.types.d.cts +105 -0
  52. package/components/side-bar/side-bar.types.d.ts +105 -0
  53. package/components/side-bar/side-bar.types.js +2 -0
  54. package/components/upload/index.cjs +83 -0
  55. package/components/upload/index.d.cts +4 -0
  56. package/components/upload/index.d.ts +4 -0
  57. package/components/upload/index.js +83 -0
  58. package/components/upload/upload.cjs +83 -0
  59. package/components/upload/upload.d.cts +28 -0
  60. package/components/upload/upload.d.ts +28 -0
  61. package/components/upload/upload.js +83 -0
  62. package/components/upload/upload.styles.cjs +65 -0
  63. package/components/upload/upload.styles.d.cts +6 -0
  64. package/components/upload/upload.styles.d.ts +6 -0
  65. package/components/upload/upload.styles.js +65 -0
  66. package/components/upload/upload.types.cjs +2 -0
  67. package/components/upload/upload.types.d.cts +16 -0
  68. package/components/upload/upload.types.d.ts +16 -0
  69. package/components/upload/upload.types.js +1 -0
  70. package/index.cjs +4677 -0
  71. package/index.d.cts +338 -0
  72. package/index.d.ts +338 -0
  73. package/index.js +4677 -0
  74. package/package.json +32 -11
  75. package/react/components/asset/Asset.cjs +2 -0
  76. package/react/components/asset/Asset.d.cts +33 -0
  77. package/react/components/asset/Asset.d.ts +33 -0
  78. package/react/components/asset/Asset.jsx +2 -0
  79. package/react/components/side-bar/SideBar.cjs +2 -0
  80. package/react/components/side-bar/SideBar.d.cts +37 -0
  81. package/react/components/side-bar/SideBar.d.ts +37 -0
  82. package/react/components/side-bar/SideBar.jsx +2 -0
  83. package/react/components/upload/Upload.cjs +2 -0
  84. package/react/components/upload/Upload.d.cts +23 -0
  85. package/react/components/upload/Upload.d.ts +23 -0
  86. package/react/components/upload/Upload.jsx +2 -0
  87. package/services/audio.service.cjs +2 -2
  88. package/services/audio.service.d.cts +1 -0
  89. package/services/audio.service.d.ts +1 -0
  90. package/services/audio.service.js +2 -2
  91. package/services/conversation/conversation.service.cjs +2 -0
  92. package/services/conversation/conversation.service.d.cts +533 -0
  93. package/services/conversation/conversation.service.d.ts +533 -0
  94. package/services/conversation/conversation.service.js +2 -0
  95. package/services/conversation/conversation.types.cjs +2 -0
  96. package/services/conversation/conversation.types.d.cts +519 -0
  97. package/services/conversation/conversation.types.d.ts +519 -0
  98. package/services/conversation/conversation.types.js +2 -0
  99. package/services/conversation/index.cjs +2 -0
  100. package/services/conversation/index.d.cts +7 -0
  101. package/services/conversation/index.d.ts +7 -0
  102. package/services/conversation/index.js +2 -0
  103. package/services/faqs/faqs.service.cjs +2 -0
  104. package/services/faqs/faqs.service.d.cts +16 -0
  105. package/services/faqs/faqs.service.d.ts +16 -0
  106. package/services/faqs/faqs.service.js +2 -0
  107. package/services/faqs/faqs.types.cjs +2 -0
  108. package/services/faqs/faqs.types.d.cts +60 -0
  109. package/services/faqs/faqs.types.d.ts +60 -0
  110. package/services/faqs/faqs.types.js +1 -0
  111. package/services/faqs/index.cjs +2 -0
  112. package/services/faqs/index.d.cts +3 -0
  113. package/services/faqs/index.d.ts +3 -0
  114. package/services/faqs/index.js +2 -0
  115. package/services/file/file.service.cjs +2 -0
  116. package/services/file/file.service.d.cts +66 -0
  117. package/services/file/file.service.d.ts +66 -0
  118. package/services/file/file.service.js +2 -0
  119. package/services/file/file.types.cjs +2 -0
  120. package/services/file/file.types.d.cts +72 -0
  121. package/services/file/file.types.d.ts +72 -0
  122. package/services/file/file.types.js +1 -0
  123. package/services/file/index.cjs +2 -0
  124. package/services/file/index.d.cts +3 -0
  125. package/services/file/index.d.ts +3 -0
  126. package/services/file/index.js +2 -0
  127. package/services/firebase/firebase-api.cjs +2 -2
  128. package/services/firebase/firebase-api.d.cts +25 -9
  129. package/services/firebase/firebase-api.d.ts +25 -9
  130. package/services/firebase/firebase-api.js +2 -2
  131. package/services/multimedia/config.example.cjs +2 -0
  132. package/services/multimedia/config.example.d.cts +13 -0
  133. package/services/multimedia/config.example.d.ts +13 -0
  134. package/services/multimedia/config.example.js +2 -0
  135. package/services/multimedia/index.cjs +2 -0
  136. package/services/multimedia/index.d.cts +3 -0
  137. package/services/multimedia/index.d.ts +3 -0
  138. package/services/multimedia/index.js +2 -0
  139. package/services/multimedia/multimedia.service.cjs +2 -0
  140. package/services/multimedia/multimedia.service.d.cts +28 -0
  141. package/services/multimedia/multimedia.service.d.ts +28 -0
  142. package/services/multimedia/multimedia.service.js +2 -0
  143. package/services/multimedia/multimedia.types.cjs +2 -0
  144. package/services/multimedia/multimedia.types.d.cts +65 -0
  145. package/services/multimedia/multimedia.types.d.ts +65 -0
  146. package/services/multimedia/multimedia.types.js +1 -0
  147. package/services/product/index.cjs +2 -0
  148. package/services/product/index.d.cts +3 -0
  149. package/services/product/index.d.ts +3 -0
  150. package/services/product/index.js +2 -0
  151. package/services/product/product.service.cjs +2 -0
  152. package/services/product/product.service.d.cts +19 -0
  153. package/services/product/product.service.d.ts +19 -0
  154. package/services/product/product.service.js +2 -0
  155. package/services/product/product.types.cjs +2 -0
  156. package/services/product/product.types.d.cts +78 -0
  157. package/services/product/product.types.d.ts +78 -0
  158. package/services/product/product.types.js +1 -0
  159. package/services/request.provider.cjs +1 -1
  160. package/services/request.provider.d.cts +1 -0
  161. package/services/request.provider.d.ts +1 -0
  162. package/services/request.provider.js +1 -1
  163. package/services/session.service.cjs +2 -0
  164. package/services/session.service.d.cts +70 -0
  165. package/services/session.service.d.ts +70 -0
  166. package/services/session.service.js +2 -0
  167. package/services/upload/index.cjs +2 -0
  168. package/services/upload/index.d.cts +2 -0
  169. package/services/upload/index.d.ts +2 -0
  170. package/services/upload/index.js +2 -0
  171. package/services/upload/upload.service.cjs +2 -0
  172. package/services/upload/upload.service.d.cts +81 -0
  173. package/services/upload/upload.service.d.ts +81 -0
  174. package/services/upload/upload.service.js +2 -0
  175. package/themes/dark.cjs +4 -1
  176. package/themes/dark.d.cts +1 -0
  177. package/themes/dark.d.ts +1 -0
  178. package/themes/dark.js +4 -1
  179. package/themes/light.cjs +1 -1
  180. package/themes/light.d.cts +1 -0
  181. package/themes/light.d.ts +1 -0
  182. package/themes/light.js +1 -1
  183. package/types/globals.cjs +2 -0
  184. package/types/globals.d.cts +39 -0
  185. package/types/globals.d.ts +39 -0
  186. package/types/globals.js +1 -0
  187. package/types/tracking-options.cjs +2 -2
  188. package/types/tracking-options.d.cts +8 -6
  189. package/types/tracking-options.d.ts +8 -6
  190. package/types/tracking-options.js +1 -1
  191. package/utils/adopt-styles.cjs +2 -2
  192. package/utils/adopt-styles.d.cts +1 -0
  193. package/utils/adopt-styles.d.ts +1 -0
  194. package/utils/adopt-styles.js +2 -2
  195. package/utils/browser-preferences.cjs +2 -2
  196. package/utils/browser-preferences.d.cts +1 -0
  197. package/utils/browser-preferences.d.ts +1 -0
  198. package/utils/browser-preferences.js +2 -2
  199. package/utils/classify-media.cjs +1 -1
  200. package/utils/classify-media.d.cts +1 -0
  201. package/utils/classify-media.d.ts +1 -0
  202. package/utils/classify-media.js +1 -1
  203. package/utils/decorators.cjs +1 -1
  204. package/utils/decorators.d.cts +1 -0
  205. package/utils/decorators.d.ts +1 -0
  206. package/utils/decorators.js +1 -1
  207. package/utils/detected-lang.cjs +2 -2
  208. package/utils/detected-lang.d.cts +1 -0
  209. package/utils/detected-lang.d.ts +1 -0
  210. package/utils/detected-lang.js +2 -2
  211. package/utils/fullscreen.cjs +2 -2
  212. package/utils/fullscreen.d.cts +6 -5
  213. package/utils/fullscreen.d.ts +6 -5
  214. package/utils/fullscreen.js +2 -2
  215. package/utils/insert-script.cjs +1 -1
  216. package/utils/insert-script.d.cts +1 -0
  217. package/utils/insert-script.d.ts +1 -0
  218. package/utils/insert-script.js +1 -1
  219. package/utils/is-map-compatible.cjs +1 -1
  220. package/utils/is-map-compatible.d.cts +1 -0
  221. package/utils/is-map-compatible.d.ts +1 -0
  222. package/utils/is-map-compatible.js +1 -1
  223. package/utils/markdown.cjs +2 -2
  224. package/utils/markdown.d.cts +1 -0
  225. package/utils/markdown.d.ts +1 -0
  226. package/utils/markdown.js +2 -2
  227. package/utils/merge.cjs +2 -2
  228. package/utils/merge.d.cts +2 -1
  229. package/utils/merge.d.ts +2 -1
  230. package/utils/merge.js +2 -2
  231. package/utils/multiband-track-volume.cjs +2 -2
  232. package/utils/multiband-track-volume.d.cts +1 -0
  233. package/utils/multiband-track-volume.d.ts +1 -0
  234. package/utils/multiband-track-volume.js +2 -2
  235. package/utils/onlive-url-params.cjs +1 -1
  236. package/utils/onlive-url-params.d.cts +1 -0
  237. package/utils/onlive-url-params.d.ts +1 -0
  238. package/utils/onlive-url-params.js +1 -1
  239. package/utils/pretty-distance.cjs +2 -2
  240. package/utils/pretty-distance.d.cts +2 -1
  241. package/utils/pretty-distance.d.ts +2 -1
  242. package/utils/pretty-distance.js +2 -2
  243. package/utils/pretty-time.cjs +2 -0
  244. package/utils/pretty-time.d.cts +16 -0
  245. package/utils/pretty-time.d.ts +16 -0
  246. package/utils/pretty-time.js +2 -0
  247. package/utils/random-string.cjs +1 -1
  248. package/utils/random-string.d.cts +1 -0
  249. package/utils/random-string.d.ts +1 -0
  250. package/utils/random-string.js +1 -1
  251. package/utils/resource-type.cjs +1 -1
  252. package/utils/resource-type.d.cts +1 -0
  253. package/utils/resource-type.d.ts +1 -0
  254. package/utils/resource-type.js +1 -1
  255. package/utils/round-number.cjs +2 -0
  256. package/utils/round-number.d.cts +30 -0
  257. package/utils/round-number.d.ts +30 -0
  258. package/utils/round-number.js +2 -0
  259. package/utils/safe-html.cjs +2 -2
  260. package/utils/safe-html.d.cts +4 -3
  261. package/utils/safe-html.d.ts +4 -3
  262. package/utils/safe-html.js +2 -2
  263. package/utils/sanitize.cjs +2 -2
  264. package/utils/sanitize.d.cts +1 -0
  265. package/utils/sanitize.d.ts +1 -0
  266. package/utils/sanitize.js +2 -2
  267. package/utils/spread.cjs +2 -2
  268. package/utils/spread.d.cts +1 -0
  269. package/utils/spread.d.ts +1 -0
  270. package/utils/spread.js +2 -2
  271. package/utils/watch.cjs +1 -1
  272. package/utils/watch.d.cts +1 -0
  273. package/utils/watch.d.ts +1 -0
  274. package/utils/watch.js +1 -1
  275. package/services/firebase/firebase.service.cjs +0 -2
  276. package/services/firebase/firebase.service.d.cts +0 -40
  277. package/services/firebase/firebase.service.d.ts +0 -40
  278. package/services/firebase/firebase.service.js +0 -2
  279. package/services/livekit.service.cjs +0 -2
  280. package/services/livekit.service.d.cts +0 -217
  281. package/services/livekit.service.d.ts +0 -217
  282. package/services/livekit.service.js +0 -2
  283. package/types/window-context.cjs +0 -2
  284. package/types/window-context.d.cts +0 -8
  285. package/types/window-context.d.ts +0 -8
  286. package/types/window-context.js +0 -1
@@ -0,0 +1,3536 @@
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
2
+ "use strict";var K=Object.create;var A=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var X=Object.getOwnPropertyNames;var W=Object.getPrototypeOf,Z=Object.prototype.hasOwnProperty;var ee=(i,e)=>{for(var t in e)A(i,t,{get:e[t],enumerable:!0})},$=(i,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of X(e))!Z.call(i,s)&&s!==t&&A(i,s,{get:()=>e[s],enumerable:!(o=I(e,s))||o.enumerable});return i};var u=(i,e,t)=>(t=i!=null?K(W(i)):{},$(e||!i||!i.__esModule?A(t,"default",{value:i,enumerable:!0}):t,i)),te=i=>$(A({},"__esModule",{value:!0}),i),v=(i,e,t,o)=>{for(var s=o>1?void 0:o?I(e,t):e,l=i.length-1,a;l>=0;l--)(a=i[l])&&(s=(o?a(e,t,s):a(s))||s);return o&&s&&A(e,t,s),s};var ne={};ee(ne,{AssetLoaders:()=>y,AssetModalPortal:()=>_,AssetRenderer:()=>x,OSBAsset:()=>c});module.exports=te(ne);var g=require("lit"),p=require("lit/decorators.js"),G=require("lit/directives/class-map.js");var oe=(i,e)=>(customElements.get(i)?console.debug(`Custom element <${i}> is already defined, skipping definition of ${e.name}.`):window.customElements.define(i,e),e),se=(i,e)=>{let{kind:t,elements:o}=e;return{kind:t,elements:o,finisher(s){customElements.get(i)||window.customElements.define(i,s)}}},z=i=>e=>typeof e=="function"?oe(i,e):se(i,e);var P=class i{constructor(e){this.config=e}static initialize(e){return new i(e)}getBaseUrl(){return`${this.config.baseUrl}`}getHeaders(){return{"Content-Type":"application/json"}}async makeRequest(e,t={}){let o=`${this.getBaseUrl()}${e}`,s=await fetch(o,{...t,headers:{...this.getHeaders(),...t.headers}});if(!s.ok)throw new Error(`FAQs API error: ${s.status} ${s.statusText}`);return s.json()}async getSettingsByOrganization(e,t){try{let o=new URLSearchParams;t&&o.append("userGroupId",t);let s=o.toString(),l=`${this.getBaseUrl()}/settings/organization/${e}${s?`?${s}`:""}`,a=await fetch(l,{method:"GET",headers:this.getHeaders(),credentials:"include"});if(a.status===404)return null;if(!a.ok)throw new Error(`Failed to fetch settings: ${a.statusText}`);return await a.json()}catch(o){return console.error("Error fetching settings:",o),null}}async getFaqs(e={}){let t=new URLSearchParams;if(e.search&&t.append("search",e.search),e.organizationId&&t.append("organizationId",e.organizationId),e.groupId&&t.append("groupId",e.groupId),e.isActive!==void 0&&t.append("isActive",e.isActive.toString()),e.page&&t.append("page",e.page.toString()),e.limit&&t.append("limit",e.limit.toString()),e.sortBy&&t.append("sortBy",e.sortBy),e.sortOrder&&t.append("sortOrder",e.sortOrder),e.extraFilters){for(let[l,a]of Object.entries(e.extraFilters))if(a&&(Array.isArray(a)?a.length>0:a.toString().trim()!=="")){let d=Array.isArray(a)?a.join(","):a.toString();t.append(`extra_${l}`,d)}}let o=t.toString(),s=`/faqs${o?`?${o}`:""}`;return this.makeRequest(s)}async getFaqById(e){return this.makeRequest(`/faqs/${e}`,{})}};var b=async(i,e)=>{let t=await fetch(i,e);if(!t.ok){let o=await t.json().catch(()=>({}));throw new Error(JSON.stringify({status:t.status,statusText:t.statusText,...o}))}return t&&t.json()};var M=class i{constructor(e){this.config=e,this.enableUpload=e.enableUpload||!1}static getInstance(e){if(!i.instance&&e&&(i.instance=new i(e)),!i.instance)throw new Error("FileService must be initialized with config first");return i.instance}static initialize(e){return i.instance=new i(e),i.instance}async uploadFile(e,t={}){try{let o=await this.requestSignedUrl({filename:e.name,description:t.description,loadDirection:"up",bucketType:t.bucketType||"conversations",path:t.path||".temp",mimeType:e.type});return await this.uploadToSignedUrl(o.data.signedUrlData.signedUrl,e),{success:!0,id:o.data.file.id,name:o.data.file.name,url:o.data.file.url,type:o.data.file.type}}catch(o){return console.error("Error uploading file:",o),{success:!1,error:o instanceof Error?o.message:"Unknown error"}}}async requestSignedUrl(e){let t=`${this.config.baseUrl}/files/upload-url`;return this.makeRequest(t,{method:"POST",body:JSON.stringify(e)})}async uploadToSignedUrl(e,t){let o=await fetch(e,{method:"PUT",body:t,headers:{"Content-Type":t.type}});if(!o.ok){let s=await o.text().catch(()=>"No response");throw new Error(`Upload failed with status: ${o.status}. Response: ${s}`)}}async uploadFileWithRetry(e,t={}){let o=t.maxRetries||3,s=null;for(let l=1;l<=o;l++)try{let a=await this.uploadFile(e,t);if(a.success)return a;throw new Error(a.error||"Upload failed")}catch(a){if(s=a instanceof Error?a:new Error("Unknown error"),l===o)break;let d=2**l*1e3;await new Promise(r=>setTimeout(r,d))}return{success:!1,error:s?.message||"Upload failed after retries"}}async getFileById(e){let t=`${this.config.baseUrl}/files/${e}`,o=await this.makeRequest(t);if(!o.success)throw new Error("Failed to get file");return o.data}async makeRequest(e,t){let o={"Content-Type":"application/json"};return this.config.organizationId&&(o["X-Onlive-Organization-Id"]=this.config.organizationId),t?.headers&&Object.assign(o,t.headers),b(e,{...t,headers:o})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var T=class i{constructor(e){this.config=e}static getInstance(e){if(!i.instance&&e&&(i.instance=new i(e)),!i.instance)throw new Error("MultimediaService must be initialized with config first");return i.instance}static initialize(e){return i.instance=new i(e),i.instance}async getImages(e={}){let t=new URLSearchParams({type:"image",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let o=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(o)}async getVideos(e={}){let t=new URLSearchParams({type:"video",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let o=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(o)}async getPresentations(e={}){let t=new URLSearchParams({type:"presentation",page:(e.page||1).toString(),limit:(e.limit||12).toString(),...e.search&&{search:e.search},...e.labels&&{labels:e.labels.join(",")},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});this.appendExtraFilters(t,e.extraFilters);let o=`${this.config.baseUrl}/multimedia?${t}`;return this.makeRequest(o)}async getAllMultimedia(e={}){let[t,o,s]=await Promise.all([this.getImages(e),this.getVideos(e),this.getPresentations(e)]);return{images:t,videos:o,presentations:s}}async getMultimediaByToken(e){let t=`${this.config.baseUrl}/multimedia/secure-token/${e}`;return this.makeRequest(t,!1)}async searchMultimedia(e,t){let o={search:e,page:1,limit:50,includeSecureToken:!0};if(t)return this.getMultimediaByType(t,o);let[s,l,a]=await Promise.all([this.getImages(o),this.getVideos(o),this.getPresentations(o)]),d=[...s.items,...l.items,...a.items];return{items:d,total:d.length,count:d.length,currentPage:1,totalPages:1}}async getMultimediaByType(e,t){switch(e){case"image":return this.getImages(t);case"video":return this.getVideos(t);case"presentation":return this.getPresentations(t);default:throw new Error(`Invalid multimedia type: ${e}`)}}appendExtraFilters(e,t){if(t){for(let[o,s]of Object.entries(t))if(s&&(Array.isArray(s)?s.length>0:s.toString().trim()!=="")){let l=Array.isArray(s)?s.join(","):s.toString();e.append(`extra_${o}`,l)}}}async makeRequest(e,t=!0){let o={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return b(e,{method:"GET",headers:o,credentials:t?"include":void 0})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var k=class i{constructor(e){this.config=e}static getInstance(e){if(!i.instance&&e&&(i.instance=new i(e)),!i.instance)throw new Error("ProductService must be initialized with config first");return i.instance}static initialize(e){return i.instance=new i(e),i.instance}async getProducts(e={}){let t=new URLSearchParams({...e.title&&{title:e.title},...e.search&&{search:e.search},...e.category&&{category:e.category},...e.tags&&{tags:e.tags.join(",")},...e.sortBy&&{sortBy:e.sortBy},...e.sortOrder&&{sortOrder:e.sortOrder},...e.minPrice&&{minPrice:e.minPrice.toString()},...e.maxPrice&&{maxPrice:e.maxPrice.toString()},...e.inStock!==void 0&&{inStock:e.inStock.toString()},...e.offset&&{offset:e.offset.toString()},...e.includeSecureToken&&{includeSecureToken:e.includeSecureToken.toString()}});e.extraFields&&Object.keys(e.extraFields).length>0&&t.append("extraFields",JSON.stringify(e.extraFields));let o=`${this.config.baseUrl}/products?${t}`;return this.makeRequest(o,!0)}async getProductByToken(e){let t=`${this.config.baseUrl}/products/secure-token/${e}`;return this.makeRequest(t)}async searchProducts(e,t={}){return this.getProducts({...t,search:e})}async makeRequest(e,t=!1){let o={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return b(e,{method:"GET",headers:o,credentials:t?"include":"same-origin"})}updateConfig(e){this.config={...this.config,...e}}getConfig(){return{...this.config}}};var y=class{constructor(e){e?.multimediaService&&(this.multimediaService=T.initialize(e.multimediaService)),e?.faqsService&&(this.faqsService=P.initialize(e.faqsService)),e?.productService&&(this.productService=k.initialize(e.productService)),e?.fileService&&(this.fileService=M.initialize(e.fileService))}async loadAsset(e,t){switch(e){case"multimedia":return this.loadMultimediaAsset(t);case"product":return this.loadProductAsset(t);case"faq":return this.loadFaqAsset(t);case"file":return this.loadFileAsset(t);default:throw new Error(`Unsupported asset type: ${e}`)}}async loadMultimediaAsset(e){if(!this.multimediaService)throw new Error("MultimediaService not configured");let t=await this.multimediaService.getMultimediaByToken(e);if(!t)throw new Error("Multimedia not found");return{id:t.id,name:t.name,description:t.description||"",url:t.url,thumbnail:t.animatedCoverUrl||t.url,type:"multimedia",externalId:t.id,format:t.format,size:t.size||void 0,duration:t.duration||void 0,vodUrl:t.vodUrl||void 0,slides:t.slides||[],labels:t.labels,animatedCoverUrl:t.animatedCoverUrl||void 0,metadata:{organizationId:t.organizationId,status:t.status,createdAt:t.createdAt,updatedAt:t.updatedAt}}}async loadProductAsset(e){if(!this.productService)throw new Error("MultimediaService not configured");let t=await this.productService.getProductByToken(e);if(!t)throw new Error("Product not found");return{id:t.id,name:t.name,description:t.description,url:t.url,thumbnail:t.images?.[0],type:"product",externalId:t.externalId,price:t.price,currency:t.currency,category:t.category,tags:t.tags,images:t.images,variants:t.variants?.map(o=>({id:o.id,externalId:o.externalId,price:o.price,currency:o.currency,images:o.images})),options:t.options,metadata:{providerType:t.providerType,providerId:t.providerId,discountType:t.discountType,discount:t.discount,stock:t.stock,broken:t.broken}}}async loadFaqAsset(e){if(!this.faqsService)throw new Error("FaqsService not configured");let t=await this.faqsService.getFaqById(e);return{id:t.id,name:t.question,description:t.answer,url:`#faq-${t.id}`,type:"faq",externalId:t.id,question:t.question,answer:t.answer,priority:t.priority,isActive:t.isActive,metadata:{organizationId:t.organizationId,createdAt:t.createdAt,updatedAt:t.updatedAt}}}async loadFileAsset(e){if(!this.fileService)throw new Error("FileService not configured");let t=await this.fileService.getFileById(e),o=t.type||"",s=o.startsWith("video/"),l=o.startsWith("image/");return{id:t.id,name:t.name,description:t.description||"",url:t.url,thumbnail:l?t.url:void 0,type:"file",externalId:t.id,format:o,size:t.metadata?.size,duration:void 0,vodUrl:s?t.url:void 0,labels:[],animatedCoverUrl:s?t.url:void 0,metadata:{path:t.metadata?.path,bucketType:t.metadata?.bucketType,loadDirection:t.metadata?.loadDirection,createdAt:t.createdAt,updatedAt:t.updatedAt}}}};var n=require("lit"),J=require("lit/directives/class-map.js"),w=require("lit/directives/if-defined.js"),f=require("lit/directives/when.js");var L=require("lit/directives/unsafe-html.js");var E=u(require("dompurify"),1),ie={ALLOWED_TAGS:["p","br","span","b","strong","i","em","u","s","del","ul","ol","li","code","pre","a","h1","h2","h3","h4","table","thead","tbody","tr","th","td"],ALLOWED_ATTR:["href","target","rel","title","aria-label","role","colspan","rowspan"],FORCE_HTTPS:!0,ALLOW_DATA_ATTR:!1};E.default.addHook("afterSanitizeAttributes",i=>{"target"in i&&i.target==="_blank"&&i.setAttribute("rel","noopener noreferrer")});var U=(i,e=ie)=>E.default.sanitize(i,e);function D(i=""){return(0,L.unsafeHTML)(U(i,{ADD_ATTR:["target","rel"],ADD_TAGS:["ol-"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:/^ol-/,attributeNameCheck:null,allowCustomizedBuiltInElements:!0}}))}var Me=require("@onlive.ai/ui/dist/components/button/button.js"),Te=require("@onlive.ai/ui/dist/components/icon/icon.js"),S=require("lit"),q=require("lit/decorators.js"),Y=require("lit/directives/repeat.js"),H=u(require("video.js"),1);var F=require("lit"),V=u(require("video.js/dist/video-js.min.css?inline"),1),B=F.css`
3
+ ${(0,F.unsafeCSS)(V.default)}
4
+ .och__player {
5
+ width: 100%;
6
+ height: auto;
7
+ aspect-ratio: 16 / 9;
8
+ }
9
+ .video-js .vjs-big-play-button,
10
+ .video-js:hover .vjs-big-play-button {
11
+ font-size: 45px;
12
+ border: none;
13
+ background: transparent;
14
+ transition: all 0.2s ease;
15
+ }
16
+ `;var h=class extends S.LitElement{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
+ @font-face {
18
+ font-family: VideoJS;
19
+ src:
20
+ url(https://cdn.onlive.site/fonts/video-js/font/VideoJS.woff) format("woff"),
21
+ url(https://cdn.onlive.site/fonts/video-js/font/VideoJS.ttf) format("truetype");
22
+ }`,document.head.appendChild(o)}}firstUpdated(){this.$player&&(this.player=(0,H.default)(this.$player,{controls:!0,controlBar:{children:["playToggle","progressControl","volumePanel","fullscreenToggle"]}}))}play(){this.player?.play()}pause(){this.player?.pause()}render(){return S.html`
23
+ <video
24
+ id="player"
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
+ >
27
+ ${(0,Y.repeat)(this.sources,t=>t.src,t=>S.html`<source src=${t.src} type=${t.type}></source>`)}
28
+ <p class="vjs-no-js">
29
+ To view this video please enable JavaScript, and consider upgrading to a web browser that
30
+ <a href="https://videojs.com/html5-video-support/" target="_blank"> supports HTML5 video </a>
31
+ </p>
32
+ </video>
33
+ <style>
34
+ .vjs-svg-icon {
35
+ display: inline-block;
36
+ background-repeat: no-repeat;
37
+ background-position: center;
38
+ fill: currentColor;
39
+ height: 1.8em;
40
+ width: 1.8em
41
+ }
42
+
43
+ .vjs-svg-icon:before {
44
+ content: none !important
45
+ }
46
+
47
+ .vjs-control:focus .vjs-svg-icon, .vjs-svg-icon:hover {
48
+ filter: drop-shadow(0 0 .25em #fff)
49
+ }
50
+
51
+ .video-js .vjs-big-play-button .vjs-icon-placeholder:before, .video-js .vjs-modal-dialog, .vjs-button>.vjs-icon-placeholder:before, .vjs-modal-dialog .vjs-modal-dialog-content {
52
+ position: absolute;
53
+ top: 0;
54
+ left: 0;
55
+ width: 100%;
56
+ height: 100%
57
+ }
58
+
59
+ .video-js .vjs-big-play-button .vjs-icon-placeholder:before, .vjs-button>.vjs-icon-placeholder:before {
60
+ text-align: center
61
+ }
62
+
63
+ @font-face {
64
+ font-family: VideoJS;
65
+ src: url(data:application/font-woff;charset=utf-8;base64,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) format("woff");
66
+ font-weight: 400;
67
+ font-style: normal
68
+ }
69
+
70
+ .video-js .vjs-big-play-button .vjs-icon-placeholder:before, .video-js .vjs-play-control .vjs-icon-placeholder, .vjs-icon-play {
71
+ font-family: VideoJS;
72
+ font-weight: 400;
73
+ font-style: normal
74
+ }
75
+
76
+ .video-js .vjs-big-play-button .vjs-icon-placeholder:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .vjs-icon-play:before {
77
+ content: "\f101"
78
+ }
79
+
80
+ .vjs-icon-play-circle {
81
+ font-family: VideoJS;
82
+ font-weight: 400;
83
+ font-style: normal
84
+ }
85
+
86
+ .vjs-icon-play-circle:before {
87
+ content: "\f102"
88
+ }
89
+
90
+ .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder, .vjs-icon-pause {
91
+ font-family: VideoJS;
92
+ font-weight: 400;
93
+ font-style: normal
94
+ }
95
+
96
+ .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before, .vjs-icon-pause:before {
97
+ content: "\f103"
98
+ }
99
+
100
+ .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder, .vjs-icon-volume-mute {
101
+ font-family: VideoJS;
102
+ font-weight: 400;
103
+ font-style: normal
104
+ }
105
+
106
+ .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before, .vjs-icon-volume-mute:before {
107
+ content: "\f104"
108
+ }
109
+
110
+ .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder, .vjs-icon-volume-low {
111
+ font-family: VideoJS;
112
+ font-weight: 400;
113
+ font-style: normal
114
+ }
115
+
116
+ .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before, .vjs-icon-volume-low:before {
117
+ content: "\f105"
118
+ }
119
+
120
+ .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder, .vjs-icon-volume-mid {
121
+ font-family: VideoJS;
122
+ font-weight: 400;
123
+ font-style: normal
124
+ }
125
+
126
+ .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before, .vjs-icon-volume-mid:before {
127
+ content: "\f106"
128
+ }
129
+
130
+ .video-js .vjs-mute-control .vjs-icon-placeholder, .vjs-icon-volume-high {
131
+ font-family: VideoJS;
132
+ font-weight: 400;
133
+ font-style: normal
134
+ }
135
+
136
+ .video-js .vjs-mute-control .vjs-icon-placeholder:before, .vjs-icon-volume-high:before {
137
+ content: "\f107"
138
+ }
139
+
140
+ .video-js .vjs-fullscreen-control .vjs-icon-placeholder, .vjs-icon-fullscreen-enter {
141
+ font-family: VideoJS;
142
+ font-weight: 400;
143
+ font-style: normal
144
+ }
145
+
146
+ .video-js .vjs-fullscreen-control .vjs-icon-placeholder:before, .vjs-icon-fullscreen-enter:before {
147
+ content: "\f108"
148
+ }
149
+
150
+ .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder, .vjs-icon-fullscreen-exit {
151
+ font-family: VideoJS;
152
+ font-weight: 400;
153
+ font-style: normal
154
+ }
155
+
156
+ .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before, .vjs-icon-fullscreen-exit:before {
157
+ content: "\f109"
158
+ }
159
+
160
+ .vjs-icon-spinner {
161
+ font-family: VideoJS;
162
+ font-weight: 400;
163
+ font-style: normal
164
+ }
165
+
166
+ .vjs-icon-spinner:before {
167
+ content: "\f10a"
168
+ }
169
+
170
+ .video-js .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-subtitles-button .vjs-icon-placeholder, .video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder, .vjs-icon-subtitles {
171
+ font-family: VideoJS;
172
+ font-weight: 400;
173
+ font-style: normal
174
+ }
175
+
176
+ .video-js .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-subtitles-button .vjs-icon-placeholder:before, .video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before, .vjs-icon-subtitles:before {
177
+ content: "\f10b"
178
+ }
179
+
180
+ .video-js .vjs-captions-button .vjs-icon-placeholder, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder, .vjs-icon-captions {
181
+ font-family: VideoJS;
182
+ font-weight: 400;
183
+ font-style: normal
184
+ }
185
+
186
+ .video-js .vjs-captions-button .vjs-icon-placeholder:before, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before, .vjs-icon-captions:before {
187
+ content: "\f10c"
188
+ }
189
+
190
+ .vjs-icon-hd {
191
+ font-family: VideoJS;
192
+ font-weight: 400;
193
+ font-style: normal
194
+ }
195
+
196
+ .vjs-icon-hd:before {
197
+ content: "\f10d"
198
+ }
199
+
200
+ .video-js .vjs-chapters-button .vjs-icon-placeholder, .vjs-icon-chapters {
201
+ font-family: VideoJS;
202
+ font-weight: 400;
203
+ font-style: normal
204
+ }
205
+
206
+ .video-js .vjs-chapters-button .vjs-icon-placeholder:before, .vjs-icon-chapters:before {
207
+ content: "\f10e"
208
+ }
209
+
210
+ .vjs-icon-downloading {
211
+ font-family: VideoJS;
212
+ font-weight: 400;
213
+ font-style: normal
214
+ }
215
+
216
+ .vjs-icon-downloading:before {
217
+ content: "\f10f"
218
+ }
219
+
220
+ .vjs-icon-file-download {
221
+ font-family: VideoJS;
222
+ font-weight: 400;
223
+ font-style: normal
224
+ }
225
+
226
+ .vjs-icon-file-download:before {
227
+ content: "\f110"
228
+ }
229
+
230
+ .vjs-icon-file-download-done {
231
+ font-family: VideoJS;
232
+ font-weight: 400;
233
+ font-style: normal
234
+ }
235
+
236
+ .vjs-icon-file-download-done:before {
237
+ content: "\f111"
238
+ }
239
+
240
+ .vjs-icon-file-download-off {
241
+ font-family: VideoJS;
242
+ font-weight: 400;
243
+ font-style: normal
244
+ }
245
+
246
+ .vjs-icon-file-download-off:before {
247
+ content: "\f112"
248
+ }
249
+
250
+ .vjs-icon-share {
251
+ font-family: VideoJS;
252
+ font-weight: 400;
253
+ font-style: normal
254
+ }
255
+
256
+ .vjs-icon-share:before {
257
+ content: "\f113"
258
+ }
259
+
260
+ .vjs-icon-cog {
261
+ font-family: VideoJS;
262
+ font-weight: 400;
263
+ font-style: normal
264
+ }
265
+
266
+ .vjs-icon-cog:before {
267
+ content: "\f114"
268
+ }
269
+
270
+ .vjs-icon-square {
271
+ font-family: VideoJS;
272
+ font-weight: 400;
273
+ font-style: normal
274
+ }
275
+
276
+ .vjs-icon-square:before {
277
+ content: "\f115"
278
+ }
279
+
280
+ .video-js .vjs-play-progress, .video-js .vjs-volume-level, .vjs-icon-circle, .vjs-seek-to-live-control .vjs-icon-placeholder {
281
+ font-family: VideoJS;
282
+ font-weight: 400;
283
+ font-style: normal
284
+ }
285
+
286
+ .video-js .vjs-play-progress:before, .video-js .vjs-volume-level:before, .vjs-icon-circle:before, .vjs-seek-to-live-control .vjs-icon-placeholder:before {
287
+ content: "\f116"
288
+ }
289
+
290
+ .vjs-icon-circle-outline {
291
+ font-family: VideoJS;
292
+ font-weight: 400;
293
+ font-style: normal
294
+ }
295
+
296
+ .vjs-icon-circle-outline:before {
297
+ content: "\f117"
298
+ }
299
+
300
+ .vjs-icon-circle-inner-circle {
301
+ font-family: VideoJS;
302
+ font-weight: 400;
303
+ font-style: normal
304
+ }
305
+
306
+ .vjs-icon-circle-inner-circle:before {
307
+ content: "\f118"
308
+ }
309
+
310
+ .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder, .vjs-icon-cancel {
311
+ font-family: VideoJS;
312
+ font-weight: 400;
313
+ font-style: normal
314
+ }
315
+
316
+ .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before, .vjs-icon-cancel:before {
317
+ content: "\f119"
318
+ }
319
+
320
+ .vjs-icon-repeat {
321
+ font-family: VideoJS;
322
+ font-weight: 400;
323
+ font-style: normal
324
+ }
325
+
326
+ .vjs-icon-repeat:before {
327
+ content: "\f11a"
328
+ }
329
+
330
+ .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder, .vjs-icon-replay {
331
+ font-family: VideoJS;
332
+ font-weight: 400;
333
+ font-style: normal
334
+ }
335
+
336
+ .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before, .vjs-icon-replay:before {
337
+ content: "\f11b"
338
+ }
339
+
340
+ .video-js .vjs-skip-backward-5 .vjs-icon-placeholder, .vjs-icon-replay-5 {
341
+ font-family: VideoJS;
342
+ font-weight: 400;
343
+ font-style: normal
344
+ }
345
+
346
+ .video-js .vjs-skip-backward-5 .vjs-icon-placeholder:before, .vjs-icon-replay-5:before {
347
+ content: "\f11c"
348
+ }
349
+
350
+ .video-js .vjs-skip-backward-10 .vjs-icon-placeholder, .vjs-icon-replay-10 {
351
+ font-family: VideoJS;
352
+ font-weight: 400;
353
+ font-style: normal
354
+ }
355
+
356
+ .video-js .vjs-skip-backward-10 .vjs-icon-placeholder:before, .vjs-icon-replay-10:before {
357
+ content: "\f11d"
358
+ }
359
+
360
+ .video-js .vjs-skip-backward-30 .vjs-icon-placeholder, .vjs-icon-replay-30 {
361
+ font-family: VideoJS;
362
+ font-weight: 400;
363
+ font-style: normal
364
+ }
365
+
366
+ .video-js .vjs-skip-backward-30 .vjs-icon-placeholder:before, .vjs-icon-replay-30:before {
367
+ content: "\f11e"
368
+ }
369
+
370
+ .video-js .vjs-skip-forward-5 .vjs-icon-placeholder, .vjs-icon-forward-5 {
371
+ font-family: VideoJS;
372
+ font-weight: 400;
373
+ font-style: normal
374
+ }
375
+
376
+ .video-js .vjs-skip-forward-5 .vjs-icon-placeholder:before, .vjs-icon-forward-5:before {
377
+ content: "\f11f"
378
+ }
379
+
380
+ .video-js .vjs-skip-forward-10 .vjs-icon-placeholder, .vjs-icon-forward-10 {
381
+ font-family: VideoJS;
382
+ font-weight: 400;
383
+ font-style: normal
384
+ }
385
+
386
+ .video-js .vjs-skip-forward-10 .vjs-icon-placeholder:before, .vjs-icon-forward-10:before {
387
+ content: "\f120"
388
+ }
389
+
390
+ .video-js .vjs-skip-forward-30 .vjs-icon-placeholder, .vjs-icon-forward-30 {
391
+ font-family: VideoJS;
392
+ font-weight: 400;
393
+ font-style: normal
394
+ }
395
+
396
+ .video-js .vjs-skip-forward-30 .vjs-icon-placeholder:before, .vjs-icon-forward-30:before {
397
+ content: "\f121"
398
+ }
399
+
400
+ .video-js .vjs-audio-button .vjs-icon-placeholder, .vjs-icon-audio {
401
+ font-family: VideoJS;
402
+ font-weight: 400;
403
+ font-style: normal
404
+ }
405
+
406
+ .video-js .vjs-audio-button .vjs-icon-placeholder:before, .vjs-icon-audio:before {
407
+ content: "\f122"
408
+ }
409
+
410
+ .vjs-icon-next-item {
411
+ font-family: VideoJS;
412
+ font-weight: 400;
413
+ font-style: normal
414
+ }
415
+
416
+ .vjs-icon-next-item:before {
417
+ content: "\f123"
418
+ }
419
+
420
+ .vjs-icon-previous-item {
421
+ font-family: VideoJS;
422
+ font-weight: 400;
423
+ font-style: normal
424
+ }
425
+
426
+ .vjs-icon-previous-item:before {
427
+ content: "\f124"
428
+ }
429
+
430
+ .vjs-icon-shuffle {
431
+ font-family: VideoJS;
432
+ font-weight: 400;
433
+ font-style: normal
434
+ }
435
+
436
+ .vjs-icon-shuffle:before {
437
+ content: "\f125"
438
+ }
439
+
440
+ .vjs-icon-cast {
441
+ font-family: VideoJS;
442
+ font-weight: 400;
443
+ font-style: normal
444
+ }
445
+
446
+ .vjs-icon-cast:before {
447
+ content: "\f126"
448
+ }
449
+
450
+ .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder, .vjs-icon-picture-in-picture-enter {
451
+ font-family: VideoJS;
452
+ font-weight: 400;
453
+ font-style: normal
454
+ }
455
+
456
+ .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before, .vjs-icon-picture-in-picture-enter:before {
457
+ content: "\f127"
458
+ }
459
+
460
+ .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder, .vjs-icon-picture-in-picture-exit {
461
+ font-family: VideoJS;
462
+ font-weight: 400;
463
+ font-style: normal
464
+ }
465
+
466
+ .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before, .vjs-icon-picture-in-picture-exit:before {
467
+ content: "\f128"
468
+ }
469
+
470
+ .vjs-icon-facebook {
471
+ font-family: VideoJS;
472
+ font-weight: 400;
473
+ font-style: normal
474
+ }
475
+
476
+ .vjs-icon-facebook:before {
477
+ content: "\f129"
478
+ }
479
+
480
+ .vjs-icon-linkedin {
481
+ font-family: VideoJS;
482
+ font-weight: 400;
483
+ font-style: normal
484
+ }
485
+
486
+ .vjs-icon-linkedin:before {
487
+ content: "\f12a"
488
+ }
489
+
490
+ .vjs-icon-twitter {
491
+ font-family: VideoJS;
492
+ font-weight: 400;
493
+ font-style: normal
494
+ }
495
+
496
+ .vjs-icon-twitter:before {
497
+ content: "\f12b"
498
+ }
499
+
500
+ .vjs-icon-tumblr {
501
+ font-family: VideoJS;
502
+ font-weight: 400;
503
+ font-style: normal
504
+ }
505
+
506
+ .vjs-icon-tumblr:before {
507
+ content: "\f12c"
508
+ }
509
+
510
+ .vjs-icon-pinterest {
511
+ font-family: VideoJS;
512
+ font-weight: 400;
513
+ font-style: normal
514
+ }
515
+
516
+ .vjs-icon-pinterest:before {
517
+ content: "\f12d"
518
+ }
519
+
520
+ .video-js .vjs-descriptions-button .vjs-icon-placeholder, .vjs-icon-audio-description {
521
+ font-family: VideoJS;
522
+ font-weight: 400;
523
+ font-style: normal
524
+ }
525
+
526
+ .video-js .vjs-descriptions-button .vjs-icon-placeholder:before, .vjs-icon-audio-description:before {
527
+ content: "\f12e"
528
+ }
529
+
530
+ .video-js {
531
+ display: inline-block;
532
+ vertical-align: top;
533
+ box-sizing: border-box;
534
+ color: #fff;
535
+ background-color: #000;
536
+ position: relative;
537
+ padding: 0;
538
+ font-size: 10px;
539
+ line-height: 1;
540
+ font-weight: 400;
541
+ font-style: normal;
542
+ font-family: Arial, Helvetica, sans-serif;
543
+ word-break: initial
544
+ }
545
+
546
+ .video-js:-moz-full-screen {
547
+ position: absolute
548
+ }
549
+
550
+ .video-js:-webkit-full-screen {
551
+ width: 100% !important;
552
+ height: 100% !important
553
+ }
554
+
555
+ .video-js[tabindex="-1"] {
556
+ outline: 0
557
+ }
558
+
559
+ .video-js *, .video-js :after, .video-js :before {
560
+ box-sizing: inherit
561
+ }
562
+
563
+ .video-js ul {
564
+ font-family: inherit;
565
+ font-size: inherit;
566
+ line-height: inherit;
567
+ list-style-position: outside;
568
+ margin-left: 0;
569
+ margin-right: 0;
570
+ margin-top: 0;
571
+ margin-bottom: 0
572
+ }
573
+
574
+ .video-js.vjs-1-1, .video-js.vjs-16-9, .video-js.vjs-4-3, .video-js.vjs-9-16, .video-js.vjs-fluid {
575
+ width: 100%;
576
+ max-width: 100%
577
+ }
578
+
579
+ .video-js.vjs-1-1:not(.vjs-audio-only-mode), .video-js.vjs-16-9:not(.vjs-audio-only-mode), .video-js.vjs-4-3:not(.vjs-audio-only-mode), .video-js.vjs-9-16:not(.vjs-audio-only-mode), .video-js.vjs-fluid:not(.vjs-audio-only-mode) {
580
+ height: 0
581
+ }
582
+
583
+ .video-js.vjs-16-9:not(.vjs-audio-only-mode) {
584
+ padding-top: 56.25%
585
+ }
586
+
587
+ .video-js.vjs-4-3:not(.vjs-audio-only-mode) {
588
+ padding-top: 75%
589
+ }
590
+
591
+ .video-js.vjs-9-16:not(.vjs-audio-only-mode) {
592
+ padding-top: 177.7777777778%
593
+ }
594
+
595
+ .video-js.vjs-1-1:not(.vjs-audio-only-mode) {
596
+ padding-top: 100%
597
+ }
598
+
599
+ .video-js.vjs-fill:not(.vjs-audio-only-mode) {
600
+ width: 100%;
601
+ height: 100%
602
+ }
603
+
604
+ .video-js .vjs-tech {
605
+ position: absolute;
606
+ top: 0;
607
+ left: 0;
608
+ width: 100%;
609
+ height: 100%
610
+ }
611
+
612
+ .video-js.vjs-audio-only-mode .vjs-tech {
613
+ display: none
614
+ }
615
+
616
+ body.vjs-full-window, body.vjs-pip-window {
617
+ padding: 0;
618
+ margin: 0;
619
+ height: 100%
620
+ }
621
+
622
+ .vjs-full-window .video-js.vjs-fullscreen, body.vjs-pip-window .video-js {
623
+ position: fixed;
624
+ overflow: hidden;
625
+ z-index: 1000;
626
+ left: 0;
627
+ top: 0;
628
+ bottom: 0;
629
+ right: 0
630
+ }
631
+
632
+ .video-js.vjs-fullscreen:not(.vjs-ios-native-fs), body.vjs-pip-window .video-js {
633
+ width: 100% !important;
634
+ height: 100% !important;
635
+ padding-top: 0 !important;
636
+ display: block
637
+ }
638
+
639
+ .video-js.vjs-fullscreen.vjs-user-inactive {
640
+ cursor: none
641
+ }
642
+
643
+ .vjs-pip-container .vjs-pip-text {
644
+ position: absolute;
645
+ bottom: 10%;
646
+ font-size: 2em;
647
+ background-color: rgba(0, 0, 0, .7);
648
+ padding: .5em;
649
+ text-align: center;
650
+ width: 100%
651
+ }
652
+
653
+ .vjs-layout-small.vjs-pip-container .vjs-pip-text, .vjs-layout-tiny.vjs-pip-container .vjs-pip-text, .vjs-layout-x-small.vjs-pip-container .vjs-pip-text {
654
+ bottom: 0;
655
+ font-size: 1.4em
656
+ }
657
+
658
+ .vjs-hidden {
659
+ display: none !important
660
+ }
661
+
662
+ .vjs-disabled {
663
+ opacity: .5;
664
+ cursor: default
665
+ }
666
+
667
+ .video-js .vjs-offscreen {
668
+ height: 1px;
669
+ left: -9999px;
670
+ position: absolute;
671
+ top: 0;
672
+ width: 1px
673
+ }
674
+
675
+ .vjs-lock-showing {
676
+ display: block !important;
677
+ opacity: 1 !important;
678
+ visibility: visible !important
679
+ }
680
+
681
+ .vjs-no-js {
682
+ padding: 20px;
683
+ color: #fff;
684
+ background-color: #000;
685
+ font-size: 18px;
686
+ font-family: Arial, Helvetica, sans-serif;
687
+ text-align: center;
688
+ width: 300px;
689
+ height: 150px;
690
+ margin: 0 auto
691
+ }
692
+
693
+ .vjs-no-js a, .vjs-no-js a:visited {
694
+ color: #66a8cc
695
+ }
696
+
697
+ .video-js .vjs-big-play-button {
698
+ font-size: 3em;
699
+ line-height: 1.5em;
700
+ height: 1.63332em;
701
+ width: 3em;
702
+ display: block;
703
+ position: absolute;
704
+ top: 50%;
705
+ left: 50%;
706
+ padding: 0;
707
+ margin-top: -.81666em;
708
+ margin-left: -1.5em;
709
+ cursor: pointer;
710
+ opacity: 1;
711
+ border: .06666em solid #fff;
712
+ background-color: #2b333f;
713
+ background-color: rgba(43, 51, 63, .7);
714
+ border-radius: .3em;
715
+ transition: all .4s
716
+ }
717
+
718
+ .vjs-big-play-button .vjs-svg-icon {
719
+ width: 1em;
720
+ height: 1em;
721
+ position: absolute;
722
+ top: 50%;
723
+ left: 50%;
724
+ line-height: 1;
725
+ transform: translate(-50%, -50%)
726
+ }
727
+
728
+ .video-js .vjs-big-play-button:focus, .video-js:hover .vjs-big-play-button {
729
+ border-color: #fff;
730
+ background-color: rgb(114.9141509434, 132.7028301887, 159.3858490566);
731
+ background-color: rgba(114.9141509434, 132.7028301887, 159.3858490566, .5);
732
+ transition: all 0s
733
+ }
734
+
735
+ .vjs-controls-disabled .vjs-big-play-button, .vjs-error .vjs-big-play-button, .vjs-has-started .vjs-big-play-button, .vjs-using-native-controls .vjs-big-play-button {
736
+ display: none
737
+ }
738
+
739
+ .vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause:not(.vjs-seeking, .vjs-scrubbing, .vjs-error) .vjs-big-play-button {
740
+ display: block
741
+ }
742
+
743
+ .video-js button {
744
+ background: 0 0;
745
+ border: none;
746
+ color: inherit;
747
+ display: inline-block;
748
+ font-size: inherit;
749
+ line-height: inherit;
750
+ text-transform: none;
751
+ text-decoration: none;
752
+ transition: none;
753
+ -webkit-appearance: none;
754
+ -moz-appearance: none;
755
+ appearance: none
756
+ }
757
+
758
+ .video-js.vjs-spatial-navigation-enabled .vjs-button:focus {
759
+ outline: .0625em solid #fff;
760
+ box-shadow: none
761
+ }
762
+
763
+ .vjs-control .vjs-button {
764
+ width: 100%;
765
+ height: 100%
766
+ }
767
+
768
+ .video-js .vjs-control.vjs-close-button {
769
+ cursor: pointer;
770
+ height: 3em;
771
+ position: absolute;
772
+ right: 0;
773
+ top: .5em;
774
+ z-index: 2
775
+ }
776
+
777
+ .video-js .vjs-modal-dialog {
778
+ background: rgba(0, 0, 0, .8);
779
+ background: linear-gradient(180deg, rgba(0, 0, 0, .8), rgba(255, 255, 255, 0));
780
+ overflow: auto
781
+ }
782
+
783
+ .video-js .vjs-modal-dialog>* {
784
+ box-sizing: border-box
785
+ }
786
+
787
+ .vjs-modal-dialog .vjs-modal-dialog-content {
788
+ font-size: 1.2em;
789
+ line-height: 1.5;
790
+ padding: 20px 24px;
791
+ z-index: 1
792
+ }
793
+
794
+ .vjs-menu-button {
795
+ cursor: pointer
796
+ }
797
+
798
+ .vjs-menu-button.vjs-disabled {
799
+ cursor: default
800
+ }
801
+
802
+ .vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu {
803
+ display: none
804
+ }
805
+
806
+ .vjs-menu .vjs-menu-content {
807
+ display: block;
808
+ padding: 0;
809
+ margin: 0;
810
+ font-family: Arial, Helvetica, sans-serif;
811
+ overflow: auto
812
+ }
813
+
814
+ .vjs-menu .vjs-menu-content>* {
815
+ box-sizing: border-box
816
+ }
817
+
818
+ .vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu {
819
+ display: none
820
+ }
821
+
822
+ .vjs-menu li {
823
+ display: flex;
824
+ justify-content: center;
825
+ list-style: none;
826
+ margin: 0;
827
+ padding: .2em 0;
828
+ line-height: 1.4em;
829
+ font-size: 1.2em;
830
+ text-align: center;
831
+ text-transform: lowercase
832
+ }
833
+
834
+ .js-focus-visible .vjs-menu li.vjs-menu-item:hover, .vjs-menu li.vjs-menu-item:focus, .vjs-menu li.vjs-menu-item:hover {
835
+ background-color: rgb(114.9141509434, 132.7028301887, 159.3858490566);
836
+ background-color: rgba(114.9141509434, 132.7028301887, 159.3858490566, .5)
837
+ }
838
+
839
+ .js-focus-visible .vjs-menu li.vjs-selected:hover, .vjs-menu li.vjs-selected, .vjs-menu li.vjs-selected:focus, .vjs-menu li.vjs-selected:hover {
840
+ background-color: #fff;
841
+ color: #2b333f
842
+ }
843
+
844
+ .js-focus-visible .vjs-menu li.vjs-selected:hover .vjs-svg-icon, .vjs-menu li.vjs-selected .vjs-svg-icon, .vjs-menu li.vjs-selected:focus .vjs-svg-icon, .vjs-menu li.vjs-selected:hover .vjs-svg-icon {
845
+ fill: #000
846
+ }
847
+
848
+ .js-focus-visible .vjs-menu :not(.vjs-selected):focus:not(.focus-visible), .video-js .vjs-menu :not(.vjs-selected):focus:not(:focus-visible) {
849
+ background: 0 0
850
+ }
851
+
852
+ .vjs-menu li.vjs-menu-title {
853
+ text-align: center;
854
+ text-transform: uppercase;
855
+ font-size: 1em;
856
+ line-height: 2em;
857
+ padding: 0;
858
+ margin: 0 0 .3em 0;
859
+ font-weight: 700;
860
+ cursor: default
861
+ }
862
+
863
+ .vjs-menu-button-popup .vjs-menu {
864
+ display: none;
865
+ position: absolute;
866
+ bottom: 0;
867
+ width: 10em;
868
+ left: -3em;
869
+ height: 0;
870
+ margin-bottom: 1.5em;
871
+ border-top-color: rgba(43, 51, 63, .7)
872
+ }
873
+
874
+ .vjs-pip-window .vjs-menu-button-popup .vjs-menu {
875
+ left: unset;
876
+ right: 1em
877
+ }
878
+
879
+ .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
880
+ background-color: #2b333f;
881
+ background-color: rgba(43, 51, 63, .7);
882
+ position: absolute;
883
+ width: 100%;
884
+ bottom: 1.5em;
885
+ max-height: 15em
886
+ }
887
+
888
+ .vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content, .vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
889
+ max-height: 5em
890
+ }
891
+
892
+ .vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
893
+ max-height: 10em
894
+ }
895
+
896
+ .vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
897
+ max-height: 14em
898
+ }
899
+
900
+ .vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content, .vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content, .vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
901
+ max-height: 25em
902
+ }
903
+
904
+ .vjs-menu-button-popup .vjs-menu.vjs-lock-showing, .vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu {
905
+ display: block
906
+ }
907
+
908
+ .video-js .vjs-menu-button-inline {
909
+ transition: all .4s;
910
+ overflow: hidden
911
+ }
912
+
913
+ .video-js .vjs-menu-button-inline:before {
914
+ width: 2.222222222em
915
+ }
916
+
917
+ .video-js .vjs-menu-button-inline.vjs-slider-active, .video-js .vjs-menu-button-inline:focus, .video-js .vjs-menu-button-inline:hover {
918
+ width: 12em
919
+ }
920
+
921
+ .vjs-menu-button-inline .vjs-menu {
922
+ opacity: 0;
923
+ height: 100%;
924
+ width: auto;
925
+ position: absolute;
926
+ left: 4em;
927
+ top: 0;
928
+ padding: 0;
929
+ margin: 0;
930
+ transition: all .4s
931
+ }
932
+
933
+ .vjs-menu-button-inline.vjs-slider-active .vjs-menu, .vjs-menu-button-inline:focus .vjs-menu, .vjs-menu-button-inline:hover .vjs-menu {
934
+ display: block;
935
+ opacity: 1
936
+ }
937
+
938
+ .vjs-menu-button-inline .vjs-menu-content {
939
+ width: auto;
940
+ height: 100%;
941
+ margin: 0;
942
+ overflow: hidden
943
+ }
944
+
945
+ .video-js .vjs-control-bar {
946
+ display: none;
947
+ width: 100%;
948
+ position: absolute;
949
+ bottom: 0;
950
+ left: 0;
951
+ right: 0;
952
+ height: 3em;
953
+ background-color: #2b333f;
954
+ background-color: rgba(43, 51, 63, .7)
955
+ }
956
+
957
+ .video-js.vjs-spatial-navigation-enabled .vjs-control-bar {
958
+ gap: 1px
959
+ }
960
+
961
+ .video-js:not(.vjs-controls-disabled, .vjs-using-native-controls, .vjs-error) .vjs-control-bar.vjs-lock-showing {
962
+ display: flex !important
963
+ }
964
+
965
+ .vjs-audio-only-mode .vjs-control-bar, .vjs-has-started .vjs-control-bar {
966
+ display: flex;
967
+ visibility: visible;
968
+ opacity: 1;
969
+ transition: visibility .1s, opacity .1s
970
+ }
971
+
972
+ .vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
973
+ visibility: visible;
974
+ opacity: 0;
975
+ pointer-events: none;
976
+ transition: visibility 1s, opacity 1s
977
+ }
978
+
979
+ .vjs-controls-disabled .vjs-control-bar, .vjs-error .vjs-control-bar, .vjs-using-native-controls .vjs-control-bar {
980
+ display: none !important
981
+ }
982
+
983
+ .vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar, .vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
984
+ opacity: 1;
985
+ visibility: visible;
986
+ pointer-events: auto
987
+ }
988
+
989
+ .video-js .vjs-control {
990
+ position: relative;
991
+ text-align: center;
992
+ margin: 0;
993
+ padding: 0;
994
+ height: 100%;
995
+ width: 4em;
996
+ flex: none
997
+ }
998
+
999
+ .video-js .vjs-control.vjs-visible-text {
1000
+ width: auto;
1001
+ padding-left: 1em;
1002
+ padding-right: 1em
1003
+ }
1004
+
1005
+ .vjs-button>.vjs-icon-placeholder:before {
1006
+ font-size: 1.8em;
1007
+ line-height: 1.67
1008
+ }
1009
+
1010
+ .vjs-button>.vjs-icon-placeholder {
1011
+ display: block
1012
+ }
1013
+
1014
+ .vjs-button>.vjs-svg-icon {
1015
+ display: inline-block
1016
+ }
1017
+
1018
+ .video-js .vjs-control:focus, .video-js .vjs-control:focus:before, .video-js .vjs-control:hover:before {
1019
+ text-shadow: 0 0 1em #fff
1020
+ }
1021
+
1022
+ .video-js :not(.vjs-visible-text)>.vjs-control-text {
1023
+ border: 0;
1024
+ clip: rect(0 0 0 0);
1025
+ height: 1px;
1026
+ overflow: hidden;
1027
+ padding: 0;
1028
+ position: absolute;
1029
+ width: 1px
1030
+ }
1031
+
1032
+ .video-js .vjs-custom-control-spacer {
1033
+ display: none
1034
+ }
1035
+
1036
+ .video-js .vjs-progress-control {
1037
+ cursor: pointer;
1038
+ flex: auto;
1039
+ display: flex;
1040
+ align-items: center;
1041
+ min-width: 4em;
1042
+ touch-action: none
1043
+ }
1044
+
1045
+ .video-js .vjs-progress-control.disabled {
1046
+ cursor: default
1047
+ }
1048
+
1049
+ .vjs-live .vjs-progress-control {
1050
+ display: none
1051
+ }
1052
+
1053
+ .vjs-liveui .vjs-progress-control {
1054
+ display: flex;
1055
+ align-items: center
1056
+ }
1057
+
1058
+ .video-js .vjs-progress-holder {
1059
+ flex: auto;
1060
+ transition: all .2s;
1061
+ height: .3em
1062
+ }
1063
+
1064
+ .video-js .vjs-progress-control .vjs-progress-holder {
1065
+ margin: 0 10px
1066
+ }
1067
+
1068
+ .video-js .vjs-progress-control:hover .vjs-progress-holder, .video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-progress-holder {
1069
+ font-size: 1.6666666667em
1070
+ }
1071
+
1072
+ .video-js .vjs-progress-control:hover .vjs-progress-holder.disabled {
1073
+ font-size: 1em
1074
+ }
1075
+
1076
+ .video-js .vjs-progress-holder .vjs-load-progress, .video-js .vjs-progress-holder .vjs-load-progress div, .video-js .vjs-progress-holder .vjs-play-progress {
1077
+ position: absolute;
1078
+ display: block;
1079
+ height: 100%;
1080
+ margin: 0;
1081
+ padding: 0;
1082
+ width: 0
1083
+ }
1084
+
1085
+ .video-js .vjs-play-progress {
1086
+ background-color: #fff
1087
+ }
1088
+
1089
+ .video-js .vjs-play-progress:before {
1090
+ font-size: .9em;
1091
+ position: absolute;
1092
+ right: -.5em;
1093
+ line-height: .35em;
1094
+ z-index: 1
1095
+ }
1096
+
1097
+ .vjs-svg-icons-enabled .vjs-play-progress:before {
1098
+ content: none !important
1099
+ }
1100
+
1101
+ .vjs-play-progress .vjs-svg-icon {
1102
+ position: absolute;
1103
+ top: -.35em;
1104
+ right: -.4em;
1105
+ width: .9em;
1106
+ height: .9em;
1107
+ pointer-events: none;
1108
+ line-height: .15em;
1109
+ z-index: 1
1110
+ }
1111
+
1112
+ .video-js .vjs-load-progress {
1113
+ background: rgba(114.9141509434, 132.7028301887, 159.3858490566, .5)
1114
+ }
1115
+
1116
+ .video-js .vjs-load-progress div {
1117
+ background: rgba(114.9141509434, 132.7028301887, 159.3858490566, .75)
1118
+ }
1119
+
1120
+ .video-js .vjs-time-tooltip {
1121
+ background-color: #fff;
1122
+ background-color: rgba(255, 255, 255, .8);
1123
+ border-radius: .3em;
1124
+ color: #000;
1125
+ float: right;
1126
+ font-family: Arial, Helvetica, sans-serif;
1127
+ font-size: 1em;
1128
+ padding: 6px 8px 8px 8px;
1129
+ pointer-events: none;
1130
+ position: absolute;
1131
+ top: -3.4em;
1132
+ visibility: hidden;
1133
+ z-index: 1
1134
+ }
1135
+
1136
+ .video-js .vjs-progress-holder:focus .vjs-time-tooltip {
1137
+ display: none
1138
+ }
1139
+
1140
+ .video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip, .video-js .vjs-progress-control:hover .vjs-time-tooltip, .video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-time-tooltip {
1141
+ display: block;
1142
+ font-size: .6em;
1143
+ visibility: visible
1144
+ }
1145
+
1146
+ .video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip {
1147
+ font-size: 1em
1148
+ }
1149
+
1150
+ .video-js .vjs-progress-control .vjs-mouse-display {
1151
+ display: none;
1152
+ position: absolute;
1153
+ width: 1px;
1154
+ height: 100%;
1155
+ background-color: #000;
1156
+ z-index: 1
1157
+ }
1158
+
1159
+ .video-js .vjs-progress-control:hover .vjs-mouse-display {
1160
+ display: block
1161
+ }
1162
+
1163
+ .video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-mouse-display {
1164
+ display: block
1165
+ }
1166
+
1167
+ .video-js.vjs-touch-enabled:not(.vjs-scrubbing) .vjs-progress-control .vjs-mouse-display, .video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display {
1168
+ visibility: hidden;
1169
+ opacity: 0;
1170
+ transition: visibility 1s, opacity 1s
1171
+ }
1172
+
1173
+ .vjs-mouse-display .vjs-time-tooltip {
1174
+ color: #fff;
1175
+ background-color: #000;
1176
+ background-color: rgba(0, 0, 0, .8)
1177
+ }
1178
+
1179
+ .video-js .vjs-slider {
1180
+ position: relative;
1181
+ cursor: pointer;
1182
+ padding: 0;
1183
+ margin: 0 .45em 0 .45em;
1184
+ -webkit-touch-callout: none;
1185
+ -webkit-user-select: none;
1186
+ -moz-user-select: none;
1187
+ user-select: none;
1188
+ background-color: rgb(114.9141509434, 132.7028301887, 159.3858490566);
1189
+ background-color: rgba(114.9141509434, 132.7028301887, 159.3858490566, .5)
1190
+ }
1191
+
1192
+ .video-js .vjs-slider.disabled {
1193
+ cursor: default
1194
+ }
1195
+
1196
+ .video-js .vjs-slider:focus {
1197
+ text-shadow: 0 0 1em #fff;
1198
+ box-shadow: 0 0 1em #fff
1199
+ }
1200
+
1201
+ .video-js.vjs-spatial-navigation-enabled .vjs-slider:focus {
1202
+ outline: .0625em solid #fff
1203
+ }
1204
+
1205
+ .video-js .vjs-mute-control {
1206
+ cursor: pointer;
1207
+ flex: none
1208
+ }
1209
+
1210
+ .video-js .vjs-volume-control {
1211
+ cursor: pointer;
1212
+ margin-right: 1em;
1213
+ display: flex
1214
+ }
1215
+
1216
+ .video-js .vjs-volume-control.vjs-volume-horizontal {
1217
+ width: 5em
1218
+ }
1219
+
1220
+ .video-js .vjs-volume-panel .vjs-volume-control {
1221
+ visibility: visible;
1222
+ opacity: 0;
1223
+ width: 1px;
1224
+ height: 1px;
1225
+ margin-left: -1px
1226
+ }
1227
+
1228
+ .video-js .vjs-volume-panel {
1229
+ transition: width 1s
1230
+ }
1231
+
1232
+ .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active, .video-js .vjs-volume-panel .vjs-volume-control:active, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control, .video-js .vjs-volume-panel.vjs-hover .vjs-volume-control, .video-js .vjs-volume-panel:active .vjs-volume-control, .video-js .vjs-volume-panel:focus .vjs-volume-control {
1233
+ visibility: visible;
1234
+ opacity: 1;
1235
+ position: relative;
1236
+ transition: visibility .1s, opacity .1s, height .1s, width .1s, left 0s, top 0s
1237
+ }
1238
+
1239
+ .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal {
1240
+ width: 5em;
1241
+ height: 3em;
1242
+ margin-right: 0
1243
+ }
1244
+
1245
+ .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical {
1246
+ left: -3.5em;
1247
+ transition: left 0s
1248
+ }
1249
+
1250
+ .video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active {
1251
+ width: 10em;
1252
+ transition: width .1s
1253
+ }
1254
+
1255
+ .video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only {
1256
+ width: 4em
1257
+ }
1258
+
1259
+ .video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {
1260
+ height: 8em;
1261
+ width: 3em;
1262
+ left: -3000em;
1263
+ transition: visibility 1s, opacity 1s, height 1s 1s, width 1s 1s, left 1s 1s, top 1s 1s
1264
+ }
1265
+
1266
+ .video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {
1267
+ transition: visibility 1s, opacity 1s, height 1s 1s, width 1s, left 1s 1s, top 1s 1s
1268
+ }
1269
+
1270
+ .video-js .vjs-volume-panel {
1271
+ display: flex
1272
+ }
1273
+
1274
+ .video-js .vjs-volume-bar {
1275
+ margin: 1.35em .45em
1276
+ }
1277
+
1278
+ .vjs-volume-bar.vjs-slider-horizontal {
1279
+ width: 5em;
1280
+ height: .3em
1281
+ }
1282
+
1283
+ .vjs-volume-bar.vjs-slider-vertical {
1284
+ width: .3em;
1285
+ height: 5em;
1286
+ margin: 1.35em auto
1287
+ }
1288
+
1289
+ .video-js .vjs-volume-level {
1290
+ position: absolute;
1291
+ bottom: 0;
1292
+ left: 0;
1293
+ background-color: #fff
1294
+ }
1295
+
1296
+ .video-js .vjs-volume-level:before {
1297
+ position: absolute;
1298
+ font-size: .9em;
1299
+ z-index: 1
1300
+ }
1301
+
1302
+ .vjs-slider-vertical .vjs-volume-level {
1303
+ width: .3em
1304
+ }
1305
+
1306
+ .vjs-slider-vertical .vjs-volume-level:before {
1307
+ top: -.5em;
1308
+ left: -.3em;
1309
+ z-index: 1
1310
+ }
1311
+
1312
+ .vjs-svg-icons-enabled .vjs-volume-level:before {
1313
+ content: none
1314
+ }
1315
+
1316
+ .vjs-volume-level .vjs-svg-icon {
1317
+ position: absolute;
1318
+ width: .9em;
1319
+ height: .9em;
1320
+ pointer-events: none;
1321
+ z-index: 1
1322
+ }
1323
+
1324
+ .vjs-slider-horizontal .vjs-volume-level {
1325
+ height: .3em
1326
+ }
1327
+
1328
+ .vjs-slider-horizontal .vjs-volume-level:before {
1329
+ line-height: .35em;
1330
+ right: -.5em
1331
+ }
1332
+
1333
+ .vjs-slider-horizontal .vjs-volume-level .vjs-svg-icon {
1334
+ right: -.3em;
1335
+ transform: translateY(-50%)
1336
+ }
1337
+
1338
+ .vjs-slider-vertical .vjs-volume-level .vjs-svg-icon {
1339
+ top: -.55em;
1340
+ transform: translateX(-50%)
1341
+ }
1342
+
1343
+ .video-js .vjs-volume-panel.vjs-volume-panel-vertical {
1344
+ width: 4em
1345
+ }
1346
+
1347
+ .vjs-volume-bar.vjs-slider-vertical .vjs-volume-level {
1348
+ height: 100%
1349
+ }
1350
+
1351
+ .vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level {
1352
+ width: 100%
1353
+ }
1354
+
1355
+ .video-js .vjs-volume-vertical {
1356
+ width: 3em;
1357
+ height: 8em;
1358
+ bottom: 8em;
1359
+ background-color: #2b333f;
1360
+ background-color: rgba(43, 51, 63, .7)
1361
+ }
1362
+
1363
+ .video-js .vjs-volume-horizontal .vjs-menu {
1364
+ left: -2em
1365
+ }
1366
+
1367
+ .video-js .vjs-volume-tooltip {
1368
+ background-color: #fff;
1369
+ background-color: rgba(255, 255, 255, .8);
1370
+ border-radius: .3em;
1371
+ color: #000;
1372
+ float: right;
1373
+ font-family: Arial, Helvetica, sans-serif;
1374
+ font-size: 1em;
1375
+ padding: 6px 8px 8px 8px;
1376
+ pointer-events: none;
1377
+ position: absolute;
1378
+ top: -3.4em;
1379
+ visibility: hidden;
1380
+ z-index: 1
1381
+ }
1382
+
1383
+ .video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip, .video-js .vjs-volume-control:hover .vjs-volume-tooltip {
1384
+ display: block;
1385
+ font-size: 1em;
1386
+ visibility: visible
1387
+ }
1388
+
1389
+ .video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip, .video-js .vjs-volume-vertical:hover .vjs-volume-tooltip {
1390
+ left: 1em;
1391
+ top: -12px
1392
+ }
1393
+
1394
+ .video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip {
1395
+ font-size: 1em
1396
+ }
1397
+
1398
+ .video-js .vjs-volume-control .vjs-mouse-display {
1399
+ display: none;
1400
+ position: absolute;
1401
+ width: 100%;
1402
+ height: 1px;
1403
+ background-color: #000;
1404
+ z-index: 1
1405
+ }
1406
+
1407
+ .video-js .vjs-volume-horizontal .vjs-mouse-display {
1408
+ width: 1px;
1409
+ height: 100%
1410
+ }
1411
+
1412
+ .video-js .vjs-volume-control:hover .vjs-mouse-display {
1413
+ display: block
1414
+ }
1415
+
1416
+ .video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display {
1417
+ visibility: hidden;
1418
+ opacity: 0;
1419
+ transition: visibility 1s, opacity 1s
1420
+ }
1421
+
1422
+ .vjs-mouse-display .vjs-volume-tooltip {
1423
+ color: #fff;
1424
+ background-color: #000;
1425
+ background-color: rgba(0, 0, 0, .8)
1426
+ }
1427
+
1428
+ .vjs-poster {
1429
+ display: inline-block;
1430
+ vertical-align: middle;
1431
+ cursor: pointer;
1432
+ margin: 0;
1433
+ padding: 0;
1434
+ position: absolute;
1435
+ top: 0;
1436
+ right: 0;
1437
+ bottom: 0;
1438
+ left: 0;
1439
+ height: 100%
1440
+ }
1441
+
1442
+ .vjs-has-started .vjs-poster, .vjs-using-native-controls .vjs-poster {
1443
+ display: none
1444
+ }
1445
+
1446
+ .vjs-audio.vjs-has-started .vjs-poster, .vjs-has-started.vjs-audio-poster-mode .vjs-poster, .vjs-pip-container.vjs-has-started .vjs-poster {
1447
+ display: block
1448
+ }
1449
+
1450
+ .vjs-poster img {
1451
+ width: 100%;
1452
+ height: 100%;
1453
+ object-fit: contain
1454
+ }
1455
+
1456
+ .video-js .vjs-live-control {
1457
+ display: flex;
1458
+ align-items: flex-start;
1459
+ flex: auto;
1460
+ font-size: 1em;
1461
+ line-height: 3em
1462
+ }
1463
+
1464
+ .video-js.vjs-liveui .vjs-live-control, .video-js:not(.vjs-live) .vjs-live-control {
1465
+ display: none
1466
+ }
1467
+
1468
+ .video-js .vjs-seek-to-live-control {
1469
+ align-items: center;
1470
+ cursor: pointer;
1471
+ flex: none;
1472
+ display: inline-flex;
1473
+ height: 100%;
1474
+ padding-left: .5em;
1475
+ padding-right: .5em;
1476
+ font-size: 1em;
1477
+ line-height: 3em;
1478
+ width: auto;
1479
+ min-width: 4em
1480
+ }
1481
+
1482
+ .video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control, .video-js:not(.vjs-live) .vjs-seek-to-live-control {
1483
+ display: none
1484
+ }
1485
+
1486
+ .vjs-seek-to-live-control.vjs-control.vjs-at-live-edge {
1487
+ cursor: auto
1488
+ }
1489
+
1490
+ .vjs-seek-to-live-control .vjs-icon-placeholder {
1491
+ margin-right: .5em;
1492
+ color: #888
1493
+ }
1494
+
1495
+ .vjs-svg-icons-enabled .vjs-seek-to-live-control {
1496
+ line-height: 0
1497
+ }
1498
+
1499
+ .vjs-seek-to-live-control .vjs-svg-icon {
1500
+ width: 1em;
1501
+ height: 1em;
1502
+ pointer-events: none;
1503
+ fill: #888
1504
+ }
1505
+
1506
+ .vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder {
1507
+ color: red
1508
+ }
1509
+
1510
+ .vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-svg-icon {
1511
+ fill: red
1512
+ }
1513
+
1514
+ .video-js .vjs-time-control {
1515
+ flex: none;
1516
+ font-size: 1em;
1517
+ line-height: 3em;
1518
+ min-width: 2em;
1519
+ width: auto;
1520
+ padding-left: 1em;
1521
+ padding-right: 1em
1522
+ }
1523
+
1524
+ .video-js .vjs-current-time, .video-js .vjs-duration, .vjs-live .vjs-time-control, .vjs-live .vjs-time-divider {
1525
+ display: none
1526
+ }
1527
+
1528
+ .vjs-time-divider {
1529
+ display: none;
1530
+ line-height: 3em
1531
+ }
1532
+
1533
+ .vjs-normalise-time-controls:not(.vjs-live) .vjs-time-control {
1534
+ display: flex
1535
+ }
1536
+
1537
+ .video-js .vjs-play-control {
1538
+ cursor: pointer
1539
+ }
1540
+
1541
+ .video-js .vjs-play-control .vjs-icon-placeholder {
1542
+ flex: none
1543
+ }
1544
+
1545
+ .vjs-text-track-display {
1546
+ position: absolute;
1547
+ bottom: 3em;
1548
+ left: 0;
1549
+ right: 0;
1550
+ top: 0;
1551
+ pointer-events: none
1552
+ }
1553
+
1554
+ .vjs-error .vjs-text-track-display {
1555
+ display: none
1556
+ }
1557
+
1558
+ .video-js.vjs-controls-disabled .vjs-text-track-display, .video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display {
1559
+ bottom: 1em
1560
+ }
1561
+
1562
+ .video-js .vjs-text-track {
1563
+ font-size: 1.4em;
1564
+ text-align: center;
1565
+ margin-bottom: .1em
1566
+ }
1567
+
1568
+ .vjs-subtitles {
1569
+ color: #fff
1570
+ }
1571
+
1572
+ .vjs-captions {
1573
+ color: #fc6
1574
+ }
1575
+
1576
+ .vjs-tt-cue {
1577
+ display: block
1578
+ }
1579
+
1580
+ video::-webkit-media-text-track-display {
1581
+ transform: translateY(-3em)
1582
+ }
1583
+
1584
+ .video-js.vjs-controls-disabled video::-webkit-media-text-track-display, .video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display {
1585
+ transform: translateY(-1.5em)
1586
+ }
1587
+
1588
+ .video-js.vjs-force-center-align-cues .vjs-text-track-cue {
1589
+ text-align: center !important;
1590
+ width: 80% !important
1591
+ }
1592
+
1593
+ @supports not (inset:10px) {
1594
+ .video-js .vjs-text-track-display>div {
1595
+ top: 0;
1596
+ right: 0;
1597
+ bottom: 0;
1598
+ left: 0
1599
+ }
1600
+ }
1601
+
1602
+ .video-js .vjs-picture-in-picture-control {
1603
+ cursor: pointer;
1604
+ flex: none
1605
+ }
1606
+
1607
+ .video-js.vjs-audio-only-mode .vjs-picture-in-picture-control, .vjs-pip-window .vjs-picture-in-picture-control {
1608
+ display: none
1609
+ }
1610
+
1611
+ .video-js .vjs-fullscreen-control {
1612
+ cursor: pointer;
1613
+ flex: none
1614
+ }
1615
+
1616
+ .video-js.vjs-audio-only-mode .vjs-fullscreen-control, .vjs-pip-window .vjs-fullscreen-control {
1617
+ display: none
1618
+ }
1619
+
1620
+ .vjs-playback-rate .vjs-playback-rate-value, .vjs-playback-rate>.vjs-menu-button {
1621
+ position: absolute;
1622
+ top: 0;
1623
+ left: 0;
1624
+ width: 100%;
1625
+ height: 100%
1626
+ }
1627
+
1628
+ .vjs-playback-rate .vjs-playback-rate-value {
1629
+ pointer-events: none;
1630
+ font-size: 1.5em;
1631
+ line-height: 2;
1632
+ text-align: center
1633
+ }
1634
+
1635
+ .vjs-playback-rate .vjs-menu {
1636
+ width: 4em;
1637
+ left: 0
1638
+ }
1639
+
1640
+ .vjs-error .vjs-error-display .vjs-modal-dialog-content {
1641
+ font-size: 1.4em;
1642
+ text-align: center
1643
+ }
1644
+
1645
+ .vjs-loading-spinner {
1646
+ display: none;
1647
+ position: absolute;
1648
+ top: 50%;
1649
+ left: 50%;
1650
+ transform: translate(-50%, -50%);
1651
+ opacity: .85;
1652
+ text-align: left;
1653
+ border: .6em solid rgba(43, 51, 63, .7);
1654
+ box-sizing: border-box;
1655
+ background-clip: padding-box;
1656
+ width: 5em;
1657
+ height: 5em;
1658
+ border-radius: 50%;
1659
+ visibility: hidden
1660
+ }
1661
+
1662
+ .vjs-seeking .vjs-loading-spinner, .vjs-waiting .vjs-loading-spinner {
1663
+ display: flex;
1664
+ justify-content: center;
1665
+ align-items: center;
1666
+ animation: vjs-spinner-show 0s linear .3s forwards
1667
+ }
1668
+
1669
+ .vjs-error .vjs-loading-spinner {
1670
+ display: none
1671
+ }
1672
+
1673
+ .vjs-loading-spinner:after, .vjs-loading-spinner:before {
1674
+ content: "";
1675
+ position: absolute;
1676
+ box-sizing: inherit;
1677
+ width: inherit;
1678
+ height: inherit;
1679
+ border-radius: inherit;
1680
+ opacity: 1;
1681
+ border: inherit;
1682
+ border-color: transparent;
1683
+ border-top-color: #fff
1684
+ }
1685
+
1686
+ .vjs-seeking .vjs-loading-spinner:after, .vjs-seeking .vjs-loading-spinner:before, .vjs-waiting .vjs-loading-spinner:after, .vjs-waiting .vjs-loading-spinner:before {
1687
+ animation: vjs-spinner-spin 1.1s cubic-bezier(.6, .2, 0, .8) infinite, vjs-spinner-fade 1.1s linear infinite
1688
+ }
1689
+
1690
+ .vjs-seeking .vjs-loading-spinner:before, .vjs-waiting .vjs-loading-spinner:before {
1691
+ border-top-color: #fff
1692
+ }
1693
+
1694
+ .vjs-seeking .vjs-loading-spinner:after, .vjs-waiting .vjs-loading-spinner:after {
1695
+ border-top-color: #fff;
1696
+ animation-delay: .44s
1697
+ }
1698
+
1699
+ @keyframes vjs-spinner-show {
1700
+ to {
1701
+ visibility: visible
1702
+ }
1703
+ }
1704
+
1705
+ @keyframes vjs-spinner-spin {
1706
+ 100% {
1707
+ transform: rotate(360deg)
1708
+ }
1709
+ }
1710
+
1711
+ @keyframes vjs-spinner-fade {
1712
+ 0% {
1713
+ border-top-color: rgb(114.9141509434, 132.7028301887, 159.3858490566)
1714
+ }
1715
+
1716
+ 20% {
1717
+ border-top-color: rgb(114.9141509434, 132.7028301887, 159.3858490566)
1718
+ }
1719
+
1720
+ 35% {
1721
+ border-top-color: #fff
1722
+ }
1723
+
1724
+ 60% {
1725
+ border-top-color: rgb(114.9141509434, 132.7028301887, 159.3858490566)
1726
+ }
1727
+
1728
+ 100% {
1729
+ border-top-color: rgb(114.9141509434, 132.7028301887, 159.3858490566)
1730
+ }
1731
+ }
1732
+
1733
+ .video-js.vjs-audio-only-mode .vjs-captions-button {
1734
+ display: none
1735
+ }
1736
+
1737
+ .vjs-chapters-button .vjs-menu ul {
1738
+ width: 24em
1739
+ }
1740
+
1741
+ .video-js.vjs-audio-only-mode .vjs-descriptions-button {
1742
+ display: none
1743
+ }
1744
+
1745
+ .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-svg-icon {
1746
+ width: 1.5em;
1747
+ height: 1.5em
1748
+ }
1749
+
1750
+ .video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder {
1751
+ vertical-align: middle;
1752
+ display: inline-block;
1753
+ margin-bottom: -.1em
1754
+ }
1755
+
1756
+ .video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {
1757
+ font-family: VideoJS;
1758
+ content: "\f10c";
1759
+ font-size: 1.5em;
1760
+ line-height: inherit
1761
+ }
1762
+
1763
+ .video-js.vjs-audio-only-mode .vjs-subs-caps-button {
1764
+ display: none
1765
+ }
1766
+
1767
+ .video-js .vjs-audio-button+.vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder, .video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder {
1768
+ vertical-align: middle;
1769
+ display: inline-block;
1770
+ margin-bottom: -.1em
1771
+ }
1772
+
1773
+ .video-js .vjs-audio-button+.vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before, .video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {
1774
+ font-family: VideoJS;
1775
+ content: " \f12e";
1776
+ font-size: 1.5em;
1777
+ line-height: inherit
1778
+ }
1779
+
1780
+ .video-js.vjs-layout-small .vjs-current-time, .video-js.vjs-layout-small .vjs-duration, .video-js.vjs-layout-small .vjs-playback-rate, .video-js.vjs-layout-small .vjs-remaining-time, .video-js.vjs-layout-small .vjs-time-divider, .video-js.vjs-layout-small .vjs-volume-control, .video-js.vjs-layout-tiny .vjs-current-time, .video-js.vjs-layout-tiny .vjs-duration, .video-js.vjs-layout-tiny .vjs-playback-rate, .video-js.vjs-layout-tiny .vjs-remaining-time, .video-js.vjs-layout-tiny .vjs-time-divider, .video-js.vjs-layout-tiny .vjs-volume-control, .video-js.vjs-layout-x-small .vjs-current-time, .video-js.vjs-layout-x-small .vjs-duration, .video-js.vjs-layout-x-small .vjs-playback-rate, .video-js.vjs-layout-x-small .vjs-remaining-time, .video-js.vjs-layout-x-small .vjs-time-divider, .video-js.vjs-layout-x-small .vjs-volume-control {
1781
+ display: none
1782
+ }
1783
+
1784
+ .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover {
1785
+ width: auto;
1786
+ width: initial
1787
+ }
1788
+
1789
+ .video-js.vjs-layout-tiny .vjs-progress-control, .video-js.vjs-layout-x-small .vjs-progress-control {
1790
+ display: none
1791
+ }
1792
+
1793
+ .video-js.vjs-layout-x-small .vjs-custom-control-spacer {
1794
+ flex: auto;
1795
+ display: block
1796
+ }
1797
+
1798
+ .vjs-modal-dialog.vjs-text-track-settings {
1799
+ background-color: #2b333f;
1800
+ background-color: rgba(43, 51, 63, .75);
1801
+ color: #fff;
1802
+ height: 70%
1803
+ }
1804
+
1805
+ .vjs-spatial-navigation-enabled .vjs-modal-dialog.vjs-text-track-settings {
1806
+ height: 80%
1807
+ }
1808
+
1809
+ .vjs-error .vjs-text-track-settings {
1810
+ display: none
1811
+ }
1812
+
1813
+ .vjs-text-track-settings .vjs-modal-dialog-content {
1814
+ display: table
1815
+ }
1816
+
1817
+ .vjs-text-track-settings .vjs-track-settings-colors, .vjs-text-track-settings .vjs-track-settings-controls, .vjs-text-track-settings .vjs-track-settings-font {
1818
+ display: table-cell
1819
+ }
1820
+
1821
+ .vjs-text-track-settings .vjs-track-settings-controls {
1822
+ text-align: right;
1823
+ vertical-align: bottom
1824
+ }
1825
+
1826
+ @supports (display:grid) {
1827
+ .vjs-text-track-settings .vjs-modal-dialog-content {
1828
+ display: grid;
1829
+ grid-template-columns: 1fr 1fr;
1830
+ grid-template-rows: 1fr;
1831
+ padding: 20px 24px 0 24px
1832
+ }
1833
+
1834
+ .vjs-track-settings-controls .vjs-default-button {
1835
+ margin-bottom: 20px
1836
+ }
1837
+
1838
+ .vjs-text-track-settings .vjs-track-settings-controls {
1839
+ grid-column: 1/-1
1840
+ }
1841
+
1842
+ .vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content, .vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content, .vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content {
1843
+ grid-template-columns: 1fr
1844
+ }
1845
+ }
1846
+
1847
+ .vjs-text-track-settings select {
1848
+ font-size: inherit
1849
+ }
1850
+
1851
+ .vjs-track-setting>select {
1852
+ margin-right: 1em;
1853
+ margin-bottom: .5em
1854
+ }
1855
+
1856
+ .vjs-text-track-settings fieldset {
1857
+ margin: 10px;
1858
+ border: none
1859
+ }
1860
+
1861
+ .vjs-text-track-settings fieldset span {
1862
+ display: inline-block;
1863
+ padding: 0 .6em .8em
1864
+ }
1865
+
1866
+ .vjs-text-track-settings fieldset span>select {
1867
+ max-width: 7.3em
1868
+ }
1869
+
1870
+ .vjs-text-track-settings legend {
1871
+ color: #fff;
1872
+ font-weight: 700;
1873
+ font-size: 1.2em
1874
+ }
1875
+
1876
+ .vjs-text-track-settings .vjs-label {
1877
+ margin: 0 .5em .5em 0
1878
+ }
1879
+
1880
+ .vjs-track-settings-controls button:active, .vjs-track-settings-controls button:focus {
1881
+ outline-style: solid;
1882
+ outline-width: medium;
1883
+ background-image: linear-gradient(0deg, #fff 88%, rgb(114.9141509434, 132.7028301887, 159.3858490566) 100%)
1884
+ }
1885
+
1886
+ .vjs-track-settings-controls button:hover {
1887
+ color: rgba(43, 51, 63, .75)
1888
+ }
1889
+
1890
+ .vjs-track-settings-controls button {
1891
+ background-color: #fff;
1892
+ background-image: linear-gradient(-180deg, #fff 88%, rgb(114.9141509434, 132.7028301887, 159.3858490566) 100%);
1893
+ color: #2b333f;
1894
+ cursor: pointer;
1895
+ border-radius: 2px
1896
+ }
1897
+
1898
+ .vjs-track-settings-controls .vjs-default-button {
1899
+ margin-right: 1em
1900
+ }
1901
+
1902
+ .vjs-title-bar {
1903
+ background: rgba(0, 0, 0, .9);
1904
+ background: linear-gradient(180deg, rgba(0, 0, 0, .9) 0, rgba(0, 0, 0, .7) 60%, rgba(0, 0, 0, 0) 100%);
1905
+ font-size: 1.2em;
1906
+ line-height: 1.5;
1907
+ transition: opacity .1s;
1908
+ padding: .666em 1.333em 4em;
1909
+ pointer-events: none;
1910
+ position: absolute;
1911
+ top: 0;
1912
+ width: 100%
1913
+ }
1914
+
1915
+ .vjs-error .vjs-title-bar {
1916
+ display: none
1917
+ }
1918
+
1919
+ .vjs-title-bar-description, .vjs-title-bar-title {
1920
+ margin: 0;
1921
+ overflow: hidden;
1922
+ text-overflow: ellipsis;
1923
+ white-space: nowrap
1924
+ }
1925
+
1926
+ .vjs-title-bar-title {
1927
+ font-weight: 700;
1928
+ margin-bottom: .333em
1929
+ }
1930
+
1931
+ .vjs-playing.vjs-user-inactive .vjs-title-bar {
1932
+ opacity: 0;
1933
+ transition: opacity 1s
1934
+ }
1935
+
1936
+ .video-js .vjs-skip-forward-5 {
1937
+ cursor: pointer
1938
+ }
1939
+
1940
+ .video-js .vjs-skip-forward-10 {
1941
+ cursor: pointer
1942
+ }
1943
+
1944
+ .video-js .vjs-skip-forward-30 {
1945
+ cursor: pointer
1946
+ }
1947
+
1948
+ .video-js .vjs-skip-backward-5 {
1949
+ cursor: pointer
1950
+ }
1951
+
1952
+ .video-js .vjs-skip-backward-10 {
1953
+ cursor: pointer
1954
+ }
1955
+
1956
+ .video-js .vjs-skip-backward-30 {
1957
+ cursor: pointer
1958
+ }
1959
+
1960
+ .video-js .vjs-transient-button {
1961
+ position: absolute;
1962
+ height: 3em;
1963
+ display: flex;
1964
+ align-items: center;
1965
+ justify-content: center;
1966
+ background-color: rgba(50, 50, 50, .5);
1967
+ cursor: pointer;
1968
+ opacity: 1;
1969
+ transition: opacity 1s
1970
+ }
1971
+
1972
+ .video-js:not(.vjs-has-started) .vjs-transient-button {
1973
+ display: none
1974
+ }
1975
+
1976
+ .video-js.not-hover .vjs-transient-button:not(.force-display), .video-js.vjs-user-inactive .vjs-transient-button:not(.force-display) {
1977
+ opacity: 0
1978
+ }
1979
+
1980
+ .video-js .vjs-transient-button span {
1981
+ padding: 0 .5em
1982
+ }
1983
+
1984
+ .video-js .vjs-transient-button.vjs-left {
1985
+ left: 1em
1986
+ }
1987
+
1988
+ .video-js .vjs-transient-button.vjs-right {
1989
+ right: 1em
1990
+ }
1991
+
1992
+ .video-js .vjs-transient-button.vjs-top {
1993
+ top: 1em
1994
+ }
1995
+
1996
+ .video-js .vjs-transient-button.vjs-near-top {
1997
+ top: 4em
1998
+ }
1999
+
2000
+ .video-js .vjs-transient-button.vjs-bottom {
2001
+ bottom: 4em
2002
+ }
2003
+
2004
+ .video-js .vjs-transient-button:hover {
2005
+ background-color: rgba(50, 50, 50, .9)
2006
+ }
2007
+
2008
+ @media print {
2009
+ .video-js>:not(.vjs-tech):not(.vjs-poster) {
2010
+ visibility: hidden
2011
+ }
2012
+ }
2013
+
2014
+ .vjs-resize-manager {
2015
+ position: absolute;
2016
+ top: 0;
2017
+ left: 0;
2018
+ width: 100%;
2019
+ height: 100%;
2020
+ border: none;
2021
+ z-index: -1000
2022
+ }
2023
+
2024
+ .js-focus-visible .video-js :focus:not(.focus-visible) {
2025
+ outline: 0
2026
+ }
2027
+
2028
+ .video-js :focus:not(:focus-visible) {
2029
+ outline: 0
2030
+ }
2031
+ .och__player {
2032
+ width: 100%;
2033
+ height: auto;
2034
+ aspect-ratio: 16 / 9;
2035
+ }
2036
+ .video-js .vjs-big-play-button,
2037
+ .video-js:hover .vjs-big-play-button {
2038
+ font-size: 45px;
2039
+ border: none;
2040
+ background: transparent;
2041
+ transition: all 0.2s ease;
2042
+ }
2043
+ </style>
2044
+ `}};h.styles=[B],v([(0,q.property)({type:Array})],h.prototype,"sources",2),v([(0,q.query)("#player")],h.prototype,"$player",2),h=v([z("och-player")],h);var x=class{formatFileSize(e){let t=["B","KB","MB","GB"];if(e===0)return"0 B";let o=Math.floor(Math.log(e)/Math.log(1024));return Math.round(e/1024**o*100)/100+" "+t[o]}formatDuration(e){let t=Math.floor(e/60),o=Math.floor(e%60);return`${t}:${o.toString().padStart(2,"0")}`}getMultimediaSubtype(e){let t=e.format||"";return t.startsWith("video/")?"video":t.startsWith("image/")?"image":t.includes("presentation")||t.includes("pdf")||t.includes("powerpoint")||t.includes("slides")||t.includes("application/vnd.ms-powerpoint")||t.includes("application/vnd.openxmlformats-officedocument.presentationml")||e.slides&&e.slides.length>0?"presentation":e.duration||e.vodUrl?"video":"image"}renderThumbnail(e,t,o,s,l){return!t.showThumbnail||e.type==="faq"?n.html``:n.html`
2045
+ <div class="ol-asset__thumbnail">
2046
+ ${this.renderThumbnailContent(e)}
2047
+ ${this.renderMetadata(e,t)}
2048
+ ${this.renderThumbnailOverlay(e)}
2049
+ ${this.renderHoverOverlay(e,o,l,s)}
2050
+ </div>
2051
+ `}renderThumbnailContent(e){switch(e.type){case"multimedia":{let t=e;switch(this.getMultimediaSubtype(t)){case"video":return this.renderVideoThumbnail(t);case"presentation":return this.renderPresentationThumbnail(t);case"image":default:return n.html`
2052
+ <img
2053
+ src="${(0,w.ifDefined)(t.thumbnail||t.url)}"
2054
+ alt="${t.name}"
2055
+ class="ol-asset__image"
2056
+ />
2057
+ `}}case"file":{let t=e;switch(this.getMultimediaSubtype(t)){case"video":return this.renderVideoThumbnail(t);case"presentation":return this.renderPresentationThumbnail(t);case"image":default:return n.html`
2058
+ <img
2059
+ src="${(0,w.ifDefined)(t.thumbnail||t.url)}"
2060
+ alt="${t.name}"
2061
+ class="ol-asset__image"
2062
+ />
2063
+ `}}default:return n.html`
2064
+ <img
2065
+ src="${(0,w.ifDefined)(e.thumbnail||e.url)}"
2066
+ alt="${e.name}"
2067
+ class="ol-asset__image"
2068
+ />
2069
+ `}}renderVideoThumbnail(e){return n.html`
2070
+ <och-player
2071
+ class="ol-asset__video-player"
2072
+ .sources=${[{src:e.url||"",type:e.format||"video/mp4"}]}
2073
+ ></och-player>
2074
+ `}renderPresentationThumbnail(e){return n.html`
2075
+ <div class="ol-asset__presentation-preview">
2076
+ ${(0,f.when)(e.slides&&e.slides.length>0,()=>n.html`
2077
+ <img
2078
+ src="${e.slides[0]}"
2079
+ alt="Presentation preview"
2080
+ class="ol-asset__presentation-image"
2081
+ />
2082
+ `,()=>n.html`
2083
+ <div class="ol-asset__presentation-fallback">
2084
+ <div class="ol-asset__presentation-icon">
2085
+ <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
2086
+ <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
2087
+ <polyline points="14 2 14 8 20 8"></polyline>
2088
+ <line x1="16" y1="13" x2="8" y2="13"></line>
2089
+ <line x1="16" y1="17" x2="8" y2="17"></line>
2090
+ <polyline points="10 9 9 9 8 9"></polyline>
2091
+ </svg>
2092
+ </div>
2093
+ <div class="ol-asset__presentation-name">${e.name}</div>
2094
+ </div>
2095
+ `)}
2096
+ </div>
2097
+ `}renderThumbnailOverlay(e){let t=[];if(e.type==="multimedia"||e.type==="file"){let o=e;this.getMultimediaSubtype(o)==="video"&&o.duration&&t.push(n.html`
2098
+ <div class="ol-asset__duration">${this.formatDuration(o.duration)}</div>
2099
+ `)}return n.html`${t}`}renderContent(e,t){let o=(e.type==="multimedia"||e.type==="file")&&!t.showName&&!t.showDescription&&!t.showTags;return n.html`
2100
+ <div class=${(0,J.classMap)({"ol-asset__content":!0,"ol-asset__content--assets":!!o})}>
2101
+ ${this.renderName(e,t)}
2102
+ ${this.renderDescription(e,t)}
2103
+ ${this.renderPrice(e)}
2104
+ ${this.renderTags(e,t)}
2105
+ </div>
2106
+ `}renderName(e,t){return e.type==="faq"?n.html``:e.type==="product"?n.html`
2107
+ <div class="ol-asset__name">${e.name}</div>
2108
+ `:(e.type==="multimedia"||e.type==="file")&&this.getMultimediaSubtype(e)==="presentation"&&(!e.slides||e.slides.length===0)?n.html`
2109
+ <div class="ol-asset__name">${e.name}</div>
2110
+ `:t.showName?n.html`
2111
+ <div class="ol-asset__name">${e.name}</div>
2112
+ `:n.html``}renderDescription(e,t){if(e.type==="faq"){let s=e;return s.answer?n.html`
2113
+ <div class="ol-asset__description ol-asset__answer">${s.answer}</div>
2114
+ `:n.html``}return e.description?e.type==="product"?n.html`
2115
+ <div class="ol-asset__description">${D(e.description)}</div>
2116
+ `:t.showDescription?n.html`
2117
+ <div class="ol-asset__description">${e.description}</div>
2118
+ `:n.html``:n.html``}renderPrice(e){if(e.type!=="product")return n.html``;let t=e;return t.price?n.html`
2119
+ <div class="ol-asset__price">
2120
+ ${t.currency} ${t.price}
2121
+ </div>
2122
+ `:n.html``}renderMetadata(e,t){if(!t.showMetadata)return n.html``;let o=[];if(t.showSize&&e.type!=="faq"&&"size"in e&&e.size&&typeof e.size=="number"&&o.push(n.html`
2123
+ <div class="ol-asset__meta-item">
2124
+ <span>${this.formatFileSize(e.size)}</span>
2125
+ </div>
2126
+ `),t.showDuration&&(e.type==="multimedia"||e.type==="file")){let s=e;this.getMultimediaSubtype(s)==="video"&&s.duration&&o.push(n.html`
2127
+ <div class="ol-asset__meta-item">
2128
+ <span>⏱️</span>
2129
+ <span>${this.formatDuration(s.duration)}</span>
2130
+ </div>
2131
+ `)}return o.length===0?n.html``:n.html`
2132
+ <div class="ol-asset__metadata">
2133
+ ${o}
2134
+ </div>
2135
+ `}renderTags(e,t){if(!t.showTags)return n.html``;let o=[];switch(e.type){case"product":o=e.tags||[];break;case"multimedia":case"file":o=e.labels||[];break}return o.length===0?n.html``:n.html`
2136
+ <div class="ol-asset__tags">
2137
+ ${o.slice(0,3).map(s=>n.html`
2138
+ <span class="ol-asset__tag">${s}</span>
2139
+ `)}
2140
+ </div>
2141
+ `}renderLoading(){return n.html`
2142
+ <div class="ol-asset__loading">
2143
+ <div class="ol-asset__spinner"></div>
2144
+ <span>Loading...</span>
2145
+ </div>
2146
+ `}renderError(e){return n.html`
2147
+ <div class="ol-asset__error">
2148
+ <span class="ol-asset__error-icon">⚠️</span>
2149
+ <span>${e}</span>
2150
+ </div>
2151
+ `}renderModal(e,t,o){return t?n.html`
2152
+ <div class="ol-asset__modal-overlay" @click=${o}>
2153
+ <div class="ol-asset__modal" @click=${s=>s.stopPropagation()}>
2154
+ <ol-button class="ol-asset__modal-close" @click=${o}>
2155
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
2156
+ <line x1="18" y1="6" x2="6" y2="18"></line>
2157
+ <line x1="6" y1="6" x2="18" y2="18"></line>
2158
+ </svg>
2159
+ </ol-button>
2160
+ <div class="ol-asset__modal-content">
2161
+ ${this.renderModalContent(e)}
2162
+ </div>
2163
+ </div>
2164
+ </div>
2165
+ `:n.html``}renderModalContent(e){switch(e.type){case"multimedia":{let t=e,o=this.getMultimediaSubtype(t);return o==="image"?n.html`
2166
+ <img
2167
+ src="${(0,w.ifDefined)(t.url)}"
2168
+ alt="${t.name}"
2169
+ class="ol-asset__modal-image"
2170
+ />
2171
+ <div class="ol-asset__modal-info">
2172
+ <h3 class="ol-asset__modal-title">${t.name}</h3>
2173
+ ${t.description?n.html`<p class="ol-asset__modal-description">${t.description}</p>`:n.html``}
2174
+ </div>
2175
+ `:n.html`
2176
+ <div class="ol-asset__modal-info">
2177
+ <h3 class="ol-asset__modal-title">${t.name}</h3>
2178
+ ${t.description?n.html`<p class="ol-asset__modal-description">${t.description}</p>`:n.html``}
2179
+ <p class="ol-asset__modal-type">Type: ${o}</p>
2180
+ </div>
2181
+ `}case"file":{let t=e,o=this.getMultimediaSubtype(t);return o==="image"?n.html`
2182
+ <img
2183
+ src="${(0,w.ifDefined)(t.url)}"
2184
+ alt="${t.name}"
2185
+ class="ol-asset__modal-image"
2186
+ />
2187
+ <div class="ol-asset__modal-info">
2188
+ <h3 class="ol-asset__modal-title">${t.name}</h3>
2189
+ ${t.description?n.html`<p class="ol-asset__modal-description">${t.description}</p>`:n.html``}
2190
+ </div>
2191
+ `:n.html`
2192
+ <div class="ol-asset__modal-info">
2193
+ <h3 class="ol-asset__modal-title">${t.name}</h3>
2194
+ ${t.description?n.html`<p class="ol-asset__modal-description">${t.description}</p>`:n.html``}
2195
+ <p class="ol-asset__modal-type">Type: ${o}</p>
2196
+ </div>
2197
+ `}case"faq":return n.html`
2198
+ <div class="ol-asset__modal-faq">
2199
+ <div class="ol-asset__modal-answer">${e.answer||e.description}</div>
2200
+ </div>
2201
+ `;default:return n.html`
2202
+ <div class="ol-asset__modal-info">
2203
+ <h3 class="ol-asset__modal-title">${e.name}</h3>
2204
+ ${e.description?n.html`<p class="ol-asset__modal-description">${e.description}</p>`:n.html``}
2205
+ </div>
2206
+ `}}renderHoverOverlay(e,t,o,s){let l=e.type==="multimedia"&&this.getMultimediaSubtype(e)==="video",a=(e.type==="multimedia"||e.type==="file")&&this.getMultimediaSubtype(e)==="presentation"&&(!e.slides||e.slides.length===0);return l?n.html`
2207
+ <div class="ol-asset__video-controls">
2208
+ ${(0,f.when)(o,()=>n.html`
2209
+ <ol-button
2210
+ class="ol-asset__video-btn ol-asset__video-btn--maximize"
2211
+ @click=${d=>{d.stopPropagation(),o(e)}}
2212
+ title="Maximize ${e.name}"
2213
+ >
2214
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
2215
+ <path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"></path>
2216
+ </svg>
2217
+ </ol-button>
2218
+ `)}
2219
+ ${(0,f.when)(t,()=>n.html`
2220
+ <ol-button
2221
+ class="ol-asset__video-btn ol-asset__video-btn--download ${s?"ol-asset__video-btn--downloading":""}"
2222
+ @click=${d=>{d.stopPropagation(),t(e)}}
2223
+ title="Download ${e.name}"
2224
+ ?disabled=${s}
2225
+ >
2226
+ ${(0,f.when)(s,()=>n.html`
2227
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="ol-asset__download-spinner">
2228
+ <circle cx="12" cy="12" r="10"></circle>
2229
+ <path d="M12 2a10 10 0 0 1 10 10"></path>
2230
+ </svg>
2231
+ `,()=>n.html`
2232
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
2233
+ <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
2234
+ <polyline points="7,10 12,15 17,10"></polyline>
2235
+ <line x1="12" y1="15" x2="12" y2="3"></line>
2236
+ </svg>
2237
+ `)}
2238
+ </ol-button>
2239
+ `)}
2240
+ </div>
2241
+ `:n.html`
2242
+ <div class="ol-asset__hover-overlay">
2243
+ <div class="ol-asset__hover-buttons">
2244
+ ${(0,f.when)(e.type==="product",()=>n.html`
2245
+ <ol-button
2246
+ class="ol-asset__hover-btn ol-asset__hover-btn--external"
2247
+ @click=${d=>{d.stopPropagation(),this.openProductInNewWindow(e)}}
2248
+ title="Open ${e.name} in new window"
2249
+ >
2250
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
2251
+ <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path>
2252
+ <polyline points="15,3 21,3 21,9"></polyline>
2253
+ <line x1="10" y1="14" x2="21" y2="3"></line>
2254
+ </svg>
2255
+ </ol-button>
2256
+ `,()=>n.html`
2257
+ ${(0,f.when)(o&&!a,()=>n.html`
2258
+ <ol-button
2259
+ class="ol-asset__hover-btn ol-asset__hover-btn--maximize"
2260
+ @click=${d=>{d.stopPropagation(),o(e)}}
2261
+ title="Maximize ${e.name}"
2262
+ >
2263
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
2264
+ <path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"></path>
2265
+ </svg>
2266
+ </ol-button>
2267
+ `)}
2268
+ ${(0,f.when)(t&&["multimedia","file"].includes(e.type),()=>n.html`
2269
+ <ol-button
2270
+ class="ol-asset__hover-btn ol-asset__hover-btn--download ${s?"ol-asset__hover-btn--downloading":""}"
2271
+ @click=${d=>{d.stopPropagation(),t(e)}}
2272
+ title="Download ${e.name}"
2273
+ ?disabled=${s}
2274
+ >
2275
+ ${(0,f.when)(s,()=>n.html`
2276
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="ol-asset__download-spinner">
2277
+ <circle cx="12" cy="12" r="10"></circle>
2278
+ <path d="M12 2a10 10 0 0 1 10 10"></path>
2279
+ </svg>
2280
+ `,()=>n.html`
2281
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
2282
+ <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
2283
+ <polyline points="7,10 12,15 17,10"></polyline>
2284
+ <line x1="12" y1="15" x2="12" y2="3"></line>
2285
+ </svg>
2286
+ `)}
2287
+ </ol-button>
2288
+ `)}
2289
+ `)}
2290
+ </div>
2291
+ </div>
2292
+ `}openProductInNewWindow(e){e.url&&window.open(e.url,"_blank","noopener,noreferrer")}};var O=require("lit"),N=O.css`
2293
+ :host {
2294
+ display: block;
2295
+ --asset-border-radius: 8px;
2296
+ --asset-padding: 12px;
2297
+ --asset-gap: 8px;
2298
+ --asset-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
2299
+ --asset-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.15);
2300
+ --asset-transition: all 0.2s ease-in-out;
2301
+ }
2302
+
2303
+ .ol-asset {
2304
+ display: flex;
2305
+ flex-direction: column;
2306
+ border-radius: var(--asset-border-radius);
2307
+ background: var(--ol-color-surface, #ffffff);
2308
+ transition: var(--asset-transition);
2309
+ overflow: hidden;
2310
+ position: relative;
2311
+ cursor: default;
2312
+ }
2313
+
2314
+
2315
+
2316
+ .ol-asset--loading {
2317
+ opacity: 0.7;
2318
+ pointer-events: none;
2319
+ }
2320
+
2321
+ .ol-asset--error {
2322
+ border-color: var(--ol-color-error, #ef4444);
2323
+ background: var(--ol-color-error-surface, #fef2f2);
2324
+ }
2325
+
2326
+ .ol-asset--compact {
2327
+ flex-direction: row;
2328
+ align-items: center;
2329
+ }
2330
+
2331
+ .ol-asset--minimal {
2332
+ padding: var(--asset-padding);
2333
+ border: none;
2334
+ box-shadow: none;
2335
+ background: transparent;
2336
+ }
2337
+
2338
+ .ol-asset--minimal:hover {
2339
+ transform: none;
2340
+ box-shadow: none;
2341
+ }
2342
+
2343
+ /* Sizes */
2344
+ .ol-asset--small {
2345
+ --asset-padding: 8px;
2346
+ --asset-gap: 6px;
2347
+ }
2348
+
2349
+ .ol-asset--medium {
2350
+ --asset-padding: 12px;
2351
+ --asset-gap: 8px;
2352
+ }
2353
+
2354
+ .ol-asset--large {
2355
+ --asset-padding: 16px;
2356
+ --asset-gap: 12px;
2357
+ }
2358
+
2359
+ /* Thumbnail */
2360
+ .ol-asset__thumbnail {
2361
+ position: relative;
2362
+ width: 100%;
2363
+ aspect-ratio: 16/9;
2364
+ overflow: hidden;
2365
+ background: var(--ol-color-surface-secondary, #f9fafb);
2366
+ display: flex;
2367
+ align-items: center;
2368
+ justify-content: center;
2369
+ }
2370
+
2371
+ .ol-asset--compact .ol-asset__thumbnail {
2372
+ width: 60px;
2373
+ height: 60px;
2374
+ aspect-ratio: 1;
2375
+ flex-shrink: 0;
2376
+ }
2377
+
2378
+ .ol-asset--minimal .ol-asset__thumbnail {
2379
+ display: none;
2380
+ }
2381
+
2382
+ .ol-asset__image {
2383
+ width: 100%;
2384
+ height: 100%;
2385
+ object-fit: contain;
2386
+ transition: var(--asset-transition);
2387
+ }
2388
+
2389
+ .ol-asset__video-player {
2390
+ width: 100%;
2391
+ height: 100%;
2392
+ min-height: 120px;
2393
+ aspect-ratio: 16/9;
2394
+ }
2395
+
2396
+ .ol-asset__duration {
2397
+ position: absolute;
2398
+ bottom: 8px;
2399
+ right: 8px;
2400
+ background: rgba(0, 0, 0, 0.8);
2401
+ color: white;
2402
+ padding: 2px 6px;
2403
+ border-radius: 4px;
2404
+ font-size: 12px;
2405
+ font-weight: 500;
2406
+ }
2407
+
2408
+ .ol-asset__format-badge {
2409
+ position: absolute;
2410
+ top: 8px;
2411
+ left: 8px;
2412
+ background: rgba(0, 0, 0, 0.8);
2413
+ color: white;
2414
+ padding: 2px 6px;
2415
+ border-radius: 4px;
2416
+ font-size: 10px;
2417
+ font-weight: 500;
2418
+ text-transform: uppercase;
2419
+ }
2420
+
2421
+
2422
+
2423
+ /* Content */
2424
+ .ol-asset__content {
2425
+ padding: var(--asset-padding);
2426
+ display: flex;
2427
+ flex-direction: column;
2428
+ gap: var(--asset-gap);
2429
+ flex: 1;
2430
+ }
2431
+
2432
+ .ol-asset__content--assets {
2433
+ display: none;
2434
+ }
2435
+
2436
+ .ol-asset--compact .ol-asset__content {
2437
+ padding-left: var(--asset-padding);
2438
+ }
2439
+
2440
+ .ol-asset--minimal .ol-asset__content {
2441
+ padding: 0;
2442
+ }
2443
+
2444
+ .ol-asset__name {
2445
+ font-size: 14px;
2446
+ font-weight: 600;
2447
+ color: var(--ol-color-text-primary, #111827);
2448
+ line-height: 1.4;
2449
+ display: -webkit-box;
2450
+ -webkit-line-clamp: 2;
2451
+ -webkit-box-orient: vertical;
2452
+ overflow: hidden;
2453
+ }
2454
+
2455
+ .ol-asset--large .ol-asset__name {
2456
+ font-size: 16px;
2457
+ }
2458
+
2459
+ .ol-asset--small .ol-asset__name {
2460
+ font-size: 12px;
2461
+ }
2462
+
2463
+ .ol-asset__description {
2464
+ font-size: 12px;
2465
+ color: var(--ol-color-text-secondary, #6b7280);
2466
+ line-height: 1.4;
2467
+ display: -webkit-box;
2468
+ -webkit-line-clamp: 2;
2469
+ -webkit-box-orient: vertical;
2470
+ overflow: hidden;
2471
+ }
2472
+
2473
+ .ol-asset--large .ol-asset__description {
2474
+ font-size: 14px;
2475
+ }
2476
+
2477
+ .ol-asset--small .ol-asset__description {
2478
+ font-size: 11px;
2479
+ }
2480
+
2481
+ .ol-asset__price {
2482
+ font-size: 14px;
2483
+ font-weight: 600;
2484
+ color: var(--ol-color-primary, #3b82f6);
2485
+ }
2486
+
2487
+ .ol-asset--large .ol-asset__price {
2488
+ font-size: 16px;
2489
+ }
2490
+
2491
+ .ol-asset--small .ol-asset__price {
2492
+ font-size: 12px;
2493
+ }
2494
+
2495
+ /* Metadata */
2496
+ .ol-asset__metadata {
2497
+ display: flex;
2498
+ flex-wrap: wrap;
2499
+ gap: 8px;
2500
+ font-size: 11px;
2501
+ color: var(--ol-color-text-tertiary, #9ca3af);
2502
+ position: absolute;
2503
+ bottom: 8px;
2504
+ left: 8px;
2505
+ }
2506
+
2507
+ .ol-asset--large .ol-asset__metadata {
2508
+ font-size: 12px;
2509
+ }
2510
+
2511
+ .ol-asset--small .ol-asset__metadata {
2512
+ font-size: 10px;
2513
+ }
2514
+
2515
+ .ol-asset__meta-item {
2516
+ display: flex;
2517
+ align-items: center;
2518
+ gap: 4px;
2519
+ color: #fff;
2520
+ border-radius:99px;
2521
+ padding: 0 var(--ol-spacing-x-small);
2522
+ background-color: var(--ol-color-surface-secondary, rgba(0, 0, 0, 0.8));
2523
+ }
2524
+
2525
+ /* Tags */
2526
+ .ol-asset__tags {
2527
+ display: flex;
2528
+ flex-wrap: wrap;
2529
+ gap: 4px;
2530
+ }
2531
+
2532
+ .ol-asset__tag {
2533
+ background: var(--ol-color-surface-secondary, #f3f4f6);
2534
+ color: var(--ol-color-text-secondary, #6b7280);
2535
+ padding: 2px 6px;
2536
+ border-radius: 4px;
2537
+ font-size: 10px;
2538
+ font-weight: 500;
2539
+ }
2540
+
2541
+ .ol-asset--large .ol-asset__tag {
2542
+ font-size: 11px;
2543
+ padding: 3px 8px;
2544
+ }
2545
+
2546
+ .ol-asset--small .ol-asset__tag {
2547
+ font-size: 9px;
2548
+ padding: 1px 4px;
2549
+ }
2550
+
2551
+ /* FAQ specific styles */
2552
+ .ol-asset--faq {
2553
+ background: transparent;
2554
+ border: none;
2555
+ box-shadow: none;
2556
+ padding: 0;
2557
+ margin: 0;
2558
+ cursor: pointer;
2559
+ }
2560
+
2561
+ .ol-asset--faq:hover {
2562
+ transform: none;
2563
+ box-shadow: none;
2564
+ }
2565
+
2566
+ .ol-asset--faq .ol-asset__thumbnail {
2567
+ display: none;
2568
+ }
2569
+
2570
+ .ol-asset--faq .ol-asset__content {
2571
+ gap: 0;
2572
+ border-radius: 18px 18px 4px 18px;
2573
+ position: relative;
2574
+ margin-left: auto;
2575
+ }
2576
+
2577
+ .ol-asset--faq .ol-asset__content::before {
2578
+ content: "";
2579
+ position: absolute;
2580
+ bottom: 0;
2581
+ right: -8px;
2582
+ width: 0;
2583
+ height: 0;
2584
+ border-left: 8px solid var(--ol-color-primary, #3b82f6);
2585
+ border-top: 8px solid transparent;
2586
+ border-bottom: 8px solid transparent;
2587
+ }
2588
+
2589
+ .ol-asset--faq .ol-asset__name {
2590
+ display: none;
2591
+ }
2592
+
2593
+ .ol-asset--faq .ol-asset__description,
2594
+ .ol-asset--faq .ol-asset__answer {
2595
+ font-size: 14px;
2596
+ line-height: 1.5;
2597
+ padding: var(--ol-spacing-small);
2598
+ display: block;
2599
+ margin: 0;
2600
+ -webkit-line-clamp: none;
2601
+ -webkit-box-orient: initial;
2602
+ overflow: visible;
2603
+ white-space: pre-wrap;
2604
+ word-wrap: break-word;
2605
+ }
2606
+
2607
+ .ol-asset--large .ol-asset--faq .ol-asset__description,
2608
+ .ol-asset--large .ol-asset--faq .ol-asset__answer {
2609
+ font-size: 15px;
2610
+ }
2611
+
2612
+ .ol-asset--small .ol-asset--faq .ol-asset__description,
2613
+ .ol-asset--small .ol-asset--faq .ol-asset__answer {
2614
+ font-size: 13px;
2615
+ }
2616
+
2617
+ .ol-asset--faq .ol-asset__metadata {
2618
+ display: none;
2619
+ }
2620
+
2621
+ .ol-asset--faq .ol-asset__meta-item {
2622
+ display: none;
2623
+ }
2624
+
2625
+ /* Presentation specific styles */
2626
+ .ol-asset__presentation-preview {
2627
+ position: relative;
2628
+ width: 100%;
2629
+ height: 100%;
2630
+ display: flex;
2631
+ align-items: center;
2632
+ justify-content: center;
2633
+ }
2634
+
2635
+ .ol-asset__presentation-image {
2636
+ width: 100%;
2637
+ height: 100%;
2638
+ object-fit: cover;
2639
+ }
2640
+
2641
+ .ol-asset__presentation-fallback {
2642
+ display: flex;
2643
+ flex-direction: column;
2644
+ align-items: center;
2645
+ justify-content: center;
2646
+ width: calc(100% - calc(2 * var(--ol-spacing-medium, 16px)));
2647
+ padding: var(--ol-spacing-medium, 16px);
2648
+ height: calc(100% - calc(2 * var(--ol-spacing-medium, 16px) + 4px));
2649
+ gap: var(--ol-spacing-medium, 16px);
2650
+ background: linear-gradient(135deg, var(--ol-color-neutral-50, #f9fafb) 0%, var(--ol-color-neutral-100, #f3f4f6) 100%);
2651
+ border: 2px dashed var(--ol-color-neutral-300, #d1d5db);
2652
+ border-radius: var(--asset-border-radius, 8px);
2653
+ transition: all 0.2s ease;
2654
+ }
2655
+
2656
+ .ol-asset:hover .ol-asset__presentation-fallback {
2657
+ background: linear-gradient(135deg, var(--ol-color-neutral-100, #f3f4f6) 0%, var(--ol-color-neutral-200, #e5e7eb) 100%);
2658
+ border-color: var(--ol-color-neutral-400, #9ca3af);
2659
+ }
2660
+
2661
+ .ol-asset__presentation-icon {
2662
+ display: flex;
2663
+ align-items: center;
2664
+ justify-content: center;
2665
+ width: 48px;
2666
+ height: 48px;
2667
+ color: var(--ol-color-text-secondary, #6b7280);
2668
+ opacity: 0.7;
2669
+ transition: all 0.2s ease;
2670
+ flex-shrink: 0;
2671
+ }
2672
+
2673
+ .ol-asset:hover .ol-asset__presentation-icon {
2674
+ opacity: 1;
2675
+ transform: scale(1.05);
2676
+ color: var(--ol-color-text-primary, #111827);
2677
+ }
2678
+
2679
+ .ol-asset__presentation-icon svg {
2680
+ width: 100%;
2681
+ height: 100%;
2682
+ }
2683
+
2684
+ .ol-asset__presentation-name {
2685
+ font-size: var(--ol-font-size-small, 0.875rem);
2686
+ font-weight: 500;
2687
+ color: var(--ol-color-text-secondary, #6b7280);
2688
+ text-align: center;
2689
+ line-height: 1.4;
2690
+ max-width: 100%;
2691
+ overflow: hidden;
2692
+ text-overflow: ellipsis;
2693
+ display: -webkit-box;
2694
+ -webkit-line-clamp: 2;
2695
+ -webkit-box-orient: vertical;
2696
+ word-break: break-word;
2697
+ transition: color 0.2s ease;
2698
+ }
2699
+
2700
+ .ol-asset:hover .ol-asset__presentation-name {
2701
+ color: var(--ol-color-text-primary, #111827);
2702
+ }
2703
+
2704
+ .ol-asset--small .ol-asset__presentation-icon {
2705
+ width: 40px;
2706
+ height: 40px;
2707
+ }
2708
+
2709
+ .ol-asset--small .ol-asset__presentation-name {
2710
+ font-size: var(--ol-font-size-x-small, 0.75rem);
2711
+ }
2712
+
2713
+ .ol-asset--large .ol-asset__presentation-icon {
2714
+ width: 80px;
2715
+ height: 80px;
2716
+ }
2717
+
2718
+ .ol-asset--large .ol-asset__presentation-name {
2719
+ font-size: var(--ol-font-size-medium, 1rem);
2720
+ }
2721
+
2722
+ /* Loading state */
2723
+ .ol-asset__loading {
2724
+ display: flex;
2725
+ align-items: center;
2726
+ justify-content: center;
2727
+ padding: 20px;
2728
+ color: var(--ol-color-text-secondary, #6b7280);
2729
+ }
2730
+
2731
+ .ol-asset__spinner {
2732
+ width: 20px;
2733
+ height: 20px;
2734
+ border: 2px solid var(--ol-color-border, #e5e7eb);
2735
+ border-top: 2px solid var(--ol-color-primary, #3b82f6);
2736
+ border-radius: 50%;
2737
+ animation: spin 1s linear infinite;
2738
+ margin-right: 8px;
2739
+ }
2740
+
2741
+ @keyframes spin {
2742
+ 0% { transform: rotate(0deg); }
2743
+ 100% { transform: rotate(360deg); }
2744
+ }
2745
+
2746
+ /* Error state */
2747
+ .ol-asset__error {
2748
+ display: flex;
2749
+ align-items: center;
2750
+ justify-content: center;
2751
+ padding: 20px;
2752
+ color: var(--ol-color-error, #ef4444);
2753
+ text-align: center;
2754
+ }
2755
+
2756
+ .ol-asset__error-icon {
2757
+ margin-right: 8px;
2758
+ font-size: 16px;
2759
+ }
2760
+
2761
+ /* Responsive */
2762
+ @media (max-width: 768px) {
2763
+ .ol-asset--compact {
2764
+ flex-direction: column;
2765
+ }
2766
+
2767
+ .ol-asset--compact .ol-asset__thumbnail {
2768
+ width: 100%;
2769
+ height: auto;
2770
+ aspect-ratio: 16/9;
2771
+ }
2772
+
2773
+ .ol-asset--compact .ol-asset__content {
2774
+ padding-left: var(--asset-padding);
2775
+ }
2776
+ }
2777
+
2778
+ /* Download button */
2779
+ .ol-asset__download-btn {
2780
+ position: absolute;
2781
+ top: 8px;
2782
+ right: 8px;
2783
+ width: 32px;
2784
+ height: 32px;
2785
+ border: none;
2786
+ border-radius: 50%;
2787
+ background: rgba(0, 0, 0, 0.7);
2788
+ color: white;
2789
+ cursor: pointer;
2790
+ display: flex;
2791
+ align-items: center;
2792
+ justify-content: center;
2793
+ transition: all 0.2s ease;
2794
+ z-index: 2;
2795
+ }
2796
+
2797
+ .ol-asset__download-btn:hover {
2798
+ background: rgba(0, 0, 0, 0.9);
2799
+ transform: scale(1.1);
2800
+ }
2801
+
2802
+ .ol-asset__download-btn svg {
2803
+ width: 16px;
2804
+ height: 16px;
2805
+ }
2806
+
2807
+ .ol-asset__download-btn--downloading {
2808
+ opacity: 0.7;
2809
+ cursor: not-allowed;
2810
+ }
2811
+
2812
+ .ol-asset__download-spinner {
2813
+ animation: spin 1s linear infinite;
2814
+ }
2815
+
2816
+ @keyframes spin {
2817
+ from {
2818
+ transform: rotate(0deg);
2819
+ }
2820
+ to {
2821
+ transform: rotate(360deg);
2822
+ }
2823
+ }
2824
+
2825
+ /* Hover overlay */
2826
+ .ol-asset__hover-overlay {
2827
+ position: absolute;
2828
+ top: 0;
2829
+ left: 0;
2830
+ right: 0;
2831
+ bottom: 0;
2832
+ background: rgba(0, 0, 0, 0.3);
2833
+ backdrop-filter: blur(4px);
2834
+ display: flex;
2835
+ align-items: center;
2836
+ justify-content: center;
2837
+ opacity: 0;
2838
+ visibility: hidden;
2839
+ transition: all 0.3s ease;
2840
+ border-radius: var(--asset-border-radius);
2841
+ z-index: 10;
2842
+ }
2843
+
2844
+ .ol-asset:hover .ol-asset__hover-overlay {
2845
+ opacity: 1;
2846
+ visibility: visible;
2847
+ }
2848
+
2849
+ .ol-asset__hover-buttons {
2850
+ display: flex;
2851
+ gap: 12px;
2852
+ align-items: center;
2853
+ justify-content: center;
2854
+ }
2855
+
2856
+ .ol-asset__hover-btn {
2857
+ width: 48px;
2858
+ height: 48px;
2859
+ border: none;
2860
+ border-radius: 50%;
2861
+ background: rgba(255, 255, 255, 0.9);
2862
+ color: var(--ol-color-neutral-700, #374151);
2863
+ cursor: pointer;
2864
+ display: flex;
2865
+ align-items: center;
2866
+ justify-content: center;
2867
+ transition: all 0.2s ease;
2868
+ backdrop-filter: blur(8px);
2869
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
2870
+ }
2871
+
2872
+ .ol-asset__hover-btn:hover {
2873
+ background: rgba(255, 255, 255, 1);
2874
+ transform: scale(1.1);
2875
+ box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
2876
+ }
2877
+
2878
+ .ol-asset__hover-btn:active {
2879
+ transform: scale(0.95);
2880
+ }
2881
+
2882
+ .ol-asset__hover-btn--maximize,
2883
+ .ol-asset__hover-btn--download,
2884
+ .ol-asset__hover-btn--external {
2885
+ background: rgba(255, 255, 255, 0.9);
2886
+ color: var(--ol-color-neutral-700, #374151);
2887
+ }
2888
+
2889
+ .ol-asset__hover-btn--maximize:hover,
2890
+ .ol-asset__hover-btn--download:hover,
2891
+ .ol-asset__hover-btn--external:hover {
2892
+ background: rgba(255, 255, 255, 1);
2893
+ }
2894
+
2895
+ .ol-asset__hover-btn--downloading {
2896
+ opacity: 0.7;
2897
+ cursor: not-allowed;
2898
+ transform: none !important;
2899
+ }
2900
+
2901
+ .ol-asset__hover-btn--downloading:hover {
2902
+ transform: none;
2903
+ background: rgba(34, 197, 94, 0.9);
2904
+ }
2905
+
2906
+ .ol-asset__hover-btn svg {
2907
+ width: 20px;
2908
+ height: 20px;
2909
+ }
2910
+
2911
+ /* Video controls (always visible in top-right corner) */
2912
+ .ol-asset__video-controls {
2913
+ position: absolute;
2914
+ top: 8px;
2915
+ right: 8px;
2916
+ display: flex;
2917
+ gap: 6px;
2918
+ align-items: center;
2919
+ z-index: 20;
2920
+ }
2921
+
2922
+ .ol-asset__video-btn {
2923
+ width: 32px;
2924
+ height: 32px;
2925
+ border: none;
2926
+ border-radius: 6px;
2927
+ background: rgba(0, 0, 0, 0.6);
2928
+ color: white;
2929
+ cursor: pointer;
2930
+ display: flex;
2931
+ align-items: center;
2932
+ justify-content: center;
2933
+ transition: all 0.2s ease;
2934
+ backdrop-filter: blur(8px);
2935
+ }
2936
+
2937
+ .ol-asset__video-btn:hover {
2938
+ background: rgba(0, 0, 0, 0.8);
2939
+ transform: scale(1.05);
2940
+ }
2941
+
2942
+ .ol-asset__video-btn:active {
2943
+ transform: scale(0.95);
2944
+ }
2945
+
2946
+ .ol-asset__video-btn--downloading {
2947
+ opacity: 0.7;
2948
+ cursor: not-allowed;
2949
+ }
2950
+
2951
+ .ol-asset__video-btn--downloading:hover {
2952
+ transform: none;
2953
+ }
2954
+
2955
+ .ol-asset__video-btn svg {
2956
+ width: 16px;
2957
+ height: 16px;
2958
+ }
2959
+
2960
+ /* Mobile: Video controls always visible */
2961
+ @media (max-width: 768px) {
2962
+ .ol-asset__video-controls {
2963
+ opacity: 1;
2964
+ visibility: visible;
2965
+ }
2966
+ }
2967
+
2968
+ /* Hide existing download button when hover overlay is visible */
2969
+ .ol-asset:hover .ol-asset__download-btn {
2970
+ opacity: 0;
2971
+ visibility: hidden;
2972
+ }
2973
+ `;var _=class{constructor(e,t){this.asset=e,this.onClose=t}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"}formatDuration(e){let t=Math.floor(e/60),o=Math.floor(e%60);return`${t}:${o.toString().padStart(2,"0")}`}async open(){await import("@onlive.ai/ui/dist/components/dialog/dialog.js"),await import("@onlive.ai/ui/dist/components/icon-button/icon-button.js"),await import("@onlive.ai/ui/dist/components/button/button.js"),await import("@onlive.ai/ui/dist/components/icon/icon.js");let e=this.asset;this.getMultimediaSubtype(e)==="presentation"&&(e.slides?.length??0)>0&&await Promise.all([import("@onlive.ai/ui/dist/components/carousel/carousel.js"),import("@onlive.ai/ui/dist/components/carousel-item/carousel-item.js")]),this.injectStyles(),this.createDialog(),this.dialog?.show()}close(){this.dialog?.hide(),setTimeout(()=>{this.removeDialog()},300)}createDialog(){if(this.dialog||!this.asset)return;let e=this.createDialogHTML(),t=document.createElement("div");t.innerHTML=e,this.dialog=t.firstElementChild,this.dialog&&(document.body.appendChild(this.dialog),this.attachEventListeners())}removeDialog(){this.dialog&&(this.dialog.parentNode&&this.dialog.parentNode.removeChild(this.dialog),this.dialog=void 0)}injectStyles(){if(document.getElementById("asset-modal-styles"))return;let e=document.createElement("style");e.id="asset-modal-styles",e.textContent=this.getModalStyles(),document.head.appendChild(e)}getModalStyles(){return`
2974
+
2975
+ ol-dialog::part(base){
2976
+ z-index: 1000000;
2977
+ }
2978
+ ol-dialog.ol-asset__dialog {
2979
+ --width: 90vw;
2980
+ --max-width: 1400px;
2981
+ }
2982
+
2983
+ ol-dialog.ol-asset__dialog[data-fullscreen="true"] {
2984
+ --width: 100vw;
2985
+ --max-width: 100vw;
2986
+ }
2987
+
2988
+ .ol-asset__dialog-content {
2989
+ display: flex;
2990
+ flex-direction: column;
2991
+ max-height: 85vh;
2992
+ overflow: hidden;
2993
+ }
2994
+
2995
+ .ol-asset__dialog-body {
2996
+ flex: 1;
2997
+ overflow-y: auto;
2998
+ padding: 0;
2999
+ display: flex;
3000
+ flex-direction: column;
3001
+ }
3002
+
3003
+ .ol-asset__modal-media-container {
3004
+ position: relative;
3005
+ width: 100%;
3006
+ display: flex;
3007
+ align-items: center;
3008
+ justify-content: center;
3009
+ background: var(--ol-color-neutral-50, #f9fafb);
3010
+ min-height: 300px;
3011
+ max-height: 75vh;
3012
+ overflow: hidden;
3013
+ }
3014
+
3015
+ .ol-asset__modal-media-container[data-type="presentation"] {
3016
+ max-height: 85vh;
3017
+ min-height: 400px;
3018
+ }
3019
+
3020
+ .ol-asset__modal-image-container {
3021
+ width: 100%;
3022
+ height: 100%;
3023
+ display: flex;
3024
+ align-items: center;
3025
+ justify-content: center;
3026
+ padding: var(--ol-spacing-medium);
3027
+ }
3028
+
3029
+ .ol-asset__modal-image {
3030
+ max-width: 100%;
3031
+ max-height: 75vh;
3032
+ width: auto;
3033
+ height: auto;
3034
+ object-fit: contain;
3035
+ display: block;
3036
+ image-rendering: -webkit-optimize-contrast;
3037
+ image-rendering: crisp-edges;
3038
+ image-rendering: high-quality;
3039
+ }
3040
+
3041
+ @media (min-width: 768px) {
3042
+ .ol-asset__modal-image {
3043
+ max-height: 80vh;
3044
+ }
3045
+ }
3046
+
3047
+ @media (min-width: 1024px) {
3048
+ .ol-asset__modal-image {
3049
+ max-height: 85vh;
3050
+ }
3051
+ }
3052
+
3053
+ .ol-asset__modal-info {
3054
+ padding: var(--ol-spacing-large);
3055
+ background: var(--ol-color-surface, #ffffff);
3056
+ border-top: 1px solid var(--ol-color-neutral-200, #e5e7eb);
3057
+ }
3058
+
3059
+ .ol-asset__modal-title {
3060
+ margin: 0 0 var(--ol-spacing-small) 0;
3061
+ font-size: var(--ol-font-size-x-large, 1.5rem);
3062
+ font-weight: 600;
3063
+ color: var(--ol-color-text, #1f2937);
3064
+ line-height: 1.3;
3065
+ }
3066
+
3067
+ .ol-asset__modal-description {
3068
+ margin: 0 0 var(--ol-spacing-medium) 0;
3069
+ font-size: var(--ol-font-size-medium, 1rem);
3070
+ line-height: 1.6;
3071
+ color: var(--ol-color-text-secondary, #6b7280);
3072
+ }
3073
+
3074
+ .ol-asset__modal-metadata {
3075
+ display: flex;
3076
+ flex-wrap: wrap;
3077
+ gap: var(--ol-spacing-medium);
3078
+ margin-top: var(--ol-spacing-small);
3079
+ }
3080
+
3081
+ .ol-asset__modal-metadata-item {
3082
+ display: flex;
3083
+ align-items: center;
3084
+ gap: var(--ol-spacing-2x-small);
3085
+ font-size: var(--ol-font-size-small, 0.875rem);
3086
+ color: var(--ol-color-text-secondary, #6b7280);
3087
+ }
3088
+
3089
+ .ol-asset__modal-metadata-item ol-icon {
3090
+ font-size: 1rem;
3091
+ color: var(--ol-color-neutral-400, #9ca3af);
3092
+ }
3093
+
3094
+ .ol-asset__modal-faq {
3095
+ padding: var(--ol-spacing-large);
3096
+ max-width: 800px;
3097
+ margin: 0 auto;
3098
+ }
3099
+
3100
+ .ol-asset__modal-question {
3101
+ margin: 0 0 var(--ol-spacing-large) 0;
3102
+ font-size: var(--ol-font-size-2x-large, 2rem);
3103
+ font-weight: 600;
3104
+ color: var(--ol-color-primary, #3b82f6);
3105
+ line-height: 1.2;
3106
+ }
3107
+
3108
+ .ol-asset__modal-answer {
3109
+ font-size: var(--ol-font-size-medium, 1rem);
3110
+ line-height: 1.8;
3111
+ color: var(--ol-color-text, #1f2937);
3112
+ }
3113
+
3114
+ .ol-asset__modal-video-container {
3115
+ width: 100%;
3116
+ max-height: 75vh;
3117
+ display: flex;
3118
+ justify-content: center;
3119
+ align-items: center;
3120
+ background: #000;
3121
+ position: relative;
3122
+ }
3123
+
3124
+ .ol-asset__modal-video-player {
3125
+ width: 100%;
3126
+ max-width: 100%;
3127
+ height: auto;
3128
+ max-height: 75vh;
3129
+ object-fit: contain;
3130
+ display: block;
3131
+ }
3132
+
3133
+ .ol-asset__modal-presentation {
3134
+ width: 100%;
3135
+ height: 100%;
3136
+ min-height: 400px;
3137
+ display: flex;
3138
+ justify-content: center;
3139
+ align-items: center;
3140
+ background: var(--ol-color-neutral-50, #f9fafb);
3141
+ }
3142
+
3143
+ .ol-asset__modal-carousel {
3144
+ width: 100%;
3145
+ height: 100%;
3146
+ min-height: 400px;
3147
+ --aspect-ratio: auto;
3148
+ }
3149
+
3150
+ .ol-asset__modal-carousel::part(base) {
3151
+ height: 100%;
3152
+ min-height: 400px;
3153
+ }
3154
+
3155
+ .ol-asset__modal-carousel::part(scroll-container) {
3156
+ height: 100%;
3157
+ min-height: 400px;
3158
+ }
3159
+
3160
+ .ol-asset__modal-carousel ol-carousel-item {
3161
+ display: flex;
3162
+ align-items: center;
3163
+ justify-content: center;
3164
+ padding: var(--ol-spacing-medium);
3165
+ height: 100%;
3166
+ min-height: 400px;
3167
+ }
3168
+
3169
+ .ol-asset__modal-slide-image {
3170
+ max-width: 100%;
3171
+ max-height: 100%;
3172
+ width: auto;
3173
+ height: auto;
3174
+ object-fit: contain;
3175
+ display: block;
3176
+ image-rendering: -webkit-optimize-contrast;
3177
+ image-rendering: crisp-edges;
3178
+ image-rendering: high-quality;
3179
+ }
3180
+
3181
+ .ol-asset__modal-presentation-fallback {
3182
+ display: flex;
3183
+ flex-direction: column;
3184
+ align-items: center;
3185
+ justify-content: center;
3186
+ padding: 40px;
3187
+ color: var(--ol-color-text-secondary, #6b7280);
3188
+ }
3189
+
3190
+ .ol-asset__modal-presentation-icon {
3191
+ font-size: 48px;
3192
+ margin-bottom: 16px;
3193
+ }
3194
+
3195
+ .ol-asset__modal-type {
3196
+ margin: 0;
3197
+ font-size: var(--ol-font-size-small, 0.875rem);
3198
+ color: var(--ol-color-text-secondary, #6b7280);
3199
+ font-weight: 500;
3200
+ text-transform: uppercase;
3201
+ letter-spacing: 0.05em;
3202
+ }
3203
+
3204
+ .ol-asset__modal-duration,
3205
+ .ol-asset__modal-slides {
3206
+ margin: 0;
3207
+ font-size: var(--ol-font-size-small, 0.875rem);
3208
+ color: var(--ol-color-text-secondary, #6b7280);
3209
+ }
3210
+
3211
+ @media (max-width: 768px) {
3212
+ ol-dialog.ol-asset__dialog {
3213
+ --width: 95vw;
3214
+ }
3215
+
3216
+ .ol-asset__modal-info,
3217
+ .ol-asset__modal-faq {
3218
+ padding: var(--ol-spacing-medium);
3219
+ }
3220
+
3221
+ .ol-asset__modal-title {
3222
+ font-size: var(--ol-font-size-large, 1.25rem);
3223
+ }
3224
+
3225
+ .ol-asset__modal-question {
3226
+ font-size: var(--ol-font-size-x-large, 1.5rem);
3227
+ }
3228
+
3229
+ .ol-asset__modal-description,
3230
+ .ol-asset__modal-answer {
3231
+ font-size: var(--ol-font-size-small, 0.875rem);
3232
+ }
3233
+
3234
+ .ol-asset__modal-image {
3235
+ max-height: 60vh;
3236
+ }
3237
+
3238
+ .ol-asset__modal-video-player {
3239
+ max-height: 60vh;
3240
+ }
3241
+
3242
+ .ol-asset__modal-slide-image {
3243
+ max-height: 60vh;
3244
+ }
3245
+ }
3246
+
3247
+ @media (min-width: 1024px) {
3248
+ .ol-asset__modal-media-container {
3249
+ max-height: 80vh;
3250
+ }
3251
+
3252
+ .ol-asset__modal-media-container[data-type="presentation"] {
3253
+ max-height: 85vh;
3254
+ min-height: 500px;
3255
+ }
3256
+
3257
+ .ol-asset__modal-image {
3258
+ max-height: 80vh;
3259
+ }
3260
+
3261
+ .ol-asset__modal-video-player {
3262
+ max-height: 80vh;
3263
+ }
3264
+
3265
+ .ol-asset__modal-presentation {
3266
+ min-height: 500px;
3267
+ }
3268
+
3269
+ .ol-asset__modal-carousel {
3270
+ min-height: 500px;
3271
+ }
3272
+
3273
+ .ol-asset__modal-carousel::part(base),
3274
+ .ol-asset__modal-carousel::part(scroll-container) {
3275
+ min-height: 500px;
3276
+ }
3277
+
3278
+ .ol-asset__modal-carousel ol-carousel-item {
3279
+ min-height: 500px;
3280
+ }
3281
+
3282
+ .ol-asset__modal-slide-image {
3283
+ max-height: 85vh;
3284
+ }
3285
+ }
3286
+
3287
+ @media (min-width: 1400px) {
3288
+ .ol-asset__modal-media-container[data-type="presentation"] {
3289
+ max-height: 90vh;
3290
+ min-height: 600px;
3291
+ }
3292
+
3293
+ .ol-asset__modal-presentation {
3294
+ min-height: 600px;
3295
+ }
3296
+
3297
+ .ol-asset__modal-carousel {
3298
+ min-height: 600px;
3299
+ }
3300
+
3301
+ .ol-asset__modal-carousel::part(base),
3302
+ .ol-asset__modal-carousel::part(scroll-container) {
3303
+ min-height: 600px;
3304
+ }
3305
+
3306
+ .ol-asset__modal-carousel ol-carousel-item {
3307
+ min-height: 600px;
3308
+ }
3309
+
3310
+ .ol-asset__modal-slide-image {
3311
+ max-height: 90vh;
3312
+ }
3313
+ }
3314
+ `}createDialogHTML(){if(!this.asset)return"";let{name:e,description:t,url:o,type:s}=this.asset,l="";if(s==="multimedia"){let r=this.asset,j=this.getMultimediaSubtype(r);if(j==="image")l=`
3315
+ <div class="ol-asset__modal-media-container">
3316
+ <div class="ol-asset__modal-image-container">
3317
+ <img
3318
+ src="${o||""}"
3319
+ alt="${e}"
3320
+ class="ol-asset__modal-image"
3321
+ loading="eager"
3322
+ />
3323
+ </div>
3324
+ </div>
3325
+ <div class="ol-asset__modal-info">
3326
+ <h3 class="ol-asset__modal-title">${e}</h3>
3327
+ ${t?`<p class="ol-asset__modal-description">${t}</p>`:""}
3328
+ <div class="ol-asset__modal-metadata">
3329
+ <div class="ol-asset__modal-metadata-item">
3330
+ <ol-icon name="photo"></ol-icon>
3331
+ <span class="ol-asset__modal-type">Image</span>
3332
+ </div>
3333
+ </div>
3334
+ </div>
3335
+ `;else if(j==="video")l=`
3336
+ <div class="ol-asset__modal-media-container">
3337
+ <div class="ol-asset__modal-video-container">
3338
+ <video
3339
+ src="${o||r.vodUrl||""}"
3340
+ controls
3341
+ class="ol-asset__modal-video-player"
3342
+ preload="metadata"
3343
+ >
3344
+ Your browser does not support the video tag.
3345
+ </video>
3346
+ </div>
3347
+ </div>
3348
+ <div class="ol-asset__modal-info">
3349
+ <h3 class="ol-asset__modal-title">${e}</h3>
3350
+ ${t?`<p class="ol-asset__modal-description">${t}</p>`:""}
3351
+ <div class="ol-asset__modal-metadata">
3352
+ <div class="ol-asset__modal-metadata-item">
3353
+ <ol-icon name="video"></ol-icon>
3354
+ <span class="ol-asset__modal-type">Video</span>
3355
+ </div>
3356
+ ${r.duration?`
3357
+ <div class="ol-asset__modal-metadata-item">
3358
+ <ol-icon name="clock"></ol-icon>
3359
+ <span class="ol-asset__modal-duration">${this.formatDuration(r.duration)}</span>
3360
+ </div>
3361
+ `:""}
3362
+ </div>
3363
+ </div>
3364
+ `;else if(j==="presentation")if(r.slides&&r.slides.length>0){let m=r.slides;l=`
3365
+ <div class="ol-asset__modal-media-container" data-type="presentation">
3366
+ <div class="ol-asset__modal-presentation">
3367
+ <ol-carousel pagination navigation loop class="ol-asset__modal-carousel">
3368
+ ${m.map((C,R)=>`
3369
+ <ol-carousel-item>
3370
+ <img
3371
+ src="${C}"
3372
+ alt="Slide ${R+1} of ${m.length}"
3373
+ class="ol-asset__modal-slide-image"
3374
+ />
3375
+ </ol-carousel-item>
3376
+ `).join("")}
3377
+ </ol-carousel>
3378
+ </div>
3379
+ </div>
3380
+ <div class="ol-asset__modal-info">
3381
+ <h3 class="ol-asset__modal-title">${e}</h3>
3382
+ ${t?`<p class="ol-asset__modal-description">${t}</p>`:""}
3383
+ <div class="ol-asset__modal-metadata">
3384
+ <div class="ol-asset__modal-metadata-item">
3385
+ <ol-icon name="file-presentation"></ol-icon>
3386
+ <span class="ol-asset__modal-type">Presentation</span>
3387
+ </div>
3388
+ <div class="ol-asset__modal-metadata-item">
3389
+ <ol-icon name="layers"></ol-icon>
3390
+ <span class="ol-asset__modal-slides">${m.length} ${m.length===1?"slide":"slides"}</span>
3391
+ </div>
3392
+ </div>
3393
+ </div>
3394
+ `}else l=`
3395
+ <div class="ol-asset__modal-presentation">
3396
+ <div class="ol-asset__modal-presentation-fallback">
3397
+ <div class="ol-asset__modal-presentation-icon">\u{1F4C4}</div>
3398
+ <p>Presentation Preview</p>
3399
+ </div>
3400
+ </div>
3401
+ <div class="ol-asset__modal-info">
3402
+ <h3 class="ol-asset__modal-title">${e}</h3>
3403
+ ${t?`<p class="ol-asset__modal-description">${t}</p>`:""}
3404
+ <p class="ol-asset__modal-type">Type: Presentation</p>
3405
+ </div>
3406
+ `}else if(s==="file"){let r=this.asset,j=this.getMultimediaSubtype(r);if(j==="image")l=`
3407
+ <div class="ol-asset__modal-media-container">
3408
+ <div class="ol-asset__modal-image-container">
3409
+ <img
3410
+ src="${o||""}"
3411
+ alt="${e}"
3412
+ class="ol-asset__modal-image"
3413
+ loading="eager"
3414
+ />
3415
+ </div>
3416
+ </div>
3417
+ <div class="ol-asset__modal-info">
3418
+ <h3 class="ol-asset__modal-title">${e}</h3>
3419
+ ${t?`<p class="ol-asset__modal-description">${t}</p>`:""}
3420
+ <div class="ol-asset__modal-metadata">
3421
+ <div class="ol-asset__modal-metadata-item">
3422
+ <ol-icon name="photo"></ol-icon>
3423
+ <span class="ol-asset__modal-type">Image File</span>
3424
+ </div>
3425
+ </div>
3426
+ </div>
3427
+ `;else if(j==="video")l=`
3428
+ <div class="ol-asset__modal-media-container">
3429
+ <div class="ol-asset__modal-video-container">
3430
+ <video
3431
+ src="${o||r.vodUrl||""}"
3432
+ controls
3433
+ class="ol-asset__modal-video-player"
3434
+ preload="metadata"
3435
+ >
3436
+ Your browser does not support the video tag.
3437
+ </video>
3438
+ </div>
3439
+ </div>
3440
+ <div class="ol-asset__modal-info">
3441
+ <h3 class="ol-asset__modal-title">${e}</h3>
3442
+ ${t?`<p class="ol-asset__modal-description">${t}</p>`:""}
3443
+ <div class="ol-asset__modal-metadata">
3444
+ <div class="ol-asset__modal-metadata-item">
3445
+ <ol-icon name="video"></ol-icon>
3446
+ <span class="ol-asset__modal-type">Video File</span>
3447
+ </div>
3448
+ ${r.duration?`
3449
+ <div class="ol-asset__modal-metadata-item">
3450
+ <ol-icon name="clock"></ol-icon>
3451
+ <span class="ol-asset__modal-duration">${this.formatDuration(r.duration)}</span>
3452
+ </div>
3453
+ `:""}
3454
+ </div>
3455
+ </div>
3456
+ `;else if(j==="presentation")if(r.slides&&r.slides.length>0){let m=r.slides;l=`
3457
+ <div class="ol-asset__modal-media-container" data-type="presentation">
3458
+ <div class="ol-asset__modal-presentation">
3459
+ <ol-carousel pagination navigation loop class="ol-asset__modal-carousel">
3460
+ ${m.map((C,R)=>`
3461
+ <ol-carousel-item>
3462
+ <img
3463
+ src="${C}"
3464
+ alt="Slide ${R+1} of ${m.length}"
3465
+ class="ol-asset__modal-slide-image"
3466
+ />
3467
+ </ol-carousel-item>
3468
+ `).join("")}
3469
+ </ol-carousel>
3470
+ </div>
3471
+ </div>
3472
+ <div class="ol-asset__modal-info">
3473
+ <h3 class="ol-asset__modal-title">${e}</h3>
3474
+ ${t?`<p class="ol-asset__modal-description">${t}</p>`:""}
3475
+ <div class="ol-asset__modal-metadata">
3476
+ <div class="ol-asset__modal-metadata-item">
3477
+ <ol-icon name="file-presentation"></ol-icon>
3478
+ <span class="ol-asset__modal-type">Presentation File</span>
3479
+ </div>
3480
+ <div class="ol-asset__modal-metadata-item">
3481
+ <ol-icon name="layers"></ol-icon>
3482
+ <span class="ol-asset__modal-slides">${m.length} ${m.length===1?"slide":"slides"}</span>
3483
+ </div>
3484
+ </div>
3485
+ </div>
3486
+ `}else l=`
3487
+ <div class="ol-asset__modal-presentation">
3488
+ <div class="ol-asset__modal-presentation-fallback">
3489
+ <div class="ol-asset__modal-presentation-icon">\u{1F4C4}</div>
3490
+ <p>Presentation Preview</p>
3491
+ </div>
3492
+ </div>
3493
+ <div class="ol-asset__modal-info">
3494
+ <h3 class="ol-asset__modal-title">${e}</h3>
3495
+ ${t?`<p class="ol-asset__modal-description">${t}</p>`:""}
3496
+ <p class="ol-asset__modal-type">Type: Presentation File</p>
3497
+ </div>
3498
+ `}else if(s==="faq"){let r=this.asset;l=`
3499
+ <div class="ol-asset__modal-faq">
3500
+ <h3 class="ol-asset__modal-question">${r.question||e}</h3>
3501
+ <div class="ol-asset__modal-answer">${r.answer||t}</div>
3502
+ </div>
3503
+ `}else l=`
3504
+ <div class="ol-asset__modal-info">
3505
+ <h3 class="ol-asset__modal-title">${e}</h3>
3506
+ ${t?`<p class="ol-asset__modal-description">${t}</p>`:""}
3507
+ </div>
3508
+ `;let a=s==="multimedia"||s==="file",d=s==="faq"&&this.asset.question||e;return`
3509
+ <ol-dialog
3510
+ label="${this.escapeHtml(d)}"
3511
+ class="ol-asset__dialog"
3512
+ data-fullscreen="${a}"
3513
+ ${a?'style="--width: 95vw; --max-width: 1600px;"':""}
3514
+ >
3515
+ <div class="ol-asset__dialog-content">
3516
+ <div class="ol-asset__dialog-body">
3517
+ ${l}
3518
+ </div>
3519
+ </div>
3520
+ </ol-dialog>
3521
+ `}attachEventListeners(){this.dialog&&(this.dialog.addEventListener("ol-after-hide",()=>{this.onClose?.()}),this.dialog.addEventListener("ol-request-close",e=>{e.detail?.source==="overlay"&&e.preventDefault()}))}escapeHtml(e){let t=document.createElement("div");return t.textContent=e,t.innerHTML}};var c=class extends g.LitElement{constructor(){super(...arguments);this.loadingState="idle";this.assetRenderer=new x;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 y(this.config)}async loadAsset(){if(!this.type||!this.externalId){this.error="Type and externalId are required",this.loadingState="error";return}this.loadingState="loading",this.error=void 0;try{let t=await this.assetLoader.loadAsset(this.type,this.externalId);this.asset=t,this.loadingState="loaded",this.dispatchEvent(new CustomEvent("asset-load",{detail:t})),console.debug("Asset loaded:",t)}catch(t){console.error(`Error loading ${this.type} asset:`,t),this.error=t instanceof Error?t.message:"Failed to load asset",this.loadingState="error",this.dispatchEvent(new CustomEvent("asset-error",{detail:{error:this.error,asset:this.asset}}))}}async onDownload(t){if(!(!t.url||this.isDownloading)){this.isDownloading=!0;try{let o=await fetch(t.url,{method:"GET",mode:"cors",cache:"no-cache"});if(o.ok){let s=await o.blob(),l=window.URL.createObjectURL(s),a=document.createElement("a");a.href=l,a.download=this.getDownloadFilename(t),a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),setTimeout(()=>window.URL.revokeObjectURL(l),100),this.dispatchEvent(new CustomEvent("asset-download",{detail:t})),this.isDownloading=!1;return}}catch(o){console.warn("Fetch strategy failed:",o)}try{let o=await fetch(t.url,{headers:{Accept:"*/*"},mode:"no-cors"});if(o.type==="opaque")throw new Error("No-cors response, cannot access blob");let s=await o.blob(),l=window.URL.createObjectURL(s),a=document.createElement("a");a.href=l,a.download=this.getDownloadFilename(t),a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a),setTimeout(()=>window.URL.revokeObjectURL(l),100),this.dispatchEvent(new CustomEvent("asset-download",{detail:t})),this.isDownloading=!1;return}catch(o){console.warn("No-cors strategy failed:",o)}try{let o=document.createElement("a");o.href=t.url,o.download=this.getDownloadFilename(t),o.target="_blank",o.rel="noopener noreferrer",o.style.position="absolute",o.style.left="-9999px",document.body.appendChild(o),o.click(),setTimeout(()=>{document.body.removeChild(o)},100),this.dispatchEvent(new CustomEvent("asset-download",{detail:t}))}catch(o){console.error("All download strategies failed:",o),window.open(t.url,"_blank")}this.isDownloading=!1}}getDownloadFilename(t){let o=Date.now(),s=this.getFileExtension(t);return`${t.name||`asset-${t.type}-${o}`}${s}`}getFileExtension(t){if(t.url){let l=new URL(t.url).pathname,a=l.lastIndexOf(".");if(a>0)return l.substring(a)}return{multimedia:".jpg",file:".bin",product:".jpg",faq:".txt"}[t.type]||""}async openModal(){this.asset&&(this.modalPortal=new _(this.asset,this.closeModal.bind(this)),await this.modalPortal.open())}onMaximize(){if(this.asset){if(this.asset.type==="multimedia"||this.asset.type==="file"){let t=this.asset,o=t.slides&&t.slides.length>0,s=t.format||"";if((s.includes("presentation")||s.includes("pdf")||s.includes("powerpoint")||s.includes("slides")||s.includes("application/vnd.ms-powerpoint")||s.includes("application/vnd.openxmlformats-officedocument.presentationml")||o&&t.slides.length>0)&&!o)return}this.asset.type==="multimedia"||this.asset.type==="file"||this.asset.type==="faq"?this.openModal():this.dispatchEvent(new CustomEvent("asset-click",{detail:this.asset}))}}closeModal(){this.modalPortal&&(this.modalPortal.close(),this.modalPortal=void 0)}render(){let t={...this.defaultDisplayOptions,...this.config?.assetDisplayOptions||{}};return this.loadingState==="loading"?g.html`
3522
+ <div class="ol-asset ol-asset--loading">
3523
+ ${this.assetRenderer.renderLoading()}
3524
+ </div>
3525
+ `:this.loadingState==="error"?g.html`
3526
+ <div class="ol-asset ol-asset--error">
3527
+ ${this.assetRenderer.renderError(this.error)}
3528
+ </div>
3529
+ `:this.asset?g.html`
3530
+ <div
3531
+ class="ol-asset ${(0,G.classMap)({"ol-asset--compact":t.layout==="compact","ol-asset--minimal":t.layout==="minimal","ol-asset--small":t.size==="small","ol-asset--medium":t.size==="medium","ol-asset--large":t.size==="large","ol-asset--faq":this.asset.type==="faq"})}"
3532
+ >
3533
+ ${this.assetRenderer.renderThumbnail(this.asset,t,this.onDownload.bind(this),this.isDownloading,this.onMaximize.bind(this))}
3534
+ ${this.assetRenderer.renderContent(this.asset,t)}
3535
+ </div>
3536
+ `:g.html``}};c.styles=[N],v([(0,p.property)({type:String})],c.prototype,"type",2),v([(0,p.property)({type:String})],c.prototype,"externalId",2),v([(0,p.property)({type:Object})],c.prototype,"config",2),v([(0,p.state)()],c.prototype,"asset",2),v([(0,p.state)()],c.prototype,"loadingState",2),v([(0,p.state)()],c.prototype,"error",2),v([(0,p.state)()],c.prototype,"assetLoader",2),v([(0,p.state)()],c.prototype,"assetRenderer",2),v([(0,p.state)()],c.prototype,"isDownloading",2),c=v([z("osb-asset")],c);0&&(module.exports={AssetLoaders,AssetModalPortal,AssetRenderer,OSBAsset});