@veltdev/sdk 6.0.16-beta.1 → 6.0.16

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 (65) hide show
  1. package/app/models/element/comment-element.model.d.ts +25 -0
  2. package/app/utils/constants.d.ts +7 -0
  3. package/chunk-2OZEFTFU.js +174 -0
  4. package/chunk-2RHKFNZ6.js +1 -0
  5. package/{chunk-VMF3PU24.js → chunk-3CGYXFL2.js} +1 -1
  6. package/{chunk-RXFVCKQL.js → chunk-3I2BVNSF.js} +1 -1
  7. package/{chunk-5TJMR4HW.js → chunk-43U52B3X.js} +2 -2
  8. package/{chunk-4WKDLT4A.js → chunk-477BMYZU.js} +1 -1
  9. package/{chunk-D4N6XJTM.js → chunk-4HJBQMN7.js} +1 -1
  10. package/{chunk-UVCYON2Y.js → chunk-54HSCW5O.js} +1 -1
  11. package/{chunk-R5GYV2DR.js → chunk-5UQ7SMM2.js} +1 -1
  12. package/{chunk-OMUPD6YQ.js → chunk-6LB6FZLB.js} +1 -1
  13. package/{chunk-VHFBTL2F.js → chunk-7MF6EHOJ.js} +1 -1
  14. package/{chunk-Q572IGEI.js → chunk-DDCPK7SE.js} +1 -1
  15. package/{chunk-VIJL7KCO.js → chunk-GLKSONFU.js} +1 -1
  16. package/chunk-GLYYZPJQ.js +1 -0
  17. package/{chunk-7V27RI2Q.js → chunk-H3QC2JO5.js} +1 -1
  18. package/chunk-H7D3DCV5.js +1 -0
  19. package/{chunk-OM6MABVZ.js → chunk-HSXPZSWN.js} +1 -1
  20. package/chunk-J36M2YTC.js +1 -0
  21. package/{chunk-KCD46XXW.js → chunk-JF5FFC4U.js} +1 -1
  22. package/{chunk-F76UYITJ.js → chunk-JRFA4ZQE.js} +1 -1
  23. package/chunk-LP3L3WUY.js +1 -0
  24. package/{chunk-BMNJZNYN.js → chunk-M5F25YXT.js} +1 -1
  25. package/{chunk-2V5K46UQ.js → chunk-NKQUQWVE.js} +1 -1
  26. package/{chunk-IZL5WZJ4.js → chunk-ONFKPVOS.js} +1 -1
  27. package/{chunk-ELF4HHKE.js → chunk-OOECMXOM.js} +1 -1
  28. package/{chunk-CZG3GH2S.js → chunk-OUTESE2X.js} +1 -1
  29. package/{chunk-UBFDELKG.js → chunk-PPMAL7J7.js} +1 -1
  30. package/{chunk-YBEXCUAP.js → chunk-RUY3KAPO.js} +1 -1
  31. package/{chunk-FMYEJJPB.js → chunk-TWJHLEB3.js} +1 -1
  32. package/{chunk-A2VPQHCN.js → chunk-U27P3DP4.js} +1 -1
  33. package/{chunk-CPTMJZUQ.js → chunk-UMVEZ34V.js} +1 -1
  34. package/{chunk-FAXTDACW.js → chunk-WE36C3LT.js} +1 -1
  35. package/chunk-Z5UO5HVJ.js +1 -0
  36. package/{chunk-LF55NW2M.js → chunk-ZIP7VPVU.js} +1 -1
  37. package/{chunk-OLBIIIIK.js → chunk-ZUHH524F.js} +1 -1
  38. package/package.json +1 -1
  39. package/velt-activity-log.js +1 -1
  40. package/velt-area.js +1 -1
  41. package/velt-arrow.js +2 -2
  42. package/velt-comment.js +7 -7
  43. package/velt-crdt.js +1 -1
  44. package/velt-cursor.js +2 -2
  45. package/velt-huddle.js +1 -1
  46. package/velt-live-state-sync.js +1 -1
  47. package/velt-notification.js +1 -1
  48. package/velt-portable.js +1 -1
  49. package/velt-presence.js +1 -1
  50. package/velt-reaction.js +1 -1
  51. package/velt-recorder.js +1 -1
  52. package/velt-rewriter.js +2 -2
  53. package/velt-selection.js +1 -1
  54. package/velt-tag.js +1 -1
  55. package/velt-user-invite.js +1 -1
  56. package/velt-user-request.js +1 -1
  57. package/velt-video-player.js +1 -1
  58. package/velt-views.js +2 -2
  59. package/velt.js +3 -3
  60. package/chunk-LPTIQD5G.js +0 -174
  61. package/chunk-O2MN6F4M.js +0 -1
  62. package/chunk-QSF2FGZR.js +0 -1
  63. package/chunk-T4GWR2DV.js +0 -1
  64. package/chunk-VY2FLES5.js +0 -1
  65. package/chunk-X7A6WY6F.js +0 -1
@@ -0,0 +1 @@
1
+ import{a as ai}from"./chunk-J36M2YTC.js";import{a as si}from"./chunk-H7D3DCV5.js";import{a as ti,f as ii,i as ei,j as rt,k as nt,m as st,r as pt,t as at,u as oi,v as ri,w as ni}from"./chunk-GLYYZPJQ.js";import{$f as dt,Ag as ut,Aj as Xt,Dj as qt,E as z,Fi as jt,Fj as Zt,G as H,Gd as Dt,Gg as q,Gj as ot,He as L,Hi as _t,K as W,M as k,O as lt,Q as bt,Qd as Ct,Qf as Ut,U as Ot,Uf as Et,V as b,Vf as $t,Xf as ft,Xi as it,Y as J,Yf as B,Yi as Ht,Zf as gt,Zi as et,_h as zt,_i as kt,a as y,b as P,ba as K,cj as Vt,ea as N,ee as At,fa as yt,g as U,hi as ht,i as ct,ji as Z,jj as Yt,kj as Gt,l as O,lg as wt,m as Nt,mg as Pt,mj as Wt,oj as mt,p as _,pi as V,q as G,qg as Rt,qi as tt,r as A,re as Tt,rg as Ft,rj as Jt,si as xt,tf as Q,tj as Kt,uf as X,ug as Mt,ui as Lt,uj as Qt,v as I,vj as St,w as Y,x as It,zg as Bt}from"./chunk-2OZEFTFU.js";var ci=(()=>{let m=class m{constructor(t,i,e,o,r,a,n){this.commentUtilsService=t,this.loggingService=i,this.usersService=e,this.authService=o,this.commentAnnotationsResolverService=r,this.notificationResolverService=a,this.serviceBook=n,this.serviceBook.set(Lt,this)}getUserIdsToResolveFromNotifications(t){try{let i=new Set;for(let e of t){let{notification:o}=e;switch(o?.actionUser?.userId&&i.add(o?.actionUser?.userId),o?.displayHeadlineMessageTemplateData?.actionUser?.userId&&i.add(o?.displayHeadlineMessageTemplateData?.actionUser?.userId),o?.displayHeadlineMessageTemplateData?.recipientUser?.userId&&i.add(o?.displayHeadlineMessageTemplateData?.recipientUser?.userId),o?.notificationSource){case"comment":if(o?.notificationSourceData){let r=this.commentUtilsService.getUserIdsToResolveFromComments([o?.notificationSourceData]);for(let a of r)i.add(a)}break}}return Array.from(i)}catch(i){return this.loggingService.catch("Error in ReactionUtilsService getUserIdsToResolveFromRecorders:",i),[]}}mergeStrippedDataWithNotification(t){try{if(this.loggingService.log("%c[WB] Calling NotificationUtilsService FUNCTION: mergeStrippedDataWithNotification","color: green;"),!this.commentAnnotationsResolverService.commentAnnotationDataProviderAvailable())return t;let i=this.commentAnnotationsResolverService.getAnnotationById(t?.notification?.targetAnnotationId),e=t?.raw?.targetAnnotationData?.commentId,o=i?.comments?.[e]?.commentText,r=i?.comments?.[e]?.commentHtml;return o&&r&&t?.raw?.notificationSource==="comment"&&(t.notification.displayBodyMessageTemplate=o,t.raw.targetAnnotationData.commentText=o,t.raw.targetAnnotationData.commentHtml=r),t}catch(i){return this.loggingService.catch("Error in NotificationUtilsService mergeStrippedDataWithNotification:",i),t}}mergeLocationWithNotification(t,i){try{this.loggingService.log("%c[WB] Calling NotificationUtilsService FUNCTION: mergeLocationWithNotification","color: green;");let e=t?.notification?.notificationSourceData?.location?.id,o=t?.notification?.notificationSourceData?.metadata?.documentId;if(!e||!o)return t;let r=i?.[o]?.[e];return r&&(t.notification.notificationSourceData.location=r?.location,t?.raw?.annotationData?.location&&(t.raw.annotationData.location=r?.location)),t}catch(e){return this.loggingService.catch("Error in NotificationUtilsService mergeLocationWithNotification:",e),t}}mergeNotificationWithUser(t){try{this.loggingService.log("%c[WB] Calling NotificationUtilsService FUNCTION: mergeNotificationWithUser","color: green;");let{notification:i}=t;if(i?.actionUser?.userId){let e=this.usersService.getUserById(i?.actionUser?.userId);e&&(i.actionUser=e)}if(i?.displayHeadlineMessageTemplateData?.actionUser?.userId){let e=this.usersService.getUserById(i?.displayHeadlineMessageTemplateData?.actionUser?.userId);e&&(i.displayHeadlineMessageTemplateData.actionUser=e)}if(i?.displayHeadlineMessageTemplateData?.recipientUser?.userId){let e=this.usersService.getUserById(i?.displayHeadlineMessageTemplateData?.recipientUser?.userId);e&&(i.displayHeadlineMessageTemplateData.recipientUser=e)}return i?.notificationSource==="comment"&&i?.notificationSourceData&&this.commentUtilsService.mergeCommentWithUser(i?.notificationSourceData),t}catch(i){return this.loggingService.catch("Error in NotificationUtilsService mergeNotificationWithUser:",i),t}}formatNotification(t,i){try{switch(typeof t=="object"&&(t=JSON.parse(JSON.stringify(t))),this.usersService.userDataProviderAvailable()&&t?.actionUser&&(t.actionUser={userId:t.actionUser.userId}),t.notificationSource){case"comment":this.commentUtilsService.formatCommentData(t.annotationData),this.commentUtilsService.formatCommentThreadData(t.targetAnnotationData);break;case"recorder":this.serviceBook.get(jt)?.formatRecorderData(t.annotationData,i);break}return t}catch(e){return this.loggingService.catch("Error in NotificationUtilsService formatNotification: ",e),t}}getTargetAnnotationIdsFromNotifications(t){try{this.loggingService.log("%c[WB] Calling NotificationUtilsService FUNCTION: getTargetAnnotationIdsFromNotifications","color: green;");let i=[];return Object.values(t).forEach(e=>{e?.notification?.targetAnnotationId&&e?.raw?.notificationSource==="comment"&&i.push(e.notification.targetAnnotationId)}),i}catch(i){return this.loggingService.catch("Error in NotificationUtilsService getTargetAnnotationIdsFromNotifications:",i),[]}}handleNotificationEncryption(i){return U(this,arguments,function*({data:t}){try{this.loggingService.log("%c[WB] Calling NotificationUtilsService FUNCTION: handleNotificationEncryption","color: green;");let e="notificationwithdocumentidstoencryptanddecryptonsdk"+(this.authService.getUser()?.userId??"");return yield Bt(t,e)}catch(e){return this.loggingService.catch("Error in NotificationUtilsService handleNotificationEncryption:",e),t}})}getCustomNotificationIdsToResolve(t){try{this.loggingService.log("%c[WB] Calling NotificationUtilsService FUNCTION: getCustomNotificationIdsToResolve","color: green;");let i=new Set,e=Array.isArray(t)?t:Object.values(t||{});for(let o of e)if(o?.raw?.notificationSource==="custom"){let r=o?.notification?.id||o?.notificationId;r&&i.add(r)}return Array.from(i)}catch(i){return this.loggingService.catch("Error in NotificationUtilsService getCustomNotificationIdsToResolve:",i),[]}}mergeResolvedNotificationData(t){try{if(this.loggingService.log("%c[WB] Calling NotificationUtilsService FUNCTION: mergeResolvedNotificationData","color: green;"),!this.notificationResolverService.notificationDataProviderAvailable()||t?.raw?.notificationSource!=="custom")return t;let i=t?.notification?.id||t?.notificationId;if(!i)return t;let e=this.notificationResolverService.getNotificationById(i);if(!e)return t;let o=["displayHeadlineMessageTemplate","displayHeadlineMessageTemplateData","displayBodyMessage","displayBodyMessageTemplate","displayBodyMessageTemplateData","notificationSourceData"];for(let r of o)e[r]!==void 0&&(t.notification&&(t.notification[r]=e[r]),t.raw&&(t.raw[r]=e[r]));return Object.keys(e).forEach(r=>{!o.includes(r)&&r!=="notificationId"&&(t.notification&&(t.notification[r]=e[r]),t.raw&&(t.raw[r]=e[r]))}),t.notification&&(t.notification.isNotificationResolverUsed=!0),t}catch(i){return this.loggingService.catch("Error in NotificationUtilsService mergeResolvedNotificationData:",i),t}}};m.\u0275fac=function(i){return new(i||m)(N(st),N(et),N(rt),N(ot),N(nt),N(at),N(it))},m.\u0275prov=K({token:m,factory:m.\u0275fac,providedIn:"root"});let v=m;return v})();function vt(v,m=new Date){let w=v>0?v:15,t=new Date(m.getTime());return t.setDate(t.getDate()-w),t.getTime()}function li(v){let m={startAtTimestamp:v.startAtTimestamp};return v.currentDocumentOnly&&v.currentDocumentId&&(m.documentId=v.currentDocumentId),v.currentDocumentOnly||(m.limit=v.limit),m}function fi(v,m){let w=[];if(!v||typeof v!="object")return{};for(let e of Object.keys(v)){let o=v[e];if(!o||typeof o!="object")continue;let r=o.timestamp;typeof r!="number"||Number.isNaN(r)||!(r>=m.startAtTimestamp)||m.documentId!==void 0&&o.metadata?.documentId!==m.documentId||w.push({id:e,timestamp:r,row:v[e]})}let t=w;m.limit!==void 0&&(t=[...w].sort((e,o)=>o.timestamp-e.timestamp||(e.id<o.id?1:e.id>o.id?-1:0)).slice(0,Math.max(0,m.limit)));let i={};for(let e of t)i[e.id]=e.row;return i}var Oi=2e4,yi={getNotificationsForDocuments:"the notification list",getDocumentMetadataFromIds:"document metadata by id (used by the notification permission-provider filter)",getCrossOrgUserNotifications:"cross-org notifications"};function Di(v){try{let m=v?.metadata?.documentId;if(m==null||m==="")return;let w=e=>(typeof e=="string"&&e!==""||typeof e=="number"&&Number.isFinite(e))&&gt(String(e))===String(m),t=v?.metadata?.clientDocumentId;if(w(t))return String(t);let i=v?.raw?.annotationData?.metadata?.clientDocumentId;return w(i)?String(i):void 0}catch{return}}function gi(v){if(typeof v!="number"||!Number.isFinite(v))return 25;let t=Math.floor(v);return t<1?25:Math.min(200,t)}function Ci(v){return new ct(m=>{let w=!0,t=v.subscribe({next:i=>{if(w){let e=i?.data??i;if(!!e&&typeof e=="object"&&Object.keys(e).length===0&&!i?.operation)return}m.next(i)},error:i=>m.error(i),complete:()=>m.complete()});return w=!1,()=>t.unsubscribe()})}function di(v,m){let w=t=>!!t&&typeof t=="object"&&Object.keys(t).length>0;return w(v)?v:w(m)?m:{}}var ce=(()=>{let m=class m{constructor(t,i,e,o,r,a,n,c,s,l,f,d,g,u,S,D,E,F,M,x,j,h){this.afAuth=t,this.analyticsService=i,this.authService=e,this.configService=o,this.commonDbService=r,this.commonDbUtilsService=a,this.commentUtilsService=n,this.commentAnnotationsResolverService=c,this.notificationResolverService=s,this.databaseService=l,this.docService=f,this.domService=d,this.iamService=g,this.loggingService=u,this.notificationUtilsService=S,this.usersService=D,this.functions=E,this.userPermissionService=F,this.coreActionsService=M,this.serviceBook=x,this.realtimeAdapter=j,this.adapterSelectorService=h,this.endpointsService=yt(Vt),this.db=null,this.notificationsDb=null,this.documentPaths=null,this.notifications$=new O([]),this.rawNotificationsByIdMap$=new O(new Map),this.processedNotifications$=new O([]),this.userNotificationsFromServer$=new O(null),this.readNotificationsOnForYouTab$=new O(!1),this.currentDocumentOnly$=new O(!1),this.notificationViews$=new O({}),this.notificationsByIdMap$=new O(new Map),this.historyPanelVisible$=new O(!1),this.notificationsForYou$=new O(null),this.notificationsByDocumentIdMap$=new O(null),this.notificationsByDocumentIdSubscription={},this.notificationsHubDisabled=!1,this.reportedDroppedHubPushes=new Set,this.allowedDocumentMetadataMap$=new O(null),this.portableListBoundKey=null,this.portableNotificationListLive=!1,this.reportedUnservedPortableNotificationOps=new Set,this.maxNotificationDays$=new O(15),this.tabConfig$=new O({people:{enable:!1}}),this.settingsConfig$=new O(null),this.setSettingsConfigByOrganization$=new O(!1),this.muteAllNotifications$=new O(!1),this.enableSettings$=new O(!1),this.selfNotifications$=new O(!1),this.userScopedNotifications$=new O({enabled:!1,limit:25}),this.settingsInitialConfig$=new O([{name:"Inbox",id:"inbox",default:"ALL",enable:!0,values:[{name:"All",id:"ALL"},{name:"Only Involved",id:"MINE"},{name:"None",id:"NONE"}]},{name:"Email",id:"email",default:"MINE",enable:!0,values:[{name:"All",id:"ALL"},{name:"Only Involved",id:"MINE"},{name:"None",id:"NONE"}]}]),this.settingsConfigGeneration=0,this.notificationsPanelVisible$=new O(!1),this.crossOrganizationConfig$=new O({enabled:!1}),this.crossOrgNotifications$=new O([]),this.crossOrgIndexOrgs=[],this.crossOrgIndexTimestamps={},this.crossOrgSeenTimestamps={},this.crossOrgInitialFetchDone=!1,this.crossOrgFetchPending=!1,this.lastCrossOrgFetchTime=0,this.CROSS_ORG_FETCH_WINDOW_MS=500,this.CROSS_ORG_PAGE_SIZE=50,this.crossOrgGeneration=0,this.crossOrgResolveRoundInFlight=!1,this.crossOrgStragglerRetryUsed=!1,this.CROSS_ORG_STRAGGLER_RETRY_MS=3e4;try{this.serviceBook.set(xt,this),this.serviceBook.observe(_t).subscribe(p=>{this.commentService=p??void 0}),this.subscribeNotificationsData().subscribe(),this.commentUtilsService.setNotificationService(this),this.databaseService.getDb().pipe(z(p=>!!p),W(1)).subscribe(p=>{if(p){this.db=p;try{let C=this.configService.getProxyConfig(),T=this.endpointsService.getNotificationsDbUrl();Et(T)?(this.notificationsDb=null,this.notificationsHubDisabled=!0):(C?.v1DbHost&&T&&(T=$t(T,C.v1DbHost)),this.notificationsDb=this.realtimeAdapter.getDatabaseInstance(T),C?.v1DbHost&&T&&this.databaseService.lockDatabaseHost(this.notificationsDb))}catch(C){this.loggingService.catch("Error initializing notifications DB, using default: ",C),this.notificationsDb=p}this.getDocumentIds(),this.subscribeGetNotificationsForYou()}},p=>{this.loggingService.catch("Error in NotificationService getDb subscription: ",p)}),this.authService.getUser$().subscribe(p=>{p?(this.subscribeGetNotificationsForYou(),this.getDocumentIds(),this.subscribeToUserSettings()):(Object.keys(this.notificationsByDocumentIdSubscription).forEach(C=>{this.notificationsByDocumentIdSubscription[C]?.unsubscribe()}),this.notificationForYouSubscription?.unsubscribe(),this.documentIdsSubscription?.unsubscribe(),this.resetCacheData())}),St(()=>{try{if(this.adapterSelectorService?.isPortableBackendActive()){if(this.portableNotificationListLive)return;this.getDocumentIds()}}catch(p){this.loggingService.catch("Error re-evaluating portable notification list on chunk registration: ",p)}}),this.docService.getLocationMetadata$().subscribe(p=>{if(p){let C=this.notificationsByDocumentIdMap$.getValue()?JSON.parse(JSON.stringify(this.notificationsByDocumentIdMap$.getValue())):null;Object.keys(p||{}).forEach(T=>{let $=C?.[T]?.notifications;$?.length&&$.forEach(R=>{this.notificationUtilsService.mergeLocationWithNotification({notification:R},p)?.notification})}),this.notificationsByDocumentIdMap$.next(C)}})}catch(p){this.loggingService.catch("Error in NotificationService constructor: ",p)}}setDBConfigDataToInitialConfig(t){try{let i=JSON.parse(JSON.stringify(this.settingsConfig$.getValue()??{}));Object.entries(t||{}).forEach(([e,o])=>{i[e]=o}),this.settingsConfig$.next(i)}catch(i){this.loggingService.catch("Error in NotificationService setDBConfigDataToInitialConfig: ",i)}}getInitialConfigFromDB(t){return U(this,null,function*(){try{this.loggingService.log("%c[WB] Calling NotificationService FUNCTION: getInitialConfigFromDB","color: green;");let i=++this.settingsConfigGeneration,e=B(this.authService.getUser()?.userId??""),o=yield this.commonDbService.getData({feature:"userConfig",properties:{useCollectionGroup:!1,isCollection:!1,documentId:this.getSettingsConfigByOrganization()?void 0:t?.documentId,organizationId:t?.organizationId??this.docService.getOrganizationConfig()?.organizationId,userId:e}});if(i!==this.settingsConfigGeneration)return;if(o?.notificationsConfig)this.setDBConfigDataToInitialConfig(o?.notificationsConfig);else{this.setSettingsInitialConfig(this.settingsInitialConfig$.getValue());let r={};this.settingsInitialConfig$.getValue().forEach(n=>{if(n.enable){let c=n?.values?.find(s=>s.id===n.default);r[n.id]=c||n?.values?.[0]||{id:"NONE",name:"None"}}});let a={};Object.keys(r).forEach(n=>{a[n]=r[n].id}),yield this.updateSettingsConfigToDb(a)}}catch(i){this.loggingService.catch("Error in NotificationService getInitialConfigFromDB: ",i)}})}subscribeToUserSettings(){try{this.loggingService.log("%c[WB] Calling NotificationService FUNCTION: subscribeToUserSettings","color: green;"),this.userSettingsSubscription&&this.userSettingsSubscription.unsubscribe();let t=B(this.authService.getUser()?.userId??"");this.userSettingsSubscription=this.enableSettings$.pipe(z(i=>i===!0),b(()=>Y([this.docService.getDocumentPaths$(),this.getSettingsConfigByOrganization$(),this.docService.getOrganizationConfig$()]).pipe(z(([i,e,o])=>(e||!!i)&&!!o?.organizationId),b(([i,e,o])=>G(this.getInitialConfigFromDB(i)).pipe(b(()=>this.commonDbService.dbListener({feature:"userConfig",properties:{useCollectionGroup:!1,isCollection:!1,documentId:e?void 0:i?.documentId,organizationId:i?.organizationId??o?.organizationId,userId:t}}).pipe(I(r=>{r?.data?.notificationsConfig&&!q(r?.data?.notificationsConfig??{},this.settingsConfig$.getValue()??{})&&this.setDBConfigDataToInitialConfig(r?.data?.notificationsConfig)})))))))).subscribe()}catch(t){this.loggingService.catch("Error in NotificationService subscribeToUserSettings: ",t)}}resetCacheData(){try{this.loggingService.log("%c[WB] Calling NotificationService FUNCTION: resetCacheData","color: green;"),this.setUserNotificationsFromServer(null),this.notificationsByDocumentIdMap$.next(null),this.notificationsForYou$.next(null),this.settingsConfig$.next(null),this.resetCrossOrgForUser()}catch(t){this.loggingService.catch("Error in NotificationService resetCacheData: ",t)}}subscribeGetNotificationsForYou(){try{this.notificationForYouSubscription&&this.notificationForYouSubscription.unsubscribe(),this.notificationForYouSubscription=this.getNotificationsForYou().subscribe(()=>{},t=>{this.loggingService.catch("Error in NotificationService getNotificationsForYou subscription: ",t)})}catch(t){this.loggingService.catch("Error in NotificationService subscriveGetNotificationsForYou: ",t)}}setCommentService(t){try{this.commentService=t}catch(i){this.loggingService.catch("Error in NotificationService setCommentService: ",i)}}getDocumentIds(){try{this.documentIdsSubscription&&this.documentIdsSubscription.unsubscribe();let t=!1,i=It(()=>this.adapterSelectorService?.isPortableBackendActive()?(t=!0,this.subscribePortableUserNotificationList(),_):this.notificationListPipeline$()).subscribe(()=>{},e=>{this.loggingService.catch("Error in NotificationService getDocumentIds subscription: ",e)});t||(this.documentIdsSubscription=i)}catch(t){this.loggingService.catch("Error in NotificationService getDocumentIds: ",t)}}notificationListPipeline$(t){return this.selfNotifications$.pipe(b(()=>this.getCurrentDocumentOnly$().pipe(b(i=>i?this.docService.getDocumentPaths$().pipe(I(e=>{})):A(void 0)))),J(()=>{this.notificationsByDocumentIdMap$.next(null)}),b(()=>this.getDocumentIdsByLastNotificationTimestamp(void 0,t).pipe(lt(),I(([i,e])=>{let o=i?.map(s=>s.documentId),r=e?.map(s=>s.documentId),a=o?.filter(s=>!r?.includes(s)),n=r?.map(s=>({documentId:s,timestamp:e?.find(l=>l.documentId===s)?.timestamp})).filter(s=>!o?.includes(s.documentId)),c=r?.map(s=>{let l=e?.find(f=>f.documentId===s)?.timestamp;return{documentId:s,timestamp:l}}).filter(s=>{let l=i?.find(f=>f.documentId===s.documentId)?.timestamp;return l&&s.timestamp&&l!==s.timestamp});n?.length&&this.fetchNotificationsForDocumentIds(n),c?.length&&this.fetchNotificationsForDocumentIds(c,1),a?.forEach(s=>{this.removeNotificationsForDocumentId(s)}),e&&!e?.length&&!this.notificationsByDocumentIdMap$.getValue()&&(this.notificationsByDocumentIdMap$.next({}),this.setUserNotificationsFromServer([]))}))))}subscribePortableUserNotificationList(){try{this.documentIdsSubscription&&this.documentIdsSubscription.unsubscribe(),this.documentIdsSubscription=this.authService.getUser$().pipe(b(t=>t?.userId?this.docService.getOrganizationConfig$().pipe(I(i=>i?.organizationId||t.organizationId),k(),b(i=>{let e=this.configService.getApiKey();if(!e||!i)return this.notificationsByDocumentIdMap$.next({}),this.setUserNotificationsFromServer([]),_;let r=`${B(t.userId)}:${e}:${i}`;return this.portableListBoundKey!==null&&this.portableListBoundKey!==r&&(this.notificationsByDocumentIdMap$.next({}),this.setUserNotificationsFromServer([])),this.portableListBoundKey=r,this.portableNotificationList$(t,e,String(i))})):(this.notificationsByDocumentIdMap$.next({}),this.setUserNotificationsFromServer([]),_))).subscribe(()=>{},t=>{this.loggingService.catch("Error in portable user notification list subscription: ",t)})}catch(t){this.loggingService.catch("Error in NotificationService subscribePortableUserNotificationList: ",t)}}portableNotificationList$(t,i,e){return new ct(o=>{let r=new Nt(1),a=new O(null),n={rows$:r.asObservable()},c=0,s=0,l=!1,f=null,d=null,g=null,u=h=>{let p=a.getValue();p?.mode===h&&p.epoch===c||a.next({mode:h,epoch:c})},S=()=>{g!==null&&(clearTimeout(g),g=null)},D=()=>{try{d?.()}catch(h){this.loggingService.catch("Error disarming the notification trigger reconnect probe: ",h)}d=null},E=()=>{u("fallback"),D();try{d=this.adapterSelectorService?.resolveRealtimeAdapter?.()?.onServerTimeOffset?.(()=>{Promise.resolve().then(()=>F(!1))})??null}catch(h){this.loggingService.catch("Error arming the notification trigger reconnect probe: ",h)}},F=h=>{if(l)return;let p=++s;h&&(c+=1),D(),S();try{f?.unsubscribe()}catch(R){this.loggingService.catch("Error releasing the notification trigger subscription: ",R)}f=null;let C=()=>!l&&p===s,T=!1,$=this.openPortableNotificationTrigger(i,e,{onState:R=>{C()&&(T=!0,S(),D(),r.next(R),u("hosted"))},onRefused:R=>{C()&&(T=!0,S(),this.loggingService.log(`[WB] Notification trigger channel refused (${R}): keeping the user-channel notification list.`),E())}});if(!C()){$?.unsubscribe();return}if(f=$,!$){E();return}if(!T){let R;try{R=Promise.resolve(this.adapterSelectorService?.resolveRealtimeAdapter?.()?.whenReady?.())}catch{R=Promise.resolve()}R.then(()=>{!C()||T||(g=setTimeout(()=>{g=null,!(!C()||T)&&(this.loggingService.log("[WB] Notification trigger channel did not answer: keeping the user-channel notification list."),E())},Oi))},()=>{})}},M=null,x=a.pipe(z(h=>!!h),k((h,p)=>h.mode===p.mode&&(h.mode==="hosted"||h.epoch===p.epoch)),J(({mode:h})=>{M!==null&&M!==h&&(this.notificationsByDocumentIdMap$.next({}),this.setUserNotificationsFromServer([])),M=h}),b(({mode:h})=>h==="hosted"?this.notificationListPipeline$(n):this.portableFallbackList$(t,i,e))).subscribe({next:h=>o.next(h),error:h=>o.error(h)});this.portableNotificationListLive=!0;let j=St(()=>F(!0));return F(!0),()=>{l=!0,s+=1,this.portableNotificationListLive=!1;try{j()}catch(h){this.loggingService.catch("Error disposing the notification trigger registration listener: ",h)}D(),S();try{f?.unsubscribe()}catch(h){this.loggingService.catch("Error releasing the notification trigger subscription: ",h)}f=null,x.unsubscribe(),r.complete(),a.complete()}})}openPortableNotificationTrigger(t,i,e){try{let o=ei(ii,{apiKey:t,organizationId:i}),r=this.adapterSelectorService?.resolveRealtimeAdapter?.();if(!o||!r)return null;let a=Kt(o.feature)?.mode??"persistent",n={},c={},s=!1,l=!1;return r.subscribe(o,a,f=>{try{if(l)return;if(typeof f.seq=="number"){let d=c[f.id];if(d!==void 0&&f.seq<=d)return;c[f.id]=f.seq}f.type==="removed"?delete n[f.id]:n[f.id]=f.data,s&&typeof f.seq=="number"&&e.onState(y({},n))}catch(d){this.loggingService.catch("Error materializing a notification trigger delta: ",d)}},{onSnapshotComplete:()=>{try{if(l)return;s=!0,e.onState(y({},n))}catch(f){this.loggingService.catch("Error completing the notification trigger snapshot: ",f)}},onError:f=>{try{l=!0;for(let d of Object.keys(n))delete n[d];e.onRefused(f)}catch(d){this.loggingService.catch("Error handling the notification trigger denial: ",d)}}})}catch(o){return this.loggingService.catch("Error subscribing the notification trigger channel: ",o),null}}portableFallbackList$(t,i,e){let o=B(t.userId),r={lastAllowed:null};return Ci(this.commonDbService.dbListener({feature:"allUserNotifications",properties:{id:o,apiKey:i,organizationId:e}})).pipe(H(a=>(this.loggingService.catch("Error in portable user notification list listener: ",a),A({data:{},operation:null}))),b(a=>this.filterPortableRowsByPermissionProvider$(a?.data??a??{},r)),J(a=>{try{this.applyPortableUserNotificationMap(a)}catch(n){this.loggingService.catch("Error applying portable user notification map: ",n)}}))}filterPortableRowsByPermissionProvider$(t,i){let e=!1;try{e=!!this.userPermissionService?.isPermissionProviderAvailable?.()}catch(o){this.loggingService.catch("Error reading the permission provider state for the notification list: ",o)}return e?G(this.filterPortableRowsByPermissionProvider(t,i)):A(t)}filterPortableRowsByPermissionProvider(t,i){return U(this,null,function*(){try{let e=t&&typeof t=="object"?t:{},o=Object.create(null),r=Object.create(null),a=new Set,n=Object.create(null);for(let g of Object.keys(e)){let u=this.portableNotificationRowDocumentId(this.toPortableNotificationEnvelope(g,e[g]));if(n[g]=u,u===void 0){a.add(g);continue}let S=String(u);if(o[S]=Math.max(o[S]??0,Number(e[g]?.timestamp)||0),!r[S]){let D=Di(e[g]);D&&(r[S]=D)}}let c=Object.keys(o).map(g=>({documentId:g,timestamp:o[g]}));if(!c.length){let g=Object.create(null);return a.forEach(u=>{g[u]=e[u]}),g}let s={failed:!1},l=yield this.filterDocumentIdsByPermissionProvider(c,{fallbackClientDocumentIds:r,skipMetadataFetch:this.reportedUnservedPortableNotificationOps.has("getDocumentMetadataFromIds"),outcome:s}),f;s.failed?f=i.lastAllowed??new Set:(f=new Set(l.map(g=>g.documentId)),i.lastAllowed=f);let d=Object.create(null);for(let g of Object.keys(e)){let u=n[g];(a.has(g)||u!==void 0&&f.has(String(u)))&&(d[g]=e[g])}return d}catch(e){return this.loggingService.catch("Error filtering the portable notification list by the permission provider: ",e),{}}})}toPortableNotificationEnvelope(t,i){return!i||typeof i!="object"?{notificationId:t}:y({notificationId:i.notificationId??t},i)}portableNotificationRowDocumentId(t,i=this.getClientNotificationObject(t)){let e=t?.metadata?.documentId??i?.metadata?.documentId;return e===null||e===""?void 0:e}applyPortableUserNotificationMap(t){let i=t&&typeof t=="object"?t:{},e=Object.keys(i).map(r=>this.toPortableNotificationEnvelope(r,i[r]));this.setUserNotificationsFromServer(e);let o={};for(let r of e)try{if((r?.kind??r?.payload?.kind)==="digest")continue;let n=this.getClientNotificationObject(r);if(!n)continue;let c=this.portableNotificationRowDocumentId(r,n);if(!c)continue;o[c]||(o[c]={notifications:[]}),o[c].notifications.push(n)}catch(a){this.loggingService.catch("Error materializing portable notification row: ",a)}for(let r of Object.keys(o))o[r].notifications.sort((a,n)=>(n.timestamp||0)-(a.timestamp||0));this.notificationsByDocumentIdMap$.next(o)}getDocumentIdsByLastNotificationTimestamp(t=15,i){try{return this.authService.getUser$().pipe(b(e=>this.docService.getOrganizationConfig$().pipe(I(o=>{let r=null,a=this.configService.getApiKey(),n=o?.organizationId||e?.organizationId,c=o?.clientOrganizationId||e?.clientOrganizationId||"";return a&&n&&(r=new pt({apiKey:a,organizationId:n})),{user:e,documentPaths:r,clientOrganizationId:c}}))),b(e=>{let{user:o,documentPaths:r,clientOrganizationId:a}=e;if(this.getCurrentDocumentOnly()&&!this.docService?.getDocumentPaths()?.documentId)return A(null);if(o&&r?.organizationNotificationsLastNotificationTimestamp){let n=vt(this.maxNotificationDays$.getValue()),c=li({startAtTimestamp:n,currentDocumentOnly:this.getCurrentDocumentOnly(),currentDocumentId:this.docService.getDocumentPaths()?.documentId,limit:t}),s=o?.userId??"";return G(this.userPermissionService?.getUserPermissionsFromCacheOrFetch({organizationId:a})??Promise.resolve({})).pipe(b(l=>s&&a&&l?.[s]?.organization?.[a]?.errorCode===Ut.PERMISSION_DENIED?A(null):this.lastNotificationTimestampRows$(r,c,i).pipe(I(f=>{let d=()=>!!i||this.commonDbService.shouldUseFirestore(),g=[];return Object.keys(f||{}).forEach(u=>{let S=d()?f[u]?.timestamp??0:f[u],D=d()?f[u]?.deletedNotification??!1:!1;if(D&&D.id&&D?.timestamp===S){let E=D.id,F=f[u]?.metadata?.documentId,M=JSON.parse(JSON.stringify(this.notificationsByDocumentIdMap$.getValue()??{})),x=M?.[F]??{documentMetadata:null,notifications:[]},j=x.notifications??[],h=j?.findIndex(p=>p.id===E);h!==-1&&(j.splice(h,1),this.notificationsByDocumentIdMap$.next(P(y({},M),{[F]:P(y({},x),{notifications:j})}))),this.notificationResolverService.notificationDataProviderAvailable()&&this.notificationResolverService.getNotificationById(E)&&this.notificationResolverService.deleteNotification(E,this.docService.getDocumentPaths()?.clientOrganizationId??"")}g.push({documentId:u,timestamp:S})}),g}),H(f=>(this.loggingService.catch("Error in NotificationService getDocumentIdsByLastNotificationTimestamp: ",f),A([]))))))}return A(null)}))}catch(e){return this.loggingService.catch("Error in NotificationService getDocumentIdsByLastNotificationTimestamp: ",e),A([])}}lastNotificationTimestampRows$(t,i,e){return e?e.rows$.pipe(I(o=>fi(o,i)),Ot(void 0)):this.commonDbService.dbListener({feature:"allLastNotificationTimestamp",properties:{organizationId:t?.organizationId,isCollection:!0,useQuery:!0,firestoreQuery:this.toFirestoreTriggerQuery(i)}}).pipe(I(o=>o?.data))}toFirestoreTriggerQuery(t){let i=[Yt(mt("timestamp",">=",t.startAtTimestamp),...t.documentId!==void 0?[mt("metadata.documentId","==",t.documentId)]:[])];return t.limit!==void 0&&(i.push(Wt("timestamp","desc")),i.push(Gt(t.limit))),i}resolveAndUpdateDocumentNotifications(t,i){try{Object.keys(t).forEach(e=>{let o=t[e]?.documentMetadata||this.docService.getAllDocumentMetadataMap()?.[e]||{},r;if(i==="user")r=this.commonDbUtilsService.mergeUsersWithData({feature:"allDocNotifications",data:t[e]?.notifications||[]});else if(i==="notification"){let a=t[e]?.notifications?.reduce((c,s)=>(c[s.notificationId]=s,c),{}),n=this.commonDbUtilsService.mergeNotificationsWithResolvedData({feature:"allDocNotifications",data:a});r=Object.values(n??{})}else{let a=t[e]?.notifications?.reduce((c,s)=>(c[s.notificationId]=s,c),{}),n=this.commonDbUtilsService.mergeCommentAnnotationsWithData({feature:"allDocNotifications",data:a});r=Object.values(n??{})}r.forEach(a=>{a.notification=this.getClientNotificationObject(a)}),this.setNotificationForDocumentIdInCache(e,o,r)})}catch(e){this.loggingService.catch("Error in NotificationService resolveAndUpdateDocumentNotifications: ",e)}}resolveAndMergeUserNotifications(t,i,e=!1){try{let o=t;if(e&&i==="comment"){let s=this.getUserNotificationsFromServer()??[],l=new Set(t.map(f=>f.notificationId));o=s.filter(f=>l.has(f.notificationId)).concat(t.filter(f=>!s.some(d=>d.notificationId===f.notificationId)))}let r=o.reduce((s,l)=>(s[l.notificationId]=l,s),{}),a;if(i==="user"){let s=this.commonDbUtilsService.mergeUsersWithData({feature:"allUserNotifications",data:r});a=Object.values(s??{})}else if(i==="notification"){let s=this.commonDbUtilsService.mergeNotificationsWithResolvedData({feature:"allUserNotifications",data:r});a=Object.values(s??{})}else{let s=this.commonDbUtilsService.mergeCommentAnnotationsWithData({feature:"allUserNotifications",data:r});a=Object.values(s??{})}a.forEach(s=>{s.notification=this.getClientNotificationObject(s)});let n=this.getUserNotificationsFromServer()??[],c=new Map(n.map(s=>[s.notificationId,s]));a.forEach(s=>{c.set(s.notificationId,s)}),this.setUserNotificationsFromServer(Array.from(c.values()))}catch(o){this.loggingService.catch("Error in NotificationService resolveAndMergeUserNotifications: ",o)}}fetchNotificationsForDocumentIds(t,i=15){return U(this,null,function*(){try{if(t?.length){let e=this.docService.getOrganizationConfig()?.organizationId??"";if(!e)return[];let o=this.getStartAtTimestamp(),r={};t.forEach(u=>{if(u?.documentId){let S=this.getAllowedDocumentMetadataByDocumentId(u.documentId);S&&(r[u.documentId]=S)}}),this.userPermissionService?.isPermissionProviderAvailable()&&(t=yield this.filterDocumentIdsByPermissionProvider(t));let a=this.userScopedNotifications$.getValue(),n=!!a?.enabled&&i!==1&&!this.getCurrentDocumentOnly();if(!t.length&&(this.notificationsByDocumentIdMap$.getValue()||(this.notificationsByDocumentIdMap$.next({}),this.setUserNotificationsFromServer([])),!n))return[];let c=this.userPermissionService?.getPermissionsCache()?.filter(u=>u.type===X.CONTEXT),s=y({organizationId:e,documentIds:t.filter(u=>!!u.documentId&&!!u.timestamp).map(u=>({documentId:u.documentId,timestamp:u.timestamp??0})),timestamp:o,limitToLast:i,selfNotifications:this.selfNotifications$.value,isPermissionProviderUsed:this.userPermissionService?.isPermissionProviderAvailable(),getUserNotifications:!0,isContextEnabled:this.userPermissionService?.getIsContextEnabled(),cachedData:c,isSettingsConfigByOrganization:this.getSettingsConfigByOrganization(),retryConfig:this.userPermissionService?.getPermissionProviderRetryConfig()},n&&{getUserNotificationsForOrganization:!0,userNotificationsLimitToLast:gi(a?.limit)}),{notificationsByDocumentId:l,userNotifications:f=[],userNotificationIdsInDocNotifications:d=[],permissionResults:g=[]}=yield this.callGetNotificationsForDocuments(s);if(this.userPermissionService?.getIsContextEnabled()){let u=[...this.userPermissionService?.getPermissionsCache()??[],...g??[]];this.userPermissionService?.setPermissionsCache(u)}if(l&&typeof l=="object"){let u=this.usersService.userDataProviderAvailable(),S=this.commentAnnotationsResolverService.commentAnnotationDataProviderAvailable(),D=this.notificationResolverService.notificationDataProviderAvailable(),E=[],F=[],M=[];Object.keys(l).forEach((h,p)=>{let C=l[h].documentMetadata??this.docService.getAllDocumentMetadataMap()?.[h];if(C){let $=this.allowedDocumentMetadataMap$.value||{};(!$?.[h]||!q($?.[h],C))&&this.allowedDocumentMetadataMap$.next(P(y({},$),{[h]:C}))}let T=l[h].notifications||[];T.forEach($=>{d.includes($.notificationId)&&!f.find(R=>R.notificationId===$.notificationId)&&f.push(JSON.parse(JSON.stringify($))),$.notification=this.getClientNotificationObject($)}),this.setNotificationForDocumentIdInCache(h,C,T),u&&(E.push(this.commonDbUtilsService.formatResponse({feature:"allDocNotifications",data:T,shouldAwait:!0,forceResolve:!0})),E.push(this.commonDbUtilsService.formatResponse({feature:"allUserNotifications",data:f,shouldAwait:!0,forceResolve:!0}))),S&&(F.push(this.commonDbUtilsService.formatResponse({feature:"allDocNotifications",data:T,shouldCommentAnnotationsResolverAwait:!0})),F.push(this.commonDbUtilsService.formatResponse({feature:"allUserNotifications",data:f,shouldCommentAnnotationsResolverAwait:!0}))),D&&(M.push(this.commonDbUtilsService.formatResponse({feature:"allDocNotifications",data:T,shouldNotificationResolverAwait:!0})),M.push(this.commonDbUtilsService.formatResponse({feature:"allUserNotifications",data:f,shouldNotificationResolverAwait:!0})))});let x=JSON.parse(JSON.stringify(f));if(n){let h=new Map((this.getUserNotificationsFromServer()??[]).map(p=>[p?.notificationId,p]));f.forEach(p=>h.set(p?.notificationId,p)),this.setUserNotificationsFromServer(Array.from(h.values()))}else this.setUserNotificationsFromServer([...this.getUserNotificationsFromServer()??[],...f]);(D||u||S)&&(()=>{let h=Promise.resolve();if(D&&(h=h.then(()=>Promise.allSettled(M)).then(()=>{this.resolveAndUpdateDocumentNotifications(l,"notification"),this.resolveAndMergeUserNotifications(x,"notification")})),u&&(h=h.then(()=>Promise.allSettled(E)).then(()=>{this.resolveAndUpdateDocumentNotifications(l,"user"),this.resolveAndMergeUserNotifications(x,"user")})),S){let p=D||u;h=h.then(()=>Promise.allSettled(F)).then(()=>{this.resolveAndUpdateDocumentNotifications(l,"comment"),this.resolveAndMergeUserNotifications(x,"comment",p)})}return h})().catch(h=>{this.loggingService.catch("Error in NotificationService resolveChain: ",h)})}}}catch(e){return this.loggingService.catch("Error in NotificationService fetchNotificationsForDocumentIds: ",e),[]}})}filterDocumentIdsByPermissionProvider(t,i){return U(this,null,function*(){let e=i?.fallbackClientDocumentIds;try{let o=[];if(t.forEach(s=>{this.docService.getDocumentMetadata(s.documentId)||o.push(s.documentId)}),o.length&&!i?.skipMetadataFetch){let s=this.authService.getUser(),l={type:"getDocumentMetadataFromIds",metadata:{organizationId:s?.clientOrganizationId,folderId:this.documentPaths?.folderId},documentIds:o},f=!!this.adapterSelectorService?.isPortableBackendActive(),d=f?void 0:tt(this.functions,Z({url:this.endpointsService.getCloudFunctionUrl("sdkProxy"),apiProxyDomain:this.configService?.getApiProxyDomain()}));try{let g=f?yield this.invokePortableSdkProxyOp("getDocumentMetadataFromIds",l):yield ht({methodName:"getDocumentMetadataFromIds",data:l,getSdkProxy:d,userId:s?.userId??""});if(g?.data?.length){let u={};g.data.forEach(S=>{S?.documentId&&(u[S.documentId]=S)}),this.docService.setAllDocumentMetadata(y(y({},this.docService.getAllDocumentMetadataMap()),u))}}catch(g){this.loggingService.warn("Error in NotificationService fetchNotificationsForDocumentIds: ",g)}}let r=[],a=[];t.forEach(s=>{let l=this.docService.getDocumentMetadata(s.documentId),f=l?.clientDocumentId||e?.[s.documentId];f?r.push({userId:this.authService.getUser()?.userId??"",resource:y({id:f,type:X.DOCUMENT,source:Q.GET_NOTIFICATIONS,organizationId:this.docService.getOrganizationConfig()?.clientOrganizationId??""},l?.folderId&&{parentFolderId:l.folderId})}):a.push(s.documentId)}),a.length&&(t=t.filter(s=>!a.includes(s.documentId)));let n=Ft();this.coreActionsService.triggerAction(At.PERMISSION_PROVIDER,{event:V.Events.PermissionProvider.RESOURCE_ACCESS_REQUEST_FORMED,timestamp:new Date().getTime(),uniqueId:n,methodName:Q.GET_NOTIFICATIONS,source:"internal",payload:{requests:r}});let c=yield this.userPermissionService?.onResourceAccessRequired({requests:r,uniqueId:n,methodName:Q.GET_NOTIFICATIONS});return c?.success&&c?.data?.length?c.data.forEach(s=>{!s.hasAccess&&s.resourceId&&(t=t.filter(l=>l.documentId!==gt(s.resourceId)))}):(t=[],i?.outcome&&(i.outcome.failed=!0)),t}catch(o){return this.loggingService.warn("Error in NotificationService fetchNotificationsForDocumentIds: ",o),i?.outcome&&(i.outcome.failed=!0),[]}})}callGetNotificationsForDocuments(t){return U(this,null,function*(){if(this.adapterSelectorService?.isPortableBackendActive())return this.callPortableGetNotificationsForDocuments(t);let i=tt(this.functions,Z({url:this.endpointsService.getCloudFunctionUrl("getNotificationsForDocuments"),apiProxyDomain:this.configService?.getApiProxyDomain()}),{timeout:1200*1e3}),e=yield this.notificationUtilsService.handleNotificationEncryption({data:t}),o=yield i({veltData:e}),r=o?.data?.data?.veltData||{},a=o?.data?.data?.veltAdditionalData||{},n="notificationwithdocumentidstoencryptanddecryptonsdk"+(this.authService.getUser()?.userId??""),c=yield ut(r,n),{userNotifications:s,userNotificationIdsInDocNotifications:l,permissionResults:f}=yield ut(a,n);return{notificationsByDocumentId:c,userNotifications:s,userNotificationIdsInDocNotifications:l,permissionResults:f}})}callPortableGetNotificationsForDocuments(t){return U(this,null,function*(){let i=yield this.adapterSelectorService.resolveDbAdapter().getNotificationsForDocuments({scope:"org",data:t});if(!i?.ok)throw this.reportUnservedPortableNotificationOp("getNotificationsForDocuments",i),new Error(`getNotificationsForDocuments failed on the portable gateway: ${i?.code??"unknown"}`);let e=i.data??{},o=e.veltData??{},{userNotifications:r,userNotificationIdsInDocNotifications:a,permissionResults:n}=e.veltAdditionalData??{};return{notificationsByDocumentId:o,userNotifications:r,userNotificationIdsInDocNotifications:a,permissionResults:n}})}invokePortableSdkProxyOp(t,i){return U(this,null,function*(){try{let e=yield this.adapterSelectorService.resolveDbAdapter()[t]({scope:"org",data:i});return e?.ok?e.data?.veltData:(this.reportUnservedPortableNotificationOp(t,e)?this.loggingService.log(`[WB] NotificationService ${t} is not served by this portable gateway: `,e):this.loggingService.catch(`Error in NotificationService ${t} (portable gateway): `,e),i)}catch(e){return this.loggingService.catch(`Error in NotificationService ${t} (portable gateway): `,e),i}})}reportUnservedPortableNotificationOp(t,i){try{if(!ti(i))return!1;let e=i?.code;if(this.reportedUnservedPortableNotificationOps.has(t))return!0;this.reportedUnservedPortableNotificationOps.add(t);let o=i?.message;return console.warn(`Velt [Tier B]: the portable gateway answered '${e}'${o?` (${o})`:""} for '${t}' \u2014 this image does not serve it, so ${yi[t]} is unavailable on this deployment. This warning fires once per session.`),!0}catch{return!1}}getUserNotificationsFromServer$(){return this.userNotificationsFromServer$.asObservable()}setUserNotificationsFromServer(t){try{let i=JSON.parse(JSON.stringify(t));i=i?.filter((e,o,r)=>o===r.findIndex(a=>a.notificationId===e.notificationId)),this.userNotificationsFromServer$.next(i)}catch(i){this.loggingService.catch("Error in NotificationService setUserNotificationsFromServer: ",i)}}getUserNotificationsFromServer(){return this.userNotificationsFromServer$.getValue()}setNotificationForDocumentIdInCache(t,i,e,o){try{let r=this.docService.getOrganizationConfig()?.organizationId??"",a=this.docService.getOrganizationMetadata(r);i||(i=this.getOwnDocumentMetadata(t)),a||(a=JSON.parse(JSON.stringify(this.docService.getOrganizationMetadata(r)||{})));let n=this.notificationsByDocumentIdMap$.getValue(),c=n?.[t]?.notifications||[],s=this.docService.getLocationMetadatas(),l=e?.map(g=>{let u=g?.notification;return u?(u.metadata&&(u.metadata.documentName=i?.documentName||u.metadata.documentName,u.metadata.organizationMetadata=a||u.metadata.organizationMetadata,u.metadata.documentMetadata=di(i,u.metadata.documentMetadata)),s&&(u=this.notificationUtilsService.mergeLocationWithNotification({notification:u},s)?.notification),u):null})?.filter(g=>!!g)||[],f=new Map(c.map(g=>[g.id,g]));l.forEach(g=>{f.set(g.id,g)});let d=Array.from(f.values()).sort((g,u)=>(u.timestamp||0)-(g.timestamp||0));this.notificationsByDocumentIdMap$.next(P(y({},n),{[t]:{notifications:d,documentMetadata:i||{}}}))}catch(r){this.loggingService.catch("Error in NotificationService setNotificationForDocumentIdInCache: ",r)}}removeNotificationsForDocumentId(t){try{this.notificationsByDocumentIdSubscription[t]&&this.notificationsByDocumentIdSubscription[t].unsubscribe();let i=this.notificationsByDocumentIdMap$.getValue();delete i?.[t],this.notificationsByDocumentIdMap$.next(i)}catch(i){this.loggingService.catch("Error in NotificationService removeNotificationsForDocumentId: ",i)}}getStartAtTimestamp(){try{return vt(this.maxNotificationDays$.getValue())}catch(t){return this.loggingService.catch("Error in NotificationService getStartAtTimestamp: ",t),0}}getCurrentOrgNotificationsForYou(){try{return this.getUserNotificationsFromServer$().pipe(b(t=>A(t).pipe(z(i=>!!i),I(i=>{let e=this.usersService.userDataProviderAvailable(),o=this.commentAnnotationsResolverService?.commentAnnotationDataProviderAvailable(),r=this.notificationResolverService?.notificationDataProviderAvailable();if(r||e||o){let n=i?.reduce((c,s)=>(c[s.notificationId]=s,c),{});r&&(n=this.commonDbUtilsService.mergeNotificationsWithResolvedData({feature:"allUserNotifications",data:n||[]})),e&&(n=this.commonDbUtilsService.mergeUsersWithData({feature:"allUserNotifications",data:n||[]})),o&&(n=this.commonDbUtilsService.mergeCommentAnnotationsWithData({feature:"allUserNotifications",data:n||[]})),i=Object.values(n??{})}return i.forEach(n=>{n.notification=this.getClientNotificationObject(n)}),i.sort((n,c)=>c.timestamp-n.timestamp),i.map(n=>n.notification).filter(n=>!!n)}),b(i=>{let e={data:i?.reduce((o,r)=>(o[r.id]={notification:r},o),{}),operation:null};return this.commonDbUtilsService.mergeLocationMetadataWithData$({data:e,feature:"allUserNotifications"}).pipe(I(o=>Object.values(o?.data||{}).map(r=>r?.notification)))}))),b(t=>{let i=this.docService.getOrganizationConfig()?.organizationId??"";return this.docService.getOrganizationMetadata$(i).pipe(I(()=>t))}),b(t=>this.allowedDocumentMetadataMap$.pipe(I(()=>t))),I(t=>(t?.length&&(t=t.map(i=>{if(i?.metadata){let e=this.docService.getOrganizationConfig()?.organizationId??"",o=this.getAllowedDocumentMetadataByDocumentId(i.metadata.documentId),r=this.docService.getOrganizationMetadata(e);o||(o=this.getOwnDocumentMetadata(i.metadata.documentId)),r||(r=JSON.parse(JSON.stringify(this.docService.getOrganizationMetadata(e)||{}))),i.metadata.documentName=o?.documentName||i.metadata.documentName,i.metadata.organizationMetadata=r||i.metadata.organizationMetadata,i.metadata.documentMetadata=di(o,i.metadata.documentMetadata)}return i})),t)))}catch(t){return this.loggingService.catch("Error in NotificationService getCurrentOrgNotificationsForYou: ",t),A(null)}}getNotificationsForYou(){try{return Y([this.getCurrentOrgNotificationsForYou(),this.crossOrgNotifications$.asObservable()]).pipe(I(([t,i])=>{let e=this.mergeCrossOrgForYou(t,i);return e===null?this.notificationsForYou$.next(null):e?.length?this.notificationsForYou$.next(JSON.parse(JSON.stringify(e))):this.notificationsForYou$.next([]),e}))}catch(t){return this.loggingService.catch("Error in NotificationService getNotificationsForYou: ",t),A({})}}mergeCrossOrgForYou(t,i){try{let e=Array.isArray(i)?i:[];if(!e.length)return t;let o=Array.isArray(t)?t:[],r=c=>c?.id??c?.notificationId,a=new Set;o.forEach(c=>{let s=r(c);s!=null&&a.add(s)});let n=[...o];return e.forEach(c=>{let s=r(c);s!=null&&a.has(s)||(s!=null&&a.add(s),n.push(c))}),n.sort((c,s)=>(s?.timestamp||0)-(c?.timestamp||0))}catch(e){return this.loggingService.catch("Error in NotificationService mergeCrossOrgForYou: ",e),t}}enableCrossOrganization(t){try{if(t&&typeof t=="object"&&t.enabled===!1){this.disableCrossOrganization();return}this.setCrossOrganizationConfig(P(y({},t||{}),{enabled:!0})),this.crossOrgUserSubscription?this.crossOrgIndexSubscription&&(this.crossOrgInitialFetchDone=!1,this.scheduleCrossOrgFetch()):this.attachCrossOrgIndexListener()}catch(i){this.loggingService.catch("Error in NotificationService enableCrossOrganization: ",i)}}disableCrossOrganization(){try{this.teardownCrossOrg();let t=this.crossOrganizationConfig$.getValue();this.crossOrganizationConfig$.next(P(y({},t||{}),{enabled:!1}))}catch(t){this.loggingService.catch("Error in NotificationService disableCrossOrganization: ",t)}}setCrossOrganizationConfig(t){try{let i=t||{},e=Array.isArray(i.feeds)&&i.feeds.length?i.feeds:["forYou"];e.includes("all")&&this.loggingService.warn('NotificationService: cross-organization notifications only support the "forYou" feed; ignoring "all".'),e=e.filter(r=>r==="forYou"),e.length||(e=["forYou"]);let o={enabled:i.enabled??!0,organizationIds:i.organizationIds,excludeOrganizationIds:i.excludeOrganizationIds,feeds:e};this.crossOrganizationConfig$.next(o)}catch(i){this.loggingService.catch("Error in NotificationService setCrossOrganizationConfig: ",i)}}getCrossOrganizationConfig(){return this.crossOrganizationConfig$.getValue()}getCrossOrganizationConfig$(){return this.crossOrganizationConfig$.asObservable()}attachCrossOrgIndexListener(){try{this.teardownCrossOrgUserWatcher(),this.crossOrgUserSubscription=this.authService.getUser$().pipe(I(t=>t?.userId),k(),z(t=>!!t),H(t=>(this.loggingService.catch("Error in NotificationService cross-org user watcher: ",t),_))).subscribe(t=>{try{this.teardownCrossOrgPerUserListeners(),this.resetCrossOrgDeltaState(),this.crossOrgNotifications$.next([]),this.bindCrossOrgListenersForUser(t)}catch(i){this.loggingService.catch("Error in NotificationService cross-org user-change handler: ",i)}})}catch(t){this.loggingService.catch("Error in NotificationService attachCrossOrgIndexListener: ",t)}}bindCrossOrgListenersForUser(t){this.crossOrgIndexSubscription=this.commonDbService.dbListener({feature:"userNotificationIndex",properties:{id:B(t),isCollection:!1,useCollectionGroup:!1}}).pipe(H(i=>(this.loggingService.catch("Error in NotificationService cross-org index listener: ",i),_))).subscribe(i=>{try{let e=this.extractIndexOrgTimestamps(i);this.crossOrgIndexTimestamps=e;let o=Object.keys(e);this.crossOrgIndexOrgs=o,this.pruneCrossOrgBufferToAllowedOrgs(),o.length&&this.scheduleCrossOrgFetch()}catch(e){this.loggingService.catch("Error in NotificationService cross-org index snapshot: ",e)}}),this.crossOrgOrgSwitchSubscription=this.docService.getOrganizationConfig$().pipe(I(i=>i?.organizationId??""),k(),lt(),z(([i])=>!!i),H(i=>(this.loggingService.catch("Error in NotificationService cross-org org-switch listener: ",i),_))).subscribe(()=>{this.crossOrgInitialFetchDone=!1,this.crossOrgSeenTimestamps={},this.scheduleCrossOrgFetch()})}extractIndexOrgTimestamps(t){let i={};try{let e=t?.data??t,o=e?.organizationIds??e?.orgs;return Array.isArray(o)?(o.forEach(r=>{typeof r=="string"&&r.length&&(i[r]=0)}),i):(o&&typeof o=="object"&&Object.keys(o).forEach(r=>{if(typeof r=="string"&&r.length){let a=Number(o[r]);i[r]=Number.isFinite(a)?a:0}}),i)}catch(e){return this.loggingService.catch("Error in NotificationService extractIndexOrgTimestamps: ",e),i}}scheduleCrossOrgFetch(){try{let t=Date.now();t-this.lastCrossOrgFetchTime>=this.CROSS_ORG_FETCH_WINDOW_MS?(this.lastCrossOrgFetchTime=t,this.crossOrgFetchPending=!1,this.fetchCrossOrgUserNotifications(),this.armCrossOrgTrailingTimer()):this.crossOrgFetchPending=!0}catch(t){this.loggingService.catch("Error in NotificationService scheduleCrossOrgFetch: ",t)}}pruneCrossOrgBufferToAllowedOrgs(){try{let t=this.crossOrgNotifications$.getValue();if(!t.length)return;let i=this.crossOrgIndexOrgs||[];if(!i.length){this.crossOrgNotifications$.next([]);return}let e=t.filter(o=>i.includes(o?.metadata?.organizationId));e.length!==t.length&&this.crossOrgNotifications$.next(e)}catch(t){this.loggingService.catch("Error in NotificationService pruneCrossOrgBufferToAllowedOrgs: ",t)}}armCrossOrgTrailingTimer(){this.crossOrgFetchTimer&&clearTimeout(this.crossOrgFetchTimer),this.crossOrgFetchTimer=setTimeout(()=>{this.crossOrgFetchPending&&(this.crossOrgFetchPending=!1,this.lastCrossOrgFetchTime=Date.now(),this.fetchCrossOrgUserNotifications())},this.CROSS_ORG_FETCH_WINDOW_MS)}toCrossOrgClientNotification(t){try{if(!t)return null;if(t.notification){let e=this.getClientNotificationObject(t);if(!e)return null;let o=t?.metadata?.organizationId??e?.metadata?.organizationId;return o!=null&&(e.metadata=P(y({},e.metadata||{}),{organizationId:o})),e}let i=t.id??t.notificationId;return i==null?null:t.id!=null?t:P(y({},t),{id:i})}catch(i){return this.loggingService.catch("Error in NotificationService toCrossOrgClientNotification: ",i),null}}resolveCrossOrgSelfHostedData(t){return U(this,null,function*(){try{if(!t?.length)return t;let i=!!this.notificationResolverService?.notificationDataProviderAvailable?.(),e=!!this.usersService?.userDataProviderAvailable?.(),o=!!this.commentAnnotationsResolverService?.commentAnnotationDataProviderAvailable?.();if(!i&&!e&&!o)return t;let r=new Map;for(let n of t){let c=n?.metadata?.clientOrganizationId??n?.metadata?.organizationId??"",s=r.get(c);s?s.push(n):r.set(c,[n])}let a=[];for(let[n,c]of r){let s=c.reduce((f,d,g)=>{let u=d?.notificationId??d?.id??`__cross_org_${g}`;return f[u]=d,f},{});yield this.commonDbUtilsService.formatResponse({feature:"allUserNotifications",data:s,organizationId:n||void 0,shouldAwait:!0,shouldNotificationResolverAwait:!0,shouldCommentAnnotationsResolverAwait:!0});let l=s;i&&(l=this.commonDbUtilsService.mergeNotificationsWithResolvedData({feature:"allUserNotifications",data:l??{}})),e&&(l=this.commonDbUtilsService.mergeUsersWithData({feature:"allUserNotifications",data:l??{}})),o&&(l=this.commonDbUtilsService.mergeCommentAnnotationsWithData({feature:"allUserNotifications",data:l??{}})),a.push(...Object.values(l??{}))}return a}catch(i){return this.loggingService.catch("Error in NotificationService resolveCrossOrgSelfHostedData: ",i),t}})}fetchCrossOrgUserNotifications(){return U(this,null,function*(){let t=this.crossOrgGeneration;if(this.crossOrgResolveRoundInFlight){this.crossOrgFetchPending=!0;return}this.crossOrgResolveRoundInFlight=!0;try{let i=this.crossOrganizationConfig$.getValue(),e=this.docService.getOrganizationConfig()?.organizationId??"",o=!this.crossOrgInitialFetchDone,r=this.crossOrgIndexTimestamps||{},a=o?[]:Object.keys(r).filter(d=>d!==e&&(r[d]??0)>(this.crossOrgSeenTimestamps[d]??-1));if(!o&&!a.length)return;let n=this.buildCrossOrgRequestData(i,e,{isInitial:o,bumpedOrgs:a}),c=yield this.callGetCrossOrgUserNotifications(n);if(t!==this.crossOrgGeneration)return;let s=Array.isArray(c?.pendingPermissionQueries)?c.pendingPermissionQueries:[],l=!!this.userPermissionService?.isClientDevResolverActive?.(),f=!s.length||!l;if(yield this.processCrossOrgResponse(c,{fetchGeneration:t,currentOrg:e,isInitial:o,indexTimestamps:r,advanceCursors:f}),t!==this.crossOrgGeneration||f){f&&t===this.crossOrgGeneration&&this.clearCrossOrgStragglerRetry();return}yield this.runCrossOrgResolveRound(s,{fetchGeneration:t,config:i,currentOrg:e,isInitial:o,bumpedOrgs:a,indexTimestamps:r})}catch(i){this.loggingService.catch("Error in NotificationService fetchCrossOrgUserNotifications: ",i)}finally{this.crossOrgResolveRoundInFlight=!1,this.crossOrgFetchPending&&t===this.crossOrgGeneration&&(this.crossOrgFetchPending=!1,this.lastCrossOrgFetchTime=Date.now(),this.fetchCrossOrgUserNotifications())}})}runCrossOrgResolveRound(t,i){return U(this,null,function*(){try{let e=yield this.userPermissionService.resolveClientSidePermissions(t);if(i.fetchGeneration!==this.crossOrgGeneration)return;let o=this.buildCrossOrgRequestData(i.config,i.currentOrg,{isInitial:i.isInitial,bumpedOrgs:i.bumpedOrgs});o.clientResolvedResults=e;let r=yield this.callGetCrossOrgUserNotifications(o);if(i.fetchGeneration!==this.crossOrgGeneration)return;yield this.processCrossOrgResponse(r,{fetchGeneration:i.fetchGeneration,currentOrg:i.currentOrg,isInitial:i.isInitial,indexTimestamps:i.indexTimestamps,advanceCursors:!0}),i.fetchGeneration===this.crossOrgGeneration&&this.clearCrossOrgStragglerRetry()}catch(e){this.loggingService.catch("Error in NotificationService runCrossOrgResolveRound: ",e),this.armCrossOrgStragglerRetry(i.fetchGeneration)}})}processCrossOrgResponse(t,i){return U(this,null,function*(){if(this.userPermissionService?.getIsContextEnabled?.()&&t?.permissionResults?.length){let l=[...this.userPermissionService?.getPermissionsCache?.()??[],...t.permissionResults];this.userPermissionService?.setPermissionsCache?.(l)}let e=Array.isArray(t?.forYou)?t.forYou:[],o=this.crossOrgIndexOrgs||[],r=l=>o.includes(l),a=e.filter(l=>{let f=l?.metadata?.organizationId;if(f===i.currentOrg)return this.loggingService.log("%c[WB] Cross-org: dropping current-org echo: "+f,"color: orange;"),!1;let d=r(f);return d||this.loggingService.log("%c[WB] Cross-org: dropping entry from un-indexed org: "+f,"color: orange;"),d}),n=yield this.resolveCrossOrgSelfHostedData(a);if(i.fetchGeneration!==this.crossOrgGeneration)return;let c=n.map(l=>this.toCrossOrgClientNotification(l)).filter(l=>!!l),s;i.isInitial?s=c:s=this.mergeCrossOrgForYou(c,this.crossOrgNotifications$.getValue()).filter(l=>r(l?.metadata?.organizationId)),i.advanceCursors&&(Object.keys(i.indexTimestamps).forEach(l=>{this.crossOrgSeenTimestamps[l]=i.indexTimestamps[l]}),this.crossOrgInitialFetchDone=!0),this.crossOrgNotifications$.next(s)})}armCrossOrgStragglerRetry(t){this.crossOrgStragglerRetryUsed||(this.crossOrgStragglerRetryUsed=!0,this.crossOrgStragglerRetryTimer&&clearTimeout(this.crossOrgStragglerRetryTimer),this.crossOrgStragglerRetryTimer=setTimeout(()=>{this.crossOrgStragglerRetryTimer=void 0,t===this.crossOrgGeneration&&this.fetchCrossOrgUserNotifications()},this.CROSS_ORG_STRAGGLER_RETRY_MS))}clearCrossOrgStragglerRetry(){this.crossOrgStragglerRetryUsed=!1,this.crossOrgStragglerRetryTimer&&(clearTimeout(this.crossOrgStragglerRetryTimer),this.crossOrgStragglerRetryTimer=void 0)}callGetCrossOrgUserNotifications(t){return U(this,null,function*(){if(this.adapterSelectorService?.isPortableBackendActive())return this.invokePortableSdkProxyOp("getCrossOrgUserNotifications",y({type:"getCrossOrgUserNotifications"},t));let i=this.authService.getUser(),e=tt(this.functions,Z({url:this.endpointsService.getCloudFunctionUrl("sdkProxy"),apiProxyDomain:this.configService?.getApiProxyDomain()}));return yield ht({methodName:"getCrossOrgUserNotifications",data:y({type:"getCrossOrgUserNotifications"},t),getSdkProxy:e,userId:i?.userId??""})})}buildCrossOrgRequestData(t,i,e){let o=t||{},r=e?.isInitial??!0,a=e?.bumpedOrgs??[],n=Array.isArray(o.organizationIds),c=n?o.organizationIds.filter(g=>!!g).map(g=>dt(g)):[],s=(o.excludeOrganizationIds||[]).filter(g=>!!g).map(g=>dt(g)),l=new Set(s);i&&l.add(i);let f=this.userPermissionService?.getPermissionsCache?.()?.filter(g=>g?.type===X.CONTEXT),d={organizationId:i,excludeOrganizationIds:Array.from(l),timestamp:this.getStartAtTimestamp(),limitToLast:this.CROSS_ORG_PAGE_SIZE,isContextEnabled:this.userPermissionService?.getIsContextEnabled?.(),cachedData:f,isSettingsConfigByOrganization:this.getSettingsConfigByOrganization(),retryConfig:this.userPermissionService?.getPermissionProviderRetryConfig?.()};if(this.userPermissionService?.isClientDevResolverActive?.()&&(d.clientResolverAvailable=!0),r)n&&(d.organizationIds=this.dedupeIncludeOrgs(c,l));else{let g=a.filter(S=>!!S&&!l.has(S));if(n){let S=new Set(c);g=g.filter(D=>S.has(D))}g=Array.from(new Set(g)),d.organizationIds=g;let u={};g.forEach(S=>{u[S]=this.crossOrgSeenTimestamps[S]??this.getStartAtTimestamp()}),d.orgTimestamps=u}return d}dedupeIncludeOrgs(t,i){let e=new Set;return t.filter(o=>o==null||i.has(o)||e.has(o)?!1:(e.add(o),!0))}teardownCrossOrgPerUserListeners(){this.crossOrgGeneration++,this.crossOrgIndexSubscription&&(this.crossOrgIndexSubscription.unsubscribe(),this.crossOrgIndexSubscription=void 0),this.crossOrgOrgSwitchSubscription&&(this.crossOrgOrgSwitchSubscription.unsubscribe(),this.crossOrgOrgSwitchSubscription=void 0),this.crossOrgFetchTimer&&(clearTimeout(this.crossOrgFetchTimer),this.crossOrgFetchTimer=void 0),this.crossOrgFetchPending=!1,this.clearCrossOrgStragglerRetry()}teardownCrossOrgUserWatcher(){this.teardownCrossOrgPerUserListeners(),this.crossOrgUserSubscription&&(this.crossOrgUserSubscription.unsubscribe(),this.crossOrgUserSubscription=void 0)}resetCrossOrgDeltaState(){this.crossOrgIndexOrgs=[],this.crossOrgIndexTimestamps={},this.crossOrgSeenTimestamps={},this.crossOrgInitialFetchDone=!1}resetCrossOrgForUser(){this.teardownCrossOrgPerUserListeners(),this.resetCrossOrgDeltaState(),this.crossOrgNotifications$.getValue().length&&this.crossOrgNotifications$.next([])}teardownCrossOrg(){this.teardownCrossOrgUserWatcher(),this.resetCrossOrgDeltaState(),this.crossOrgNotifications$.next([])}markCrossOrgEntriesRead(t){try{let i=this.crossOrgNotifications$.getValue();if(!i?.length)return;let e=new Set((t||[]).map(n=>n?.id??n?.notificationId).filter(n=>n!=null));if(!e.size)return;let o=!this.getReadNotificationsOnForYouTab(),r=!1,a=o?i.filter(n=>{let c=n?.id??n?.notificationId,s=c!=null&&e.has(c);return s&&(r=!0),!s}):i.map(n=>{let c=n?.id??n?.notificationId;return c!=null&&e.has(c)&&n?.isUnread!==!1?(r=!0,P(y({},n),{isUnread:!1})):n});r&&this.crossOrgNotifications$.next(a)}catch(i){this.loggingService.catch("Error in NotificationService markCrossOrgEntriesRead: ",i)}}subscribeNotificationsData(t,i){this.loggingService.log("%c[WB] Calling FUNCTION: subscribeViewsData","color: green;");let e,o;try{if(t&&(o=ft(t)),i&&typeof i=="object"){let r=Mt(i);e=ft(JSON.stringify(r))}}catch(r){this.loggingService.catch("Error in ViewsService subscribeViewsData: ",r)}return this.authService.getAuthState$().pipe(z(r=>!!r),b(r=>this.isFeatureAllowed({firebaseUser:r})),b(r=>r.featureAllowed?this.iamService.isUserAllowed$().pipe(I(a=>(r.featureAllowed=a,r))):A(r)),b(r=>!r.featureAllowed||r?.user?.organizationId?(this.notifications$.next([]),this.rawNotificationsByIdMap$.next(new Map),this.processedNotifications$.next([]),this.notificationsByIdMap$.next(new Map),this.notificationViews$.next({}),this.setNotificationsByIdMap(),A([])):A(r).pipe(b(a=>this.docService.getDocumentPaths$().pipe(I(n=>(this.documentPaths=n,a.documentPaths=n,a)))),b(a=>this.getDataFromDocumentId(o)))))}isFeatureAllowed(t){return this.configService.getConfig$().pipe(z(i=>!!i),I(i=>P(y({},t),{config:i})),b(i=>this.authService.getUser$().pipe(I(e=>P(y({},i),{user:e})))),b(i=>Rt(i.config,i.user,Tt.NOTIFICATION)?A(P(y({},i),{featureAllowed:!0})):(this.loggingService.warn("Notification feature is not allowed."),A(P(y({},i),{featureAllowed:!1})))))}getDataFromDocumentId(t){return this.databaseService.getDb().pipe(z(i=>!!i),b(i=>{if(this.db=i,this.loggingService.log(this.db),this.configService?.getApiKey()&&this.documentPaths?.views){let e=`${this.configService.getApiKey()}`;this.documentPaths?.organizationId&&(e+=`/${L.FIREBASE_PARTIAL_PATH_ORGANIZATIONS}/${this.documentPaths.organizationId}`);let o=this.realtimeAdapter.rtdbRef(this.db,`${t?e+"/"+L.FIREBASE_PARTIAL_PATH_DOCS+"/"+t+"/"+L.FIREBASE_PARTIAL_PATH_VIEWS+"/":this.documentPaths?.notifications}`);return this.realtimeAdapter.rtdbObjectVal$("notification",o).pipe(H(r=>(this.loggingService.catch("Error in NotificationService getDataFromDocumentId: ",r),A(null))),I(r=>{let a=[],n=new Map;r?.raw&&(Object.keys(r?.raw||{}).forEach(s=>{let l=r?.raw[s];l?.id&&a.push(l)}),a.forEach(s=>{s.id&&n.set(s.id,s)})),this.notifications$.next(a),this.rawNotificationsByIdMap$.next(n);let c=[];r?.processed&&Object.keys(r?.processed||{}).forEach(s=>{let l=r?.processed[s];l?.id&&c.push(l)}),this.processedNotifications$.next(c),this.setNotificationsByIdMap()}))}else return A(null)}))}setNotificationsByIdMap(){try{let t=this.authService.getUser();if(t){let i=this.notificationViews$.getValue(),e;t?.email&&(e=B(t?.email));let o;t?.userId&&(o=B(t?.userId));let r=new Map;this.processedNotifications$.getValue().forEach(n=>{if(n.id&&n?.displayHeadlineMessageTemplate){let c=!1;(e&&n.notifyUsers?.[e]||o&&n.notifyUsers?.[o])&&(c=!0);let s={id:n.id,notificationSource:n.notificationSource,actionType:n.actionType,actionUser:n.actionUser,timestamp:n.timestamp,targetAnnotationId:n.targetAnnotationId,displayHeadlineMessage:this.getNotificationHeadlineMessage(n),displayBodyMessage:this.getNotificationBodyMessage(n),forYou:c,notificationSourceData:n.notificationSourceData},l=this.getRawNotificationById(s.id);if(l?.metadata&&(s.metadata={apiKey:l.metadata.apiKey,organizationId:l.metadata.organizationId,clientOrganizationId:l.metadata.clientOrganizationId,documentId:l.metadata.documentId,clientDocumentId:l.metadata.clientDocumentId,location:l?.location,locationId:l?.locationId}),s?.notificationSource==="comment"&&s?.targetAnnotationId){let f=this.commentService?.getAnnotationById(s.targetAnnotationId);f||l?.annotationData&&(f=l.annotationData),f&&(s.notificationSourceData=this.commentService?.getCommentAnnotationForClient(f))}r.set(n.id,s)}}),r.forEach((n,c)=>{n.isUnread=n?.actionUser?.userSnippylyId!==t?.userSnippylyId&&!i?.notification?.[c]?.views?.[t?.userSnippylyId],r.set(c,n)}),this.notificationsByIdMap$.next(r)}}catch(t){this.loggingService.catch("Error in NotificationService setNotificationsByIdMap: ",t)}}getClientNotificationObject({processed:t,raw:i,metadata:e,views:o,notification:r}){try{let a=this.authService.getUser(),n=r||t;if(n.id&&n?.displayHeadlineMessageTemplate&&a){let c=null;a?.email&&(c=B(a?.email));let s=null;a?.userId&&(s=B(a?.userId));let l=!1,f=!0;(c&&n.notifyUsers?.[c]||s&&n.notifyUsersByUserId?.[s])&&(l=!0),s&&o?.[s]&&(f=!1);let d={id:n.id};if(r?d=P(y(y({},d),r),{displayHeadlineMessage:this.getNotificationHeadlineMessage(r),displayBodyMessage:this.getNotificationBodyMessage(r),forYou:l,isUnread:f}):d={id:t.id,notificationSource:t.notificationSource,actionType:t.actionType,actionUser:t.actionUser,timestamp:t.timestamp,targetAnnotationId:t.targetAnnotationId,displayHeadlineMessage:this.getNotificationHeadlineMessage(t),displayBodyMessage:this.getNotificationBodyMessage(t),forYou:l,isUnread:f,metadata:e},d?.notificationSource==="comment"&&d?.targetAnnotationId){let g=this.commentService?.getAnnotationById(d.targetAnnotationId);g||r?.notificationSourceData&&(g=r?.notificationSourceData),g||i?.annotationData&&(g=i.annotationData),g&&(d.notificationSourceData=this.commentService?.getCommentAnnotationForClient(g))}return i?.targetAnnotationData?.isCommentResolverUsed&&(d.isCommentResolverUsed=i?.targetAnnotationData?.isCommentResolverUsed),r?.isNotificationResolverUsed&&(d.isNotificationResolverUsed=r.isNotificationResolverUsed),d}return}catch(a){this.loggingService.catch("Error in NotificationService getClientNotificationObject: ",a);return}}getNotificationsForYou$(){return this.notificationsForYou$.asObservable()}getNotificationsByDocumentId$(){return this.notificationsByDocumentIdMap$.asObservable().pipe(I(t=>t?Object.keys(t??{}).map(i=>{let e=t[i].notifications||[],o=e.filter(a=>a.isUnread).length,r=e.length>0&&e[0]?.timestamp||0;return{documentId:i,notifications:t[i]?.notifications,unreadNotificationsCount:o,latestNotificationTimestamp:r,documentMetadata:t[i]?.documentMetadata}}).filter(i=>i.notifications?.length>0).sort((i,e)=>e.latestNotificationTimestamp-i.latestNotificationTimestamp):null))}getAllNotifications$(){return Y([this.getNotificationsByDocumentId$(),this.crossOrgNotifications$.asObservable(),this.getUserScopedAllTabRows$()]).pipe(I(([t,i,e])=>{let o=Array.isArray(i)?i:[],r=Array.isArray(e)?e:[],a=null;if(t&&(a=[],t.forEach(c=>{c.notifications.forEach(s=>{a?.push(s)})})),!o.length&&!r.length)return t?a.sort((c,s)=>s.timestamp-c.timestamp):null;if(!t)return null;let n=a||[];return r.length&&(n=this.mergeCrossOrgForYou(n,r)),o.length&&(n=this.mergeCrossOrgForYou(n,o)),n}))}getUserScopedAllTabRows$(){return Y([this.userScopedNotifications$,this.userNotificationsFromServer$.asObservable()]).pipe(I(([t,i])=>!t?.enabled||!i?.length?[]:i.map(e=>e?.notification??this.getClientNotificationObject(e)).filter(e=>!!e)))}processNotificationData(t){try{let i=t?.annotationData?.metadata,e=this.docService.getOrganizationConfig()?.organizationId;t.metadata=JSON.parse(JSON.stringify(this.docService.getDocumentMetadata(i?.documentId)||{})),t.metadata||(t.metadata={},this.loggingService.catch("Warning in NotificationService updateNotificationDatabase: ","Document metadata not found")),delete t.metadata.locations,t.metadata.documentMetadata=JSON.parse(JSON.stringify(this.docService.getDocumentMetadata(i?.documentId)||{})),t?.metadata?.documentMetadata?.clientDocumentId&&t?.metadata?.documentMetadata?.documentId&&(t.metadata.documentMetadata.documentId=t?.metadata?.documentMetadata?.clientDocumentId),delete t.metadata.documentMetadata.locations,t.metadata.organizationMetadata=JSON.parse(JSON.stringify(e?this.docService.getOrganizationMetadata(e)||{}:{})),t?.metadata?.organizationMetadata?.clientOrganizationId&&t?.metadata?.organizationMetadata?.organizationId&&(t.metadata.organizationMetadata.organizationId=t?.metadata?.organizationMetadata?.clientOrganizationId);let o=this.configService.getApiKey();t.metadata.apiKey=o,t.platform=this.configService.getSF()?"sf":"sdk",t.actionUser=this.authService.getUser();let r=i?.documentId?new pt({apiKey:o,documentId:i.documentId,organizationId:i?.organizationId}):this.docService.getDocumentPaths();t?.actionUser?.organizationId&&(t.metadata.organizationId=r?.organizationId||t.actionUser.organizationId,t.metadata.clientOrganizationId=r?.clientOrganizationId||t.actionUser.clientOrganizationId);let a=this.docService.getLocation();a&&(t.location=a?.location,t.locationId=a?.locationId),this.loggingService.log(`[NOTIFICATION] ${t?.notificationSource} ${t?.actionType}`,t);let n=this.commonDbService.getServerTimestamp(),c=this.notificationUtilsService.formatNotification(t,n);return JSON.parse(JSON.stringify(c))}catch(i){return this.loggingService.catch("Error in NotificationService processNotificationData: ",i),null}}reportDroppedHubPush(t){try{if(!this.notificationsHubDisabled)return;let i=String(t?.notificationSource??"comment");if(this.reportedDroppedHubPushes.has(i))return;this.reportedDroppedHubPushes.add(i),this.loggingService.catch(`Velt [self-hosted]: a client-side notification-hub push (source '${i}') was dropped \u2014 the notifications hub is deliberately disabled on this deployment (no-egress). Whatever this push fed (in-app notification, email, or webhook fan-out) will not happen for this source.`,void 0,void 0,!0)}catch{}}updateNotificationDatabase(t){try{if(!this.notificationsDb){this.reportDroppedHubPush(t);return}let i=this.realtimeAdapter.rtdbRef(this.notificationsDb),e=this.processNotificationData(t);try{let o=wt(t?.annotationData);if(o&&e&&typeof e=="object"){e.visibility=o;let r=Object.values(t?.annotationData?.subscribedUsers||{}).map(n=>n?.user?.userId).filter(n=>!!n),a=Pt(t?.annotationData,r);a.length&&(e.deniedForYouUsers=[...new Set([...e.deniedForYouUsers??[],...a])])}}catch(o){this.loggingService.catch("Error applying notification visibility in updateNotificationDatabase: ",o)}this.realtimeAdapter.rtdbPush("notificationIndex",i,JSON.parse(JSON.stringify(e)))}catch(i){this.loggingService.catch("Error in NotificationService updateNotificationDatabase: ",i)}}getRawNotifications$(){return this.notifications$.asObservable()}getProcessedNotifications$(){return this.processedNotifications$.asObservable()}getNotifications$(t){return this.authService.getUser$().pipe(b(i=>i?i.organizationId?this.getAllNotifications$().pipe(b(e=>this.notificationsForYou$.pipe(I(o=>{if(e||o){let r=new Map;return(!t?.type||["all","documents"].includes(t.type))&&(e||[]).forEach(a=>{a.id&&r.set(a.id,a)}),(!t?.type||["all","forYou"].includes(t.type))&&(o||[]).forEach(a=>{a.id&&!r.has(a.id)&&r.set(a.id,a)}),Array.from(r.values()).sort((a,n)=>(n.timestamp||0)-(a.timestamp||0))}else return null})))):this.notificationsByIdMap$.asObservable().pipe(I(e=>Array.from(e.values())),I(e=>e.sort((o,r)=>r.timestamp-o.timestamp)),bt()):A(null)),k(zt))}getRawNotificationById(t){try{return this.rawNotificationsByIdMap$.getValue()?.get(t)}catch(i){this.loggingService.catch("Error in NotificationService getRawNotificationById: ",i);return}}setNotificationViews(t){try{this.notificationViews$.next(t),this.setNotificationsByIdMap()}catch(i){this.loggingService.catch("Error in NotificationService setNotificationViews: ",i)}}getNotificationHeadlineMessage(t){try{let i=this.authService.getUser();if(t?.displayHeadlineMessageTemplate&&t?.displayHeadlineMessageTemplateData){let e=t.displayHeadlineMessageTemplate,o=t.displayHeadlineMessageTemplateData,r=/\{(\w+)\}/g,a=e.replace(r,(n,c)=>(c==="actionUser"||c==="recipientUser")&&o[c]?i?.email&&o[c].email===i?.email||i?.userId&&o[c]?.userId===i?.userId?"You":o[c].name||o[c].email||' <velt-skeleton-loader width="50px" height="20px" border-radius="4px"></velt-skeleton-loader> ':o[c]?o[c]:n);return this.domService.sanitizeHtml(a)}return this.domService.sanitizeHtml(t.displayHeadlineMessageTemplate||"")}catch(i){return this.loggingService.catch("Error in NotificationService getNotificationHeadlineMessage: ",i),""}}getNotificationBodyMessage(t){try{if(t?.displayBodyMessageTemplate&&t?.displayBodyMessageTemplateData){let i=t?.displayBodyMessageTemplate;return t?.displayBodyMessageTemplateData&&t?.displayBodyMessageTemplateData?.users?.forEach(e=>{if(e?.userId){let o=this.usersService.getUserById(e?.userId);i=i?.replaceAll(`{{${e.userId}}}`,o?.name||o?.email||'<velt-skeleton-loader width="50px" height="20px" border-radius="4px"></velt-skeleton-loader>'),i=i?.replaceAll(`@User ${e.userId}`,o?.name||o?.email||'<velt-skeleton-loader width="50px" height="20px" border-radius="4px"></velt-skeleton-loader>')}}),this.domService.sanitizeHtml(i)}return this.domService.sanitizeHtml(t.displayBodyMessage||"")}catch(i){return this.loggingService.catch("Error in NotificationService getNotificationBodyMessage: ",i),""}}setHistoryPanelVisibility(t,i=!1,e=!1){try{t?document.querySelector(L.TAGS.VELT_NOTIFICATIONS_HISTORY_PANEL)?this.historyPanelVisible$.next(t):this.loggingService.catch("Error in NotificationService setHistoryPanelVisibility: ",`<${L.TAGS.VELT_NOTIFICATIONS_HISTORY_PANEL}> tag is not added.`):this.historyPanelVisible$.next(t),t?this.analyticsService.trackEvent(V.Events.Notifications.NOTIFICATION_HISTORY_PANEL_OPENED):this.analyticsService.trackEvent(V.Events.Notifications.NOTIFICATION_HISTORY_PANEL_CLOSED)}catch{this.loggingService.catch("Error in NotificationService setHistoryPanelVisibility: ",`<${L.TAGS.VELT_NOTIFICATIONS_HISTORY_PANEL}> tag is not added.`)}}toggleHistoryPanelVisibility(t=!1,i=!1){try{this.historyPanelVisible$.value?this.historyPanelVisible$.next(!this.historyPanelVisible$.value):document.querySelector(L.TAGS.VELT_NOTIFICATIONS_HISTORY_PANEL)?(this.historyPanelVisible$.next(!this.historyPanelVisible$.value),this.historyPanelVisible$.value?this.analyticsService.trackEvent(V.Events.Notifications.NOTIFICATION_HISTORY_PANEL_TOGGLED,{action:"closed"}):this.analyticsService.trackEvent(V.Events.Notifications.NOTIFICATION_HISTORY_PANEL_TOGGLED,{action:"opened"})):this.loggingService.catch("Error in NotificationService toggleHistoryPanelVisibility: ",`<${L.TAGS.VELT_NOTIFICATIONS_HISTORY_PANEL}> tag is not added.`)}catch{this.loggingService.catch("Error in NotificationService toggleHistoryPanelVisibility: ",`<${L.TAGS.VELT_NOTIFICATIONS_HISTORY_PANEL}> tag is not added.`)}}getHistoryPanelVisibility$(){return this.historyPanelVisible$.asObservable()}setNotificationsAsRead(t){return U(this,null,function*(){try{let i=JSON.parse(JSON.stringify(this.getUserNotificationsFromServer()??[]));if(t?.length){for(let a=0;a<t.length;a+=50){let c=t.slice(a,a+50).filter(f=>f?.id),s=c.map(f=>this.setNotificationAsRead({notification:f,userNotifications:JSON.parse(JSON.stringify(i))})),l=yield Promise.all(s);c.forEach((f,d)=>{let g=l[d];if(!g.some(S=>S.notificationId===f.id))i=i.filter(S=>S.notificationId!==f.id);else{let S=i.find(E=>E.notificationId===f.id),D=g.find(E=>E.notificationId===f.id);S&&D?.views&&(S.views=D.views)}})}let o=JSON.parse(JSON.stringify(this.notificationsByDocumentIdMap$.getValue()||{}));t.forEach(a=>{let n=a.metadata?.documentId;if(n&&o?.[n]){let c=o?.[n]?.notifications||[],s=c.find(l=>l.id===a.id);s&&(s.isUnread=!1),o[n].notifications=c}}),this.notificationsByDocumentIdMap$.next(o),this.markCrossOrgEntriesRead(t),!q(i,this.getUserNotificationsFromServer())&&this.setUserNotificationsFromServer(i)}}catch(i){this.loggingService.catch("Error in NotificationService setNotificationsAsRead: ",i)}})}setAllNotificationsAsRead(t){return U(this,null,function*(){try{if(t?.tabId==="for-you"){let i=this.notificationsForYou$.value||[];this.setNotificationsAsRead(i)}else this.getNotifications$().pipe(W(1)).subscribe(i=>{i&&this.setNotificationsAsRead(i)})}catch(i){this.loggingService.catch("Error in NotificationService setAllNotificationsAsRead: ",i)}})}getUnreadNotificationsCount$(){try{return this.notificationsForYou$.pipe(I(t=>t?.filter(e=>e?.isUnread)?.length??null),b(t=>this.getNotifications$().pipe(I(i=>{let e=i?.filter(o=>o?.isUnread)?.length??null;return{forYou:t,all:e}}))))}catch(t){return this.loggingService.catch("Error in NotificationService getUnreadNotificationsCount$: ",t),A({forYou:null,all:null})}}setNotificationAsRead(e){return U(this,arguments,function*({notification:t,userNotifications:i}){try{let o=this.authService.getUser();if(o&&t?.id){let r=B(o?.userId),{metadata:a}=t;if(a){let{apiKey:n,organizationId:c,documentId:s}=a;if(n&&c&&s&&r){let l=yield this.commonDbService.getData({feature:"docNotification",properties:{id:t.id,organizationId:c,documentId:s,apiKey:n}});l?.notificationId&&(l?.views?.[r]||(l.views||(l.views={}),l.views[r]={timestamp:Date.now()},this.commonDbService.updateData({feature:"docNotificationViews",properties:{id:t.id,organizationId:c,documentId:s,apiKey:n},data:l})));let f=yield this.commonDbService.getData({feature:"userNotification",properties:{id:t.id,userId:r,documentId:s,organizationId:c}});if(f?.notificationId){if(!this.getReadNotificationsOnForYouTab())yield this.commonDbService.deleteData({feature:"userNotification",properties:{id:t.id,userId:r,documentId:s,organizationId:c}}),i=i.filter(d=>d.notificationId!==t.id);else if(!f?.views?.[r]){f.views||(f.views={}),f.views[r]={timestamp:Date.now()};let d=i.find(g=>g.notificationId===t.id);d&&(d.views=f.views),this.commonDbService.updateData({feature:"userNotificationViews",properties:{id:t.id,userId:r,documentId:s,organizationId:c},data:f})}}}}}return i}catch(o){return this.loggingService.catch("Error in NotificationService setNotificationAsRead: ",o),i}})}setMaxDays(t){try{t>0?this.maxNotificationDays$.next(t):this.maxNotificationDays$.next(15)}catch(i){this.loggingService.catch("Error in NotificationService setMaxDays: ",i)}}setTabConfig(t){try{t&&this.tabConfig$.next(t)}catch(i){this.loggingService.catch("Error in NotificationService setTabConfig: ",i)}}getTabConfig$(){return this.tabConfig$.asObservable()}getTabConfig(){return this.tabConfig$.value}enableReadNotificationsOnForYouTab(){this.readNotificationsOnForYouTab$.next(!0)}disableReadNotificationsOnForYouTab(){this.readNotificationsOnForYouTab$.next(!1)}getReadNotificationsOnForYouTab$(){return this.readNotificationsOnForYouTab$.asObservable()}getReadNotificationsOnForYouTab(){return this.readNotificationsOnForYouTab$.value}enableCurrentDocumentOnly(){try{if(this.currentDocumentOnly$.value===!0)return;this.currentDocumentOnly$.next(!0)}catch(t){this.loggingService.catch("Error in NotificationService enableCurrentDocumentOnly: ",t)}}disableCurrentDocumentOnly(){try{if(this.currentDocumentOnly$.value===!1)return;this.currentDocumentOnly$.next(!1)}catch(t){this.loggingService.catch("Error in NotificationService disableCurrentDocumentOnly: ",t)}}getCurrentDocumentOnly$(){return this.currentDocumentOnly$.asObservable()}getCurrentDocumentOnly(){return this.currentDocumentOnly$.value}markNotificationAsReadById(t){return U(this,null,function*(){try{this.getNotifications$().pipe(W(1)).subscribe(i=>{if(i){let e=i.filter(o=>o.id===t);this.setNotificationsAsRead(e)}})}catch(i){this.loggingService.catch("Error in NotificationService markNotificationAsReadById: ",i)}})}getOwnDocumentMetadata(t){try{let i=t==null||t===""?null:this.docService.getDocumentMetadata(String(t));return i?JSON.parse(JSON.stringify(i)):null}catch(i){return this.loggingService.catch("Error in NotificationService getOwnDocumentMetadata: ",i),null}}getAllowedDocumentMetadataByDocumentId(t){try{return this.allowedDocumentMetadataMap$.value?.[t]||null}catch(i){return this.loggingService.catch("Error in NotificationService getAllowedDocumentMetadataByDocumentId: ",i),null}}setSettingsConfig(t){try{this.enableSettings$.value&&this.settingsConfig$.next(t)}catch(i){this.loggingService.catch("Error in NotificationService setSettingsConfig: ",i)}}setSettingsConfigWithDB(t){try{this.enableSettings$.value&&(this.settingsConfig$.next(t),this.updateSettingsConfigToDb())}catch(i){this.loggingService.catch("Error in NotificationService setSettingsConfigWithDB: ",i)}}getSettingsConfig$(){return this.settingsConfig$.asObservable()}getSettingsConfig(){return this.settingsConfig$.value}setMuteAllNotifications(){try{this.muteAllNotifications$.value!==!0&&this.muteAllNotifications$.next(!0)}catch(t){this.loggingService.catch("Error in NotificationService setSettingsMuteAll: ",t)}}getMuteAllNotifications$(){return this.muteAllNotifications$.asObservable()}getMuteAllNotifications(){return this.muteAllNotifications$.value}enableSettings(){try{this.enableSettings$.value!==!0&&this.enableSettings$.next(!0)}catch(t){this.loggingService.catch("Error in NotificationService enableSettings: ",t)}}enableSettingsConfigByOrganization(){try{this.getSettingsConfigByOrganization()!==!0&&this.setSettingsConfigByOrganization$.next(!0)}catch(t){this.loggingService.catch("Error in NotificationService enableSettingsConfigByOrganization: ",t)}}disableSettingsConfigByOrganization(){try{this.getSettingsConfigByOrganization()!==!1&&this.setSettingsConfigByOrganization$.next(!1)}catch(t){this.loggingService.catch("Error in NotificationService disableSettingsConfigByOrganization: ",t)}}getSettingsConfigByOrganization$(){return this.setSettingsConfigByOrganization$.asObservable()}getSettingsConfigByOrganization(){return this.setSettingsConfigByOrganization$.value}enableSelfNotifications(){try{this.selfNotifications$.value!==!0&&this.selfNotifications$.next(!0)}catch(t){this.loggingService.catch("Error in NotificationService enableSelfNotifications: ",t)}}disableSelfNotifications(){try{this.selfNotifications$.value!==!1&&this.selfNotifications$.next(!1)}catch(t){this.loggingService.catch("Error in NotificationService disableSelfNotifications: ",t)}}enableUserScopedNotifications(t){try{if(t&&typeof t=="object"&&t.enabled===!1){this.disableUserScopedNotifications();return}this.userScopedNotifications$.next({enabled:!0,limit:gi(t?.limit)})}catch(i){this.loggingService.catch("Error in NotificationService enableUserScopedNotifications: ",i)}}disableUserScopedNotifications(){try{this.userScopedNotifications$.value.enabled!==!1&&this.userScopedNotifications$.next({enabled:!1,limit:this.userScopedNotifications$.value.limit})}catch(t){this.loggingService.catch("Error in NotificationService disableUserScopedNotifications: ",t)}}disableSettings(){try{this.enableSettings$.value!==!1&&this.enableSettings$.next(!1)}catch(t){this.loggingService.catch("Error in NotificationService disableSettings: ",t)}}getEnableSettings$(){return this.enableSettings$.asObservable()}getEnableSettings(){return this.enableSettings$.value}setSettingsInitialConfig(t){try{let i=!1;if(t.forEach(e=>{["email","inbox"].includes(e.id)&&(i=!e.values?.every(o=>["ALL","NONE","MINE"].includes(o.id)))}),i){this.loggingService.catch("Invalid config values for email or inbox, It should have only ALL, NONE, MINE values");return}this.settingsInitialConfig$.next(t)}catch(i){this.loggingService.catch("Error in NotificationService setSettingsInitialConfig: ",i)}}getSettingsInitialConfig$(){return this.settingsInitialConfig$.asObservable()}getSettingsInitialConfig(){return this.settingsInitialConfig$.value}updateSettingsConfigToDb(t){return U(this,null,function*(){try{let i=this.authService.getUser(),e=B(i?.userId??""),o=this.docService.getDocumentPaths(),r=this.docService.getOrganizationConfig(),a=o?.organizationId??r?.organizationId,n=o?.clientOrganizationId??r?.clientOrganizationId,c={apiKey:this.configService.getApiKey(),organizationId:a,documentId:o?.documentId,clientOrganizationId:n,clientDocumentId:o?.clientDocumentId,userId:e,clientUserId:this.authService.getUser()?.userId};e&&this.getEnableSettings()&&this.enableSettings$.value&&(this.getSettingsConfigByOrganization()?this.docService.addUserInfoToOrganization({organizationId:n??i?.clientOrganizationId??"",user:{userId:i?.userId??""},notificationsConfig:t||this.settingsConfig$.getValue()}):o?.documentId&&(yield this.commonDbService.updateData({feature:"userConfig",properties:{documentId:o?.documentId,userId:e},data:{id:o?.documentId,notificationsConfig:t||this.settingsConfig$.getValue(),metadata:c}})))}catch(i){this.loggingService.catch("Error in NotificationService updateSettingsConfigToDb: ",i)}})}openNotificationsPanel(){try{this.notificationsPanelVisible$.next(!0)}catch(t){this.loggingService.catch("Error in NotificationService openNotificationsPanel: ",t)}}closeNotificationsPanel(){try{this.notificationsPanelVisible$.next(!1)}catch(t){this.loggingService.catch("Error in NotificationService closeNotificationsPanel: ",t)}}getNotificationsPanelVisible$(){return this.notificationsPanelVisible$.asObservable()}getNotificationsPanelVisible(){return this.notificationsPanelVisible$.value}};m.\u0275fac=function(i){return new(i||m)(N(Dt),N(Ht),N(ot),N(kt),N(ri),N(oi),N(st),N(nt),N(at),N(Jt),N(ni),N(Zt),N(si),N(et),N(ci),N(rt),N(Ct),N(ai),N(qt),N(it),N(Qt),N(Xt))},m.\u0275prov=K({token:m,factory:m.\u0275fac,providedIn:"root"});let v=m;return v})();export{ci as a,ce as b};
@@ -1 +1 @@
1
- import{Cj as s,Ra as c,Za as o}from"./chunk-LPTIQD5G.js";var n=(()=>{let r=class r{constructor(t){this.domService=t}transform(t){try{return this.domService.sanitizeHtml(t)}catch{return t}}};r.\u0275fac=function(i){return new(i||r)(c(s,16))},r.\u0275pipe=o({name:"sanitizeHtml",type:r,pure:!0});let e=r;return e})();export{n as a};
1
+ import{Fj as s,Ra as c,Za as o}from"./chunk-2OZEFTFU.js";var n=(()=>{let r=class r{constructor(t){this.domService=t}transform(t){try{return this.domService.sanitizeHtml(t)}catch{return t}}};r.\u0275fac=function(i){return new(i||r)(c(s,16))},r.\u0275pipe=o({name:"sanitizeHtml",type:r,pure:!0});let e=r;return e})();export{n as a};
@@ -1 +1 @@
1
- import{Ga as k,Ha as z,Ja as Z,xa as B,ya as F}from"./chunk-F76UYITJ.js";import{Bb as s,Ha as c,Kb as j,Ra as g,Wa as W,Zi as b,_a as T,a as x,ab as p,ac as H,ba as I,dc as w,ea as D,ec as R,fb as C,hc as L,l as _,nb as v,ob as y,pb as M,qb as S,sa as E,ub as h,v as O,vb as u,ya as P}from"./chunk-LPTIQD5G.js";var A=(()=>{let a=class a{constructor(e){this.loggingService=e,this.wireframeMap=new _(new Map);try{this.loggingService.log("%c[WB] Creating CLASS: WireframeService","color: blue;")}catch(t){this.loggingService.catch("Error in WireframeService constructor: ",t)}}setWireframe(e,t){try{let r=this.wireframeMap.value,o=r.get(e),i=t.children.length>0||t.innerHTML?.trim()?.length>0,d=o&&(o.children.length>0||o.innerHTML?.trim()?.length>0);(!o||i&&!d)&&(r.set(e,t),this.wireframeMap.next(r))}catch(r){this.loggingService.catch("Error in WireframeService setWireframe: ",r)}}setWireframeMap(e){try{let t=this.wireframeMap.value;e.forEach((r,o)=>{let i=t.get(o),d=r.children.length>0||r.innerHTML?.trim()?.length>0,f=i&&(i.children.length>0||i.innerHTML?.trim()?.length>0);(!i||d&&!f)&&t.set(o,r)}),this.wireframeMap.next(t)}catch(t){this.loggingService.catch("Error in WireframeService setWireframeMap: ",t)}}getWireframe(e,t=!0){try{let r=this.wireframeMap.value,o=r.get(e);if(!o&&t){let i=e?.split("---")[0];i&&(o=r.get(i))}return o&&(o?.children?.length>0||o?.innerHTML?.trim()?.length>0)?o:void 0}catch(r){this.loggingService.catch("Error in WireframeService getWireframe: ",r);return}}getConditionElement(e,t=!0){try{let r=this.wireframeMap.value,o=r.get(e);if(!o&&t){let i=e?.split("---")[0];i&&(o=r.get(i))}return o}catch(r){this.loggingService.catch("Error in WireframeService getConditionElement: ",r);return}}getWireframe$(e,t=!0){return this.wireframeMap.asObservable().pipe(O(r=>this.getWireframe(e,t)))}setChildren(e){try{this.wireframeMap.next(e)}catch(t){this.loggingService.catch("Error in WireframeService setChildren: ",t)}}getWireframeMap(){return this.wireframeMap.value}};a.\u0275fac=function(t){return new(t||a)(D(b))},a.\u0275prov=I({token:a,factory:a.\u0275fac,providedIn:"root"});let n=a;return n})();var N=n=>({componentConfigSignal:n}),U=(n,a)=>({condition:n,data:a}),q=(n,a,l,e,t)=>({template:n,context:a,componentName:"velt-confirm-dialog-wireframe",variant:l,setIfCondition:e,componentElementRef:t});function J(n,a){if(n&1&&(h(0),S(1,"app-confirm-dialog-title",5)(2,"app-confirm-dialog-message",5)(3,"app-confirm-dialog-preview",5),y(4,"div",6),S(5,"app-confirm-dialog-reject",5)(6,"app-confirm-dialog-approve",5),M(),u()),n&2){let l=s(3);c(),v("componentConfigSignal",l.componentConfigSignal),c(),v("componentConfigSignal",l.componentConfigSignal),c(),v("componentConfigSignal",l.componentConfigSignal),c(2),v("componentConfigSignal",l.componentConfigSignal),c(),v("componentConfigSignal",l.componentConfigSignal)}}function K(n,a){if(n&1&&(h(0),p(1,J,7,5,"ng-container",4),u()),n&2){let l=s().ngIf,e=s();c(),v("veltDynamicTemplate",L(3,q,e.template,w(1,N,e.componentConfigSignal),l==null?null:l.variant,e.setIfCondition.bind(e),e.elementRef))}}function Q(n,a){if(n&1&&(h(0),p(1,K,2,9,"ng-container",3),u()),n&2){let l=s();c(),v("veltIf",R(3,U,l.conditionSignal(),w(1,N,l.componentConfigSignal)))}}var pe=(()=>{let a=class a extends Z{constructor(e,t,r,o,i,d,f){super(i,o,void 0,void 0,void 0,f,e),this.loggingService=e,this.dialogRef=t,this.wireframeService=r,this.themeService=o,this.elementRef=i,this.dynamicDataService=f,this.subscriptions=[],this.componentConfigSignal=E({title:"",message:"",yesButton:"",noButton:"",variant:"",type:"",closeDialog:this.closeDialog.bind(this)}),this.componentId="velt-confirm-dialog",this.veltElement=!0;try{d&&(this.componentConfigSignal.update(m=>(m=x(x({},m),d),m)),d?.darkMode&&[!0,!1].includes(d?.darkMode)&&super.setComponentDarkMode(d?.darkMode)),this.setZIndex()}catch(m){this.loggingService.catch("Error in ConfirmDialogComponent constructor: ",m)}}ngOnInit(){try{this.loggingService.log("%c[WB] Calling FUNCTION: ngOnInit","color: green;");let e="velt-confirm-dialog-wireframe";super.ngOnInit(),this.componentConfigSignal()?.variant&&(e+=`---${this.componentConfigSignal()?.variant}`),this.subscriptions.push(this.wireframeService.getWireframe$(e).subscribe(t=>{if(t){let r=document.createElement(t.tagName);r.innerHTML=t.innerHTML,this.template=r}}))}catch(e){this.loggingService.catch("Error in ConfirmDialogComponent OnInit: ",e)}}ngOnDestroy(){super.ngOnDestroy();try{this.subscriptions.forEach(e=>e.unsubscribe())}catch(e){this.loggingService.catch("Error in ConfirmDialogComponent OnDestroy: ",e)}}setZIndex(){try{if(this.dialogRef){let e=this.dialogRef._overlayRef;e&&(e.backdropElement&&(e.backdropElement.style.zIndex="2147483647"),e.hostElement&&(e.hostElement.style.zIndex="2147483647"))}}catch(e){this.loggingService.catch("Error in ConfirmDialogComponent setZIndex: ",e)}}closeDialog(e){try{this.dialogRef.close(e)}catch(t){this.loggingService.catch("Error in ConfirmDialogComponent closeDialog: ",t)}}get variantClass(){return X(this.componentConfigSignal()?.type)}};a.\u0275fac=function(t){return new(t||a)(g(b),g(B),g(A),g(z),g(P),g(F,8),g(k))},a.\u0275cmp=W({type:a,selectors:[["snippyly-confirm-dialog"]],hostVars:1,hostBindings:function(t,r){t&2&&C("data-velt-element",r.veltElement)},standalone:!1,features:[H([k]),T],decls:3,vars:6,consts:[["floatingConfirmationRef",""],[1,"velt-confirm-dialog",3,"ngClass","snippylyOverlay","snippylyOverlayZIndex","snippylyOverlayBackdropZIndex"],[4,"ngIf"],[4,"veltIf"],[4,"veltDynamicTemplate"],[3,"componentConfigSignal"],["mat-dialog-actions","",1,"velt-confirm-dialog-actions"]],template:function(t,r){if(t&1&&(y(0,"div",1,0),p(2,Q,2,6,"ng-container",2),M()),t&2){let o=j(1);v("ngClass",r.variantClass)("snippylyOverlay",o)("snippylyOverlayZIndex",1200)("snippylyOverlayBackdropZIndex",1100),C("data-testid",r.componentId),c(2),v("ngIf",r.componentConfigSignal())}},styles:["html[_ngcontent-%COMP%]{--velt-base-rem-unit: 1}*[data-snippyly-element=true][_ngcontent-%COMP%], *[data-velt-element=true][_ngcontent-%COMP%]{font-family:var(--velt-default-font-family)}velt-wireframe[_ngcontent-%COMP%]{display:none!important}body.velt-pin-dragging[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{pointer-events:none!important}[_nghost-%COMP%] *[_ngcontent-%COMP%]{outline:0}[_nghost-%COMP%]{--velt-green: var(--velt-light-mode-green);--velt-magenta: var(--velt-light-mode-magenta);--velt-amber: var(--velt-light-mode-amber);--velt-purple: var(--velt-light-mode-purple);--velt-cyan: var(--velt-light-mode-cyan);--velt-orange: var(--velt-light-mode-orange);--velt-black: var(--velt-light-mode-black);--velt-white: var(--velt-light-mode-white);--velt-gray: var(--velt-light-mode-gray);--velt-error: var(--velt-light-mode-error);--velt-error-hover: var(--velt-light-mode-error-hover);--velt-error-foreground: var(--velt-light-mode-error-foreground);--velt-error-light: var(--velt-light-mode-error-light);--velt-error-transparent: var(--velt-light-mode-error-transparent);--velt-warning: var(--velt-light-mode-warning);--velt-warning-hover: var(--velt-light-mode-warning-hover);--velt-warning-foreground: var(--velt-light-mode-warning-foreground);--velt-warning-light: var(--velt-light-mode-warning-light);--velt-warning-transparent: var(--velt-light-mode-warning-transparent);--velt-agent-accent: #4495ff;--velt-agent-accent-transparent: rgba(68, 149, 255, .2);--velt-success: var(--velt-light-mode-success);--velt-success-hover: var(--velt-light-mode-success-hover);--velt-success-foreground: var(--velt-light-mode-success-foreground);--velt-success-light: var(--velt-light-mode-success-light);--velt-success-transparent: var(--velt-light-mode-success-transparent);--velt-accent: var(--velt-light-mode-accent);--velt-accent-text: var(--velt-light-mode-accent-text);--velt-accent-hover: var(--velt-light-mode-accent-hover);--velt-accent-foreground: var(--velt-light-mode-accent-foreground);--velt-accent-light: var(--velt-light-mode-accent-light);--velt-accent-transparent: var(--velt-light-mode-accent-transparent);--velt-text-0: var(--velt-light-mode-text-0);--velt-text-1: var(--velt-light-mode-text-1);--velt-text-2: var(--velt-light-mode-text-2);--velt-text-3: var(--velt-light-mode-text-3);--velt-text-4: var(--velt-light-mode-text-4);--velt-text-5: var(--velt-light-mode-text-5);--velt-text-6: var(--velt-light-mode-text-6);--velt-text-7: var(--velt-light-mode-text-7);--velt-text-8: var(--velt-light-mode-text-8);--velt-text-9: var(--velt-light-mode-text-9);--velt-text-10: var(--velt-light-mode-text-10);--velt-text-11: var(--velt-light-mode-text-11);--velt-text-12: var(--velt-light-mode-text-12);--velt-background-0: var(--velt-light-mode-background-0);--velt-background-1: var(--velt-light-mode-background-1);--velt-background-2: var(--velt-light-mode-background-2);--velt-background-3: var(--velt-light-mode-background-3);--velt-background-4: var(--velt-light-mode-background-4);--velt-background-5: var(--velt-light-mode-background-5);--velt-background-6: var(--velt-light-mode-background-6);--velt-background-7: var(--velt-light-mode-background-7);--velt-background-8: var(--velt-light-mode-background-8);--velt-background-9: var(--velt-light-mode-background-9);--velt-background-10: var(--velt-light-mode-background-10);--velt-border-0: var(--velt-light-mode-border-0);--velt-border-1: var(--velt-light-mode-border-1);--velt-border-2: var(--velt-light-mode-border-2);--velt-border-3: var(--velt-light-mode-border-3);--velt-border-4: var(--velt-light-mode-border-4);--velt-border-5: var(--velt-light-mode-border-5);--velt-border-6: var(--velt-light-mode-border-6);--velt-border-7: var(--velt-light-mode-border-7);--velt-border-8: var(--velt-light-mode-border-8);--velt-border-9: var(--velt-light-mode-border-9);--velt-border-10: var(--velt-light-mode-border-10);--velt-background-transparent: var(--velt-light-mode-background-transparent);--velt-border-transparent: var(--velt-light-mode-border-transparent);--velt-animation-transparent: var(--velt-light-mode-animation-transparent)}[dark][_nghost-%COMP%]{--velt-green: var(--velt-dark-mode-green);--velt-magenta: var(--velt-dark-mode-magenta);--velt-amber: var(--velt-dark-mode-amber);--velt-purple: var(--velt-dark-mode-purple);--velt-cyan: var(--velt-dark-mode-cyan);--velt-orange: var(--velt-dark-mode-orange);--velt-black: var(--velt-dark-mode-black);--velt-white: var(--velt-dark-mode-white);--velt-gray: var(--velt-dark-mode-gray);--velt-error: var(--velt-dark-mode-error);--velt-error-hover: var(--velt-dark-mode-error-hover);--velt-error-foreground: var(--velt-dark-mode-error-foreground);--velt-error-light: var(--velt-dark-mode-error-light);--velt-error-transparent: var(--velt-dark-mode-error-transparent);--velt-warning: var(--velt-dark-mode-warning);--velt-warning-hover: var(--velt-dark-mode-warning-hover);--velt-warning-foreground: var(--velt-dark-mode-warning-foreground);--velt-warning-light: var(--velt-dark-mode-warning-light);--velt-warning-transparent: var(--velt-dark-mode-warning-transparent);--velt-agent-accent: #4495ff;--velt-agent-accent-transparent: rgba(68, 149, 255, .2);--velt-success: var(--velt-dark-mode-success);--velt-success-hover: var(--velt-dark-mode-success-hover);--velt-success-foreground: var(--velt-dark-mode-success-foreground);--velt-success-light: var(--velt-dark-mode-success-light);--velt-success-transparent: var(--velt-dark-mode-success-transparent);--velt-accent: var(--velt-dark-mode-accent);--velt-accent-text: var(--velt-dark-mode-accent-text);--velt-accent-hover: var(--velt-dark-mode-accent-hover);--velt-accent-foreground: var(--velt-dark-mode-accent-foreground);--velt-accent-light: var(--velt-dark-mode-accent-light);--velt-accent-transparent: var(--velt-dark-mode-accent-transparent);--velt-text-0: var(--velt-dark-mode-text-0);--velt-text-1: var(--velt-dark-mode-text-1);--velt-text-2: var(--velt-dark-mode-text-2);--velt-text-3: var(--velt-dark-mode-text-3);--velt-text-4: var(--velt-dark-mode-text-4);--velt-text-5: var(--velt-dark-mode-text-5);--velt-text-6: var(--velt-dark-mode-text-6);--velt-text-7: var(--velt-dark-mode-text-7);--velt-text-8: var(--velt-dark-mode-text-8);--velt-text-9: var(--velt-dark-mode-text-9);--velt-text-10: var(--velt-dark-mode-text-10);--velt-text-11: var(--velt-dark-mode-text-11);--velt-text-12: var(--velt-dark-mode-text-12);--velt-background-0: var(--velt-dark-mode-background-0);--velt-background-1: var(--velt-dark-mode-background-1);--velt-background-2: var(--velt-dark-mode-background-2);--velt-background-3: var(--velt-dark-mode-background-3);--velt-background-4: var(--velt-dark-mode-background-4);--velt-background-5: var(--velt-dark-mode-background-5);--velt-background-6: var(--velt-dark-mode-background-6);--velt-background-7: var(--velt-dark-mode-background-7);--velt-background-8: var(--velt-dark-mode-background-8);--velt-background-9: var(--velt-dark-mode-background-9);--velt-background-10: var(--velt-dark-mode-background-10);--velt-border-0: var(--velt-dark-mode-border-0);--velt-border-1: var(--velt-dark-mode-border-1);--velt-border-2: var(--velt-dark-mode-border-2);--velt-border-3: var(--velt-dark-mode-border-3);--velt-border-4: var(--velt-dark-mode-border-4);--velt-border-5: var(--velt-dark-mode-border-5);--velt-border-6: var(--velt-dark-mode-border-6);--velt-border-7: var(--velt-dark-mode-border-7);--velt-border-8: var(--velt-dark-mode-border-8);--velt-border-9: var(--velt-dark-mode-border-9);--velt-border-10: var(--velt-dark-mode-border-10);--velt-background-transparent: var(--velt-dark-mode-background-transparent);--velt-border-transparent: var(--velt-dark-mode-border-transparent);--velt-animation-transparent: var(--velt-dark-mode-animation-transparent)}.velt-confirm-dialog[_ngcontent-%COMP%]{width:455px;padding:40px;display:block;box-sizing:border-box;background-color:var(--velt-background-0)}.velt-confirm-dialog-actions[_ngcontent-%COMP%]{justify-content:space-between;gap:var(--velt-spacing-md);min-height:auto} .velt-mat-dialog-container mat-dialog-container .mat-mdc-dialog-surface.mdc-dialog__surface:has(snippyly-confirm-dialog){border-radius:var(--velt-border-radius-xl);padding:0}@media(max-width:768px){.velt-confirm-dialog[_ngcontent-%COMP%]{width:auto;max-width:455px;padding:24px}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog-actions[_ngcontent-%COMP%]{flex-direction:column}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog--approve, .velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog--reject{min-height:44px}}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog-title, .velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog-message, .velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog-preview{padding-left:0;padding-right:0;text-align:left}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog-title{font-size:var(--velt-font-size-xl);line-height:1.3;padding-top:0;padding-bottom:0;margin-bottom:var(--velt-spacing-sm)}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog-message{margin:0 0 var(--velt-spacing-lg);padding-top:0;padding-bottom:0;color:var(--velt-text-1)}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog-preview{margin-bottom:var(--velt-spacing-lg)}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog-actions[_ngcontent-%COMP%]{gap:var(--velt-spacing-md);margin:0;padding:0}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog--approve, .velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog--reject{border-radius:999px;min-height:48px;font-size:var(--velt-font-size-md);font-weight:600}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog--approve:focus-visible, .velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog--reject:focus-visible{outline:2px solid var(--velt-text-0);outline-offset:2px}"],changeDetection:0});let n=a;return n})();function X(n){return n?`velt-confirm-dialog--${n}`:""}export{A as a,pe as b};
1
+ import{Ga as k,Ha as z,Ja as Z,xa as B,ya as F}from"./chunk-JRFA4ZQE.js";import{Bb as s,Ha as c,Kb as j,Ra as g,Wa as W,Zi as b,_a as T,a as x,ab as p,ac as H,ba as I,dc as w,ea as D,ec as R,fb as C,hc as L,l as _,nb as v,ob as y,pb as M,qb as S,sa as E,ub as h,v as O,vb as u,ya as P}from"./chunk-2OZEFTFU.js";var A=(()=>{let a=class a{constructor(e){this.loggingService=e,this.wireframeMap=new _(new Map);try{this.loggingService.log("%c[WB] Creating CLASS: WireframeService","color: blue;")}catch(t){this.loggingService.catch("Error in WireframeService constructor: ",t)}}setWireframe(e,t){try{let r=this.wireframeMap.value,o=r.get(e),i=t.children.length>0||t.innerHTML?.trim()?.length>0,d=o&&(o.children.length>0||o.innerHTML?.trim()?.length>0);(!o||i&&!d)&&(r.set(e,t),this.wireframeMap.next(r))}catch(r){this.loggingService.catch("Error in WireframeService setWireframe: ",r)}}setWireframeMap(e){try{let t=this.wireframeMap.value;e.forEach((r,o)=>{let i=t.get(o),d=r.children.length>0||r.innerHTML?.trim()?.length>0,f=i&&(i.children.length>0||i.innerHTML?.trim()?.length>0);(!i||d&&!f)&&t.set(o,r)}),this.wireframeMap.next(t)}catch(t){this.loggingService.catch("Error in WireframeService setWireframeMap: ",t)}}getWireframe(e,t=!0){try{let r=this.wireframeMap.value,o=r.get(e);if(!o&&t){let i=e?.split("---")[0];i&&(o=r.get(i))}return o&&(o?.children?.length>0||o?.innerHTML?.trim()?.length>0)?o:void 0}catch(r){this.loggingService.catch("Error in WireframeService getWireframe: ",r);return}}getConditionElement(e,t=!0){try{let r=this.wireframeMap.value,o=r.get(e);if(!o&&t){let i=e?.split("---")[0];i&&(o=r.get(i))}return o}catch(r){this.loggingService.catch("Error in WireframeService getConditionElement: ",r);return}}getWireframe$(e,t=!0){return this.wireframeMap.asObservable().pipe(O(r=>this.getWireframe(e,t)))}setChildren(e){try{this.wireframeMap.next(e)}catch(t){this.loggingService.catch("Error in WireframeService setChildren: ",t)}}getWireframeMap(){return this.wireframeMap.value}};a.\u0275fac=function(t){return new(t||a)(D(b))},a.\u0275prov=I({token:a,factory:a.\u0275fac,providedIn:"root"});let n=a;return n})();var N=n=>({componentConfigSignal:n}),U=(n,a)=>({condition:n,data:a}),q=(n,a,l,e,t)=>({template:n,context:a,componentName:"velt-confirm-dialog-wireframe",variant:l,setIfCondition:e,componentElementRef:t});function J(n,a){if(n&1&&(h(0),S(1,"app-confirm-dialog-title",5)(2,"app-confirm-dialog-message",5)(3,"app-confirm-dialog-preview",5),y(4,"div",6),S(5,"app-confirm-dialog-reject",5)(6,"app-confirm-dialog-approve",5),M(),u()),n&2){let l=s(3);c(),v("componentConfigSignal",l.componentConfigSignal),c(),v("componentConfigSignal",l.componentConfigSignal),c(),v("componentConfigSignal",l.componentConfigSignal),c(2),v("componentConfigSignal",l.componentConfigSignal),c(),v("componentConfigSignal",l.componentConfigSignal)}}function K(n,a){if(n&1&&(h(0),p(1,J,7,5,"ng-container",4),u()),n&2){let l=s().ngIf,e=s();c(),v("veltDynamicTemplate",L(3,q,e.template,w(1,N,e.componentConfigSignal),l==null?null:l.variant,e.setIfCondition.bind(e),e.elementRef))}}function Q(n,a){if(n&1&&(h(0),p(1,K,2,9,"ng-container",3),u()),n&2){let l=s();c(),v("veltIf",R(3,U,l.conditionSignal(),w(1,N,l.componentConfigSignal)))}}var pe=(()=>{let a=class a extends Z{constructor(e,t,r,o,i,d,f){super(i,o,void 0,void 0,void 0,f,e),this.loggingService=e,this.dialogRef=t,this.wireframeService=r,this.themeService=o,this.elementRef=i,this.dynamicDataService=f,this.subscriptions=[],this.componentConfigSignal=E({title:"",message:"",yesButton:"",noButton:"",variant:"",type:"",closeDialog:this.closeDialog.bind(this)}),this.componentId="velt-confirm-dialog",this.veltElement=!0;try{d&&(this.componentConfigSignal.update(m=>(m=x(x({},m),d),m)),d?.darkMode&&[!0,!1].includes(d?.darkMode)&&super.setComponentDarkMode(d?.darkMode)),this.setZIndex()}catch(m){this.loggingService.catch("Error in ConfirmDialogComponent constructor: ",m)}}ngOnInit(){try{this.loggingService.log("%c[WB] Calling FUNCTION: ngOnInit","color: green;");let e="velt-confirm-dialog-wireframe";super.ngOnInit(),this.componentConfigSignal()?.variant&&(e+=`---${this.componentConfigSignal()?.variant}`),this.subscriptions.push(this.wireframeService.getWireframe$(e).subscribe(t=>{if(t){let r=document.createElement(t.tagName);r.innerHTML=t.innerHTML,this.template=r}}))}catch(e){this.loggingService.catch("Error in ConfirmDialogComponent OnInit: ",e)}}ngOnDestroy(){super.ngOnDestroy();try{this.subscriptions.forEach(e=>e.unsubscribe())}catch(e){this.loggingService.catch("Error in ConfirmDialogComponent OnDestroy: ",e)}}setZIndex(){try{if(this.dialogRef){let e=this.dialogRef._overlayRef;e&&(e.backdropElement&&(e.backdropElement.style.zIndex="2147483647"),e.hostElement&&(e.hostElement.style.zIndex="2147483647"))}}catch(e){this.loggingService.catch("Error in ConfirmDialogComponent setZIndex: ",e)}}closeDialog(e){try{this.dialogRef.close(e)}catch(t){this.loggingService.catch("Error in ConfirmDialogComponent closeDialog: ",t)}}get variantClass(){return X(this.componentConfigSignal()?.type)}};a.\u0275fac=function(t){return new(t||a)(g(b),g(B),g(A),g(z),g(P),g(F,8),g(k))},a.\u0275cmp=W({type:a,selectors:[["snippyly-confirm-dialog"]],hostVars:1,hostBindings:function(t,r){t&2&&C("data-velt-element",r.veltElement)},standalone:!1,features:[H([k]),T],decls:3,vars:6,consts:[["floatingConfirmationRef",""],[1,"velt-confirm-dialog",3,"ngClass","snippylyOverlay","snippylyOverlayZIndex","snippylyOverlayBackdropZIndex"],[4,"ngIf"],[4,"veltIf"],[4,"veltDynamicTemplate"],[3,"componentConfigSignal"],["mat-dialog-actions","",1,"velt-confirm-dialog-actions"]],template:function(t,r){if(t&1&&(y(0,"div",1,0),p(2,Q,2,6,"ng-container",2),M()),t&2){let o=j(1);v("ngClass",r.variantClass)("snippylyOverlay",o)("snippylyOverlayZIndex",1200)("snippylyOverlayBackdropZIndex",1100),C("data-testid",r.componentId),c(2),v("ngIf",r.componentConfigSignal())}},styles:["html[_ngcontent-%COMP%]{--velt-base-rem-unit: 1}*[data-snippyly-element=true][_ngcontent-%COMP%], *[data-velt-element=true][_ngcontent-%COMP%]{font-family:var(--velt-default-font-family)}velt-wireframe[_ngcontent-%COMP%]{display:none!important}body.velt-pin-dragging[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{pointer-events:none!important}[_nghost-%COMP%] *[_ngcontent-%COMP%]{outline:0}[_nghost-%COMP%]{--velt-green: var(--velt-light-mode-green);--velt-magenta: var(--velt-light-mode-magenta);--velt-amber: var(--velt-light-mode-amber);--velt-purple: var(--velt-light-mode-purple);--velt-cyan: var(--velt-light-mode-cyan);--velt-orange: var(--velt-light-mode-orange);--velt-black: var(--velt-light-mode-black);--velt-white: var(--velt-light-mode-white);--velt-gray: var(--velt-light-mode-gray);--velt-error: var(--velt-light-mode-error);--velt-error-hover: var(--velt-light-mode-error-hover);--velt-error-foreground: var(--velt-light-mode-error-foreground);--velt-error-light: var(--velt-light-mode-error-light);--velt-error-transparent: var(--velt-light-mode-error-transparent);--velt-warning: var(--velt-light-mode-warning);--velt-warning-hover: var(--velt-light-mode-warning-hover);--velt-warning-foreground: var(--velt-light-mode-warning-foreground);--velt-warning-light: var(--velt-light-mode-warning-light);--velt-warning-transparent: var(--velt-light-mode-warning-transparent);--velt-agent-accent: #4495ff;--velt-agent-accent-transparent: rgba(68, 149, 255, .2);--velt-success: var(--velt-light-mode-success);--velt-success-hover: var(--velt-light-mode-success-hover);--velt-success-foreground: var(--velt-light-mode-success-foreground);--velt-success-light: var(--velt-light-mode-success-light);--velt-success-transparent: var(--velt-light-mode-success-transparent);--velt-accent: var(--velt-light-mode-accent);--velt-accent-text: var(--velt-light-mode-accent-text);--velt-accent-hover: var(--velt-light-mode-accent-hover);--velt-accent-foreground: var(--velt-light-mode-accent-foreground);--velt-accent-light: var(--velt-light-mode-accent-light);--velt-accent-transparent: var(--velt-light-mode-accent-transparent);--velt-text-0: var(--velt-light-mode-text-0);--velt-text-1: var(--velt-light-mode-text-1);--velt-text-2: var(--velt-light-mode-text-2);--velt-text-3: var(--velt-light-mode-text-3);--velt-text-4: var(--velt-light-mode-text-4);--velt-text-5: var(--velt-light-mode-text-5);--velt-text-6: var(--velt-light-mode-text-6);--velt-text-7: var(--velt-light-mode-text-7);--velt-text-8: var(--velt-light-mode-text-8);--velt-text-9: var(--velt-light-mode-text-9);--velt-text-10: var(--velt-light-mode-text-10);--velt-text-11: var(--velt-light-mode-text-11);--velt-text-12: var(--velt-light-mode-text-12);--velt-background-0: var(--velt-light-mode-background-0);--velt-background-1: var(--velt-light-mode-background-1);--velt-background-2: var(--velt-light-mode-background-2);--velt-background-3: var(--velt-light-mode-background-3);--velt-background-4: var(--velt-light-mode-background-4);--velt-background-5: var(--velt-light-mode-background-5);--velt-background-6: var(--velt-light-mode-background-6);--velt-background-7: var(--velt-light-mode-background-7);--velt-background-8: var(--velt-light-mode-background-8);--velt-background-9: var(--velt-light-mode-background-9);--velt-background-10: var(--velt-light-mode-background-10);--velt-border-0: var(--velt-light-mode-border-0);--velt-border-1: var(--velt-light-mode-border-1);--velt-border-2: var(--velt-light-mode-border-2);--velt-border-3: var(--velt-light-mode-border-3);--velt-border-4: var(--velt-light-mode-border-4);--velt-border-5: var(--velt-light-mode-border-5);--velt-border-6: var(--velt-light-mode-border-6);--velt-border-7: var(--velt-light-mode-border-7);--velt-border-8: var(--velt-light-mode-border-8);--velt-border-9: var(--velt-light-mode-border-9);--velt-border-10: var(--velt-light-mode-border-10);--velt-background-transparent: var(--velt-light-mode-background-transparent);--velt-border-transparent: var(--velt-light-mode-border-transparent);--velt-animation-transparent: var(--velt-light-mode-animation-transparent)}[dark][_nghost-%COMP%]{--velt-green: var(--velt-dark-mode-green);--velt-magenta: var(--velt-dark-mode-magenta);--velt-amber: var(--velt-dark-mode-amber);--velt-purple: var(--velt-dark-mode-purple);--velt-cyan: var(--velt-dark-mode-cyan);--velt-orange: var(--velt-dark-mode-orange);--velt-black: var(--velt-dark-mode-black);--velt-white: var(--velt-dark-mode-white);--velt-gray: var(--velt-dark-mode-gray);--velt-error: var(--velt-dark-mode-error);--velt-error-hover: var(--velt-dark-mode-error-hover);--velt-error-foreground: var(--velt-dark-mode-error-foreground);--velt-error-light: var(--velt-dark-mode-error-light);--velt-error-transparent: var(--velt-dark-mode-error-transparent);--velt-warning: var(--velt-dark-mode-warning);--velt-warning-hover: var(--velt-dark-mode-warning-hover);--velt-warning-foreground: var(--velt-dark-mode-warning-foreground);--velt-warning-light: var(--velt-dark-mode-warning-light);--velt-warning-transparent: var(--velt-dark-mode-warning-transparent);--velt-agent-accent: #4495ff;--velt-agent-accent-transparent: rgba(68, 149, 255, .2);--velt-success: var(--velt-dark-mode-success);--velt-success-hover: var(--velt-dark-mode-success-hover);--velt-success-foreground: var(--velt-dark-mode-success-foreground);--velt-success-light: var(--velt-dark-mode-success-light);--velt-success-transparent: var(--velt-dark-mode-success-transparent);--velt-accent: var(--velt-dark-mode-accent);--velt-accent-text: var(--velt-dark-mode-accent-text);--velt-accent-hover: var(--velt-dark-mode-accent-hover);--velt-accent-foreground: var(--velt-dark-mode-accent-foreground);--velt-accent-light: var(--velt-dark-mode-accent-light);--velt-accent-transparent: var(--velt-dark-mode-accent-transparent);--velt-text-0: var(--velt-dark-mode-text-0);--velt-text-1: var(--velt-dark-mode-text-1);--velt-text-2: var(--velt-dark-mode-text-2);--velt-text-3: var(--velt-dark-mode-text-3);--velt-text-4: var(--velt-dark-mode-text-4);--velt-text-5: var(--velt-dark-mode-text-5);--velt-text-6: var(--velt-dark-mode-text-6);--velt-text-7: var(--velt-dark-mode-text-7);--velt-text-8: var(--velt-dark-mode-text-8);--velt-text-9: var(--velt-dark-mode-text-9);--velt-text-10: var(--velt-dark-mode-text-10);--velt-text-11: var(--velt-dark-mode-text-11);--velt-text-12: var(--velt-dark-mode-text-12);--velt-background-0: var(--velt-dark-mode-background-0);--velt-background-1: var(--velt-dark-mode-background-1);--velt-background-2: var(--velt-dark-mode-background-2);--velt-background-3: var(--velt-dark-mode-background-3);--velt-background-4: var(--velt-dark-mode-background-4);--velt-background-5: var(--velt-dark-mode-background-5);--velt-background-6: var(--velt-dark-mode-background-6);--velt-background-7: var(--velt-dark-mode-background-7);--velt-background-8: var(--velt-dark-mode-background-8);--velt-background-9: var(--velt-dark-mode-background-9);--velt-background-10: var(--velt-dark-mode-background-10);--velt-border-0: var(--velt-dark-mode-border-0);--velt-border-1: var(--velt-dark-mode-border-1);--velt-border-2: var(--velt-dark-mode-border-2);--velt-border-3: var(--velt-dark-mode-border-3);--velt-border-4: var(--velt-dark-mode-border-4);--velt-border-5: var(--velt-dark-mode-border-5);--velt-border-6: var(--velt-dark-mode-border-6);--velt-border-7: var(--velt-dark-mode-border-7);--velt-border-8: var(--velt-dark-mode-border-8);--velt-border-9: var(--velt-dark-mode-border-9);--velt-border-10: var(--velt-dark-mode-border-10);--velt-background-transparent: var(--velt-dark-mode-background-transparent);--velt-border-transparent: var(--velt-dark-mode-border-transparent);--velt-animation-transparent: var(--velt-dark-mode-animation-transparent)}.velt-confirm-dialog[_ngcontent-%COMP%]{width:455px;padding:40px;display:block;box-sizing:border-box;background-color:var(--velt-background-0)}.velt-confirm-dialog-actions[_ngcontent-%COMP%]{justify-content:space-between;gap:var(--velt-spacing-md);min-height:auto} .velt-mat-dialog-container mat-dialog-container .mat-mdc-dialog-surface.mdc-dialog__surface:has(snippyly-confirm-dialog){border-radius:var(--velt-border-radius-xl);padding:0}@media(max-width:768px){.velt-confirm-dialog[_ngcontent-%COMP%]{width:auto;max-width:455px;padding:24px}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog-actions[_ngcontent-%COMP%]{flex-direction:column}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog--approve, .velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog--reject{min-height:44px}}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog-title, .velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog-message, .velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog-preview{padding-left:0;padding-right:0;text-align:left}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog-title{font-size:var(--velt-font-size-xl);line-height:1.3;padding-top:0;padding-bottom:0;margin-bottom:var(--velt-spacing-sm)}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog-message{margin:0 0 var(--velt-spacing-lg);padding-top:0;padding-bottom:0;color:var(--velt-text-1)}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog-preview{margin-bottom:var(--velt-spacing-lg)}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog-actions[_ngcontent-%COMP%]{gap:var(--velt-spacing-md);margin:0;padding:0}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog--approve, .velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog--reject{border-radius:999px;min-height:48px;font-size:var(--velt-font-size-md);font-weight:600}.velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog--approve:focus-visible, .velt-confirm-dialog--draft[_ngcontent-%COMP%] .velt-confirm-dialog--reject:focus-visible{outline:2px solid var(--velt-text-0);outline-offset:2px}"],changeDetection:0});let n=a;return n})();function X(n){return n?`velt-confirm-dialog--${n}`:""}export{A as a,pe as b};
@@ -1,4 +1,4 @@
1
- import{b as Y}from"./chunk-CPTMJZUQ.js";import{e as _,s as x,t as Q}from"./chunk-VY2FLES5.js";import{C as A,Cj as N,Dj as K,E as g,Ld as w,M as S,Nd as y,O as B,Od as U,Pd as O,U as F,V as H,Y as E,Yf as D,Zi as W,_h as P,_i as L,ba as j,ea as b,g as $,l as C,p as k,pj as R,r as u,sj as M,v as m,w as z}from"./chunk-LPTIQD5G.js";var he=(()=>{let p=class p{constructor(e,t,r,a,s,c,n,i,d,o){this.authService=e,this.commonDbService=t,this.databaseService=r,this.docService=a,this.domService=s,this.loggingService=c,this.metadataService=n,this.commonDbUtils=i,this.configService=d,this.realtimeAdapter=o,this.HEARTBEAT_DURATION=5*1e3,this.heartbeatEnabled$=new C(!1),this.subscriptions=[],this.heartbeatCreatedTimestamps=new Map,this.initializedHeartbeatIds=new Set;try{this.loggingService.log("%c[WB] Creating CLASS: HeartbeatService","color: blue;"),this.heartbeatEnabled$.pipe(S()).subscribe(h=>{h?this.setupHeartbeat():this.teardownHeartbeat()}),this.docService.addPreDocumentIdChangeFunction("heartbeat-service",h=>h?.documentId?this.removeDocumentHeartbeat(h):Promise.resolve())}catch(h){this.loggingService.catch("Error in HeartbeatService constructor: ",h)}}setupWebWorker(e){try{let t=`
1
+ import{b as Y}from"./chunk-UMVEZ34V.js";import{u as _,v as x,w as Q}from"./chunk-GLYYZPJQ.js";import{C as A,E as g,Fj as N,Gj as K,Ld as w,M as S,Nd as y,O as B,Od as U,Pd as O,U as F,V as H,Y as E,Yf as D,Zi as W,_h as P,_i as L,ba as j,ea as b,g as $,l as C,p as k,r as u,rj as R,uj as M,v as m,w as z}from"./chunk-2OZEFTFU.js";var he=(()=>{let p=class p{constructor(e,t,r,a,s,c,n,i,d,o){this.authService=e,this.commonDbService=t,this.databaseService=r,this.docService=a,this.domService=s,this.loggingService=c,this.metadataService=n,this.commonDbUtils=i,this.configService=d,this.realtimeAdapter=o,this.HEARTBEAT_DURATION=5*1e3,this.heartbeatEnabled$=new C(!1),this.subscriptions=[],this.heartbeatCreatedTimestamps=new Map,this.initializedHeartbeatIds=new Set;try{this.loggingService.log("%c[WB] Creating CLASS: HeartbeatService","color: blue;"),this.heartbeatEnabled$.pipe(S()).subscribe(h=>{h?this.setupHeartbeat():this.teardownHeartbeat()}),this.docService.addPreDocumentIdChangeFunction("heartbeat-service",h=>h?.documentId?this.removeDocumentHeartbeat(h):Promise.resolve())}catch(h){this.loggingService.catch("Error in HeartbeatService constructor: ",h)}}setupWebWorker(e){try{let t=`
2
2
  let intervalId;
3
3
  self.addEventListener('message', (event) => {
4
4
  if (event.data === 'start') {
@@ -10,4 +10,4 @@ import{b as Y}from"./chunk-CPTMJZUQ.js";import{e as _,s as x,t as Q}from"./chunk
10
10
  if (intervalId) clearInterval(intervalId);
11
11
  }
12
12
  });
13
- `;if(typeof Worker<"u"){let r=new Blob([t],{type:"application/javascript"});return new Worker(URL.createObjectURL(r))}return}catch(t){this.loggingService.catch("Error in HeartbeatService setupWebWorker: ",t);return}}setupHeartbeat(){try{if(this.loggingService.log("%c[WB] Calling FUNCTION: setupHeartbeat","color: green;"),this.worker=this.setupWebWorker(this.HEARTBEAT_DURATION),this.worker){this.worker.onmessage=()=>{this.authService.getUser()&&this.sendHeartbeat()};let r=this.authService.getUser$().subscribe(a=>{a?(this.worker?.postMessage("start"),this.sendHeartbeat()):this.worker?.postMessage("stop")});this.subscriptions.push(r)}else{let r=this.authService.getUser$().pipe(H(a=>a?A(this.HEARTBEAT_DURATION).pipe(F(0)):k)).subscribe(()=>this.sendHeartbeat());this.subscriptions.push(r)}let e=this.docService.getDocumentPaths$().pipe(g(r=>!!r),E(()=>this.sendHeartbeat())).subscribe();this.subscriptions.push(e);let t=z([this.databaseService.getDb().pipe(g(r=>!!r)),this.authService.getUser$(),this.docService.getDocumentPaths$()]).pipe(B(),E(([[r,a,s],[c,n,i]])=>{if(n&&i){let d=this.domService.getTabId();if(d){let o=this.generateHeartbeatId(n.userId,d),h={id:o,organizationId:i.organizationId},I=this.commonDbUtils.getDocumentPath({feature:"heartbeat",properties:h,defaultDocumentPaths:i,apiKey:this.configService.getApiKey(),useFirestore:!1});if(I&&c&&this.realtimeAdapter.rtdbOnDisconnectSet("heartbeat",this.realtimeAdapter.rtdbRef(c,I),null),i.documentId){let l={id:o,documentId:i.documentId,organizationId:i.organizationId},v=this.commonDbUtils.getDocumentPath({feature:"heartbeatByDocument",properties:l,defaultDocumentPaths:i,apiKey:this.configService.getApiKey(),useFirestore:!1});v&&c&&this.realtimeAdapter.rtdbOnDisconnectSet("heartbeat",this.realtimeAdapter.rtdbRef(c,v),null)}if(s&&s.documentId&&s.documentId!==i.documentId){let l={id:o,documentId:s.documentId,organizationId:s.organizationId,skipFirestore:!0};this.commonDbService.deleteData({feature:"heartbeatByDocument",properties:l})}}}})).subscribe();this.subscriptions.push(t)}catch(e){this.loggingService.catch("Error in HeartbeatService setupHeartbeat: ",e)}}teardownHeartbeat(){try{this.loggingService.log("%c[WB] Calling FUNCTION: teardownHeartbeat","color: green;"),this.worker&&(this.worker.postMessage("stop"),this.worker.terminate(),this.worker=void 0),this.subscriptions.forEach(e=>e.unsubscribe()),this.subscriptions=[],this.heartbeatCreatedTimestamps.clear(),this.initializedHeartbeatIds.clear()}catch(e){this.loggingService.catch("Error in HeartbeatService teardownHeartbeat: ",e)}}sendHeartbeat(){try{this.loggingService.log("%c[WB] Calling HeartbeatService FUNCTION: sendHeartbeat","color: green;");let e=this.authService.getUser(),t=this.docService.getDocumentPaths(),r=this.domService.getTabId();if(e&&t&&r){let a=Date.now(),s=this.generateHeartbeatId(e.userId,r),c=this.docService.getBaseMetadata("heartbeat"),n=c.documentId,i=t.organizationId,d=`${s}_${i}`,o=n?`${s}_${i}_${n}`:null,h=this.heartbeatCreatedTimestamps.get(d)??a;this.heartbeatCreatedTimestamps.has(d)||this.heartbeatCreatedTimestamps.set(d,h);let I=!this.initializedHeartbeatIds.has(d),l={id:s,createdTimestamp:h,lastUpdatedTimestamp:a,userId:e.userId,veltUserId:D(e.userId),tabId:r,metadata:c};if(I?(this.commonDbService.setData({feature:"heartbeat",properties:{id:l.id,skipFirestore:!0},data:l}),this.initializedHeartbeatIds.add(d)):this.commonDbService.updateData({feature:"heartbeat",properties:{id:l.id,skipFirestore:!0},data:l}),n&&o){let v=this.heartbeatCreatedTimestamps.get(o)??a;this.heartbeatCreatedTimestamps.has(o)||this.heartbeatCreatedTimestamps.set(o,v);let G=!this.initializedHeartbeatIds.has(o),f={id:s,createdTimestamp:v,lastUpdatedTimestamp:a,userId:e.userId,veltUserId:D(e.userId),tabId:r,metadata:c};G?(this.commonDbService.setData({feature:"heartbeatByDocument",properties:{id:f.id,skipFirestore:!0,documentId:n},data:f}),this.initializedHeartbeatIds.add(o)):this.commonDbService.updateData({feature:"heartbeatByDocument",properties:{id:f.id,skipFirestore:!0,documentId:n},data:f})}}}catch(e){this.loggingService.catch("Error in HeartbeatService sendHeartbeat: ",e)}}generateHeartbeatId(e,t){return D(e+"_"+t)}getHeartbeatData(e){try{let t=this.docService.getDocumentPaths(),r=e?.organizationId||t?.organizationId,a=e?.documentId,s,c={organizationId:r,skipFirestore:!0,useQuery:!0};if(a?(s="allHeartbeatsByDocument",c.documentId=a):s="allHeartbeats",!t)return u(null);if(e?.userId){let n=e?.limit??50;return c.rtdbQuery=[U("userId"),w(e.userId),y(n)],this.commonDbService.dbListener({feature:s,properties:c}).pipe(g(i=>!!i?.data),m(i=>i?.data),m(i=>i?Object.values(i??{}).map(d=>d):null),m(i=>{if(i){let d=e?.lastUpdatedTimestamp?.$gte??Date.now()-15e3;return i.filter(o=>!(d&&o.lastUpdatedTimestamp<d))}return i}))}else{let n=e?.orderBy??"lastUpdatedTimestamp",i=e?.lastUpdatedTimestamp?.$gte??Date.now()-15e3,d=e?.limit??50;return c.rtdbQuery=[U(n),O(i),y(d)],this.commonDbService.dbListener({feature:s,properties:c}).pipe(g(o=>!!o?.data),m(o=>o?.data),m(o=>o?Object.values(o??{}).map(h=>h):null))}}catch(t){return this.loggingService.catch("Error in HeartbeatService getHeartbeatData: ",t),u(null)}}getSpecificHeartbeat(e){try{let t=this.generateHeartbeatId(e.userId,e.tabId),a=this.docService.getDocumentPaths()?.organizationId;if(!a)return u(null);let s,c={id:t,organizationId:a,skipFirestore:!0};return e.documentId?(s="heartbeatByDocument",c.documentId=e.documentId):s="heartbeat",this.commonDbService.dbListener({feature:s,properties:c}).pipe(g(n=>!!n?.data),m(n=>n?.data),S((n,i)=>n?.lastUpdatedTimestamp===i?.lastUpdatedTimestamp))}catch(t){return this.loggingService.catch("Error in HeartbeatService getSpecificHeartbeat: ",t),u(null)}}removeDocumentHeartbeat(e){return $(this,null,function*(){try{let t=this.authService.getUser()?.userId,r=this.domService.getTabId();if(t&&r&&e?.documentId){let a=this.generateHeartbeatId(t,r),s=`${a}_${e.organizationId}_${e.documentId}`;this.heartbeatCreatedTimestamps.delete(s),this.initializedHeartbeatIds.delete(s),yield this.commonDbService.deleteData({feature:"heartbeatByDocument",properties:{id:a,documentId:e.documentId,organizationId:e.organizationId,skipFirestore:!0}})}return Promise.resolve()}catch(t){return this.loggingService.catch("Error in HeartbeatService removeDocumentHeartbeat: ",t),Promise.resolve()}})}getHeartbeat(e){try{return(e?.userId?u(e.userId):this.authService.getUser$().pipe(m(r=>r?.userId))).pipe(H(r=>r?this.docService.getDocumentPaths$().pipe(H(a=>a?this.getHeartbeatData({userId:r,documentId:a.documentId,organizationId:a.organizationId}):u(null))):u(null)),m(r=>({data:r})),S(P))}catch(t){return this.loggingService.catch("Error in HeartbeatService getHeartbeat: ",t),u({data:null})}}enableHeartbeat(){try{if(this.heartbeatEnabled$.value===!0)return;this.heartbeatEnabled$.next(!0)}catch(e){this.loggingService.catch("Error in HeartbeatService enableHeartbeat: ",e)}}disableHeartbeat(){try{if(this.heartbeatEnabled$.value===!1)return;this.heartbeatEnabled$.next(!1)}catch(e){this.loggingService.catch("Error in HeartbeatService disableHeartbeat: ",e)}}getHeartbeatEnabled$(){try{return this.heartbeatEnabled$.asObservable()}catch(e){return this.loggingService.catch("Error in HeartbeatService getHeartbeatEnabled$: ",e),u(!1)}}getHeartbeatEnabled(){try{return this.heartbeatEnabled$.value}catch(e){return this.loggingService.catch("Error in HeartbeatService getHeartbeatEnabled: ",e),!1}}ngOnDestroy(){try{this.teardownHeartbeat()}catch(e){this.loggingService.catch("Error in HeartbeatService ngOnDestroy: ",e)}}};p.\u0275fac=function(t){return new(t||p)(b(K),b(Q),b(R),b(_),b(N),b(W),b(Y),b(x),b(L),b(M))},p.\u0275prov=j({token:p,factory:p.\u0275fac,providedIn:"root"});let T=p;return T})();export{he as a};
13
+ `;if(typeof Worker<"u"){let r=new Blob([t],{type:"application/javascript"});return new Worker(URL.createObjectURL(r))}return}catch(t){this.loggingService.catch("Error in HeartbeatService setupWebWorker: ",t);return}}setupHeartbeat(){try{if(this.loggingService.log("%c[WB] Calling FUNCTION: setupHeartbeat","color: green;"),this.worker=this.setupWebWorker(this.HEARTBEAT_DURATION),this.worker){this.worker.onmessage=()=>{this.authService.getUser()&&this.sendHeartbeat()};let r=this.authService.getUser$().subscribe(a=>{a?(this.worker?.postMessage("start"),this.sendHeartbeat()):this.worker?.postMessage("stop")});this.subscriptions.push(r)}else{let r=this.authService.getUser$().pipe(H(a=>a?A(this.HEARTBEAT_DURATION).pipe(F(0)):k)).subscribe(()=>this.sendHeartbeat());this.subscriptions.push(r)}let e=this.docService.getDocumentPaths$().pipe(g(r=>!!r),E(()=>this.sendHeartbeat())).subscribe();this.subscriptions.push(e);let t=z([this.databaseService.getDb().pipe(g(r=>!!r)),this.authService.getUser$(),this.docService.getDocumentPaths$()]).pipe(B(),E(([[r,a,s],[c,n,i]])=>{if(n&&i){let d=this.domService.getTabId();if(d){let o=this.generateHeartbeatId(n.userId,d),h={id:o,organizationId:i.organizationId},I=this.commonDbUtils.getDocumentPath({feature:"heartbeat",properties:h,defaultDocumentPaths:i,apiKey:this.configService.getApiKey(),useFirestore:!1});if(I&&c&&this.realtimeAdapter.rtdbOnDisconnectSet("heartbeat",this.realtimeAdapter.rtdbRef(c,I),null),i.documentId){let l={id:o,documentId:i.documentId,organizationId:i.organizationId},v=this.commonDbUtils.getDocumentPath({feature:"heartbeatByDocument",properties:l,defaultDocumentPaths:i,apiKey:this.configService.getApiKey(),useFirestore:!1});v&&c&&this.realtimeAdapter.rtdbOnDisconnectSet("heartbeat",this.realtimeAdapter.rtdbRef(c,v),null)}if(s&&s.documentId&&s.documentId!==i.documentId){let l={id:o,documentId:s.documentId,organizationId:s.organizationId,skipFirestore:!0};this.commonDbService.deleteData({feature:"heartbeatByDocument",properties:l})}}}})).subscribe();this.subscriptions.push(t)}catch(e){this.loggingService.catch("Error in HeartbeatService setupHeartbeat: ",e)}}teardownHeartbeat(){try{this.loggingService.log("%c[WB] Calling FUNCTION: teardownHeartbeat","color: green;"),this.worker&&(this.worker.postMessage("stop"),this.worker.terminate(),this.worker=void 0),this.subscriptions.forEach(e=>e.unsubscribe()),this.subscriptions=[],this.heartbeatCreatedTimestamps.clear(),this.initializedHeartbeatIds.clear()}catch(e){this.loggingService.catch("Error in HeartbeatService teardownHeartbeat: ",e)}}sendHeartbeat(){try{this.loggingService.log("%c[WB] Calling HeartbeatService FUNCTION: sendHeartbeat","color: green;");let e=this.authService.getUser(),t=this.docService.getDocumentPaths(),r=this.domService.getTabId();if(e&&t&&r){let a=Date.now(),s=this.generateHeartbeatId(e.userId,r),c=this.docService.getBaseMetadata("heartbeat"),n=c.documentId,i=t.organizationId,d=`${s}_${i}`,o=n?`${s}_${i}_${n}`:null,h=this.heartbeatCreatedTimestamps.get(d)??a;this.heartbeatCreatedTimestamps.has(d)||this.heartbeatCreatedTimestamps.set(d,h);let I=!this.initializedHeartbeatIds.has(d),l={id:s,createdTimestamp:h,lastUpdatedTimestamp:a,userId:e.userId,veltUserId:D(e.userId),tabId:r,metadata:c};if(I?(this.commonDbService.setData({feature:"heartbeat",properties:{id:l.id,skipFirestore:!0},data:l}),this.initializedHeartbeatIds.add(d)):this.commonDbService.updateData({feature:"heartbeat",properties:{id:l.id,skipFirestore:!0},data:l}),n&&o){let v=this.heartbeatCreatedTimestamps.get(o)??a;this.heartbeatCreatedTimestamps.has(o)||this.heartbeatCreatedTimestamps.set(o,v);let G=!this.initializedHeartbeatIds.has(o),f={id:s,createdTimestamp:v,lastUpdatedTimestamp:a,userId:e.userId,veltUserId:D(e.userId),tabId:r,metadata:c};G?(this.commonDbService.setData({feature:"heartbeatByDocument",properties:{id:f.id,skipFirestore:!0,documentId:n},data:f}),this.initializedHeartbeatIds.add(o)):this.commonDbService.updateData({feature:"heartbeatByDocument",properties:{id:f.id,skipFirestore:!0,documentId:n},data:f})}}}catch(e){this.loggingService.catch("Error in HeartbeatService sendHeartbeat: ",e)}}generateHeartbeatId(e,t){return D(e+"_"+t)}getHeartbeatData(e){try{let t=this.docService.getDocumentPaths(),r=e?.organizationId||t?.organizationId,a=e?.documentId,s,c={organizationId:r,skipFirestore:!0,useQuery:!0};if(a?(s="allHeartbeatsByDocument",c.documentId=a):s="allHeartbeats",!t)return u(null);if(e?.userId){let n=e?.limit??50;return c.rtdbQuery=[U("userId"),w(e.userId),y(n)],this.commonDbService.dbListener({feature:s,properties:c}).pipe(g(i=>!!i?.data),m(i=>i?.data),m(i=>i?Object.values(i??{}).map(d=>d):null),m(i=>{if(i){let d=e?.lastUpdatedTimestamp?.$gte??Date.now()-15e3;return i.filter(o=>!(d&&o.lastUpdatedTimestamp<d))}return i}))}else{let n=e?.orderBy??"lastUpdatedTimestamp",i=e?.lastUpdatedTimestamp?.$gte??Date.now()-15e3,d=e?.limit??50;return c.rtdbQuery=[U(n),O(i),y(d)],this.commonDbService.dbListener({feature:s,properties:c}).pipe(g(o=>!!o?.data),m(o=>o?.data),m(o=>o?Object.values(o??{}).map(h=>h):null))}}catch(t){return this.loggingService.catch("Error in HeartbeatService getHeartbeatData: ",t),u(null)}}getSpecificHeartbeat(e){try{let t=this.generateHeartbeatId(e.userId,e.tabId),a=this.docService.getDocumentPaths()?.organizationId;if(!a)return u(null);let s,c={id:t,organizationId:a,skipFirestore:!0};return e.documentId?(s="heartbeatByDocument",c.documentId=e.documentId):s="heartbeat",this.commonDbService.dbListener({feature:s,properties:c}).pipe(g(n=>!!n?.data),m(n=>n?.data),S((n,i)=>n?.lastUpdatedTimestamp===i?.lastUpdatedTimestamp))}catch(t){return this.loggingService.catch("Error in HeartbeatService getSpecificHeartbeat: ",t),u(null)}}removeDocumentHeartbeat(e){return $(this,null,function*(){try{let t=this.authService.getUser()?.userId,r=this.domService.getTabId();if(t&&r&&e?.documentId){let a=this.generateHeartbeatId(t,r),s=`${a}_${e.organizationId}_${e.documentId}`;this.heartbeatCreatedTimestamps.delete(s),this.initializedHeartbeatIds.delete(s),yield this.commonDbService.deleteData({feature:"heartbeatByDocument",properties:{id:a,documentId:e.documentId,organizationId:e.organizationId,skipFirestore:!0}})}return Promise.resolve()}catch(t){return this.loggingService.catch("Error in HeartbeatService removeDocumentHeartbeat: ",t),Promise.resolve()}})}getHeartbeat(e){try{return(e?.userId?u(e.userId):this.authService.getUser$().pipe(m(r=>r?.userId))).pipe(H(r=>r?this.docService.getDocumentPaths$().pipe(H(a=>a?this.getHeartbeatData({userId:r,documentId:a.documentId,organizationId:a.organizationId}):u(null))):u(null)),m(r=>({data:r})),S(P))}catch(t){return this.loggingService.catch("Error in HeartbeatService getHeartbeat: ",t),u({data:null})}}enableHeartbeat(){try{if(this.heartbeatEnabled$.value===!0)return;this.heartbeatEnabled$.next(!0)}catch(e){this.loggingService.catch("Error in HeartbeatService enableHeartbeat: ",e)}}disableHeartbeat(){try{if(this.heartbeatEnabled$.value===!1)return;this.heartbeatEnabled$.next(!1)}catch(e){this.loggingService.catch("Error in HeartbeatService disableHeartbeat: ",e)}}getHeartbeatEnabled$(){try{return this.heartbeatEnabled$.asObservable()}catch(e){return this.loggingService.catch("Error in HeartbeatService getHeartbeatEnabled$: ",e),u(!1)}}getHeartbeatEnabled(){try{return this.heartbeatEnabled$.value}catch(e){return this.loggingService.catch("Error in HeartbeatService getHeartbeatEnabled: ",e),!1}}ngOnDestroy(){try{this.teardownHeartbeat()}catch(e){this.loggingService.catch("Error in HeartbeatService ngOnDestroy: ",e)}}};p.\u0275fac=function(t){return new(t||p)(b(K),b(x),b(R),b(Q),b(N),b(W),b(Y),b(_),b(L),b(M))},p.\u0275prov=j({token:p,factory:p.\u0275fac,providedIn:"root"});let T=p;return T})();export{he as a};
@@ -1 +1 @@
1
- import{b as $}from"./chunk-UBFDELKG.js";import{Bb as a,Fb as Z,Gb as A,Ha as m,Hb as q,Hc as z,Ia as C,Ic as G,Kb as f,Mb as b,Pb as T,Qb as N,Ra as S,Rb as I,Re as U,Wa as H,Yi as Q,Za as k,Zi as O,ab as v,ba as D,ea as B,fb as L,ja as l,ka as c,la as w,mc as M,na as F,nb as p,nc as E,ob as u,pb as d,qb as y,xb as _,zb as g}from"./chunk-LPTIQD5G.js";var W=(()=>{let r=class r{transform(t,i,...o){try{let s=t&&t?.slice?t?.slice():[];return s?.length&&new U().getBrowserName()?.toLocaleLowerCase()==="safari"&&(s=s.sort((V,x)=>V.type==="mp4"&&x.type!=="mp4"?-1:V.type!=="mp4"&&x.type==="mp4"?1:0)),s}catch{return t}}};r.\u0275fac=function(i){return new(i||r)},r.\u0275pipe=k({name:"rearrangeMediaSource",type:r,pure:!0});let n=r;return n})();var J=(()=>{let r=class r{constructor(t,i){this.injector=t,this.loggingService=i,this.arrowPromise=null,this.commentPromise=null,this.cursorPromise=null,this.huddlePromise=null,this.notificationPromise=null,this.presencePromise=null,this.reactionPromise=null,this.recorderPromise=null,this.tagPromise=null,this.rewriterPromise=null,this.selectionPromise=null,this.areaPromise=null,this.activityLogPromise=null,this.viewPromise=null,this.userInvitePromise=null,this.userRequestPromise=null,this.videoPlayerPromise=null,this.crdtPromise=null,this.liveStateSyncPromise=null,this.loggingService.log("%c[WB] Creating CLASS: ChunkLoaderService","color: blue;")}ensureArrowChunk(){return this.arrowPromise||(this.arrowPromise=import("./velt-arrow.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading arrow chunk: ",t),this.arrowPromise=null,t})),this.arrowPromise}ensureCommentChunk(){return this.commentPromise||(this.commentPromise=import("./velt-comment.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading comment chunk: ",t),this.commentPromise=null,t})),this.commentPromise}ensureCursorChunk(){return this.cursorPromise||(this.cursorPromise=import("./velt-cursor.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading cursor chunk: ",t),this.cursorPromise=null,t})),this.cursorPromise}ensureHuddleChunk(){return this.huddlePromise||(this.huddlePromise=import("./velt-huddle.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading huddle chunk: ",t),this.huddlePromise=null,t})),this.huddlePromise}ensureNotificationChunk(){return this.notificationPromise||(this.notificationPromise=import("./velt-notification.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading notification chunk: ",t),this.notificationPromise=null,t})),this.notificationPromise}ensurePresenceChunk(){return this.presencePromise||(this.presencePromise=import("./velt-presence.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading presence chunk: ",t),this.presencePromise=null,t})),this.presencePromise}ensureReactionChunk(){return this.reactionPromise||(this.reactionPromise=import("./velt-reaction.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading reaction chunk: ",t),this.reactionPromise=null,t})),this.reactionPromise}ensureRecorderChunk(){return this.recorderPromise||(this.recorderPromise=import("./velt-recorder.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading recorder chunk: ",t),this.recorderPromise=null,t})),this.recorderPromise}ensureTagChunk(){return this.tagPromise||(this.tagPromise=import("./velt-tag.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading tag chunk: ",t),this.tagPromise=null,t})),this.tagPromise}ensureRewriterChunk(){return this.rewriterPromise||(this.rewriterPromise=import("./velt-rewriter.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading rewriter chunk: ",t),this.rewriterPromise=null,t})),this.rewriterPromise}ensureSelectionChunk(){return this.selectionPromise||(this.selectionPromise=import("./velt-selection.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading selection chunk: ",t),this.selectionPromise=null,t})),this.selectionPromise}ensureAreaChunk(){return this.areaPromise||(this.areaPromise=import("./velt-area.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading area chunk: ",t),this.areaPromise=null,t})),this.areaPromise}ensureActivityLogChunk(){return this.activityLogPromise||(this.activityLogPromise=import("./velt-activity-log.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading activity-log chunk: ",t),this.activityLogPromise=null,t})),this.activityLogPromise}ensureViewChunk(){return this.viewPromise||(this.viewPromise=import("./velt-views.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading view chunk: ",t),this.viewPromise=null,t})),this.viewPromise}ensureUserInviteChunk(){return this.userInvitePromise||(this.userInvitePromise=import("./velt-user-invite.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading user-invite chunk: ",t),this.userInvitePromise=null,t})),this.userInvitePromise}ensureUserRequestChunk(){return this.userRequestPromise||(this.userRequestPromise=import("./velt-user-request.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading user-request chunk: ",t),this.userRequestPromise=null,t})),this.userRequestPromise}ensureVideoPlayerChunk(){return this.videoPlayerPromise||(this.videoPlayerPromise=import("./velt-video-player.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading video-player chunk: ",t),this.videoPlayerPromise=null,t})),this.videoPlayerPromise}ensureCrdtChunk(){return this.crdtPromise||(this.crdtPromise=import("./velt-crdt.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading crdt chunk: ",t),this.crdtPromise=null,t})),this.crdtPromise}ensureLiveStateSyncChunk(){return this.liveStateSyncPromise||(this.liveStateSyncPromise=import("./velt-live-state-sync.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading live-state-sync chunk: ",t),this.liveStateSyncPromise=null,t})),this.liveStateSyncPromise}};r.\u0275fac=function(i){return new(i||r)(B(F),B(O))},r.\u0275prov=D({token:r,factory:r.\u0275fac,providedIn:"root"});let n=r;return n})();var et=["videoRef"];function it(n,r){if(n&1&&y(0,"source",10),n&2){let e=a();p("src",!(e.annotation==null||e.annotation.attachment==null)&&e.annotation.attachment.thumbnail?e.annotation==null||e.annotation.attachment==null?null:e.annotation.attachment.url:(e.annotation==null||e.annotation.attachment==null?null:e.annotation.attachment.url)+"#t=0.001")}}function nt(n,r){if(n&1&&y(0,"source",12),n&2){let e=r.$implicit;p("src",e==null?null:e.url)("type",(e==null?null:e.mimeType)||"video/mp4")}}function ot(n,r){if(n&1&&(v(0,nt,1,2,"source",11),M(1,"rearrangeMediaSource")),n&2){let e=a();p("ngForOf",E(1,2,e.annotation==null?null:e.annotation.attachments))("ngForTrackBy",e.trackByAttachmentId)}}function rt(n,r){if(n&1){let e=_();u(0,"div",13)(1,"div",14)(2,"snippyly-subtitles-embed",15,1),g("subtitlesButtonClick",function(){l(e);let i=a();return c(i.onSubtitlesButtonClick())}),d()()()}if(n&2){let e,t=f(3),i=a(),o=f(3);b("hide",(t==null?null:t.componentConfigSignal)&&(t==null||(e=t.componentConfigSignal())==null?null:e.highlightedTextIndex)<0),m(2),p("transcription",i.annotation==null?null:i.annotation.transcription)("timeToRead",(o==null?null:o.currentTime)||0)("mode","embed")}}function at(n,r){if(n&1){let e=_();u(0,"input",28),g("input",function(i){l(e);let o=a(2);return c(o.onDurationChange(i))}),d()}if(n&2){let e=a(2),t=f(3);p("value",(t==null?null:t.currentTime)*1e3/((e.annotation==null||e.annotation.recordedTime==null?null:e.annotation.recordedTime.duration)||0))}}function st(n,r){if(n&1){let e=_();w(),u(0,"svg",29),g("click",function(){l(e);let i=a(2);return c(i.toggleVideo())}),y(1,"path",30),d()}}function lt(n,r){if(n&1){let e=_();w(),u(0,"svg",31),g("click",function(){l(e);let i=a(2);return c(i.toggleVideo())}),y(1,"path",32)(2,"path",33),d()}}function ct(n,r){n&1&&(u(0,"span",38),T(1),M(2,"translate"),d()),n&2&&(m(),I(" ",E(2,1,"Subtitles not available")," "))}function pt(n,r){if(n&1){let e=_();u(0,"div",34),v(1,ct,3,3,"span",35),w(),u(2,"svg",36),g("click",function(){l(e);let i=a(2);return c(!(i.annotation==null||i.annotation.transcription==null)&&i.annotation.transcription.transcriptedText?i.onSubtitlesButtonClick(!0):null)}),y(3,"path",37),d()()}if(n&2){let e=a(2);b("disabled",!(!(e.annotation==null||e.annotation.transcription==null)&&e.annotation.transcription.transcriptedText)),m(),p("ngIf",!(!(e.annotation==null||e.annotation.transcription==null)&&e.annotation.transcription.transcriptedText))}}function mt(n,r){n&1&&(u(0,"span",38),T(1),M(2,"translate"),d()),n&2&&(m(),I(" ",E(2,1,"Transcription not available")))}function ut(n,r){if(n&1){let e=_();u(0,"div",39),g("click",function(){l(e);let i=a(2);return c(!(i.annotation==null||i.annotation.transcription==null)&&i.annotation.transcription.transcriptedText?i.onTranscriptionButtonClick(!0):null)}),v(1,mt,3,3,"span",35),w(),u(2,"svg",40),y(3,"path",41),d()()}if(n&2){let e=a(2);b("disabled",!(!(e.annotation==null||e.annotation.transcription==null)&&e.annotation.transcription.transcriptedText)),m(),p("ngIf",!(!(e.annotation==null||e.annotation.transcription==null)&&e.annotation.transcription.transcriptedText))}}function dt(n,r){if(n&1){let e=_();u(0,"snippyly-transcription-embed",42),g("transcriptionButtonClick",function(){l(e);let i=a(2);return c(i.onTranscriptionButtonClick())})("transcriptionSummaryCopy",function(){l(e);let i=a(2);return c(i.onTranscriptionSummaryCopy())})("seekTo",function(i){l(e);let o=a(2),s=f(3);return c(o.onSeekToVideo(i,s))})("transcriptionPanelDragged",function(){l(e);let i=a(2);return c(i.onTranscriptionPanelDragged())}),d()}if(n&2){let e=a(2),t=f(3);p("transcription",e.annotation==null?null:e.annotation.transcription)("timeToRead",(t==null?null:t.currentTime)||0)}}function ht(n,r){if(n&1){let e=_();w(),u(0,"svg",43),g("click",function(){l(e);let i=a(2);return c(i.onDelete())}),y(1,"path",44)(2,"path",45)(3,"path",46)(4,"path",47),d()}}function gt(n,r){if(n&1&&(u(0,"div",16)(1,"div",17),v(2,at,1,1,"input",18),d(),u(3,"div",19)(4,"div",20),v(5,st,2,0,"svg",21)(6,lt,3,0,"svg",22),u(7,"span"),T(8),d()(),u(9,"div",23),v(10,pt,4,3,"div",24)(11,ut,4,3,"div",25)(12,dt,1,2,"snippyly-transcription-embed",26)(13,ht,5,0,"svg",27),d()()()),n&2){let e=a();m(2),p("ngIf",e.annotation==null||e.annotation.recordedTime==null?null:e.annotation.recordedTime.duration),m(3),p("ngIf",!e.playing),m(),p("ngIf",e.playing),m(2),N(e.currentTime||(e.annotation==null||e.annotation.recordedTime==null?null:e.annotation.recordedTime.display)||"00:00"),m(2),p("ngIf",(e.annotation==null?null:e.annotation.transcription)&&e.showSubtitlesButton),m(),p("ngIf",(e.annotation==null?null:e.annotation.transcription)&&e.transcriptionMode==="embed"),m(),p("ngIf",(e.annotation==null?null:e.annotation.transcription)&&e.transcriptionMode==="floating"&&e.showTranscriptionButton),m(),p("ngIf",e.showDeleteButton)}}function _t(n,r){if(n&1){let e=_();u(0,"snippyly-transcription-embed",50),g("seekTo",function(i){l(e);let o=a(2),s=f(3);return c(o.onSeekToVideo(i,s))})("close",function(){l(e);let i=a(2);return c(i.toggleTranscription())})("transcriptionSummaryCopy",function(){l(e);let i=a(2);return c(i.onTranscriptionSummaryCopy())})("transcriptionPanelDragged",function(){l(e);let i=a(2);return c(i.onTranscriptionPanelDragged())}),d()}if(n&2){let e=a(2),t=f(3);p("transcription",e.annotation==null?null:e.annotation.transcription)("timeToRead",(t==null?null:t.currentTime)||0)("mode",e.transcriptionMode)("visible",!0)}}function vt(n,r){if(n&1){let e=_();u(0,"div",48),g("click",function(i){return l(e),c(i.stopPropagation())})("pointerdown",function(i){return l(e),c(i.stopPropagation())})("pointerup",function(i){return l(e),c(i.stopPropagation())}),v(1,_t,1,4,"snippyly-transcription-embed",49),d()}if(n&2){let e=a();m(),p("ngIf",(e.annotation==null?null:e.annotation.transcription)&&e.showTranscriptionButton)}}var Ot=(()=>{let r=class r{constructor(t,i,o){this.analyticsService=t,this.loggingService=i,this.chunkLoaderService=o,this.showControls=!0,this.showSubtitlesButton=!0,this.showTranscriptionButton=!0,this.transcriptionMode="floating",this.play=new C,this.pause=new C,this.delete=new C,this.transcriptionButtonClick=new C,this.transcriptionSummaryCopy=new C,this.subtitlesButtonClick=new C,this.transcriptionTimestampClick=new C,this.transcriptionPanelDragged=new C,this.playing=!1,this.currentTime="",this.showSubtitles=!1,this.transcriptionVisible=!1,this.veltElement=!0}ngOnInit(){this.annotation?.transcription&&this.ensureRecorderChunkForEmbeds()}ensureRecorderChunkForEmbeds(){this.chunkLoaderService.ensureRecorderChunk().catch(t=>{this.loggingService.catch("Error in VideoPlayerComponent ensureRecorderChunkForEmbeds: ",t)})}trackByAttachmentId(t,i){return i?.attachmentId}toggleVideo(){try{if(this.videoRef?.nativeElement){let t=this.videoRef?.nativeElement;t&&(t.duration>0&&!t.paused?(t.pause(),this.playing=!1,this.pause.emit()):(t.play(),this.playing=!0,this.play.emit()))}}catch(t){this.loggingService.catch("Error in VideoPlayerComponent toggleVideo: ",t)}}toggleSubtitles(){try{this.ensureRecorderChunkForEmbeds(),this.showSubtitles=!this.showSubtitles}catch(t){this.loggingService.catch("Error in VideoPlayerComponent toggleSubtitles: ",t)}}toggleTranscription(){try{this.ensureRecorderChunkForEmbeds(),this.transcriptionVisible=!this.transcriptionVisible}catch(t){this.loggingService.catch("Error in VideoPlayerComponent toggleTranscription: ",t)}}onTranscriptionButtonClick(t){try{this.transcriptionButtonClick.emit(),t&&this.toggleTranscription()}catch(i){this.loggingService.catch("Error in VideoPlayerComponent onTranscriptionButtonClick: ",i)}}onTranscriptionSummaryCopy(){try{this.transcriptionSummaryCopy.emit()}catch(t){this.loggingService.catch("Error in VideoPlayerComponent onTranscriptionSummaryCopy: ",t)}}onSubtitlesButtonClick(t){try{this.subtitlesButtonClick.emit(),t&&this.toggleSubtitles()}catch(i){this.loggingService.catch("Error in VideoPlayerComponent onSubtitlesButtonClick: ",i)}}onDurationChange(t){try{t?.target?.value>=0&&this.videoRef&&(this.videoRef.nativeElement.currentTime=t.target.value*(this.annotation?.recordedTime?.duration||0)/1e3),this.playing||this.toggleVideo()}catch(i){this.loggingService.catch("Error in VideoPlayerComponent onDurationChange: ",i)}}timeUpdate(t){try{this.currentTime=this.formatSecondsAsTime(t)}catch(i){this.loggingService.catch("Error in VideoPlayerComponent timeUpdate: ",i)}}formatSecondsAsTime(t){try{let i=Math.floor(t/3600),o=Math.floor((t-i*3600)/60),s=Math.floor(t-i*3600-o*60);return i&&i<10&&(i="0"+i),o<10&&(o="0"+o),s<10&&(s="0"+s),(i?i+":":"")+o+":"+s}catch(i){return this.loggingService.catch("Error in VideoPlayerComponent formatSecondsAsTime: ",i),""}}onSeekToVideo(t,i){try{i&&(i.currentTime=t),this.playing||this.toggleVideo(),this.onTranscriptionTimestampClick(t)}catch(o){this.loggingService.catch("Error in VideoPlayerComponent onSeekToVideo: ",o)}}onTranscriptionTimestampClick(t){try{this.transcriptionTimestampClick.emit(t)}catch(i){this.loggingService.catch("Error in VideoPlayerComponent onTranscriptionTimestampClick: ",i)}}onTranscriptionPanelDragged(){try{this.transcriptionPanelDragged.emit()}catch(t){this.loggingService.catch("Error in VideoPlayerComponent onTranscriptionPanelDragged: ",t)}}onDelete(){try{this.delete?.emit()}catch(t){this.loggingService.catch("Error in VideoPlayerComponent onDelete: ",t)}}};r.\u0275fac=function(i){return new(i||r)(S(Q),S(O),S(J))},r.\u0275cmp=H({type:r,selectors:[["snippyly-video-player"]],viewQuery:function(i,o){if(i&1&&Z(et,5),i&2){let s;A(s=q())&&(o.videoRef=s.first)}},hostVars:1,hostBindings:function(i,o){i&2&&L("data-velt-element",o.veltElement)},inputs:{annotation:"annotation",showControls:"showControls",showSubtitlesButton:"showSubtitlesButton",showTranscriptionButton:"showTranscriptionButton",showDeleteButton:"showDeleteButton",transcriptionMode:"transcriptionMode"},outputs:{play:"play",pause:"pause",delete:"delete",transcriptionButtonClick:"transcriptionButtonClick",transcriptionSummaryCopy:"transcriptionSummaryCopy",subtitlesButtonClick:"subtitlesButtonClick",transcriptionTimestampClick:"transcriptionTimestampClick",transcriptionPanelDragged:"transcriptionPanelDragged"},standalone:!1,decls:9,vars:8,consts:[["videoRef",""],["subtitlesRef",""],[1,"s-video-player-container"],[1,"s-video-player",3,"click","pointerdown","pointerup"],["playsinline","",3,"timeupdate","pointerdown","poster"],["type","video/mp4",3,"src",4,"ngIf"],[3,"ngIf"],["class","s-video-subtitles-wrap",3,"hide",4,"ngIf"],["class","s-video-controls-wrap",4,"ngIf"],["class","s-video-transcription",3,"click","pointerdown","pointerup",4,"ngIf"],["type","video/mp4",3,"src"],[3,"src","type",4,"ngFor","ngForOf","ngForTrackBy"],[3,"src","type"],[1,"s-video-subtitles-wrap"],[1,"subtitles"],[3,"subtitlesButtonClick","transcription","timeToRead","mode"],[1,"s-video-controls-wrap"],[1,"s-video-progress-bar"],["type","range","min","0","max","1","step","0.01",3,"value","input",4,"ngIf"],[1,"s-video-controls"],[1,"s-video-controls-left"],["width","20","height","20","viewBox","0 0 20 20","fill","none","xmlns","http://www.w3.org/2000/svg",3,"click",4,"ngIf"],["width","20","height","20","viewBox","0 0 16 16","fill","none","xmlns","http://www.w3.org/2000/svg",3,"click",4,"ngIf"],[1,"s-video-controls-right"],["class","s-video-subtitles-btn s-tooltip",3,"disabled",4,"ngIf"],["class","s-video-transcription-btn s-tooltip",3,"disabled","click",4,"ngIf"],[3,"transcription","timeToRead","transcriptionButtonClick","transcriptionSummaryCopy","seekTo","transcriptionPanelDragged",4,"ngIf"],["width","20","height","16","viewBox","0 0 16 16","fill","none","xmlns","http://www.w3.org/2000/svg","class","delete-btn",3,"click",4,"ngIf"],["type","range","min","0","max","1","step","0.01",3,"input","value"],["width","20","height","20","viewBox","0 0 20 20","fill","none","xmlns","http://www.w3.org/2000/svg",3,"click"],["d","M3.08337 3.65485C3.08337 1.69607 5.23378 0.498172 6.89926 1.52918L17.1496 7.87464C18.7284 8.852 18.7284 11.1486 17.1496 12.126L6.89926 18.4714C5.23378 19.5024 3.08337 18.3045 3.08337 16.3458V3.65485Z","fill","white"],["width","20","height","20","viewBox","0 0 16 16","fill","none","xmlns","http://www.w3.org/2000/svg",3,"click"],["d","M1.33203 2.66536C1.33203 1.92899 1.92898 1.33203 2.66536 1.33203H5.33203C6.06841 1.33203 6.66536 1.92898 6.66536 2.66536V13.332C6.66536 14.0684 6.06841 14.6654 5.33203 14.6654H2.66536C1.92898 14.6654 1.33203 14.0684 1.33203 13.332V2.66536Z","fill","white"],["d","M9.33203 2.66536C9.33203 1.92899 9.92899 1.33203 10.6654 1.33203H13.332C14.0684 1.33203 14.6654 1.92898 14.6654 2.66536V13.332C14.6654 14.0684 14.0684 14.6654 13.332 14.6654H10.6654C9.92899 14.6654 9.33203 14.0684 9.33203 13.332V2.66536Z","fill","white"],[1,"s-video-subtitles-btn","s-tooltip"],["class","s-tooltiptext top",4,"ngIf"],["width","20","height","21","viewBox","0 0 20 21","fill","none","xmlns","http://www.w3.org/2000/svg",3,"click"],["d","M11.47 7.62875C11.893 7.41764 12.3718 7.34543 12.8382 7.42242C13.3046 7.49941 13.7348 7.72166 14.0675 8.0575C14.1849 8.17486 14.2508 8.33403 14.2508 8.5C14.2508 8.66597 14.1849 8.82514 14.0675 8.9425C13.9501 9.05986 13.791 9.12579 13.625 9.12579C13.459 9.12579 13.2999 9.05986 13.1825 8.9425C13.0358 8.79219 12.8452 8.69223 12.6382 8.65697C12.4311 8.62171 12.2182 8.65297 12.03 8.74625C11.6712 8.92625 11.25 9.41875 11.25 10.5C11.25 11.5813 11.6712 12.075 12.03 12.2537C12.2182 12.347 12.4311 12.3783 12.6382 12.343C12.8452 12.3078 13.0358 12.2078 13.1825 12.0575C13.2999 11.9401 13.459 11.8742 13.625 11.8742C13.791 11.8742 13.9501 11.9401 14.0675 12.0575C14.1849 12.1749 14.2508 12.334 14.2508 12.5C14.2508 12.666 14.1849 12.8251 14.0675 12.9425C13.38 13.63 12.34 13.8062 11.47 13.3713C10.5787 12.9262 10 11.9187 10 10.5C10 9.08125 10.5787 8.075 11.47 7.62875ZM9.0675 8.0575C8.73492 7.72149 8.3047 7.49913 7.83824 7.42213C7.37178 7.34514 6.89292 7.41745 6.47 7.62875C5.57875 8.07375 5 9.08125 5 10.5C5 11.9187 5.57875 12.925 6.47 13.3713C6.89292 13.5826 7.37178 13.6549 7.83824 13.5779C8.3047 13.5009 8.73492 13.2785 9.0675 12.9425C9.12561 12.8844 9.1717 12.8154 9.20315 12.7395C9.2346 12.6636 9.25079 12.5822 9.25079 12.5C9.25079 12.4178 9.2346 12.3364 9.20315 12.2605C9.1717 12.1846 9.12561 12.1156 9.0675 12.0575C9.00939 11.9994 8.9404 11.9533 8.86448 11.9218C8.78855 11.8904 8.70718 11.8742 8.625 11.8742C8.54282 11.8742 8.46144 11.8904 8.38552 11.9218C8.3096 11.9533 8.24061 11.9994 8.1825 12.0575C8.03568 12.2076 7.84513 12.3075 7.63811 12.3427C7.4311 12.378 7.21823 12.3468 7.03 12.2537C6.67125 12.0738 6.25 11.5813 6.25 10.5C6.25 9.41875 6.67125 8.925 7.03 8.74625C7.21823 8.65316 7.4311 8.62201 7.63811 8.65726C7.84513 8.69251 8.03568 8.79236 8.1825 8.9425C8.29986 9.05986 8.45903 9.12579 8.625 9.12579C8.79097 9.12579 8.95014 9.05986 9.0675 8.9425C9.18486 8.82514 9.25079 8.66597 9.25079 8.5C9.25079 8.33403 9.18486 8.17486 9.0675 8.0575ZM1.25 7.375C1.25 6.5462 1.57924 5.75134 2.16529 5.16529C2.75134 4.57924 3.5462 4.25 4.375 4.25H15.625C16.4538 4.25 17.2487 4.57924 17.8347 5.16529C18.4208 5.75134 18.75 6.5462 18.75 7.375V13.625C18.75 14.4538 18.4208 15.2487 17.8347 15.8347C17.2487 16.4208 16.4538 16.75 15.625 16.75H4.375C3.5462 16.75 2.75134 16.4208 2.16529 15.8347C1.57924 15.2487 1.25 14.4538 1.25 13.625V7.375ZM4.375 5.5C3.87772 5.5 3.40081 5.69754 3.04917 6.04917C2.69754 6.40081 2.5 6.87772 2.5 7.375V13.625C2.5 14.1223 2.69754 14.5992 3.04917 14.9508C3.40081 15.3025 3.87772 15.5 4.375 15.5H15.625C16.1223 15.5 16.5992 15.3025 16.9508 14.9508C17.3025 14.5992 17.5 14.1223 17.5 13.625V7.375C17.5 6.87772 17.3025 6.40081 16.9508 6.04917C16.5992 5.69754 16.1223 5.5 15.625 5.5H4.375Z","fill","white"],[1,"s-tooltiptext","top"],[1,"s-video-transcription-btn","s-tooltip",3,"click"],["width","20","height","20","viewBox","0 0 20 20","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M7.49997 10.8332C9.34164 10.8332 10.8333 9.3415 10.8333 7.49984C10.8333 5.65817 9.34164 4.1665 7.49997 4.1665C5.65831 4.1665 4.16664 5.65817 4.16664 7.49984C4.16664 9.3415 5.65831 10.8332 7.49997 10.8332ZM7.49997 5.83317C8.41664 5.83317 9.16664 6.58317 9.16664 7.49984C9.16664 8.4165 8.41664 9.1665 7.49997 9.1665C6.58331 9.1665 5.83331 8.4165 5.83331 7.49984C5.83331 6.58317 6.58331 5.83317 7.49997 5.83317ZM12.825 12.9665C11.425 12.2498 9.60831 11.6665 7.49997 11.6665C5.39164 11.6665 3.57497 12.2498 2.17497 12.9665C1.76835 13.1759 1.42772 13.4939 1.19089 13.8852C0.954055 14.2765 0.830281 14.7258 0.833306 15.1832V17.4998H14.1666V15.1832C14.1666 14.2498 13.6583 13.3915 12.825 12.9665ZM12.5 15.8332H2.49997V15.1832C2.49997 14.8665 2.66664 14.5832 2.93331 14.4498C3.92497 13.9415 5.52497 13.3332 7.49997 13.3332C9.47497 13.3332 11.075 13.9415 12.0666 14.4498C12.3333 14.5832 12.5 14.8665 12.5 15.1832V15.8332ZM14.9416 13.3332L16.3 11.9748C13.9916 9.45817 13.9916 5.67484 16.3 3.02484L14.9416 1.6665C11.6916 4.90817 11.6833 9.95817 14.9416 13.3332ZM19.1 9.12484C18.7587 8.65332 18.5749 8.08609 18.5749 7.504C18.5749 6.92192 18.7587 6.35469 19.1 5.88317L17.7 4.47484C16.0166 6.15817 16.0166 8.69984 17.7 10.5332L19.1 9.12484Z","fill","white"],[3,"transcriptionButtonClick","transcriptionSummaryCopy","seekTo","transcriptionPanelDragged","transcription","timeToRead"],["width","20","height","16","viewBox","0 0 16 16","fill","none","xmlns","http://www.w3.org/2000/svg",1,"delete-btn",3,"click"],["fill-rule","evenodd","clip-rule","evenodd","d","M4.28702 4.66602V12.2851C4.28702 13.1266 5.01189 13.8089 5.90606 13.8089H10.7632C11.6574 13.8089 12.3823 13.1266 12.3823 12.2851V4.66602H14.0013V12.2851C14.0013 13.9682 12.5516 15.3327 10.7632 15.3327H5.90606C4.11771 15.3327 2.66797 13.9682 2.66797 12.2851V4.66602H4.28702Z","fill","#FF7162"],["d","M6.77778 6.66602C6.34822 6.66602 6 7.06398 6 7.5549V11.1105C6 11.6014 6.34822 11.9993 6.77778 11.9993C7.20733 11.9993 7.55556 11.6014 7.55556 11.1105V7.5549C7.55556 7.06398 7.20733 6.66602 6.77778 6.66602Z","fill","#FF7162"],["d","M9.88889 6.66602C9.45933 6.66602 9.11111 7.06398 9.11111 7.5549V11.1105C9.11111 11.6014 9.45933 11.9993 9.88889 11.9993C10.3184 11.9993 10.6667 11.6014 10.6667 11.1105V7.5549C10.6667 7.06398 10.3184 6.66602 9.88889 6.66602Z","fill","#FF7162"],["fill-rule","evenodd","clip-rule","evenodd","d","M5.16667 3.11111V2.33333C5.16667 1.04467 6.22999 0 7.54167 0H9.125C10.4367 0 11.5 1.04467 11.5 2.33333V3.11111H13.875C14.3122 3.11111 14.6667 3.45933 14.6667 3.88889C14.6667 4.31844 14.3122 4.66667 13.875 4.66667H2.79167C2.35444 4.66667 2 4.31844 2 3.88889C2 3.45933 2.35444 3.11111 2.79167 3.11111H5.16667ZM6.75 2.33333C6.75 1.90378 7.10444 1.55556 7.54167 1.55556H9.125C9.56223 1.55556 9.91667 1.90378 9.91667 2.33333V3.11111H6.75V2.33333Z","fill","#FF7162"],[1,"s-video-transcription",3,"click","pointerdown","pointerup"],[3,"transcription","timeToRead","mode","visible","seekTo","close","transcriptionSummaryCopy","transcriptionPanelDragged",4,"ngIf"],[3,"seekTo","close","transcriptionSummaryCopy","transcriptionPanelDragged","transcription","timeToRead","mode","visible"]],template:function(i,o){if(i&1){let s=_();u(0,"div",2)(1,"div",3),g("click",function(h){return l(s),c(h.stopPropagation())})("pointerdown",function(h){return l(s),c(h.stopPropagation())})("pointerup",function(h){return l(s),c(h.stopPropagation())}),u(2,"video",4,0),g("timeupdate",function(){l(s);let h=f(3);return c(o.timeUpdate(h==null?null:h.currentTime))})("pointerdown",function(){return l(s),c(o.toggleVideo())}),v(4,it,1,1,"source",5)(5,ot,2,4,"ng-template",6),d(),v(6,rt,4,5,"div",7)(7,gt,14,8,"div",8),d(),v(8,vt,2,1,"div",9),d()}i&2&&(m(2),b("flip",(o.annotation==null?null:o.annotation.recordingType)==="video"),p("poster",(o.annotation==null||o.annotation.attachment==null?null:o.annotation.attachment.thumbnail)||(!(o.annotation==null||o.annotation.attachments==null)&&o.annotation.attachments.length?o.annotation==null||o.annotation.attachments[0]==null?null:o.annotation.attachments[0].thumbnail:"")),m(2),p("ngIf",!(!(o.annotation==null||o.annotation.attachments==null)&&o.annotation.attachments.length)&&(o.annotation==null?null:o.annotation.attachment)),m(),p("ngIf",o.annotation==null||o.annotation.attachments==null?null:o.annotation.attachments.length),m(),p("ngIf",o.showSubtitles),m(),p("ngIf",o.showControls),m(),p("ngIf",o.transcriptionVisible))},dependencies:[z,G,$,W],styles:["html[_ngcontent-%COMP%]{--velt-base-rem-unit: 1}*[data-snippyly-element=true][_ngcontent-%COMP%], *[data-velt-element=true][_ngcontent-%COMP%]{font-family:var(--velt-default-font-family)}velt-wireframe[_ngcontent-%COMP%]{display:none!important}body.velt-pin-dragging[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{pointer-events:none!important}*[_ngcontent-%COMP%]{box-sizing:border-box;-webkit-tap-highlight-color:rgba(255,255,255,0)!important;outline:none!important;margin:0!important;padding:0!important;line-height:1.5!important;color:#fff!important;font-size:calc((.9rem + 0px) * var(--velt-base-rem-unit))}*[_ngcontent-%COMP%]:not(svg,rect,circle,ellipse,line,polyline,polygon,path,text,g,use,image,defs,hr){height:unset;width:unset}*[_ngcontent-%COMP%]:empty:not(svg,rect,circle,ellipse,line,polyline,polygon,path,text,g,use,image,defs,hr){display:revert!important}.s-video-player[_ngcontent-%COMP%]{position:relative!important;display:flex!important;justify-content:center!important;align-items:center!important;border-radius:calc((1.5rem + 0px) * var(--velt-base-rem-unit))!important;background-color:#d3d3d3!important}.s-video-player[_ngcontent-%COMP%] video[_ngcontent-%COMP%]{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;height:100%!important;border-radius:calc((1.5rem + 0px) * var(--velt-base-rem-unit))!important}.controls-wrap[_ngcontent-%COMP%]{position:absolute!important;bottom:0!important;display:flex!important;justify-content:space-between!important;align-items:center!important;width:80%!important;padding:1em!important;font-style:normal!important;font-weight:400!important;font-size:1em!important;line-height:1em!important;color:#fff!important}.controls[_ngcontent-%COMP%]{display:flex!important;justify-content:center!important;align-items:center!important;gap:calc((1rem + 0px) * var(--velt-base-rem-unit))!important}.line[_ngcontent-%COMP%]{position:absolute!important;bottom:100%!important;width:90%!important;display:flex!important;align-items:center!important}.line[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%!important}.s-video-subtitles-wrap[_ngcontent-%COMP%]{position:absolute;width:calc((25rem + 0px) * var(--velt-base-rem-unit))!important;max-width:90%!important;bottom:10%!important;left:50%!important;transform:translate(-50%)!important;transition:bottom .3s!important}.s-video-subtitles-wrap[_ngcontent-%COMP%] .subtitles[_ngcontent-%COMP%]{background:#141416!important;border-radius:calc((.6rem + 0px) * var(--velt-base-rem-unit))!important;line-height:calc((1.5rem + 0px) * var(--velt-base-rem-unit))!important;padding:calc((.5rem + 0px) * var(--velt-base-rem-unit)) calc((1rem + 0px) * var(--velt-base-rem-unit))!important;text-align:center!important}.s-video-subtitles-wrap.hide[_ngcontent-%COMP%]{display:none!important}svg[_ngcontent-%COMP%]{cursor:pointer!important}.s-video-player[_ngcontent-%COMP%]:hover .s-video-subtitles-wrap[_ngcontent-%COMP%]{bottom:calc(10% + 80px)!important}.s-video-player[_ngcontent-%COMP%]:hover .s-video-controls-wrap[_ngcontent-%COMP%]{opacity:1!important}.s-video-controls-wrap[_ngcontent-%COMP%]{display:flex!important;flex-direction:column!important;position:absolute!important;z-index:10!important;bottom:0!important;width:100%!important;border-bottom-left-radius:calc((1.5rem + 0px) * var(--velt-base-rem-unit))!important;border-bottom-right-radius:calc((1.5rem + 0px) * var(--velt-base-rem-unit))!important;overflow:hidden!important;padding:calc((1rem + 0px) * var(--velt-base-rem-unit)) calc((2rem + 0px) * var(--velt-base-rem-unit))!important;gap:calc((1rem + 0px) * var(--velt-base-rem-unit))!important;opacity:0!important;transition:opacity .3s!important;background:#141416!important;background:linear-gradient(0deg,#141416,#37373700)!important;padding-top:calc((5rem + 0px) * var(--velt-base-rem-unit))!important}.s-video-controls-wrap[_ngcontent-%COMP%] .s-video-progress-bar[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%!important;accent-color:#625DF5!important}.s-video-controls-wrap[_ngcontent-%COMP%] .s-video-controls[_ngcontent-%COMP%]{display:flex!important;justify-content:space-between!important;align-items:center!important}.s-video-controls-wrap[_ngcontent-%COMP%] .s-video-controls[_ngcontent-%COMP%] .s-video-controls-left[_ngcontent-%COMP%]{display:flex!important;gap:calc((1rem + 0px) * var(--velt-base-rem-unit))!important;align-items:center!important}.s-video-controls-wrap[_ngcontent-%COMP%] .s-video-controls[_ngcontent-%COMP%] .s-video-controls-right[_ngcontent-%COMP%]{display:flex!important;align-items:center!important;gap:calc((1rem + 0px) * var(--velt-base-rem-unit))!important}.s-video-player-container[_ngcontent-%COMP%]{width:100%!important;height:100%!important;box-sizing:border-box!important;display:flex!important;gap:2rem!important}.s-video-player-container[_ngcontent-%COMP%] .s-video-player[_ngcontent-%COMP%]{flex:1 1 100%!important;height:100%!important;background-color:#141416!important;border-radius:calc((1.5rem + 0px) * var(--velt-base-rem-unit))!important;display:flex!important}.s-video-player-container[_ngcontent-%COMP%] .s-video-player[_ngcontent-%COMP%] video[_ngcontent-%COMP%]{width:100%!important}.s-video-player-container[_ngcontent-%COMP%] .s-video-transcription[_ngcontent-%COMP%]{flex:0 0 auto!important;width:calc((25rem + 0px) * var(--velt-base-rem-unit))!important;border-radius:calc((1.5rem + 0px) * var(--velt-base-rem-unit))!important;height:100%!important;overflow:hidden!important}.s-video-subtitles-btn[_ngcontent-%COMP%], .s-video-transcription-btn[_ngcontent-%COMP%]{display:flex!important}.s-video-subtitles-btn.disabled[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], .s-video-transcription-btn.disabled[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{cursor:not-allowed!important}.s-video-subtitles-btn.disabled[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] path[_ngcontent-%COMP%], .s-video-transcription-btn.disabled[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] path[_ngcontent-%COMP%]{fill:#80808a!important}"],changeDetection:0});let n=r;return n})();var It=(()=>{let r=class r{transform(t){try{if(!t||t<0||!isFinite(t))return"00:00:00";let i=Math.floor(t/1e3),o=Math.floor(i/3600),s=Math.floor(i%3600/60),P=i%60,h=j=>isNaN(j)?"00":j.toString().padStart(2,"0"),V=h(o),x=h(s),K=h(P);return`${V}:${x}:${K}`}catch(i){return console.error("Error in hourMinSecTimeDisplay pipe:",i),null}}};r.\u0275fac=function(i){return new(i||r)},r.\u0275pipe=k({name:"hourMinSecTimeDisplay",type:r,pure:!0});let n=r;return n})();export{W as a,Ot as b,It as c,J as d};
1
+ import{b as $}from"./chunk-PPMAL7J7.js";import{Bb as a,Fb as Z,Gb as A,Ha as m,Hb as q,Hc as z,Ia as C,Ic as G,Kb as f,Mb as b,Pb as T,Qb as N,Ra as S,Rb as I,Re as U,Wa as H,Yi as Q,Za as k,Zi as O,ab as v,ba as D,ea as B,fb as L,ja as l,ka as c,la as w,mc as M,na as F,nb as p,nc as E,ob as u,pb as d,qb as y,xb as _,zb as g}from"./chunk-2OZEFTFU.js";var W=(()=>{let r=class r{transform(t,i,...o){try{let s=t&&t?.slice?t?.slice():[];return s?.length&&new U().getBrowserName()?.toLocaleLowerCase()==="safari"&&(s=s.sort((V,x)=>V.type==="mp4"&&x.type!=="mp4"?-1:V.type!=="mp4"&&x.type==="mp4"?1:0)),s}catch{return t}}};r.\u0275fac=function(i){return new(i||r)},r.\u0275pipe=k({name:"rearrangeMediaSource",type:r,pure:!0});let n=r;return n})();var J=(()=>{let r=class r{constructor(t,i){this.injector=t,this.loggingService=i,this.arrowPromise=null,this.commentPromise=null,this.cursorPromise=null,this.huddlePromise=null,this.notificationPromise=null,this.presencePromise=null,this.reactionPromise=null,this.recorderPromise=null,this.tagPromise=null,this.rewriterPromise=null,this.selectionPromise=null,this.areaPromise=null,this.activityLogPromise=null,this.viewPromise=null,this.userInvitePromise=null,this.userRequestPromise=null,this.videoPlayerPromise=null,this.crdtPromise=null,this.liveStateSyncPromise=null,this.loggingService.log("%c[WB] Creating CLASS: ChunkLoaderService","color: blue;")}ensureArrowChunk(){return this.arrowPromise||(this.arrowPromise=import("./velt-arrow.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading arrow chunk: ",t),this.arrowPromise=null,t})),this.arrowPromise}ensureCommentChunk(){return this.commentPromise||(this.commentPromise=import("./velt-comment.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading comment chunk: ",t),this.commentPromise=null,t})),this.commentPromise}ensureCursorChunk(){return this.cursorPromise||(this.cursorPromise=import("./velt-cursor.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading cursor chunk: ",t),this.cursorPromise=null,t})),this.cursorPromise}ensureHuddleChunk(){return this.huddlePromise||(this.huddlePromise=import("./velt-huddle.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading huddle chunk: ",t),this.huddlePromise=null,t})),this.huddlePromise}ensureNotificationChunk(){return this.notificationPromise||(this.notificationPromise=import("./velt-notification.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading notification chunk: ",t),this.notificationPromise=null,t})),this.notificationPromise}ensurePresenceChunk(){return this.presencePromise||(this.presencePromise=import("./velt-presence.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading presence chunk: ",t),this.presencePromise=null,t})),this.presencePromise}ensureReactionChunk(){return this.reactionPromise||(this.reactionPromise=import("./velt-reaction.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading reaction chunk: ",t),this.reactionPromise=null,t})),this.reactionPromise}ensureRecorderChunk(){return this.recorderPromise||(this.recorderPromise=import("./velt-recorder.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading recorder chunk: ",t),this.recorderPromise=null,t})),this.recorderPromise}ensureTagChunk(){return this.tagPromise||(this.tagPromise=import("./velt-tag.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading tag chunk: ",t),this.tagPromise=null,t})),this.tagPromise}ensureRewriterChunk(){return this.rewriterPromise||(this.rewriterPromise=import("./velt-rewriter.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading rewriter chunk: ",t),this.rewriterPromise=null,t})),this.rewriterPromise}ensureSelectionChunk(){return this.selectionPromise||(this.selectionPromise=import("./velt-selection.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading selection chunk: ",t),this.selectionPromise=null,t})),this.selectionPromise}ensureAreaChunk(){return this.areaPromise||(this.areaPromise=import("./velt-area.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading area chunk: ",t),this.areaPromise=null,t})),this.areaPromise}ensureActivityLogChunk(){return this.activityLogPromise||(this.activityLogPromise=import("./velt-activity-log.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading activity-log chunk: ",t),this.activityLogPromise=null,t})),this.activityLogPromise}ensureViewChunk(){return this.viewPromise||(this.viewPromise=import("./velt-views.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading view chunk: ",t),this.viewPromise=null,t})),this.viewPromise}ensureUserInviteChunk(){return this.userInvitePromise||(this.userInvitePromise=import("./velt-user-invite.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading user-invite chunk: ",t),this.userInvitePromise=null,t})),this.userInvitePromise}ensureUserRequestChunk(){return this.userRequestPromise||(this.userRequestPromise=import("./velt-user-request.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading user-request chunk: ",t),this.userRequestPromise=null,t})),this.userRequestPromise}ensureVideoPlayerChunk(){return this.videoPlayerPromise||(this.videoPlayerPromise=import("./velt-video-player.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading video-player chunk: ",t),this.videoPlayerPromise=null,t})),this.videoPlayerPromise}ensureCrdtChunk(){return this.crdtPromise||(this.crdtPromise=import("./velt-crdt.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading crdt chunk: ",t),this.crdtPromise=null,t})),this.crdtPromise}ensureLiveStateSyncChunk(){return this.liveStateSyncPromise||(this.liveStateSyncPromise=import("./velt-live-state-sync.js").then(t=>t.default(this.injector)).catch(t=>{throw this.loggingService.catch("Error loading live-state-sync chunk: ",t),this.liveStateSyncPromise=null,t})),this.liveStateSyncPromise}};r.\u0275fac=function(i){return new(i||r)(B(F),B(O))},r.\u0275prov=D({token:r,factory:r.\u0275fac,providedIn:"root"});let n=r;return n})();var et=["videoRef"];function it(n,r){if(n&1&&y(0,"source",10),n&2){let e=a();p("src",!(e.annotation==null||e.annotation.attachment==null)&&e.annotation.attachment.thumbnail?e.annotation==null||e.annotation.attachment==null?null:e.annotation.attachment.url:(e.annotation==null||e.annotation.attachment==null?null:e.annotation.attachment.url)+"#t=0.001")}}function nt(n,r){if(n&1&&y(0,"source",12),n&2){let e=r.$implicit;p("src",e==null?null:e.url)("type",(e==null?null:e.mimeType)||"video/mp4")}}function ot(n,r){if(n&1&&(v(0,nt,1,2,"source",11),M(1,"rearrangeMediaSource")),n&2){let e=a();p("ngForOf",E(1,2,e.annotation==null?null:e.annotation.attachments))("ngForTrackBy",e.trackByAttachmentId)}}function rt(n,r){if(n&1){let e=_();u(0,"div",13)(1,"div",14)(2,"snippyly-subtitles-embed",15,1),g("subtitlesButtonClick",function(){l(e);let i=a();return c(i.onSubtitlesButtonClick())}),d()()()}if(n&2){let e,t=f(3),i=a(),o=f(3);b("hide",(t==null?null:t.componentConfigSignal)&&(t==null||(e=t.componentConfigSignal())==null?null:e.highlightedTextIndex)<0),m(2),p("transcription",i.annotation==null?null:i.annotation.transcription)("timeToRead",(o==null?null:o.currentTime)||0)("mode","embed")}}function at(n,r){if(n&1){let e=_();u(0,"input",28),g("input",function(i){l(e);let o=a(2);return c(o.onDurationChange(i))}),d()}if(n&2){let e=a(2),t=f(3);p("value",(t==null?null:t.currentTime)*1e3/((e.annotation==null||e.annotation.recordedTime==null?null:e.annotation.recordedTime.duration)||0))}}function st(n,r){if(n&1){let e=_();w(),u(0,"svg",29),g("click",function(){l(e);let i=a(2);return c(i.toggleVideo())}),y(1,"path",30),d()}}function lt(n,r){if(n&1){let e=_();w(),u(0,"svg",31),g("click",function(){l(e);let i=a(2);return c(i.toggleVideo())}),y(1,"path",32)(2,"path",33),d()}}function ct(n,r){n&1&&(u(0,"span",38),T(1),M(2,"translate"),d()),n&2&&(m(),I(" ",E(2,1,"Subtitles not available")," "))}function pt(n,r){if(n&1){let e=_();u(0,"div",34),v(1,ct,3,3,"span",35),w(),u(2,"svg",36),g("click",function(){l(e);let i=a(2);return c(!(i.annotation==null||i.annotation.transcription==null)&&i.annotation.transcription.transcriptedText?i.onSubtitlesButtonClick(!0):null)}),y(3,"path",37),d()()}if(n&2){let e=a(2);b("disabled",!(!(e.annotation==null||e.annotation.transcription==null)&&e.annotation.transcription.transcriptedText)),m(),p("ngIf",!(!(e.annotation==null||e.annotation.transcription==null)&&e.annotation.transcription.transcriptedText))}}function mt(n,r){n&1&&(u(0,"span",38),T(1),M(2,"translate"),d()),n&2&&(m(),I(" ",E(2,1,"Transcription not available")))}function ut(n,r){if(n&1){let e=_();u(0,"div",39),g("click",function(){l(e);let i=a(2);return c(!(i.annotation==null||i.annotation.transcription==null)&&i.annotation.transcription.transcriptedText?i.onTranscriptionButtonClick(!0):null)}),v(1,mt,3,3,"span",35),w(),u(2,"svg",40),y(3,"path",41),d()()}if(n&2){let e=a(2);b("disabled",!(!(e.annotation==null||e.annotation.transcription==null)&&e.annotation.transcription.transcriptedText)),m(),p("ngIf",!(!(e.annotation==null||e.annotation.transcription==null)&&e.annotation.transcription.transcriptedText))}}function dt(n,r){if(n&1){let e=_();u(0,"snippyly-transcription-embed",42),g("transcriptionButtonClick",function(){l(e);let i=a(2);return c(i.onTranscriptionButtonClick())})("transcriptionSummaryCopy",function(){l(e);let i=a(2);return c(i.onTranscriptionSummaryCopy())})("seekTo",function(i){l(e);let o=a(2),s=f(3);return c(o.onSeekToVideo(i,s))})("transcriptionPanelDragged",function(){l(e);let i=a(2);return c(i.onTranscriptionPanelDragged())}),d()}if(n&2){let e=a(2),t=f(3);p("transcription",e.annotation==null?null:e.annotation.transcription)("timeToRead",(t==null?null:t.currentTime)||0)}}function ht(n,r){if(n&1){let e=_();w(),u(0,"svg",43),g("click",function(){l(e);let i=a(2);return c(i.onDelete())}),y(1,"path",44)(2,"path",45)(3,"path",46)(4,"path",47),d()}}function gt(n,r){if(n&1&&(u(0,"div",16)(1,"div",17),v(2,at,1,1,"input",18),d(),u(3,"div",19)(4,"div",20),v(5,st,2,0,"svg",21)(6,lt,3,0,"svg",22),u(7,"span"),T(8),d()(),u(9,"div",23),v(10,pt,4,3,"div",24)(11,ut,4,3,"div",25)(12,dt,1,2,"snippyly-transcription-embed",26)(13,ht,5,0,"svg",27),d()()()),n&2){let e=a();m(2),p("ngIf",e.annotation==null||e.annotation.recordedTime==null?null:e.annotation.recordedTime.duration),m(3),p("ngIf",!e.playing),m(),p("ngIf",e.playing),m(2),N(e.currentTime||(e.annotation==null||e.annotation.recordedTime==null?null:e.annotation.recordedTime.display)||"00:00"),m(2),p("ngIf",(e.annotation==null?null:e.annotation.transcription)&&e.showSubtitlesButton),m(),p("ngIf",(e.annotation==null?null:e.annotation.transcription)&&e.transcriptionMode==="embed"),m(),p("ngIf",(e.annotation==null?null:e.annotation.transcription)&&e.transcriptionMode==="floating"&&e.showTranscriptionButton),m(),p("ngIf",e.showDeleteButton)}}function _t(n,r){if(n&1){let e=_();u(0,"snippyly-transcription-embed",50),g("seekTo",function(i){l(e);let o=a(2),s=f(3);return c(o.onSeekToVideo(i,s))})("close",function(){l(e);let i=a(2);return c(i.toggleTranscription())})("transcriptionSummaryCopy",function(){l(e);let i=a(2);return c(i.onTranscriptionSummaryCopy())})("transcriptionPanelDragged",function(){l(e);let i=a(2);return c(i.onTranscriptionPanelDragged())}),d()}if(n&2){let e=a(2),t=f(3);p("transcription",e.annotation==null?null:e.annotation.transcription)("timeToRead",(t==null?null:t.currentTime)||0)("mode",e.transcriptionMode)("visible",!0)}}function vt(n,r){if(n&1){let e=_();u(0,"div",48),g("click",function(i){return l(e),c(i.stopPropagation())})("pointerdown",function(i){return l(e),c(i.stopPropagation())})("pointerup",function(i){return l(e),c(i.stopPropagation())}),v(1,_t,1,4,"snippyly-transcription-embed",49),d()}if(n&2){let e=a();m(),p("ngIf",(e.annotation==null?null:e.annotation.transcription)&&e.showTranscriptionButton)}}var Ot=(()=>{let r=class r{constructor(t,i,o){this.analyticsService=t,this.loggingService=i,this.chunkLoaderService=o,this.showControls=!0,this.showSubtitlesButton=!0,this.showTranscriptionButton=!0,this.transcriptionMode="floating",this.play=new C,this.pause=new C,this.delete=new C,this.transcriptionButtonClick=new C,this.transcriptionSummaryCopy=new C,this.subtitlesButtonClick=new C,this.transcriptionTimestampClick=new C,this.transcriptionPanelDragged=new C,this.playing=!1,this.currentTime="",this.showSubtitles=!1,this.transcriptionVisible=!1,this.veltElement=!0}ngOnInit(){this.annotation?.transcription&&this.ensureRecorderChunkForEmbeds()}ensureRecorderChunkForEmbeds(){this.chunkLoaderService.ensureRecorderChunk().catch(t=>{this.loggingService.catch("Error in VideoPlayerComponent ensureRecorderChunkForEmbeds: ",t)})}trackByAttachmentId(t,i){return i?.attachmentId}toggleVideo(){try{if(this.videoRef?.nativeElement){let t=this.videoRef?.nativeElement;t&&(t.duration>0&&!t.paused?(t.pause(),this.playing=!1,this.pause.emit()):(t.play(),this.playing=!0,this.play.emit()))}}catch(t){this.loggingService.catch("Error in VideoPlayerComponent toggleVideo: ",t)}}toggleSubtitles(){try{this.ensureRecorderChunkForEmbeds(),this.showSubtitles=!this.showSubtitles}catch(t){this.loggingService.catch("Error in VideoPlayerComponent toggleSubtitles: ",t)}}toggleTranscription(){try{this.ensureRecorderChunkForEmbeds(),this.transcriptionVisible=!this.transcriptionVisible}catch(t){this.loggingService.catch("Error in VideoPlayerComponent toggleTranscription: ",t)}}onTranscriptionButtonClick(t){try{this.transcriptionButtonClick.emit(),t&&this.toggleTranscription()}catch(i){this.loggingService.catch("Error in VideoPlayerComponent onTranscriptionButtonClick: ",i)}}onTranscriptionSummaryCopy(){try{this.transcriptionSummaryCopy.emit()}catch(t){this.loggingService.catch("Error in VideoPlayerComponent onTranscriptionSummaryCopy: ",t)}}onSubtitlesButtonClick(t){try{this.subtitlesButtonClick.emit(),t&&this.toggleSubtitles()}catch(i){this.loggingService.catch("Error in VideoPlayerComponent onSubtitlesButtonClick: ",i)}}onDurationChange(t){try{t?.target?.value>=0&&this.videoRef&&(this.videoRef.nativeElement.currentTime=t.target.value*(this.annotation?.recordedTime?.duration||0)/1e3),this.playing||this.toggleVideo()}catch(i){this.loggingService.catch("Error in VideoPlayerComponent onDurationChange: ",i)}}timeUpdate(t){try{this.currentTime=this.formatSecondsAsTime(t)}catch(i){this.loggingService.catch("Error in VideoPlayerComponent timeUpdate: ",i)}}formatSecondsAsTime(t){try{let i=Math.floor(t/3600),o=Math.floor((t-i*3600)/60),s=Math.floor(t-i*3600-o*60);return i&&i<10&&(i="0"+i),o<10&&(o="0"+o),s<10&&(s="0"+s),(i?i+":":"")+o+":"+s}catch(i){return this.loggingService.catch("Error in VideoPlayerComponent formatSecondsAsTime: ",i),""}}onSeekToVideo(t,i){try{i&&(i.currentTime=t),this.playing||this.toggleVideo(),this.onTranscriptionTimestampClick(t)}catch(o){this.loggingService.catch("Error in VideoPlayerComponent onSeekToVideo: ",o)}}onTranscriptionTimestampClick(t){try{this.transcriptionTimestampClick.emit(t)}catch(i){this.loggingService.catch("Error in VideoPlayerComponent onTranscriptionTimestampClick: ",i)}}onTranscriptionPanelDragged(){try{this.transcriptionPanelDragged.emit()}catch(t){this.loggingService.catch("Error in VideoPlayerComponent onTranscriptionPanelDragged: ",t)}}onDelete(){try{this.delete?.emit()}catch(t){this.loggingService.catch("Error in VideoPlayerComponent onDelete: ",t)}}};r.\u0275fac=function(i){return new(i||r)(S(Q),S(O),S(J))},r.\u0275cmp=H({type:r,selectors:[["snippyly-video-player"]],viewQuery:function(i,o){if(i&1&&Z(et,5),i&2){let s;A(s=q())&&(o.videoRef=s.first)}},hostVars:1,hostBindings:function(i,o){i&2&&L("data-velt-element",o.veltElement)},inputs:{annotation:"annotation",showControls:"showControls",showSubtitlesButton:"showSubtitlesButton",showTranscriptionButton:"showTranscriptionButton",showDeleteButton:"showDeleteButton",transcriptionMode:"transcriptionMode"},outputs:{play:"play",pause:"pause",delete:"delete",transcriptionButtonClick:"transcriptionButtonClick",transcriptionSummaryCopy:"transcriptionSummaryCopy",subtitlesButtonClick:"subtitlesButtonClick",transcriptionTimestampClick:"transcriptionTimestampClick",transcriptionPanelDragged:"transcriptionPanelDragged"},standalone:!1,decls:9,vars:8,consts:[["videoRef",""],["subtitlesRef",""],[1,"s-video-player-container"],[1,"s-video-player",3,"click","pointerdown","pointerup"],["playsinline","",3,"timeupdate","pointerdown","poster"],["type","video/mp4",3,"src",4,"ngIf"],[3,"ngIf"],["class","s-video-subtitles-wrap",3,"hide",4,"ngIf"],["class","s-video-controls-wrap",4,"ngIf"],["class","s-video-transcription",3,"click","pointerdown","pointerup",4,"ngIf"],["type","video/mp4",3,"src"],[3,"src","type",4,"ngFor","ngForOf","ngForTrackBy"],[3,"src","type"],[1,"s-video-subtitles-wrap"],[1,"subtitles"],[3,"subtitlesButtonClick","transcription","timeToRead","mode"],[1,"s-video-controls-wrap"],[1,"s-video-progress-bar"],["type","range","min","0","max","1","step","0.01",3,"value","input",4,"ngIf"],[1,"s-video-controls"],[1,"s-video-controls-left"],["width","20","height","20","viewBox","0 0 20 20","fill","none","xmlns","http://www.w3.org/2000/svg",3,"click",4,"ngIf"],["width","20","height","20","viewBox","0 0 16 16","fill","none","xmlns","http://www.w3.org/2000/svg",3,"click",4,"ngIf"],[1,"s-video-controls-right"],["class","s-video-subtitles-btn s-tooltip",3,"disabled",4,"ngIf"],["class","s-video-transcription-btn s-tooltip",3,"disabled","click",4,"ngIf"],[3,"transcription","timeToRead","transcriptionButtonClick","transcriptionSummaryCopy","seekTo","transcriptionPanelDragged",4,"ngIf"],["width","20","height","16","viewBox","0 0 16 16","fill","none","xmlns","http://www.w3.org/2000/svg","class","delete-btn",3,"click",4,"ngIf"],["type","range","min","0","max","1","step","0.01",3,"input","value"],["width","20","height","20","viewBox","0 0 20 20","fill","none","xmlns","http://www.w3.org/2000/svg",3,"click"],["d","M3.08337 3.65485C3.08337 1.69607 5.23378 0.498172 6.89926 1.52918L17.1496 7.87464C18.7284 8.852 18.7284 11.1486 17.1496 12.126L6.89926 18.4714C5.23378 19.5024 3.08337 18.3045 3.08337 16.3458V3.65485Z","fill","white"],["width","20","height","20","viewBox","0 0 16 16","fill","none","xmlns","http://www.w3.org/2000/svg",3,"click"],["d","M1.33203 2.66536C1.33203 1.92899 1.92898 1.33203 2.66536 1.33203H5.33203C6.06841 1.33203 6.66536 1.92898 6.66536 2.66536V13.332C6.66536 14.0684 6.06841 14.6654 5.33203 14.6654H2.66536C1.92898 14.6654 1.33203 14.0684 1.33203 13.332V2.66536Z","fill","white"],["d","M9.33203 2.66536C9.33203 1.92899 9.92899 1.33203 10.6654 1.33203H13.332C14.0684 1.33203 14.6654 1.92898 14.6654 2.66536V13.332C14.6654 14.0684 14.0684 14.6654 13.332 14.6654H10.6654C9.92899 14.6654 9.33203 14.0684 9.33203 13.332V2.66536Z","fill","white"],[1,"s-video-subtitles-btn","s-tooltip"],["class","s-tooltiptext top",4,"ngIf"],["width","20","height","21","viewBox","0 0 20 21","fill","none","xmlns","http://www.w3.org/2000/svg",3,"click"],["d","M11.47 7.62875C11.893 7.41764 12.3718 7.34543 12.8382 7.42242C13.3046 7.49941 13.7348 7.72166 14.0675 8.0575C14.1849 8.17486 14.2508 8.33403 14.2508 8.5C14.2508 8.66597 14.1849 8.82514 14.0675 8.9425C13.9501 9.05986 13.791 9.12579 13.625 9.12579C13.459 9.12579 13.2999 9.05986 13.1825 8.9425C13.0358 8.79219 12.8452 8.69223 12.6382 8.65697C12.4311 8.62171 12.2182 8.65297 12.03 8.74625C11.6712 8.92625 11.25 9.41875 11.25 10.5C11.25 11.5813 11.6712 12.075 12.03 12.2537C12.2182 12.347 12.4311 12.3783 12.6382 12.343C12.8452 12.3078 13.0358 12.2078 13.1825 12.0575C13.2999 11.9401 13.459 11.8742 13.625 11.8742C13.791 11.8742 13.9501 11.9401 14.0675 12.0575C14.1849 12.1749 14.2508 12.334 14.2508 12.5C14.2508 12.666 14.1849 12.8251 14.0675 12.9425C13.38 13.63 12.34 13.8062 11.47 13.3713C10.5787 12.9262 10 11.9187 10 10.5C10 9.08125 10.5787 8.075 11.47 7.62875ZM9.0675 8.0575C8.73492 7.72149 8.3047 7.49913 7.83824 7.42213C7.37178 7.34514 6.89292 7.41745 6.47 7.62875C5.57875 8.07375 5 9.08125 5 10.5C5 11.9187 5.57875 12.925 6.47 13.3713C6.89292 13.5826 7.37178 13.6549 7.83824 13.5779C8.3047 13.5009 8.73492 13.2785 9.0675 12.9425C9.12561 12.8844 9.1717 12.8154 9.20315 12.7395C9.2346 12.6636 9.25079 12.5822 9.25079 12.5C9.25079 12.4178 9.2346 12.3364 9.20315 12.2605C9.1717 12.1846 9.12561 12.1156 9.0675 12.0575C9.00939 11.9994 8.9404 11.9533 8.86448 11.9218C8.78855 11.8904 8.70718 11.8742 8.625 11.8742C8.54282 11.8742 8.46144 11.8904 8.38552 11.9218C8.3096 11.9533 8.24061 11.9994 8.1825 12.0575C8.03568 12.2076 7.84513 12.3075 7.63811 12.3427C7.4311 12.378 7.21823 12.3468 7.03 12.2537C6.67125 12.0738 6.25 11.5813 6.25 10.5C6.25 9.41875 6.67125 8.925 7.03 8.74625C7.21823 8.65316 7.4311 8.62201 7.63811 8.65726C7.84513 8.69251 8.03568 8.79236 8.1825 8.9425C8.29986 9.05986 8.45903 9.12579 8.625 9.12579C8.79097 9.12579 8.95014 9.05986 9.0675 8.9425C9.18486 8.82514 9.25079 8.66597 9.25079 8.5C9.25079 8.33403 9.18486 8.17486 9.0675 8.0575ZM1.25 7.375C1.25 6.5462 1.57924 5.75134 2.16529 5.16529C2.75134 4.57924 3.5462 4.25 4.375 4.25H15.625C16.4538 4.25 17.2487 4.57924 17.8347 5.16529C18.4208 5.75134 18.75 6.5462 18.75 7.375V13.625C18.75 14.4538 18.4208 15.2487 17.8347 15.8347C17.2487 16.4208 16.4538 16.75 15.625 16.75H4.375C3.5462 16.75 2.75134 16.4208 2.16529 15.8347C1.57924 15.2487 1.25 14.4538 1.25 13.625V7.375ZM4.375 5.5C3.87772 5.5 3.40081 5.69754 3.04917 6.04917C2.69754 6.40081 2.5 6.87772 2.5 7.375V13.625C2.5 14.1223 2.69754 14.5992 3.04917 14.9508C3.40081 15.3025 3.87772 15.5 4.375 15.5H15.625C16.1223 15.5 16.5992 15.3025 16.9508 14.9508C17.3025 14.5992 17.5 14.1223 17.5 13.625V7.375C17.5 6.87772 17.3025 6.40081 16.9508 6.04917C16.5992 5.69754 16.1223 5.5 15.625 5.5H4.375Z","fill","white"],[1,"s-tooltiptext","top"],[1,"s-video-transcription-btn","s-tooltip",3,"click"],["width","20","height","20","viewBox","0 0 20 20","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M7.49997 10.8332C9.34164 10.8332 10.8333 9.3415 10.8333 7.49984C10.8333 5.65817 9.34164 4.1665 7.49997 4.1665C5.65831 4.1665 4.16664 5.65817 4.16664 7.49984C4.16664 9.3415 5.65831 10.8332 7.49997 10.8332ZM7.49997 5.83317C8.41664 5.83317 9.16664 6.58317 9.16664 7.49984C9.16664 8.4165 8.41664 9.1665 7.49997 9.1665C6.58331 9.1665 5.83331 8.4165 5.83331 7.49984C5.83331 6.58317 6.58331 5.83317 7.49997 5.83317ZM12.825 12.9665C11.425 12.2498 9.60831 11.6665 7.49997 11.6665C5.39164 11.6665 3.57497 12.2498 2.17497 12.9665C1.76835 13.1759 1.42772 13.4939 1.19089 13.8852C0.954055 14.2765 0.830281 14.7258 0.833306 15.1832V17.4998H14.1666V15.1832C14.1666 14.2498 13.6583 13.3915 12.825 12.9665ZM12.5 15.8332H2.49997V15.1832C2.49997 14.8665 2.66664 14.5832 2.93331 14.4498C3.92497 13.9415 5.52497 13.3332 7.49997 13.3332C9.47497 13.3332 11.075 13.9415 12.0666 14.4498C12.3333 14.5832 12.5 14.8665 12.5 15.1832V15.8332ZM14.9416 13.3332L16.3 11.9748C13.9916 9.45817 13.9916 5.67484 16.3 3.02484L14.9416 1.6665C11.6916 4.90817 11.6833 9.95817 14.9416 13.3332ZM19.1 9.12484C18.7587 8.65332 18.5749 8.08609 18.5749 7.504C18.5749 6.92192 18.7587 6.35469 19.1 5.88317L17.7 4.47484C16.0166 6.15817 16.0166 8.69984 17.7 10.5332L19.1 9.12484Z","fill","white"],[3,"transcriptionButtonClick","transcriptionSummaryCopy","seekTo","transcriptionPanelDragged","transcription","timeToRead"],["width","20","height","16","viewBox","0 0 16 16","fill","none","xmlns","http://www.w3.org/2000/svg",1,"delete-btn",3,"click"],["fill-rule","evenodd","clip-rule","evenodd","d","M4.28702 4.66602V12.2851C4.28702 13.1266 5.01189 13.8089 5.90606 13.8089H10.7632C11.6574 13.8089 12.3823 13.1266 12.3823 12.2851V4.66602H14.0013V12.2851C14.0013 13.9682 12.5516 15.3327 10.7632 15.3327H5.90606C4.11771 15.3327 2.66797 13.9682 2.66797 12.2851V4.66602H4.28702Z","fill","#FF7162"],["d","M6.77778 6.66602C6.34822 6.66602 6 7.06398 6 7.5549V11.1105C6 11.6014 6.34822 11.9993 6.77778 11.9993C7.20733 11.9993 7.55556 11.6014 7.55556 11.1105V7.5549C7.55556 7.06398 7.20733 6.66602 6.77778 6.66602Z","fill","#FF7162"],["d","M9.88889 6.66602C9.45933 6.66602 9.11111 7.06398 9.11111 7.5549V11.1105C9.11111 11.6014 9.45933 11.9993 9.88889 11.9993C10.3184 11.9993 10.6667 11.6014 10.6667 11.1105V7.5549C10.6667 7.06398 10.3184 6.66602 9.88889 6.66602Z","fill","#FF7162"],["fill-rule","evenodd","clip-rule","evenodd","d","M5.16667 3.11111V2.33333C5.16667 1.04467 6.22999 0 7.54167 0H9.125C10.4367 0 11.5 1.04467 11.5 2.33333V3.11111H13.875C14.3122 3.11111 14.6667 3.45933 14.6667 3.88889C14.6667 4.31844 14.3122 4.66667 13.875 4.66667H2.79167C2.35444 4.66667 2 4.31844 2 3.88889C2 3.45933 2.35444 3.11111 2.79167 3.11111H5.16667ZM6.75 2.33333C6.75 1.90378 7.10444 1.55556 7.54167 1.55556H9.125C9.56223 1.55556 9.91667 1.90378 9.91667 2.33333V3.11111H6.75V2.33333Z","fill","#FF7162"],[1,"s-video-transcription",3,"click","pointerdown","pointerup"],[3,"transcription","timeToRead","mode","visible","seekTo","close","transcriptionSummaryCopy","transcriptionPanelDragged",4,"ngIf"],[3,"seekTo","close","transcriptionSummaryCopy","transcriptionPanelDragged","transcription","timeToRead","mode","visible"]],template:function(i,o){if(i&1){let s=_();u(0,"div",2)(1,"div",3),g("click",function(h){return l(s),c(h.stopPropagation())})("pointerdown",function(h){return l(s),c(h.stopPropagation())})("pointerup",function(h){return l(s),c(h.stopPropagation())}),u(2,"video",4,0),g("timeupdate",function(){l(s);let h=f(3);return c(o.timeUpdate(h==null?null:h.currentTime))})("pointerdown",function(){return l(s),c(o.toggleVideo())}),v(4,it,1,1,"source",5)(5,ot,2,4,"ng-template",6),d(),v(6,rt,4,5,"div",7)(7,gt,14,8,"div",8),d(),v(8,vt,2,1,"div",9),d()}i&2&&(m(2),b("flip",(o.annotation==null?null:o.annotation.recordingType)==="video"),p("poster",(o.annotation==null||o.annotation.attachment==null?null:o.annotation.attachment.thumbnail)||(!(o.annotation==null||o.annotation.attachments==null)&&o.annotation.attachments.length?o.annotation==null||o.annotation.attachments[0]==null?null:o.annotation.attachments[0].thumbnail:"")),m(2),p("ngIf",!(!(o.annotation==null||o.annotation.attachments==null)&&o.annotation.attachments.length)&&(o.annotation==null?null:o.annotation.attachment)),m(),p("ngIf",o.annotation==null||o.annotation.attachments==null?null:o.annotation.attachments.length),m(),p("ngIf",o.showSubtitles),m(),p("ngIf",o.showControls),m(),p("ngIf",o.transcriptionVisible))},dependencies:[z,G,$,W],styles:["html[_ngcontent-%COMP%]{--velt-base-rem-unit: 1}*[data-snippyly-element=true][_ngcontent-%COMP%], *[data-velt-element=true][_ngcontent-%COMP%]{font-family:var(--velt-default-font-family)}velt-wireframe[_ngcontent-%COMP%]{display:none!important}body.velt-pin-dragging[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{pointer-events:none!important}*[_ngcontent-%COMP%]{box-sizing:border-box;-webkit-tap-highlight-color:rgba(255,255,255,0)!important;outline:none!important;margin:0!important;padding:0!important;line-height:1.5!important;color:#fff!important;font-size:calc((.9rem + 0px) * var(--velt-base-rem-unit))}*[_ngcontent-%COMP%]:not(svg,rect,circle,ellipse,line,polyline,polygon,path,text,g,use,image,defs,hr){height:unset;width:unset}*[_ngcontent-%COMP%]:empty:not(svg,rect,circle,ellipse,line,polyline,polygon,path,text,g,use,image,defs,hr){display:revert!important}.s-video-player[_ngcontent-%COMP%]{position:relative!important;display:flex!important;justify-content:center!important;align-items:center!important;border-radius:calc((1.5rem + 0px) * var(--velt-base-rem-unit))!important;background-color:#d3d3d3!important}.s-video-player[_ngcontent-%COMP%] video[_ngcontent-%COMP%]{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;height:100%!important;border-radius:calc((1.5rem + 0px) * var(--velt-base-rem-unit))!important}.controls-wrap[_ngcontent-%COMP%]{position:absolute!important;bottom:0!important;display:flex!important;justify-content:space-between!important;align-items:center!important;width:80%!important;padding:1em!important;font-style:normal!important;font-weight:400!important;font-size:1em!important;line-height:1em!important;color:#fff!important}.controls[_ngcontent-%COMP%]{display:flex!important;justify-content:center!important;align-items:center!important;gap:calc((1rem + 0px) * var(--velt-base-rem-unit))!important}.line[_ngcontent-%COMP%]{position:absolute!important;bottom:100%!important;width:90%!important;display:flex!important;align-items:center!important}.line[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%!important}.s-video-subtitles-wrap[_ngcontent-%COMP%]{position:absolute;width:calc((25rem + 0px) * var(--velt-base-rem-unit))!important;max-width:90%!important;bottom:10%!important;left:50%!important;transform:translate(-50%)!important;transition:bottom .3s!important}.s-video-subtitles-wrap[_ngcontent-%COMP%] .subtitles[_ngcontent-%COMP%]{background:#141416!important;border-radius:calc((.6rem + 0px) * var(--velt-base-rem-unit))!important;line-height:calc((1.5rem + 0px) * var(--velt-base-rem-unit))!important;padding:calc((.5rem + 0px) * var(--velt-base-rem-unit)) calc((1rem + 0px) * var(--velt-base-rem-unit))!important;text-align:center!important}.s-video-subtitles-wrap.hide[_ngcontent-%COMP%]{display:none!important}svg[_ngcontent-%COMP%]{cursor:pointer!important}.s-video-player[_ngcontent-%COMP%]:hover .s-video-subtitles-wrap[_ngcontent-%COMP%]{bottom:calc(10% + 80px)!important}.s-video-player[_ngcontent-%COMP%]:hover .s-video-controls-wrap[_ngcontent-%COMP%]{opacity:1!important}.s-video-controls-wrap[_ngcontent-%COMP%]{display:flex!important;flex-direction:column!important;position:absolute!important;z-index:10!important;bottom:0!important;width:100%!important;border-bottom-left-radius:calc((1.5rem + 0px) * var(--velt-base-rem-unit))!important;border-bottom-right-radius:calc((1.5rem + 0px) * var(--velt-base-rem-unit))!important;overflow:hidden!important;padding:calc((1rem + 0px) * var(--velt-base-rem-unit)) calc((2rem + 0px) * var(--velt-base-rem-unit))!important;gap:calc((1rem + 0px) * var(--velt-base-rem-unit))!important;opacity:0!important;transition:opacity .3s!important;background:#141416!important;background:linear-gradient(0deg,#141416,#37373700)!important;padding-top:calc((5rem + 0px) * var(--velt-base-rem-unit))!important}.s-video-controls-wrap[_ngcontent-%COMP%] .s-video-progress-bar[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%!important;accent-color:#625DF5!important}.s-video-controls-wrap[_ngcontent-%COMP%] .s-video-controls[_ngcontent-%COMP%]{display:flex!important;justify-content:space-between!important;align-items:center!important}.s-video-controls-wrap[_ngcontent-%COMP%] .s-video-controls[_ngcontent-%COMP%] .s-video-controls-left[_ngcontent-%COMP%]{display:flex!important;gap:calc((1rem + 0px) * var(--velt-base-rem-unit))!important;align-items:center!important}.s-video-controls-wrap[_ngcontent-%COMP%] .s-video-controls[_ngcontent-%COMP%] .s-video-controls-right[_ngcontent-%COMP%]{display:flex!important;align-items:center!important;gap:calc((1rem + 0px) * var(--velt-base-rem-unit))!important}.s-video-player-container[_ngcontent-%COMP%]{width:100%!important;height:100%!important;box-sizing:border-box!important;display:flex!important;gap:2rem!important}.s-video-player-container[_ngcontent-%COMP%] .s-video-player[_ngcontent-%COMP%]{flex:1 1 100%!important;height:100%!important;background-color:#141416!important;border-radius:calc((1.5rem + 0px) * var(--velt-base-rem-unit))!important;display:flex!important}.s-video-player-container[_ngcontent-%COMP%] .s-video-player[_ngcontent-%COMP%] video[_ngcontent-%COMP%]{width:100%!important}.s-video-player-container[_ngcontent-%COMP%] .s-video-transcription[_ngcontent-%COMP%]{flex:0 0 auto!important;width:calc((25rem + 0px) * var(--velt-base-rem-unit))!important;border-radius:calc((1.5rem + 0px) * var(--velt-base-rem-unit))!important;height:100%!important;overflow:hidden!important}.s-video-subtitles-btn[_ngcontent-%COMP%], .s-video-transcription-btn[_ngcontent-%COMP%]{display:flex!important}.s-video-subtitles-btn.disabled[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], .s-video-transcription-btn.disabled[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{cursor:not-allowed!important}.s-video-subtitles-btn.disabled[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] path[_ngcontent-%COMP%], .s-video-transcription-btn.disabled[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] path[_ngcontent-%COMP%]{fill:#80808a!important}"],changeDetection:0});let n=r;return n})();var It=(()=>{let r=class r{transform(t){try{if(!t||t<0||!isFinite(t))return"00:00:00";let i=Math.floor(t/1e3),o=Math.floor(i/3600),s=Math.floor(i%3600/60),P=i%60,h=j=>isNaN(j)?"00":j.toString().padStart(2,"0"),V=h(o),x=h(s),K=h(P);return`${V}:${x}:${K}`}catch(i){return console.error("Error in hourMinSecTimeDisplay pipe:",i),null}}};r.\u0275fac=function(i){return new(i||r)},r.\u0275pipe=k({name:"hourMinSecTimeDisplay",type:r,pure:!0});let n=r;return n})();export{W as a,Ot as b,It as c,J as d};
@@ -1 +1 @@
1
- import{Cj as h,Ia as c,Ra as n,Ya as o,wa as a,ya as r}from"./chunk-LPTIQD5G.js";var I=(()=>{let e=class e{constructor(t,i){this.domService=t,this.elementRef=i,this.clickOutside=new c}ngOnInit(){}ngAfterViewInit(){setTimeout(()=>{this.subscription=this.domService.onDocumentClickSubject$().subscribe(t=>{let i=this.checkInsideClick(t,this.elementRef.nativeElement);!i&&this.clickOutsideHandler&&typeof this.clickOutsideHandler=="function"&&(i=this.clickOutsideHandler(t.target,this.elementRef.nativeElement)),i||this.clickOutside.emit()})},500)}ngOnDestroy(){this.subscription?.unsubscribe()}checkInsideClick(t,i){return t.composedPath().includes(i)}};e.\u0275fac=function(i){return new(i||e)(n(h),n(r))},e.\u0275dir=o({type:e,selectors:[["","snippylyClickOutside",""]],inputs:{clickOutsideHandler:"clickOutsideHandler"},outputs:{clickOutside:"clickOutside"}});let s=e;return s})();var b=(()=>{let e=class e{constructor(t){this.elementRef=t,this.lastPosition=null,this.positionChange=new c,this.disabled=!1,this.timeSpentInMs=0,this.MAX_TIME_SPENT_IN_MS=6e4}ngAfterViewInit(){try{this.toggleTrackingPosition()}catch{}}toggleTrackingPosition(){try{this.disabled?this.stopTracking():this.startTrackingPosition()}catch{}}startTrackingPosition(){try{if(this.intervalId)return;this.intervalId=setInterval(()=>{if(this.timeSpentInMs+=10,this.timeSpentInMs>this.MAX_TIME_SPENT_IN_MS){this.stopTracking();return}let t=this.elementRef.nativeElement.getBoundingClientRect();(!this.lastPosition||!this.arePositionsEqual(this.lastPosition,t))&&(this.lastPosition=t,this.positionChange.emit(t))},10)}catch{}}stopTracking(){try{this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null,this.timeSpentInMs=0)}catch{}}arePositionsEqual(t,i){try{return t.top===i.top&&t.left===i.left&&t.bottom===i.bottom&&t.right===i.right&&t.width===i.width&&t.height===i.height}catch{return!0}}ngOnChanges(){try{this.toggleTrackingPosition()}catch{}}ngOnDestroy(){try{this.stopTracking()}catch{}}};e.\u0275fac=function(i){return new(i||e)(n(r))},e.\u0275dir=o({type:e,selectors:[["","veltPositionObserver",""]],inputs:{disabled:[0,"veltPositionObserverDisabled","disabled"]},outputs:{positionChange:"positionChange"},features:[a]});let s=e;return s})();export{I as a,b};
1
+ import{Fj as h,Ia as c,Ra as n,Ya as o,wa as a,ya as r}from"./chunk-2OZEFTFU.js";var I=(()=>{let e=class e{constructor(t,i){this.domService=t,this.elementRef=i,this.clickOutside=new c}ngOnInit(){}ngAfterViewInit(){setTimeout(()=>{this.subscription=this.domService.onDocumentClickSubject$().subscribe(t=>{let i=this.checkInsideClick(t,this.elementRef.nativeElement);!i&&this.clickOutsideHandler&&typeof this.clickOutsideHandler=="function"&&(i=this.clickOutsideHandler(t.target,this.elementRef.nativeElement)),i||this.clickOutside.emit()})},500)}ngOnDestroy(){this.subscription?.unsubscribe()}checkInsideClick(t,i){return t.composedPath().includes(i)}};e.\u0275fac=function(i){return new(i||e)(n(h),n(r))},e.\u0275dir=o({type:e,selectors:[["","snippylyClickOutside",""]],inputs:{clickOutsideHandler:"clickOutsideHandler"},outputs:{clickOutside:"clickOutside"}});let s=e;return s})();var b=(()=>{let e=class e{constructor(t){this.elementRef=t,this.lastPosition=null,this.positionChange=new c,this.disabled=!1,this.timeSpentInMs=0,this.MAX_TIME_SPENT_IN_MS=6e4}ngAfterViewInit(){try{this.toggleTrackingPosition()}catch{}}toggleTrackingPosition(){try{this.disabled?this.stopTracking():this.startTrackingPosition()}catch{}}startTrackingPosition(){try{if(this.intervalId)return;this.intervalId=setInterval(()=>{if(this.timeSpentInMs+=10,this.timeSpentInMs>this.MAX_TIME_SPENT_IN_MS){this.stopTracking();return}let t=this.elementRef.nativeElement.getBoundingClientRect();(!this.lastPosition||!this.arePositionsEqual(this.lastPosition,t))&&(this.lastPosition=t,this.positionChange.emit(t))},10)}catch{}}stopTracking(){try{this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null,this.timeSpentInMs=0)}catch{}}arePositionsEqual(t,i){try{return t.top===i.top&&t.left===i.left&&t.bottom===i.bottom&&t.right===i.right&&t.width===i.width&&t.height===i.height}catch{return!0}}ngOnChanges(){try{this.toggleTrackingPosition()}catch{}}ngOnDestroy(){try{this.stopTracking()}catch{}}};e.\u0275fac=function(i){return new(i||e)(n(r))},e.\u0275dir=o({type:e,selectors:[["","veltPositionObserver",""]],inputs:{disabled:[0,"veltPositionObserverDisabled","disabled"]},outputs:{positionChange:"positionChange"},features:[a]});let s=e;return s})();export{I as a,b};