@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,3185 @@
1
+ /*! @onlive.ai/common-121 v0.2.163 | © 2026 Onlive.ai */
2
+ var M=Object.defineProperty;var q=Object.getOwnPropertyDescriptor;var l=(r,t,e,o)=>{for(var i=o>1?void 0:o?q(t,e):t,s=r.length-1,a;s>=0;s--)(a=r[s])&&(i=(o?a(t,e,i):a(i))||i);return o&&i&&M(t,e,i),i};import"@onlive.ai/ui/dist/components/button/button.js";import"@onlive.ai/ui/dist/components/details/details.js";import"@onlive.ai/ui/dist/components/icon/icon.js";import"@onlive.ai/ui/dist/components/input/input.js";import"@onlive.ai/ui/dist/components/option/option.js";import"@onlive.ai/ui/dist/components/select/select.js";import{html as n,LitElement as K}from"lit";import{property as _,state as m}from"lit/decorators.js";import{classMap as y}from"lit/directives/class-map.js";import{ifDefined as x}from"lit/directives/if-defined.js";import{repeat as C}from"lit/directives/repeat.js";import{when as v}from"lit/directives/when.js";var w=class r{constructor(t){this.config=t}static initialize(t){return new r(t)}getBaseUrl(){return`${this.config.baseUrl}`}getHeaders(){return{"Content-Type":"application/json"}}async makeRequest(t,e={}){let o=`${this.getBaseUrl()}${t}`,i=await fetch(o,{...e,headers:{...this.getHeaders(),...e.headers}});if(!i.ok)throw new Error(`FAQs API error: ${i.status} ${i.statusText}`);return i.json()}async getSettingsByOrganization(t,e){try{let o=new URLSearchParams;e&&o.append("userGroupId",e);let i=o.toString(),s=`${this.getBaseUrl()}/settings/organization/${t}${i?`?${i}`:""}`,a=await fetch(s,{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(t={}){let e=new URLSearchParams;if(t.search&&e.append("search",t.search),t.organizationId&&e.append("organizationId",t.organizationId),t.groupId&&e.append("groupId",t.groupId),t.isActive!==void 0&&e.append("isActive",t.isActive.toString()),t.page&&e.append("page",t.page.toString()),t.limit&&e.append("limit",t.limit.toString()),t.sortBy&&e.append("sortBy",t.sortBy),t.sortOrder&&e.append("sortOrder",t.sortOrder),t.extraFilters){for(let[s,a]of Object.entries(t.extraFilters))if(a&&(Array.isArray(a)?a.length>0:a.toString().trim()!=="")){let c=Array.isArray(a)?a.join(","):a.toString();e.append(`extra_${s}`,c)}}let o=e.toString(),i=`/faqs${o?`?${o}`:""}`;return this.makeRequest(i)}async getFaqById(t){return this.makeRequest(`/faqs/${t}`,{})}};var h=async(r,t)=>{let e=await fetch(r,t);if(!e.ok){let o=await e.json().catch(()=>({}));throw new Error(JSON.stringify({status:e.status,statusText:e.statusText,...o}))}return e&&e.json()};var A=class r{constructor(t){this.config=t,this.enableUpload=t.enableUpload||!1}static getInstance(t){if(!r.instance&&t&&(r.instance=new r(t)),!r.instance)throw new Error("FileService must be initialized with config first");return r.instance}static initialize(t){return r.instance=new r(t),r.instance}async uploadFile(t,e={}){try{let o=await this.requestSignedUrl({filename:t.name,description:e.description,loadDirection:"up",bucketType:e.bucketType||"conversations",path:e.path||".temp",mimeType:t.type});return await this.uploadToSignedUrl(o.data.signedUrlData.signedUrl,t),{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(t){let e=`${this.config.baseUrl}/files/upload-url`;return this.makeRequest(e,{method:"POST",body:JSON.stringify(t)})}async uploadToSignedUrl(t,e){let o=await fetch(t,{method:"PUT",body:e,headers:{"Content-Type":e.type}});if(!o.ok){let i=await o.text().catch(()=>"No response");throw new Error(`Upload failed with status: ${o.status}. Response: ${i}`)}}async uploadFileWithRetry(t,e={}){let o=e.maxRetries||3,i=null;for(let s=1;s<=o;s++)try{let a=await this.uploadFile(t,e);if(a.success)return a;throw new Error(a.error||"Upload failed")}catch(a){if(i=a instanceof Error?a:new Error("Unknown error"),s===o)break;let c=2**s*1e3;await new Promise(u=>setTimeout(u,c))}return{success:!1,error:i?.message||"Upload failed after retries"}}async getFileById(t){let e=`${this.config.baseUrl}/files/${t}`,o=await this.makeRequest(e);if(!o.success)throw new Error("Failed to get file");return o.data}async makeRequest(t,e){let o={"Content-Type":"application/json"};return this.config.organizationId&&(o["X-Onlive-Organization-Id"]=this.config.organizationId),e?.headers&&Object.assign(o,e.headers),h(t,{...e,headers:o})}updateConfig(t){this.config={...this.config,...t}}getConfig(){return{...this.config}}};var k=class r{constructor(t){this.config=t}static getInstance(t){if(!r.instance&&t&&(r.instance=new r(t)),!r.instance)throw new Error("MultimediaService must be initialized with config first");return r.instance}static initialize(t){return r.instance=new r(t),r.instance}async getImages(t={}){let e=new URLSearchParams({type:"image",page:(t.page||1).toString(),limit:(t.limit||12).toString(),...t.search&&{search:t.search},...t.labels&&{labels:t.labels.join(",")},...t.includeSecureToken&&{includeSecureToken:t.includeSecureToken.toString()}});this.appendExtraFilters(e,t.extraFilters);let o=`${this.config.baseUrl}/multimedia?${e}`;return this.makeRequest(o)}async getVideos(t={}){let e=new URLSearchParams({type:"video",page:(t.page||1).toString(),limit:(t.limit||12).toString(),...t.search&&{search:t.search},...t.labels&&{labels:t.labels.join(",")},...t.includeSecureToken&&{includeSecureToken:t.includeSecureToken.toString()}});this.appendExtraFilters(e,t.extraFilters);let o=`${this.config.baseUrl}/multimedia?${e}`;return this.makeRequest(o)}async getPresentations(t={}){let e=new URLSearchParams({type:"presentation",page:(t.page||1).toString(),limit:(t.limit||12).toString(),...t.search&&{search:t.search},...t.labels&&{labels:t.labels.join(",")},...t.includeSecureToken&&{includeSecureToken:t.includeSecureToken.toString()}});this.appendExtraFilters(e,t.extraFilters);let o=`${this.config.baseUrl}/multimedia?${e}`;return this.makeRequest(o)}async getAllMultimedia(t={}){let[e,o,i]=await Promise.all([this.getImages(t),this.getVideos(t),this.getPresentations(t)]);return{images:e,videos:o,presentations:i}}async getMultimediaByToken(t){let e=`${this.config.baseUrl}/multimedia/secure-token/${t}`;return this.makeRequest(e,!1)}async searchMultimedia(t,e){let o={search:t,page:1,limit:50,includeSecureToken:!0};if(e)return this.getMultimediaByType(e,o);let[i,s,a]=await Promise.all([this.getImages(o),this.getVideos(o),this.getPresentations(o)]),c=[...i.items,...s.items,...a.items];return{items:c,total:c.length,count:c.length,currentPage:1,totalPages:1}}async getMultimediaByType(t,e){switch(t){case"image":return this.getImages(e);case"video":return this.getVideos(e);case"presentation":return this.getPresentations(e);default:throw new Error(`Invalid multimedia type: ${t}`)}}appendExtraFilters(t,e){if(e){for(let[o,i]of Object.entries(e))if(i&&(Array.isArray(i)?i.length>0:i.toString().trim()!=="")){let s=Array.isArray(i)?i.join(","):i.toString();t.append(`extra_${o}`,s)}}}async makeRequest(t,e=!0){let o={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return h(t,{method:"GET",headers:o,credentials:e?"include":void 0})}updateConfig(t){this.config={...this.config,...t}}getConfig(){return{...this.config}}};var S=class r{constructor(t){this.config=t}static getInstance(t){if(!r.instance&&t&&(r.instance=new r(t)),!r.instance)throw new Error("ProductService must be initialized with config first");return r.instance}static initialize(t){return r.instance=new r(t),r.instance}async getProducts(t={}){let e=new URLSearchParams({...t.title&&{title:t.title},...t.search&&{search:t.search},...t.category&&{category:t.category},...t.tags&&{tags:t.tags.join(",")},...t.sortBy&&{sortBy:t.sortBy},...t.sortOrder&&{sortOrder:t.sortOrder},...t.minPrice&&{minPrice:t.minPrice.toString()},...t.maxPrice&&{maxPrice:t.maxPrice.toString()},...t.inStock!==void 0&&{inStock:t.inStock.toString()},...t.offset&&{offset:t.offset.toString()},...t.includeSecureToken&&{includeSecureToken:t.includeSecureToken.toString()}});t.extraFields&&Object.keys(t.extraFields).length>0&&e.append("extraFields",JSON.stringify(t.extraFields));let o=`${this.config.baseUrl}/products?${e}`;return this.makeRequest(o,!0)}async getProductByToken(t){let e=`${this.config.baseUrl}/products/secure-token/${t}`;return this.makeRequest(e)}async searchProducts(t,e={}){return this.getProducts({...e,search:t})}async makeRequest(t,e=!1){let o={"Content-Type":"application/json","X-Onlive-Organization-Id":this.config.organizationId};return h(t,{method:"GET",headers:o,credentials:e?"include":"same-origin"})}updateConfig(t){this.config={...this.config,...t}}getConfig(){return{...this.config}}};var U=(r,t)=>(customElements.get(r)?console.debug(`Custom element <${r}> is already defined, skipping definition of ${t.name}.`):window.customElements.define(r,t),t),V=(r,t)=>{let{kind:e,elements:o}=t;return{kind:e,elements:o,finisher(i){customElements.get(r)||window.customElements.define(r,i)}}},b=r=>t=>typeof t=="function"?U(r,t):V(r,t);import"@onlive.ai/ui/dist/components/button/button.js";import"@onlive.ai/ui/dist/components/icon/icon.js";import{html as P,LitElement as J}from"lit";import{property as $,query as G}from"lit/decorators.js";import{repeat as H}from"lit/directives/repeat.js";import N from"video.js";import{css as Y,unsafeCSS as L}from"lit";import D from"video.js/dist/video-js.min.css?inline";var T=Y`
3
+ ${L(D)}
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 j=class extends J{constructor(){super(...arguments);this.sources=[];this.player=null}connectedCallback(){super.connectedCallback();let e="videojs-font-face";if(!document.head.querySelector(`#${e}`)){let o=document.createElement("style");o.id=e,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=N(this.$player,{controls:!0,controlBar:{children:["playToggle","progressControl","volumePanel","fullscreenToggle"]}}))}play(){this.player?.play()}pause(){this.player?.pause()}render(){return P`
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
+ ${H(this.sources,e=>e.src,e=>P`<source src=${e.src} type=${e.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
+ `}};j.styles=[T],l([$({type:Array})],j.prototype,"sources",2),l([G("#player")],j.prototype,"$player",2),j=l([b("och-player")],j);import"@onlive.ai/ui/dist/components/button/button.js";import"@onlive.ai/ui/dist/components/dropdown/dropdown.js";import"@onlive.ai/ui/dist/components/icon/icon.js";import"@onlive.ai/ui/dist/components/menu-item/menu-item.js";import"@onlive.ai/ui/dist/components/menu/menu.js";import{html as z,LitElement as B}from"lit";import{property as I}from"lit/decorators.js";import{css as O}from"lit";var E=O`
2045
+ :host {
2046
+ display: inline-block;
2047
+ }
2048
+
2049
+ .ol-upload {
2050
+ position: relative;
2051
+ }
2052
+
2053
+ .ol-upload--empty {
2054
+ padding: 8px 16px;
2055
+ background: var(--ol-color-neutral-100, #f3f4f6);
2056
+ border: 1px solid var(--ol-color-neutral-300, #d1d5db);
2057
+ border-radius: 6px;
2058
+ color: var(--ol-color-neutral-600, #4b5563);
2059
+ font-size: 14px;
2060
+ }
2061
+
2062
+ .ol-upload__selected-file {
2063
+ margin-top: 12px;
2064
+ padding: 12px;
2065
+ background: var(--ol-color-success-50, #f0fdf4);
2066
+ border: 1px solid var(--ol-color-success-200, #bbf7d0);
2067
+ border-radius: 8px;
2068
+ display: flex;
2069
+ align-items: center;
2070
+ justify-content: space-between;
2071
+ gap: 12px;
2072
+ }
2073
+
2074
+ .ol-upload__file-info {
2075
+ flex: 1;
2076
+ font-size: 14px;
2077
+ color: var(--ol-color-success-800, #166534);
2078
+ }
2079
+
2080
+ .ol-upload__file-info strong {
2081
+ display: block;
2082
+ margin-bottom: 4px;
2083
+ }
2084
+
2085
+ .ol-upload__file-info small {
2086
+ color: var(--ol-color-success-600, #16a34a);
2087
+ }
2088
+
2089
+ .ol-upload__clear-btn {
2090
+ width: 32px;
2091
+ height: 32px;
2092
+ border: none;
2093
+ background: var(--ol-color-success-200, #bbf7d0);
2094
+ color: var(--ol-color-success-700, #15803d);
2095
+ border-radius: 50%;
2096
+ cursor: pointer;
2097
+ display: flex;
2098
+ align-items: center;
2099
+ justify-content: center;
2100
+ transition: all 0.2s ease;
2101
+ }
2102
+
2103
+ .ol-upload__clear-btn:hover {
2104
+ background: var(--ol-color-success-300, #86efac);
2105
+ transform: scale(1.1);
2106
+ }
2107
+ `;var f=class extends B{constructor(){super(...arguments);this.defaultConfig={maxFileSize:10*1024*1024,multiple:!1,showImage:!0,showVideo:!0,showDocument:!0}}getAllowedExtensions(e){switch(e){case"image":return[".jpg",".jpeg",".png",".gif",".webp",".svg"];case"video":return[".mp4",".avi",".mov",".wmv",".flv",".webm"];case"document":return[".pdf",".doc",".docx",".txt",".rtf",".odt"];default:return[]}}getAcceptAttribute(e){return this.getAllowedExtensions(e).join(",")}getFileTypeLabel(e){switch(e){case"image":return"Imagen";case"video":return"Video";case"document":return"Documento";default:return"Archivo"}}getAvailableTypes(){let e={...this.defaultConfig,...this.config},o=[];return e.showImage&&o.push("image"),e.showVideo&&o.push("video"),e.showDocument&&o.push("document"),o}onTypeSelect(e){this.openFileDialog(e)}openFileDialog(e){let o=document.createElement("input");o.type="file",o.accept=this.getAcceptAttribute(e),o.multiple=this.config?.multiple||!1,o.onchange=i=>{let s=i.target.files?.[0];s&&this.handleFileSelection(s,e)},o.click()}handleFileSelection(e,o){let i=this.validateFile(e,o);if(!i.valid){this.dispatchEvent(new CustomEvent("osb-upload-error",{detail:{error:i.error},bubbles:!0}));return}this.dispatchEvent(new CustomEvent("osb-file-selected",{detail:{file:e,type:o},bubbles:!0})),this.events?.onFileSelected?.(e,o)}validateFile(e,o){let i={...this.defaultConfig,...this.config};if(i.maxFileSize&&e.size>i.maxFileSize)return{valid:!1,error:`El archivo es demasiado grande. Tama\xF1o m\xE1ximo: ${Math.round(i.maxFileSize/1048576)}MB`};let s=e.name.toLowerCase(),a=this.getAllowedExtensions(o);return a.some(u=>s.endsWith(u.toLowerCase()))?{valid:!0}:{valid:!1,error:`Tipo de archivo no v\xE1lido. Extensiones permitidas: ${a.join(", ")}`}}render(){let e=this.getAvailableTypes();return e.length===0?z`<div class="ol-upload ol-upload--empty">No hay tipos de archivo disponibles</div>`:z`
2108
+ <div class="ol-upload">
2109
+ <ol-dropdown placement="bottom-start" distance="8">
2110
+ <div slot="trigger">
2111
+ <slot>
2112
+ </slot>
2113
+ </div>
2114
+
2115
+ <ol-menu>
2116
+ ${e.map(o=>z`
2117
+ <ol-menu-item @click="${()=>this.onTypeSelect(o)}">
2118
+ <ol-icon slot="prefix" name="${this.getIconName(o)}"></ol-icon>
2119
+ ${this.getFileTypeLabel(o)}
2120
+ </ol-menu-item>
2121
+ `)}
2122
+ </ol-menu>
2123
+ </ol-dropdown>
2124
+ </div>
2125
+ `}getIconName(e){switch(e){case"image":return"image";case"video":return"file-play";case"document":return"file-text";default:return"file"}}};f.styles=[E],l([I({type:Object})],f.prototype,"config",2),l([I({type:Object})],f.prototype,"events",2),f=l([b("osb-upload")],f);import{css as Q}from"lit";var R=Q`
2126
+ :host {
2127
+ display: block;
2128
+ position: fixed;
2129
+ top: 0;
2130
+ right: 0;
2131
+ height: 100vh;
2132
+ width: 20vw;
2133
+ min-width: 320px;
2134
+ max-width: 620px;
2135
+ z-index: 1000;
2136
+ transition: transform 0.3s ease-in-out;
2137
+ }
2138
+
2139
+ :host([disabled]) {
2140
+ pointer-events: none;
2141
+ }
2142
+
2143
+ .ol-sidebar {
2144
+ display: flex;
2145
+ flex-direction: column;
2146
+ height: 100%;
2147
+ background-color: var(--ol-color-neutral-0);
2148
+ border-left: 1px solid var(--ol-color-neutral-200);
2149
+ box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
2150
+ }
2151
+
2152
+ .ol-sidebar--disabled {
2153
+ opacity: 0.6;
2154
+ pointer-events: none;
2155
+ }
2156
+
2157
+
2158
+ .ol-sidebar__header {
2159
+ padding: 20px;
2160
+ border-bottom: 1px solid var(--ol-color-neutral-200);
2161
+ background-color: var(--ol-color-neutral-0);
2162
+ }
2163
+
2164
+
2165
+
2166
+ .ol-sidebar__asset-presentation-format {
2167
+ position: absolute;
2168
+ top: var(--ol-spacing-x-small);
2169
+ right: var(--ol-spacing-x-small);
2170
+ padding: 2px var(--ol-spacing-x-small);
2171
+ background-color: rgba(255, 255, 255, 0.9);
2172
+ color: var(--ol-color-neutral-700);
2173
+ font-size: 10px;
2174
+ font-weight: 600;
2175
+ border-radius: 12px;
2176
+ text-transform: uppercase;
2177
+ letter-spacing: 0.5px;
2178
+ backdrop-filter: blur(4px);
2179
+ border: 1px solid rgba(255, 255, 255, 0.3);
2180
+ }
2181
+
2182
+ .ol-sidebar__header-top {
2183
+ display: flex;
2184
+ align-items: center;
2185
+ justify-content: space-between;
2186
+ }
2187
+
2188
+ .ol-sidebar__title {
2189
+ margin: 0;
2190
+ font-size: 18px;
2191
+ font-weight: 600;
2192
+ color: var(--ol-color-neutral-900);
2193
+ text-transform: uppercase;
2194
+ letter-spacing: 0.5px;
2195
+ }
2196
+
2197
+ .ol-sidebar__unified-search {
2198
+ margin-top: var(--ol-spacing-medium);
2199
+ width: 100%;
2200
+ }
2201
+
2202
+ .ol-sidebar__unified-search-input {
2203
+ width: calc(100% - 2 * var(--ol-spacing-small));
2204
+ padding: var(--ol-spacing-small);
2205
+ border: 1px solid var(--ol-color-neutral-300);
2206
+ border-radius: var(--ol-border-radius-medium);
2207
+ font-size: 14px;
2208
+ background-color: var(--ol-color-neutral-0);
2209
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
2210
+ }
2211
+
2212
+ .ol-sidebar__unified-search-input:focus {
2213
+ outline: none;
2214
+ border-color: var(--ol-color-primary-500);
2215
+ box-shadow: 0 0 0 2px rgba(var(--ol-color-primary-500-rgb), 0.2);
2216
+ }
2217
+
2218
+ .ol-sidebar__unified-search-input:disabled {
2219
+ opacity: 0.6;
2220
+ cursor: not-allowed;
2221
+ background-color: var(--ol-color-neutral-100);
2222
+ }
2223
+
2224
+ .ol-sidebar__unified-search-input::placeholder {
2225
+ color: var(--ol-color-neutral-400);
2226
+ }
2227
+
2228
+ /* Extra filters styles */
2229
+ .ol-sidebar__extra-filters {
2230
+ display: flex;
2231
+ flex-wrap: wrap;
2232
+ gap: var(--ol-spacing-small);
2233
+ margin-top: var(--ol-spacing-medium);
2234
+ padding-top: var(--ol-spacing-small);
2235
+ border-top: 1px solid var(--ol-color-neutral-200);
2236
+ }
2237
+
2238
+ .ol-sidebar__filter {
2239
+ display: flex;
2240
+ flex-direction: column;
2241
+ gap: var(--ol-spacing-x-small);
2242
+ flex: 1;
2243
+ min-width: 120px;
2244
+ max-width: 200px;
2245
+ }
2246
+
2247
+ .ol-sidebar__filter-label {
2248
+ font-size: 11px;
2249
+ font-weight: 500;
2250
+ color: var(--ol-color-neutral-600);
2251
+ text-transform: uppercase;
2252
+ letter-spacing: 0.5px;
2253
+ }
2254
+
2255
+ .ol-sidebar__filter-select,
2256
+ .ol-sidebar__filter-input {
2257
+ width: 100%;
2258
+ }
2259
+
2260
+ .ol-sidebar__filter-select::part(combobox) {
2261
+ font-size: 12px;
2262
+ min-height: 32px;
2263
+ }
2264
+
2265
+ .ol-sidebar__filter-input::part(base) {
2266
+ font-size: 12px;
2267
+ min-height: 32px;
2268
+ }
2269
+
2270
+ .ol-sidebar__filters-loading {
2271
+ display: flex;
2272
+ align-items: center;
2273
+ gap: var(--ol-spacing-small);
2274
+ margin-top: var(--ol-spacing-small);
2275
+ padding: var(--ol-spacing-small);
2276
+ background-color: var(--ol-color-neutral-50);
2277
+ border-radius: var(--ol-border-radius-small);
2278
+ font-size: 12px;
2279
+ color: var(--ol-color-neutral-600);
2280
+ }
2281
+
2282
+ .ol-sidebar__spinner--small {
2283
+ width: 16px;
2284
+ height: 16px;
2285
+ border-width: 2px;
2286
+ }
2287
+
2288
+ .ol-sidebar__content {
2289
+ flex: 1;
2290
+ overflow-y: auto;
2291
+ padding: 0;
2292
+ }
2293
+
2294
+ /* Custom scrollbar styles */
2295
+ .ol-sidebar__content::-webkit-scrollbar {
2296
+ width: 6px;
2297
+ }
2298
+
2299
+ .ol-sidebar__content::-webkit-scrollbar-track {
2300
+ background: transparent;
2301
+ border-radius: 3px;
2302
+ }
2303
+
2304
+ .ol-sidebar__content::-webkit-scrollbar-thumb {
2305
+ background: var(--ol-color-neutral-300);
2306
+ border-radius: 3px;
2307
+ transition: background-color 0.2s ease;
2308
+ }
2309
+
2310
+ .ol-sidebar__content::-webkit-scrollbar-thumb:hover {
2311
+ background: var(--ol-color-neutral-400);
2312
+ }
2313
+
2314
+ .ol-sidebar__content::-webkit-scrollbar-thumb:active {
2315
+ background: var(--ol-color-neutral-500);
2316
+ }
2317
+
2318
+ /* Firefox scrollbar styles */
2319
+ .ol-sidebar__content {
2320
+ scrollbar-width: thin;
2321
+ scrollbar-color: var(--ol-color-neutral-300) transparent;
2322
+ }
2323
+
2324
+ .ol-sidebar__category {
2325
+ margin: 0 var(--ol-spacing-small);
2326
+ border: none;
2327
+ border-radius: 0;
2328
+ background-color: var(--ol-color-neutral-0);
2329
+ }
2330
+
2331
+ .ol-sidebar__category:last-child {
2332
+ border-bottom: none;
2333
+ }
2334
+
2335
+ .ol-sidebar__category slot[name="summary"] {
2336
+ display: flex;
2337
+ align-items: center;
2338
+ justify-content: space-between;
2339
+ padding: 16px 20px;
2340
+ cursor: pointer;
2341
+ user-select: none;
2342
+ border: none;
2343
+ }
2344
+
2345
+ .ol-sidebar__category--disabled slot[name="summary"] {
2346
+ cursor: not-allowed;
2347
+ opacity: 0.6;
2348
+ }
2349
+
2350
+ .ol-sidebar__category slot[name="summary"]::slotted(*) {
2351
+ width: 100%;
2352
+ }
2353
+
2354
+ .ol-sidebar__category-header {
2355
+ display: flex;
2356
+ align-items: center;
2357
+ justify-content: space-between;
2358
+ width: 100%;
2359
+ }
2360
+
2361
+ .ol-sidebar__category-info {
2362
+ display: flex;
2363
+ align-items: center;
2364
+ gap: var(--ol-spacing-small);
2365
+ flex: 1;
2366
+ }
2367
+
2368
+ .ol-sidebar__category-icon {
2369
+ color: var(--ol-color-neutral-600);
2370
+ font-size: var(--ol-font-size-medium);
2371
+ }
2372
+
2373
+ .ol-sidebar__category-label {
2374
+ font-weight: 500;
2375
+ color: var(--ol-color-neutral-900);
2376
+ text-transform: uppercase;
2377
+ letter-spacing: 0.5px;
2378
+ font-size: 12px;
2379
+ }
2380
+
2381
+ .ol-sidebar__category-count {
2382
+ color: var(--ol-color-neutral-500);
2383
+ font-size: 11px;
2384
+ font-weight: 400;
2385
+ margin-left: 8px;
2386
+ }
2387
+
2388
+ .ol-sidebar__category-actions {
2389
+ display: flex;
2390
+ align-items: center;
2391
+ gap: var(--ol-spacing-x-small);
2392
+ }
2393
+
2394
+ ol-button::part(base) {
2395
+ background: none;
2396
+ border: none;
2397
+ color: var(--ol-color-neutral-500);
2398
+ cursor: pointer;
2399
+ font-size: 22px;
2400
+ padding: 2px;
2401
+ border-radius: 4px;
2402
+ transition: all 0.2s ease;
2403
+ width: 24px;
2404
+ height: 24px;
2405
+ display: flex;
2406
+ align-items: center;
2407
+ justify-content: center;
2408
+ }
2409
+
2410
+ .ol-sidebar__add-button:hover {
2411
+ background-color: var(--ol-color-neutral-100);
2412
+ color: var(--ol-color-neutral-700);
2413
+ }
2414
+
2415
+ .ol-sidebar__asset-presentation {
2416
+ display: flex;
2417
+ align-items: center;
2418
+ justify-content: center;
2419
+ position: relative;
2420
+ border-radius: 4px;
2421
+ overflow: hidden;
2422
+ background-color: var(--ol-color-neutral-100);
2423
+ }
2424
+
2425
+ .ol-sidebar__asset-presentation-preview {
2426
+ position: relative;
2427
+ width: 100%;
2428
+ height: 100%;
2429
+ display: flex;
2430
+ align-items: center;
2431
+ justify-content: center;
2432
+ overflow: hidden;
2433
+ }
2434
+
2435
+ .ol-sidebar__asset-presentation-image {
2436
+ width: 100%;
2437
+ height: 80px;
2438
+ object-fit: cover;
2439
+ object-position: center;
2440
+ border-radius: 4px;
2441
+
2442
+ }
2443
+
2444
+ .ol-sidebar__asset-presentation-fallback {
2445
+ display: flex;
2446
+ flex-direction: column;
2447
+ align-items: center;
2448
+ justify-content: center;
2449
+ gap: var(--ol-spacing-x-small);
2450
+ width: 100%;
2451
+ height: 100%;
2452
+ }
2453
+
2454
+ .ol-sidebar__asset-presentation-icon {
2455
+ font-size: 24px;
2456
+ color: var(--ol-color-neutral-500);
2457
+ }
2458
+
2459
+ .ol-sidebar__load-more-button {
2460
+ background-color: var(--ol-color-neutral-100);
2461
+ border: 1px solid var(--ol-color-neutral-300);
2462
+ color: var(--ol-color-neutral-700);
2463
+ padding: var(--ol-spacing-small) var(--ol-spacing-medium);
2464
+ border-radius: var(--ol-border-radius-small);
2465
+ cursor: pointer;
2466
+ font-size: var(--ol-font-size-small);
2467
+ transition: all 0.2s ease;
2468
+ }
2469
+
2470
+ .ol-sidebar__load-more-button:hover:not(:disabled) {
2471
+ background-color: var(--ol-color-neutral-200);
2472
+ border-color: var(--ol-color-neutral-400);
2473
+ }
2474
+
2475
+ .ol-sidebar__load-more-button:disabled {
2476
+ opacity: 0.6;
2477
+ cursor: not-allowed;
2478
+ }
2479
+
2480
+ .ol-sidebar__spinner {
2481
+ width: 24px;
2482
+ height: 24px;
2483
+ border: 2px solid var(--ol-color-neutral-200);
2484
+ border-top: 2px solid var(--ol-color-primary-500);
2485
+ border-radius: 50%;
2486
+ animation: spin 1s linear infinite;
2487
+ margin: 0 auto;
2488
+ display: block;
2489
+ }
2490
+
2491
+ @keyframes spin {
2492
+ 0% { transform: rotate(0deg); }
2493
+ 100% { transform: rotate(360deg); }
2494
+ }
2495
+
2496
+
2497
+ .ol-sidebar__assets {
2498
+ display: flex;
2499
+ gap: var(--ol-spacing-small);
2500
+ padding: var(--ol-spacing-small) 0;
2501
+ overflow: auto;
2502
+ }
2503
+
2504
+ /* Custom scrollbar for assets sections */
2505
+ .ol-sidebar__assets::-webkit-scrollbar {
2506
+ height: 8px;
2507
+ }
2508
+
2509
+ .ol-sidebar__assets::-webkit-scrollbar-track {
2510
+ background: transparent;
2511
+ border-radius: 3px;
2512
+ }
2513
+
2514
+ .ol-sidebar__assets::-webkit-scrollbar-thumb {
2515
+ background: var(--ol-color-neutral-300);
2516
+ border-radius: 3px;
2517
+ transition: background-color 0.2s ease;
2518
+ }
2519
+
2520
+ .ol-sidebar__assets::-webkit-scrollbar-thumb:hover {
2521
+ background: var(--ol-color-neutral-400);
2522
+ }
2523
+
2524
+ .ol-sidebar__assets::-webkit-scrollbar-thumb:active {
2525
+ background: var(--ol-color-neutral-500);
2526
+ }
2527
+
2528
+ /* Firefox scrollbar for assets */
2529
+ .ol-sidebar__assets {
2530
+ scrollbar-width: thin;
2531
+ scrollbar-color: var(--ol-color-neutral-300) transparent;
2532
+ }
2533
+
2534
+ .ol-sidebar__assets--list {
2535
+ grid-template-columns: 1fr;
2536
+ }
2537
+
2538
+ .ol-sidebar__asset-item {
2539
+ display: flex;
2540
+ flex-direction: column;
2541
+ padding: 8px;
2542
+ border: 1px solid var(--ol-color-neutral-200);
2543
+ border-radius: 6px;
2544
+ background-color: var(--ol-color-neutral-0);
2545
+ cursor: pointer;
2546
+ transition: all 0.2s ease;
2547
+ position: relative;
2548
+ min-height: 80px;
2549
+ max-height: 100px;
2550
+ min-width: 100px;
2551
+ max-width: 120px;
2552
+ flex-shrink: 0;
2553
+
2554
+ }
2555
+
2556
+ ol-details::part(summary) {
2557
+ width: 100%;
2558
+ }
2559
+
2560
+ ol-details::part(base) {
2561
+ border: none;
2562
+ border-bottom: 1px solid var(--ol-color-neutral-200);
2563
+ border-radius: 0;
2564
+ }
2565
+
2566
+ ol-details::part(header) {
2567
+ padding: var(--ol-spacing-medium);
2568
+ }
2569
+
2570
+ ol-details::part(content){
2571
+ padding: 0 var(--ol-spacing-medium);
2572
+ }
2573
+
2574
+ .ol-sidebar__category-summary {
2575
+ width: 100%;
2576
+ }
2577
+
2578
+ .ol-sidebar__asset-item:hover:not(.ol-sidebar__asset-item--disabled) {
2579
+ border-color: var(--ol-color-primary-500);
2580
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
2581
+ transform: translateY(-1px);
2582
+ }
2583
+
2584
+ .ol-sidebar__asset-item--disabled {
2585
+ opacity: 0.6;
2586
+ cursor: not-allowed;
2587
+ pointer-events: none;
2588
+ }
2589
+
2590
+ .ol-sidebar__asset-item--grid {
2591
+ text-align: center;
2592
+ }
2593
+
2594
+ .ol-sidebar__asset-item--list {
2595
+ flex-direction: row;
2596
+ align-items: center;
2597
+ gap: 8px;
2598
+ min-height: 60px;
2599
+ }
2600
+
2601
+ .ol-sidebar__asset-item--faq {
2602
+ flex-direction: column;
2603
+ align-items: stretch;
2604
+ min-height: auto;
2605
+ padding: var(--ol-spacing-medium);
2606
+ border-radius: var(--ol-border-radius-medium);
2607
+ background-color: var(--ol-color-neutral-50);
2608
+ border: 1px solid var(--ol-color-neutral-200);
2609
+ transition: all 0.2s ease;
2610
+ overflow: hidden;
2611
+ word-wrap: break-word;
2612
+ word-break: break-word;
2613
+ }
2614
+
2615
+ .ol-sidebar__asset-item--faq:hover {
2616
+ background-color: var(--ol-color-neutral-100);
2617
+ border-color: var(--ol-color-primary-300);
2618
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
2619
+ }
2620
+
2621
+
2622
+ .ol-sidebar__asset-thumbnail {
2623
+ position: relative;
2624
+ width: 100%;
2625
+ height: 100%;
2626
+ border-radius: 4px;
2627
+ overflow: hidden;
2628
+ background-color: var(--ol-color-neutral-100);
2629
+ margin-bottom: 6px;
2630
+ }
2631
+
2632
+ .ol-sidebar__asset-item--list .ol-sidebar__asset-thumbnail {
2633
+ width: 40px;
2634
+ height: 40px;
2635
+ flex-shrink: 0;
2636
+ margin-bottom: 0;
2637
+ }
2638
+
2639
+ .ol-sidebar__asset-image {
2640
+ width: 100%;
2641
+ height: 100%;
2642
+ min-height: 50px;
2643
+ }
2644
+
2645
+ .ol-sidebar__asset-duration {
2646
+ position: absolute;
2647
+ top: var(--ol-spacing-x-small);
2648
+ right: var(--ol-spacing-x-small);
2649
+ background-color: rgba(0, 0, 0, 0.8);
2650
+ color: var(--ol-color-neutral-0);
2651
+ padding: 2px var(--ol-spacing-x-small);
2652
+ border-radius: var(--ol-border-radius-small);
2653
+ font-size: var(--ol-font-size-x-small);
2654
+ font-weight: var(--ol-font-weight-medium);
2655
+ }
2656
+
2657
+ .ol-sidebar__asset-content {
2658
+ flex: 1;
2659
+ min-width: 0;
2660
+ }
2661
+
2662
+ .ol-sidebar__asset-item--faq .ol-sidebar__asset-content {
2663
+ width: 100%;
2664
+ max-width: 100%;
2665
+ overflow: hidden;
2666
+ }
2667
+
2668
+ .ol-sidebar__asset-name {
2669
+ font-weight: 500;
2670
+ color: var(--ol-color-neutral-900);
2671
+ font-size: 11px;
2672
+ line-height: 1.2;
2673
+ margin-bottom: 4px;
2674
+ overflow: hidden;
2675
+ text-overflow: ellipsis;
2676
+ white-space: nowrap;
2677
+ }
2678
+
2679
+ .ol-sidebar__asset-name--faq {
2680
+ font-size: 14px;
2681
+ font-weight: 600;
2682
+ color: var(--ol-color-neutral-900);
2683
+ line-height: 1.4;
2684
+ white-space: normal;
2685
+ overflow: visible;
2686
+ text-overflow: unset;
2687
+ }
2688
+
2689
+ .ol-sidebar__asset-description {
2690
+ color: var(--ol-color-neutral-600);
2691
+ font-size: 10px;
2692
+ line-height: 1.2;
2693
+ margin-bottom: 4px;
2694
+ overflow: hidden;
2695
+ text-overflow: ellipsis;
2696
+ display: -webkit-box;
2697
+ -webkit-line-clamp: 2;
2698
+ -webkit-box-orient: vertical;
2699
+ }
2700
+
2701
+ .ol-sidebar__asset-description--faq {
2702
+ font-size: 12px;
2703
+ color: var(--ol-color-neutral-700);
2704
+ line-height: 1.5;
2705
+ margin-bottom: 0;
2706
+ display: -webkit-box;
2707
+ -webkit-line-clamp: 3;
2708
+ -webkit-box-orient: vertical;
2709
+ overflow: hidden;
2710
+ text-overflow: ellipsis;
2711
+ word-wrap: break-word;
2712
+ word-break: break-word;
2713
+ max-height: calc(1.5em * 3); /* Fallback para navegadores que no soportan line-clamp */
2714
+ }
2715
+
2716
+ .ol-sidebar__asset-meta {
2717
+ display: flex;
2718
+ flex-wrap: wrap;
2719
+ gap: var(--ol-spacing-x-small);
2720
+ margin-bottom: var(--ol-spacing-x-small);
2721
+ }
2722
+
2723
+ .ol-sidebar__asset-price,
2724
+ .ol-sidebar__asset-size,
2725
+ .ol-sidebar__asset-duration {
2726
+ color: var(--ol-color-neutral-500);
2727
+ font-size: 10px;
2728
+ font-weight: 500;
2729
+ }
2730
+
2731
+ .ol-sidebar__asset-price {
2732
+ color: var(--ol-color-success-600);
2733
+ font-weight: 600;
2734
+ font-size: 11px;
2735
+ }
2736
+
2737
+ .ol-sidebar__asset-tags {
2738
+ display: flex;
2739
+ flex-wrap: wrap;
2740
+ gap: var(--ol-spacing-x-small);
2741
+ }
2742
+
2743
+ .ol-sidebar__asset-tag {
2744
+ background-color: var(--ol-color-neutral-100);
2745
+ color: var(--ol-color-neutral-700);
2746
+ padding: 2px var(--ol-spacing-x-small);
2747
+ border-radius: var(--ol-border-radius-small);
2748
+ font-size: var(--ol-font-size-x-small);
2749
+ font-weight: var(--ol-font-weight-medium);
2750
+ }
2751
+
2752
+ .ol-sidebar__load-more {
2753
+ display: flex;
2754
+ justify-content: center;
2755
+ padding: var(--ol-spacing-medium) 0;
2756
+ }
2757
+
2758
+ .ol-sidebar__loading,
2759
+ .ol-sidebar__error,
2760
+ .ol-sidebar__empty {
2761
+ display: flex;
2762
+ flex-direction: column;
2763
+ align-items: center;
2764
+ justify-content: center;
2765
+ padding: var(--ol-spacing-large);
2766
+ text-align: center;
2767
+ color: var(--ol-color-neutral-500);
2768
+ min-height: 120px;
2769
+ width: 100%;
2770
+ }
2771
+
2772
+ .ol-sidebar__loading {
2773
+ gap: var(--ol-spacing-small);
2774
+ }
2775
+
2776
+ .ol-sidebar__loading .ol-sidebar__spinner {
2777
+ margin: 0 auto;
2778
+ display: block;
2779
+ }
2780
+
2781
+ .ol-sidebar__loading span {
2782
+ display: block;
2783
+ text-align: center;
2784
+ width: 100%;
2785
+ }
2786
+
2787
+ .ol-sidebar__error {
2788
+ color: var(--ol-color-danger-600);
2789
+ gap: var(--ol-spacing-small);
2790
+ }
2791
+
2792
+ .ol-sidebar__error-icon {
2793
+ font-size: var(--ol-font-size-large);
2794
+ color: var(--ol-color-danger-500);
2795
+ display: block;
2796
+ text-align: center;
2797
+ }
2798
+
2799
+ .ol-sidebar__error span {
2800
+ display: block;
2801
+ text-align: center;
2802
+ width: 100%;
2803
+ }
2804
+
2805
+ .ol-sidebar__empty {
2806
+ gap: var(--ol-spacing-small);
2807
+ }
2808
+
2809
+ .ol-sidebar__empty span {
2810
+ display: block;
2811
+ text-align: center;
2812
+ width: 100%;
2813
+ }
2814
+
2815
+ .ol-sidebar__loading ol-icon,
2816
+ .ol-sidebar__error ol-icon,
2817
+ .ol-sidebar__empty ol-icon {
2818
+ font-size: var(--ol-font-size-large);
2819
+ color: var(--ol-color-neutral-400);
2820
+ display: block;
2821
+ text-align: center;
2822
+ }
2823
+
2824
+ .ol-sidebar__error ol-icon {
2825
+ color: var(--ol-color-danger-500);
2826
+ }
2827
+
2828
+ /* Send button */
2829
+ .ol-sidebar__send-btn {
2830
+ position: absolute;
2831
+ top: 8px;
2832
+ right: 8px;
2833
+ width: 28px;
2834
+ height: 28px;
2835
+ border: none;
2836
+ border-radius: 50%;
2837
+ background: var(--ol-color-primary-500, --ol-color-red-500);
2838
+ color: white;
2839
+ cursor: pointer;
2840
+ display: flex;
2841
+ align-items: center;
2842
+ justify-content: center;
2843
+ transition: all 0.2s ease;
2844
+ z-index: 2;
2845
+ opacity: 0;
2846
+ transform: scale(0.8);
2847
+ }
2848
+
2849
+ /* Show send button on hover for desktop */
2850
+ .ol-sidebar__asset-item:hover .ol-sidebar__send-btn {
2851
+ opacity: 1;
2852
+ transform: scale(1);
2853
+ }
2854
+
2855
+ .ol-sidebar__send-btn:hover {
2856
+ background: var(--ol-color-primary-600, --ol-color-red-500);
2857
+ transform: scale(1.1);
2858
+ }
2859
+
2860
+ .ol-sidebar__send-btn svg {
2861
+ width: 14px;
2862
+ height: 14px;
2863
+ }
2864
+
2865
+ /* Special positioning for FAQ assets */
2866
+ .ol-sidebar__asset-item--faq .ol-sidebar__send-btn {
2867
+ position: absolute;
2868
+ top: 50%;
2869
+ right: 12px;
2870
+ transform: translateY(-50%) scale(0.8);
2871
+ opacity: 0;
2872
+ }
2873
+
2874
+ .ol-sidebar__asset-item--faq:hover .ol-sidebar__send-btn {
2875
+ opacity: 1;
2876
+ transform: translateY(-50%) scale(1);
2877
+ }
2878
+
2879
+ .ol-sidebar__asset-item--faq .ol-sidebar__send-btn:hover {
2880
+ transform: translateY(-50%) scale(1.1);
2881
+ }
2882
+
2883
+ /* Responsive design */
2884
+ @media (max-width: 768px) {
2885
+ /* Always show send button on mobile */
2886
+ .ol-sidebar__send-btn {
2887
+ opacity: 1;
2888
+ transform: scale(1);
2889
+ position: static;
2890
+ align-self: center;
2891
+ width: 32px;
2892
+ height: 32px;
2893
+ position: absolute;
2894
+ top: 8px;
2895
+ right: 8px;
2896
+ }
2897
+
2898
+ .ol-sidebar__asset-item:hover .ol-sidebar__send-btn {
2899
+ transform: scale(1);
2900
+ }
2901
+
2902
+ .ol-sidebar__asset-item--faq .ol-sidebar__send-btn {
2903
+ position: static;
2904
+ transform: none;
2905
+ align-self: center;
2906
+ width: 32px;
2907
+ height: 32px;
2908
+ }
2909
+
2910
+ .ol-sidebar__asset-item--faq:hover .ol-sidebar__send-btn {
2911
+ transform: none;
2912
+ }
2913
+
2914
+ .ol-sidebar__asset-item--list {
2915
+ flex-direction: column;
2916
+ align-items: stretch;
2917
+ }
2918
+
2919
+ .ol-sidebar__asset-item--list .ol-sidebar__asset-thumbnail {
2920
+ width: 100%;
2921
+ height: 120px;
2922
+ }
2923
+ }
2924
+ `;var g={products:{label:"PRODUCTS",icon:"shopping-bag",enabled:!0,displayOptions:{showThumbnail:!0,showDescription:!1,showPrice:!0,showTags:!1,thumbnailSize:"small",layout:"grid"}},videos:{label:"VIDEOS",icon:"video",enabled:!0,displayOptions:{showThumbnail:!0,showDescription:!1,showDuration:!0,showSize:!1,thumbnailSize:"small",layout:"grid"}},images:{label:"IMAGES",icon:"image",enabled:!0,displayOptions:{showThumbnail:!0,showDescription:!1,showSize:!1,thumbnailSize:"small",layout:"grid"}},presentations:{label:"PRESENTATIONS",icon:"file-text",enabled:!0,displayOptions:{showThumbnail:!0,showDescription:!1,showSize:!1,thumbnailSize:"small",layout:"grid"}},faqs:{label:"FAQS",icon:"help-circle",enabled:!0,displayOptions:{showThumbnail:!1,showDescription:!0,showSize:!1,thumbnailSize:"small",layout:"list"}},audios:{label:"AUDIOS",icon:"music",enabled:!1,displayOptions:{showThumbnail:!0,showDescription:!1,showDuration:!0,showSize:!1,thumbnailSize:"small",layout:"grid"}},"special-effects":{label:"SPECIAL EFFECTS",icon:"zap",enabled:!1,displayOptions:{showThumbnail:!0,showDescription:!1,showSize:!1,thumbnailSize:"small",layout:"grid"}}};var d=class extends K{constructor(){super(...arguments);this.selectedCategory="products";this.disabled=!1;this.isUploading=!1;this.uploadProgress=0;this.categoryStates=new Map;this.unifiedSearchQuery="";this.extraFilters=[];this.activeFilters={};this.loadingFilters=!1;this.defaultSearchConfig={placeholder:"Search all assets...",debounceMs:300,minLength:2}}async firstUpdated(){this.initializeService(),this.initializeCategoryStates(),await this.loadExtraFilters()}initializeService(){this.config?.multimediaService&&(this.multimediaService=k.initialize(this.config.multimediaService)),this.config?.productService&&(this.productService=S.initialize(this.config.productService)),this.config?.faqsService&&(this.faqsService=w.initialize(this.config.faqsService)),this.config?.fileService&&(this.fileService=A.initialize(this.config.fileService))}initializeCategoryStates(){(this.config?.customCategories||Object.keys(g)).forEach(o=>{this.categoryStates.set(o,{category:o,items:[],pagination:{page:1,limit:this.config?.itemsPerPage||12,total:0,hasMore:!1,loading:!1},searchQuery:"",loading:!1})})}async loadExtraFilters(){if(!this.config?.enableExtraFilters||!this.faqsService)return;let e=this.config.faqsService?.organizationId;if(!e){console.warn("Organization ID required for loading extra filters");return}this.loadingFilters=!0;try{let o=await this.faqsService.getSettingsByOrganization(e,this.config.userGroupId);o?.extraFilters&&(this.extraFilters=o.extraFilters.filter(i=>i.enabled&&(i.entity==="all"||i.entity==="assets")).sort((i,s)=>i.order-s.order))}catch(o){console.error("Error loading extra filters:",o)}finally{this.loadingFilters=!1}}hasActiveFilters(){return Object.keys(this.activeFilters).length>0}convertToExtraFields(e){if(!e||Object.keys(e).length===0)return;let o={};for(let[i,s]of Object.entries(e))s!=null&&(Array.isArray(s)?s.length>0&&(o[i]=s.join(",")):typeof s=="string"&&s.trim()!==""&&(s==="true"?o[i]=!0:s==="false"?o[i]=!1:!isNaN(Number(s))&&s.trim()!==""?o[i]=Number(s):o[i]=s));return Object.keys(o).length>0?o:void 0}async loadCategoryData(e,o="",i=1){if(!this.multimediaService&&e!=="faqs"&&e!=="products"||!this.productService&&e==="products"||!this.faqsService&&e==="faqs")return;let s=this.categoryStates.get(e);if(!s)return;this.updateCategoryState(e,{loading:!0,error:void 0});let a=this.hasActiveFilters()?this.activeFilters:void 0;try{let c=[],u=0;switch(e){case"products":{let p=await this.productService.getProducts({title:o,limit:s.pagination.limit,includeSecureToken:!0,extraFields:this.convertToExtraFields(a)});c=this.mapProductsToAssetItems(p),u=p.length;break}case"images":{let p=await this.multimediaService.getImages({search:o,page:i,limit:s.pagination.limit,includeSecureToken:!0,extraFilters:a});c=this.mapMultimediaToAssetItems(p.items,"images"),u=p.total;break}case"videos":{let p=await this.multimediaService.getVideos({search:o,page:i,limit:s.pagination.limit,includeSecureToken:!0,extraFilters:a});c=this.mapMultimediaToAssetItems(p.items,"videos"),u=p.total;break}case"presentations":{let p=await this.multimediaService.getPresentations({search:o,page:i,limit:s.pagination.limit,includeSecureToken:!0,extraFilters:a});c=this.mapMultimediaToAssetItems(p.items,"presentations"),u=p.total;break}case"faqs":{let p=await this.faqsService.getFaqs({search:o,isActive:!0,page:i,organizationId:this.config?.faqsService?.organizationId,limit:s.pagination.limit,sortBy:"priority",sortOrder:"desc",extraFilters:a});c=this.mapFaqsToAssetItems(p.data),u=p.total;break}}let F=i===1?c:[...s.items,...c];this.updateCategoryState(e,{items:F,pagination:{...s.pagination,page:i,total:u,hasMore:F.length<u,loading:!1},searchQuery:o,loading:!1})}catch(c){console.error(`Error loading ${e} data:`,c),this.updateCategoryState(e,{loading:!1,error:c instanceof Error?c.message:"Failed to load data"})}}mapProductsToAssetItems(e){return e.map(o=>({id:o.id,name:o.name,description:o.description,url:o.url,thumbnail:o.images?.[0],type:"products",price:o.price,currency:o.currency,tags:o.tags,secureToken:o.secureToken,metadata:{externalId:o.externalId,category:o.category,providerType:o.providerType,variants:o.variants,options:o.options}}))}mapMultimediaToAssetItems(e,o){return e?.map(i=>({id:i.id,name:i.name,description:i.description,url:i.url,thumbnail:o==="images"?i.url:i.animatedCoverUrl,type:o,size:i.size,format:i.format,duration:i.duration,labels:i.labels,secureToken:i.secureToken,metadata:{organizationId:i.organizationId,status:i.status,vodUrl:i.vodUrl,slides:i.slides}}))}mapFaqsToAssetItems(e){return e.map(o=>({id:o.id,name:o.question,description:o.answer,url:`#faq-${o.id}`,type:"faqs",metadata:{organizationId:o.organizationId,groupId:o.groupId,priority:o.priority,isActive:o.isActive,createdAt:o.createdAt,updatedAt:o.updatedAt}}))}updateCategoryState(e,o){let i=this.categoryStates.get(e);i&&(this.categoryStates.set(e,{...i,...o}),this.requestUpdate())}async onCategoryToggle(e){if(this.disabled)return;let o=this.categoryStates.get(e);o&&o.items.length===0&&!o.loading&&await this.loadCategoryData(e,this.unifiedSearchQuery),this.dispatchEvent(new CustomEvent("category-change",{detail:e}))}async onUnifiedSearchInput(e){if(this.disabled)return;let i=e.target.value.trim();this.unifiedSearchQuery=i,this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=window.setTimeout(async()=>{i.length>=(this.searchConfig?.minLength||this.defaultSearchConfig.minLength)?(await this.searchAllCategories(i),this.dispatchEvent(new CustomEvent("search",{detail:{query:i,category:"all"}}))):i.length===0&&await this.clearSearchAllCategories()},this.searchConfig?.debounceMs||this.defaultSearchConfig.debounceMs)}async searchAllCategories(e){let o=this.config?.customCategories||Object.keys(g);for(let i of o)this.updateCategoryState(i,{searchQuery:e}),await this.loadCategoryData(i,e,1)}async clearSearchAllCategories(){let e=this.config?.customCategories||Object.keys(g);for(let o of e)this.updateCategoryState(o,{searchQuery:""}),await this.loadCategoryData(o,"",1)}async onFilterChange(e,o){if(!this.disabled){if(!o||Array.isArray(o)&&o.length===0||o===""){let{[e]:i,...s}=this.activeFilters;this.activeFilters=s}else this.activeFilters={...this.activeFilters,[e]:o};await this.reloadAllOpenCategories(),this.dispatchEvent(new CustomEvent("filter-change",{detail:{filterName:e,value:o,activeFilters:this.activeFilters}}))}}async reloadAllOpenCategories(){let e=this.config?.customCategories||Object.keys(g);for(let o of e){let i=this.categoryStates.get(o);i&&i.items.length>0&&await this.loadCategoryData(o,i.searchQuery,1)}}renderExtraFilters(){return this.extraFilters.length?n`
2925
+ <div class="ol-sidebar__extra-filters">
2926
+ ${C(this.extraFilters,e=>e.name,e=>this.renderFilter(e))}
2927
+ </div>
2928
+ `:n``}renderFilter(e){switch(e.type){case"select":return this.renderSelectFilter(e);case"multiselect":return this.renderMultiselectFilter(e);case"text":return this.renderTextFilter(e);default:return n``}}renderSelectFilter(e){let o=this.activeFilters[e.name];return n`
2929
+ <div class="ol-sidebar__filter">
2930
+ <label class="ol-sidebar__filter-label">${e.label}</label>
2931
+ <ol-select
2932
+ class="ol-sidebar__filter-select"
2933
+ placeholder=${x(e.placeholder||`Select ${e.label.toLowerCase()}`)}
2934
+ clearable
2935
+ size="small"
2936
+ ?disabled=${this.disabled}
2937
+ .value=${o||""}
2938
+ @ol-change=${i=>{let s=i.target;this.onFilterChange(e.name,s.value)}}
2939
+ >
2940
+ ${e.values?.map(i=>n`
2941
+ <ol-option value=${i}>${i}</ol-option>
2942
+ `)}
2943
+ </ol-select>
2944
+ </div>
2945
+ `}renderMultiselectFilter(e){let o=this.activeFilters[e.name]||[];return n`
2946
+ <div class="ol-sidebar__filter">
2947
+ <label class="ol-sidebar__filter-label">${e.label}</label>
2948
+ <ol-select
2949
+ class="ol-sidebar__filter-select"
2950
+ placeholder=${x(e.placeholder||`Select ${e.label.toLowerCase()}`)}
2951
+ multiple
2952
+ clearable
2953
+ size="small"
2954
+ ?disabled=${this.disabled}
2955
+ .value=${o}
2956
+ @ol-change=${i=>{let s=i.target,a=Array.isArray(s.value)?s.value:[s.value].filter(Boolean);this.onFilterChange(e.name,a)}}
2957
+ >
2958
+ ${e.values?.map(i=>n`
2959
+ <ol-option value=${i}>${i}</ol-option>
2960
+ `)}
2961
+ </ol-select>
2962
+ </div>
2963
+ `}renderTextFilter(e){let o=this.activeFilters[e.name]||"";return n`
2964
+ <div class="ol-sidebar__filter">
2965
+ <label class="ol-sidebar__filter-label">${e.label}</label>
2966
+ <ol-input
2967
+ class="ol-sidebar__filter-input"
2968
+ placeholder=${x(e.placeholder||`Enter ${e.label.toLowerCase()}`)}
2969
+ size="small"
2970
+ ?disabled=${this.disabled}
2971
+ .value=${o}
2972
+ @ol-input=${i=>{let s=i.target;this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=window.setTimeout(()=>{this.onFilterChange(e.name,s.value)},this.searchConfig?.debounceMs||this.defaultSearchConfig.debounceMs)}}
2973
+ ></ol-input>
2974
+ </div>
2975
+ `}async onLoadMore(e){if(this.disabled)return;let o=this.categoryStates.get(e);!o||!o.pagination.hasMore||o.pagination.loading||(await this.loadCategoryData(e,o.searchQuery,o.pagination.page+1),this.dispatchEvent(new CustomEvent("load-more",{detail:e})))}onItemSelect(e){this.disabled||this.dispatchEvent(new CustomEvent("item-select",{detail:e}))}async onFileSelected(e){if(this.disabled)return;if(!this.fileService){console.warn("FileService not configured");return}let{file:o,type:i}=e.detail;this.isUploading=!0,this.uploadProgress=0;try{let s=await this.fileService.uploadFile(o,{bucketType:"conversations",path:"scanned",description:`${i} uploaded from sidebar`,onProgress:a=>{this.uploadProgress=a}});if(s.success)this.dispatchEvent(new CustomEvent("file-uploaded",{detail:{id:s.id,name:s.name,url:s.url,type:"file"}}));else throw new Error(s.error||"Upload failed")}catch(s){console.error("Error uploading file:",s),this.dispatchEvent(new CustomEvent("file-upload-error",{detail:{error:s instanceof Error?s.message:"Unknown error"},bubbles:!0}))}finally{this.isUploading=!1,this.uploadProgress=0}}renderCategoryHeader(e){let o=g[e],s=this.categoryStates.get(e)?.items.length||0;return n`
2976
+ <div class="ol-sidebar__category-header">
2977
+ <div class="ol-sidebar__category-info">
2978
+ <span class="ol-sidebar__category-label">${o.label}</span>
2979
+ ${v(s>0,()=>n`
2980
+ <span class="ol-sidebar__category-count">(${s})</span>
2981
+ `)}
2982
+ </div>
2983
+
2984
+ </div>
2985
+ `}renderAssetItem(e,o){return n`
2986
+ <div
2987
+ class="ol-sidebar__asset-item ${y({"ol-sidebar__asset-item--grid":o.layout==="grid","ol-sidebar__asset-item--list":o.layout==="list","ol-sidebar__asset-item--faq":e.type==="faqs","ol-sidebar__asset-item--disabled":this.disabled})}"
2988
+ @click=${()=>this.onItemSelect(e)}
2989
+ >
2990
+ ${this.renderAssetThumbnail(e)}
2991
+ ${this.renderAssetContent(e,o)}
2992
+ </div>
2993
+ `}renderAssetThumbnail(e){return e.type==="faqs"?n``:n`
2994
+ ${v(e.type==="videos",()=>n`
2995
+ <div class="ol-sidebar__asset-thumbnail">
2996
+ <och-player
2997
+ class="och__media-visualizer__item--video"
2998
+ .sources=${[{src:e.url,type:e.format||"video/mp4"}]}
2999
+ ></och-player>
3000
+ <div class="ol-sidebar__asset-duration">
3001
+ ${this.formatDuration(e.duration)}
3002
+ </div>
3003
+ </div>
3004
+ `,()=>n`
3005
+ <div class="ol-sidebar__asset-thumbnail">
3006
+ <img
3007
+ src="${x(e.thumbnail)}"
3008
+ alt="${e.name}"
3009
+ class="ol-sidebar__asset-image"
3010
+ />
3011
+ </div>
3012
+ `)}
3013
+ `}renderAssetContent(e,o){return n`
3014
+ <div class="ol-sidebar__asset-content">
3015
+ ${this.renderAssetName(e)}
3016
+ ${this.renderAssetPrice(e)}
3017
+ ${this.renderAssetPresentation(e)}
3018
+ ${this.renderAssetDescription(e,o)}
3019
+ ${this.renderAssetMeta(e,o)}
3020
+ ${this.renderAssetTags(e,o)}
3021
+ </div>
3022
+ `}renderAssetName(e){return n`
3023
+ <div class="ol-sidebar__asset-name ${y({"ol-sidebar__asset-name--faq":e.type==="faqs"})}">
3024
+ ${e.name}
3025
+ </div>
3026
+ `}renderAssetPrice(e){return n`
3027
+ ${v(e.type==="products"&&e.price,()=>n`
3028
+ <div class="ol-sidebar__asset-price">
3029
+ ${e.currency} ${e.price}
3030
+ </div>
3031
+ `)}
3032
+ `}renderAssetPresentation(e){return n`
3033
+ ${v(e.type==="presentations",()=>n`
3034
+ <div class="ol-sidebar__asset-presentation">
3035
+ ${v(e.metadata?.slides&&e.metadata.slides.length>0,()=>n`
3036
+ <div class="ol-sidebar__asset-presentation-preview">
3037
+ <img
3038
+ src=${e.metadata?.slides[0]}
3039
+ alt="Presentation preview"
3040
+ class="ol-sidebar__asset-presentation-image"
3041
+ />
3042
+ <div class="ol-sidebar__asset-presentation-format">
3043
+ ${this.getFormat(e.format)}
3044
+ </div>
3045
+ </div>
3046
+ `,()=>n`
3047
+ <div class="ol-sidebar__asset-presentation-fallback">
3048
+ <div class="ol-sidebar__asset-presentation-icon">📄</div>
3049
+ <div class="ol-sidebar__asset-presentation-format">
3050
+ ${this.getFormat(e.format)}
3051
+ </div>
3052
+ </div>
3053
+ `)}
3054
+ </div>
3055
+ `)}
3056
+ `}renderAssetDescription(e,o){return n`
3057
+ ${v(o.showDescription&&e.description&&e.type!=="products",()=>n`
3058
+ <div class="ol-sidebar__asset-description ${y({"ol-sidebar__asset-description--faq":e.type==="faqs"})}">
3059
+ ${e.description}
3060
+ </div>
3061
+ `)}
3062
+ `}renderAssetMeta(e,o){return n`
3063
+ <div class="ol-sidebar__asset-meta">
3064
+ ${v(o.showSize&&e.size,()=>n`
3065
+ <span class="ol-sidebar__asset-size">
3066
+ ${this.formatFileSize(e.size)}
3067
+ </span>
3068
+ `)}
3069
+ </div>
3070
+ `}renderAssetTags(e,o){return n`
3071
+ ${v(o.showTags&&e.tags&&e.tags.length>0,()=>n`
3072
+ <div class="ol-sidebar__asset-tags">
3073
+ ${e.tags?.map(i=>n`
3074
+ <span class="ol-sidebar__asset-tag">${i}</span>
3075
+ `)}
3076
+ </div>
3077
+ `)}
3078
+ `}renderCategoryContent(e){let o=this.categoryStates.get(e),i=g[e];return o?n`
3079
+ <div class="ol-sidebar__category-content">
3080
+
3081
+ ${v(o.loading&&o.items.length===0,()=>n`
3082
+ <div class="ol-sidebar__loading">
3083
+ <div class="ol-sidebar__spinner"></div>
3084
+ <span>Loading ${i.label.toLowerCase()}...</span>
3085
+ </div>
3086
+ `)}
3087
+
3088
+ ${v(o.error,()=>n`
3089
+ <div class="ol-sidebar__error">
3090
+ <span class="ol-sidebar__error-icon">⚠</span>
3091
+ <span>${o.error}</span>
3092
+ </div>
3093
+ `)}
3094
+
3095
+ ${v(o.items.length>0,()=>n`
3096
+ <div class="ol-sidebar__assets ${y({"ol-sidebar__assets--list":i.displayOptions.layout==="list"})}">
3097
+ ${C(o.items,s=>s.id,s=>this.renderAssetItem(s,i.displayOptions))}
3098
+ </div>
3099
+ `)}
3100
+
3101
+ ${v(o.pagination.hasMore,()=>n`
3102
+ <div class="ol-sidebar__load-more">
3103
+ <ol-button
3104
+ class="ol-sidebar__load-more-button"
3105
+ ?disabled=${o.pagination.loading||this.disabled}
3106
+ @click=${()=>this.onLoadMore(e)}
3107
+ >
3108
+ ${o.pagination.loading?"Loading...":"Load More"}
3109
+ </ol-button>
3110
+ </div>
3111
+ `)}
3112
+
3113
+ ${v(!o.loading&&o.items.length===0&&!o.error,()=>n`
3114
+ <div class="ol-sidebar__empty">
3115
+ <span>No ${i.label.toLowerCase()}s found</span>
3116
+ </div>
3117
+ `)}
3118
+ </div>
3119
+ `:n``}formatFileSize(e){let o=["B","KB","MB","GB"];if(e===0)return"0 B";let i=Math.floor(Math.log(e)/Math.log(1024));return Math.round(e/1024**i*100)/100+" "+o[i]}getFormat(e){return e.split("/")[1]}formatDuration(e){let o=Math.floor(e/60),i=Math.floor(e%60);return`${o}:${i.toString().padStart(2,"0")}`}render(){let e=this.config?.customCategories||Object.keys(g);return n`
3120
+ <div class="ol-sidebar ${y({"ol-sidebar--disabled":this.disabled})}">
3121
+ <div class="ol-sidebar__header">
3122
+ <div class="ol-sidebar__header-top">
3123
+ <h2 class="ol-sidebar__title">Assets</h2>
3124
+ ${v(this.config?.enableUpload&&this.fileService&&!this.disabled,()=>n`
3125
+ <osb-upload
3126
+ .config=${{maxFileSize:10*1024*1024,showImage:!0,showVideo:!0,showDocument:!0}}
3127
+ @osb-file-selected=${this.onFileSelected}
3128
+ >
3129
+ <ol-button variant="default" caret>
3130
+ <ol-icon name="plus"></ol-icon>
3131
+ </ol-button>
3132
+ </osb-upload>
3133
+ ${v(this.isUploading,()=>n`
3134
+ <div class="ol-sidebar__upload-progress">
3135
+ <div class="ol-sidebar__upload-progress-bar">
3136
+ <div
3137
+ class="ol-sidebar__upload-progress-fill"
3138
+ style="width: ${this.uploadProgress}%"
3139
+ ></div>
3140
+ </div>
3141
+ <span class="ol-sidebar__upload-progress-text">
3142
+ ${Math.round(this.uploadProgress)}%
3143
+ </span>
3144
+ </div>
3145
+ `)}
3146
+ `)}
3147
+ </div>
3148
+ ${v(this.config?.showSearch,()=>n`
3149
+ <div class="ol-sidebar__unified-search">
3150
+ <input
3151
+ class="ol-sidebar__unified-search-input"
3152
+ type="text"
3153
+ placeholder="${x(this.searchConfig?.placeholder||this.defaultSearchConfig.placeholder)}"
3154
+ .value=${this.unifiedSearchQuery}
3155
+ ?disabled=${this.disabled}
3156
+ @input=${this.onUnifiedSearchInput}
3157
+ />
3158
+ </div>
3159
+ `)}
3160
+ ${v(this.config?.enableExtraFilters&&this.extraFilters.length>0,()=>this.renderExtraFilters())}
3161
+ ${v(this.loadingFilters,()=>n`
3162
+ <div class="ol-sidebar__filters-loading">
3163
+ <div class="ol-sidebar__spinner ol-sidebar__spinner--small"></div>
3164
+ <span>Loading filters...</span>
3165
+ </div>
3166
+ `)}
3167
+ </div>
3168
+
3169
+ <div class="ol-sidebar__content">
3170
+ ${C(e,o=>o,o=>g[o].enabled?n`
3171
+ <ol-details
3172
+ class="ol-sidebar__category ${y({"ol-sidebar__category--disabled":this.disabled})}"
3173
+ summary=""
3174
+ ?disabled=${this.disabled}
3175
+ @ol-show=${()=>this.onCategoryToggle(o)}
3176
+ >
3177
+ <div class="ol-sidebar__category-summary" slot="summary">
3178
+ ${this.renderCategoryHeader(o)}
3179
+ </div>
3180
+ ${this.renderCategoryContent(o)}
3181
+ </ol-details>
3182
+ `:n``)}
3183
+ </div>
3184
+ </div>
3185
+ `}};d.styles=[R],l([_({type:Object})],d.prototype,"config",2),l([_({type:Object})],d.prototype,"searchConfig",2),l([_({type:String})],d.prototype,"selectedCategory",2),l([_({type:Boolean})],d.prototype,"disabled",2),l([m()],d.prototype,"multimediaService",2),l([m()],d.prototype,"productService",2),l([m()],d.prototype,"faqsService",2),l([m()],d.prototype,"fileService",2),l([m()],d.prototype,"isUploading",2),l([m()],d.prototype,"uploadProgress",2),l([m()],d.prototype,"categoryStates",2),l([m()],d.prototype,"searchTimeout",2),l([m()],d.prototype,"unifiedSearchQuery",2),l([m()],d.prototype,"extraFilters",2),l([m()],d.prototype,"activeFilters",2),l([m()],d.prototype,"loadingFilters",2),d=l([b("osb-side-bar")],d);export{d as OSBSideBar};