@veltdev/sdk-staging 6.0.0-beta.11 → 6.0.0-beta.13
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.
- package/app/models/data/comment-events.data.model.d.ts +10 -0
- package/app/models/data/config.data.model.d.ts +121 -0
- package/app/utils/enums.d.ts +1 -0
- package/chunk-3H5W2TGU.js +1 -0
- package/chunk-55YE7G6I.js +13 -0
- package/{chunk-CP4KMRG3.js → chunk-5JIXRA34.js} +1 -1
- package/{chunk-ZHTTBUVQ.js → chunk-7MOQQG4Z.js} +1 -1
- package/{chunk-G3BNRB7R.js → chunk-AIQ4EOVH.js} +1 -1
- package/{chunk-SXJORH53.js → chunk-CZTTDJFW.js} +1 -1
- package/{chunk-NW4FJLNA.js → chunk-DUIGMOMV.js} +4 -4
- package/{chunk-S5GDEY2K.js → chunk-GHVMD37V.js} +1 -1
- package/{chunk-HUBK3P3B.js → chunk-GJ55RHPP.js} +1 -1
- package/{chunk-Y346MJJR.js → chunk-GNMKNWD5.js} +1 -1
- package/{chunk-WV6TZ6ZA.js → chunk-JDZOVFS3.js} +1 -1
- package/{chunk-IOU2B2OU.js → chunk-JPM7CIV3.js} +1 -1
- package/{chunk-N4JJS2HM.js → chunk-JXMMR7DC.js} +1 -1
- package/chunk-MLCIQM44.js +1 -0
- package/{chunk-A6I5J2N4.js → chunk-N2SSZ74J.js} +2 -2
- package/{chunk-D5PWD4RY.js → chunk-N3AV6IGG.js} +1 -1
- package/chunk-NFOSJ24G.js +167 -0
- package/{chunk-QHZMUGU5.js → chunk-OHH7LESC.js} +1 -1
- package/{chunk-CGYAGTFW.js → chunk-OWD3J56P.js} +1 -1
- package/{chunk-7JE6EGDW.js → chunk-P54MO3GU.js} +1 -1
- package/{chunk-YV7SDT6E.js → chunk-Q2QL77LS.js} +1 -1
- package/{chunk-WKIVFT2P.js → chunk-SAPJAJDB.js} +1 -1
- package/{chunk-ZMO3MMN3.js → chunk-SG6UCHMH.js} +1 -1
- package/{chunk-PB4ALOQE.js → chunk-SXYSM6QP.js} +1 -1
- package/{chunk-LCEYWVFK.js → chunk-T4D6QD4H.js} +1 -1
- package/{chunk-PRVNVPMV.js → chunk-TVX75U2C.js} +1 -1
- package/chunk-UF2D32ZI.js +1 -0
- package/{chunk-5IHISLEM.js → chunk-VMH5N5PO.js} +1 -1
- package/chunk-XM2SXO32.js +1 -0
- package/{chunk-XNMJJJRI.js → chunk-XM56PHBZ.js} +1 -1
- package/{chunk-7NW5DBIX.js → chunk-YEQZ76RF.js} +1 -1
- package/{chunk-RGP2XXJF.js → chunk-YFZUZKVN.js} +1 -1
- package/{chunk-X7LR472K.js → chunk-Z77RD4H5.js} +1 -1
- package/package.json +1 -1
- package/velt-activity-log.js +1 -1
- package/velt-area.js +1 -1
- package/velt-arrow.js +2 -2
- package/velt-comment.js +6 -6
- package/velt-crdt.js +1 -1
- package/velt-cursor.js +2 -2
- package/velt-huddle.js +3 -3
- package/velt-live-state-sync.js +2 -2
- package/velt-notification.js +1 -1
- package/velt-presence.js +1 -1
- package/velt-reaction.js +1 -1
- package/velt-recorder.js +1 -1
- package/velt-rewriter.js +2 -2
- package/velt-selection.js +1 -1
- package/velt-tag.js +1 -1
- package/velt-user-invite.js +1 -1
- package/velt-user-request.js +1 -1
- package/velt-video-player.js +1 -1
- package/velt-views.js +3 -3
- package/velt.js +264 -20
- package/chunk-2CQTKYCO.js +0 -13
- package/chunk-A5F7PTHM.js +0 -167
- package/chunk-CR55B3BL.js +0 -1
- package/chunk-EMJBJXH6.js +0 -1
- package/chunk-NGDGJUUI.js +0 -1
- package/chunk-SQUHH2JX.js +0 -1
|
@@ -91,6 +91,7 @@ export type CommentEventTypesMap = {
|
|
|
91
91
|
[CommentEventTypes.SIDEBAR_BUTTON_CLICKED]: SidebarButtonClickedEvent;
|
|
92
92
|
[CommentEventTypes.SIDEBAR_OPEN]: SidebarOpenEvent;
|
|
93
93
|
[CommentEventTypes.SIDEBAR_CLOSE]: SidebarCloseEvent;
|
|
94
|
+
[CommentEventTypes.FULLSCREEN_CLICK]: FullscreenClickEvent;
|
|
94
95
|
[CommentEventTypes.COMMENT_CLICK]: CommentClickEvent;
|
|
95
96
|
[CommentEventTypes.COMMENT_NAVIGATION_BUTTON_CLICK]: CommentNavigationButtonClickEvent;
|
|
96
97
|
[CommentEventTypes.ATTACHMENT_DOWNLOAD_CLICKED]: AttachmentDownloadClickedEvent;
|
|
@@ -359,6 +360,15 @@ export interface SidebarOpenEvent {
|
|
|
359
360
|
export interface SidebarCloseEvent {
|
|
360
361
|
metadata?: VeltEventMetadata;
|
|
361
362
|
}
|
|
363
|
+
/**
|
|
364
|
+
* Fired when the sidebar fullscreen toggle is clicked. Subscribe via
|
|
365
|
+
* `commentElement.on('fullscreenClick')`. `fullScreen` is the NEW state after the toggle.
|
|
366
|
+
* (Also surfaced as the `onFullscreenClick` @Output on the sidebar component.)
|
|
367
|
+
*/
|
|
368
|
+
export interface FullscreenClickEvent {
|
|
369
|
+
fullScreen: boolean;
|
|
370
|
+
metadata?: VeltEventMetadata;
|
|
371
|
+
}
|
|
362
372
|
/** Fired when a comment is clicked in the sidebar list. Subscribe via `commentElement.on('commentClick')`. */
|
|
363
373
|
export interface CommentClickEvent {
|
|
364
374
|
documentId?: string | null;
|
|
@@ -66,6 +66,127 @@ export declare class Config {
|
|
|
66
66
|
* Configuration for routing all traffic through reverse proxies.
|
|
67
67
|
*/
|
|
68
68
|
proxyConfig?: ProxyConfig;
|
|
69
|
+
/**
|
|
70
|
+
* Self-hosting / on-prem backend configuration. When set, a deployment can point
|
|
71
|
+
* Velt-infra endpoints (Firebase config, cloud-function URLs, the notifications-hub
|
|
72
|
+
* RTDB URL, the regional setEncryptedData endpoints) at the customer's own infra.
|
|
73
|
+
*
|
|
74
|
+
* Every field is OPTIONAL and every unspecified value falls back to the per-build
|
|
75
|
+
* default in `src/environments/*` — so an existing SaaS build with no `selfHosted`
|
|
76
|
+
* config behaves exactly as before (behavior-preserving).
|
|
77
|
+
*/
|
|
78
|
+
selfHosted?: SelfHostedConfig;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* VENDORED from the backend deployment-profile manifest — source of truth:
|
|
82
|
+
* `shared-firebase-function` repo, `functions/src/deployment-profiles/modules.manifest.ts`
|
|
83
|
+
* (`DeploymentModuleId`, 13 modules; backend plan §8.3, ratified 2026-07-03; `console`
|
|
84
|
+
* split added in backend iteration-4). Do NOT add, remove, or rename ids here without a
|
|
85
|
+
* matching manifest change — the endpoint→module map in `endpoints.service.ts` and its
|
|
86
|
+
* cross-repo drift-fence test key off this list.
|
|
87
|
+
*/
|
|
88
|
+
export declare const DEPLOYMENT_MODULE_IDS: readonly ["core", "notifications", "recorder-media", "ai", "agents", "huddle-webrtc", "integrations-workflow", "superflow", "billing-stripe", "analytics-telemetry", "migrations", "velt-internal", "console"];
|
|
89
|
+
/** A backend feature-module id (see {@link DEPLOYMENT_MODULE_IDS} for provenance). */
|
|
90
|
+
export type DeploymentModuleId = typeof DEPLOYMENT_MODULE_IDS[number];
|
|
91
|
+
/**
|
|
92
|
+
* Per-endpoint overrides for the cloud-function fleet. Each value is a fully-configurable
|
|
93
|
+
* ABSOLUTE base URL — do NOT assume the `*.cloudfunctions.net` shape (Tier A now serves the
|
|
94
|
+
* fleet from Cloud Run with arbitrary hostnames). Keys mirror `environment.cloudFunction.*`.
|
|
95
|
+
* Unspecified keys fall back to the `environment` default.
|
|
96
|
+
*/
|
|
97
|
+
export interface SelfHostedCloudFunctionConfig {
|
|
98
|
+
validateClient?: string;
|
|
99
|
+
getPlanDetails?: string;
|
|
100
|
+
sa?: string;
|
|
101
|
+
getIceServers?: string;
|
|
102
|
+
chatgptCompletion?: string;
|
|
103
|
+
rewriterAskAi?: string;
|
|
104
|
+
whisperTranscription?: string;
|
|
105
|
+
getAllowedDocuments?: string;
|
|
106
|
+
getNotificationsForDocuments?: string;
|
|
107
|
+
videoBackend?: string;
|
|
108
|
+
convertRecording?: string;
|
|
109
|
+
processRecording?: string;
|
|
110
|
+
sdkProxy?: string;
|
|
111
|
+
screenshot?: string;
|
|
112
|
+
/**
|
|
113
|
+
* Single override for the write endpoint that collapses the ×5 regional
|
|
114
|
+
* `setEncryptedData` split — when set, it is used for ALL regions. Self-hosted
|
|
115
|
+
* deployments typically run a single region.
|
|
116
|
+
*/
|
|
117
|
+
setEncryptedData?: string;
|
|
118
|
+
/**
|
|
119
|
+
* Optional per-region overrides (used only if the single `setEncryptedData` above is
|
|
120
|
+
* unset). Keys are the `FirebaseRegion` values (`usCentral1`, `asiaSouthEast1`, ...).
|
|
121
|
+
*/
|
|
122
|
+
regions?: {
|
|
123
|
+
[region: string]: {
|
|
124
|
+
setEncryptedData?: string;
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
export interface SelfHostedConfig {
|
|
129
|
+
/**
|
|
130
|
+
* Strict (full self-hosted) mode. Default `false`.
|
|
131
|
+
*
|
|
132
|
+
* - `false` (hybrid / staged rollout): any endpoint WITHOUT an injected override falls
|
|
133
|
+
* back to the Velt default in `src/environments/*` — useful for testing one
|
|
134
|
+
* self-hosted endpoint at a time while the rest stay on Velt SaaS.
|
|
135
|
+
* - `true` (full self-hosting / data sovereignty): there is NO fallback to Velt. An
|
|
136
|
+
* endpoint without an injected override resolves to an inert
|
|
137
|
+
* `velt://self-hosted-disabled/<endpoint>` sentinel that can never produce network
|
|
138
|
+
* egress — the feature behind it is effectively disabled. Missing CORE endpoints
|
|
139
|
+
* (`validateClient`, `sdkProxy`, `setEncryptedData`, `getNotificationsForDocuments`,
|
|
140
|
+
* the notifications DB URL, `firebaseConfig`) are additionally
|
|
141
|
+
* reported once as a loud misconfiguration error, since the SDK cannot function
|
|
142
|
+
* without them (plan §4.3: every endpoint runs in the customer cloud or is disabled).
|
|
143
|
+
*/
|
|
144
|
+
strict?: boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Firebase config override (deep-merged over `environment.firebaseConfig`). Injected
|
|
147
|
+
* keys win; unspecified keys keep the `environment` default. Per-tenant auth-token
|
|
148
|
+
* claims still override this at runtime (within-project tenant routing is preserved).
|
|
149
|
+
*
|
|
150
|
+
* NOTE (strict mode): this is the ONE value that still falls back to the `environment`
|
|
151
|
+
* default when unset, because an undefined base config would break the Firebase
|
|
152
|
+
* bootstrap chain outright. The miss is still reported as a core misconfiguration, and
|
|
153
|
+
* the `identify()` response config overrides this base at runtime anyway. Making the
|
|
154
|
+
* bootstrap itself injectable is the tracked Phase A gap (`app.module.ts` static
|
|
155
|
+
* `initializeApp`).
|
|
156
|
+
*/
|
|
157
|
+
firebaseConfig?: Partial<FirebaseOptions>;
|
|
158
|
+
/** Override for the notifications-hub RTDB URL (`firebaseNotificationsDatabaseURL`). */
|
|
159
|
+
firebaseNotificationsDatabaseURL?: string;
|
|
160
|
+
/** Per-endpoint cloud-function URL overrides. */
|
|
161
|
+
cloudFunction?: SelfHostedCloudFunctionConfig;
|
|
162
|
+
/**
|
|
163
|
+
* Enables defensive consumption of the portable-backend `identify()` response
|
|
164
|
+
* (`{ token, backend, wsEndpoint, apiEndpoint }`, backend §6.1). Default `false`:
|
|
165
|
+
* when false, a portable response is ignored and the existing Firebase path runs
|
|
166
|
+
* unchanged — no behavior change when the backend does not send it.
|
|
167
|
+
*/
|
|
168
|
+
enablePortableBackend?: boolean;
|
|
169
|
+
/**
|
|
170
|
+
* The RESOLVED module closure of the deployment profile (backend plan §8.3) — the
|
|
171
|
+
* enabled-module-id list the backend deploy tooling emits in
|
|
172
|
+
* `velt-deployment-profile.json`. The customer's tooling inlines it at init; the SDK
|
|
173
|
+
* does NOT fetch it at runtime and does NOT re-resolve module dependencies (the
|
|
174
|
+
* backend's `profile-resolver.ts` already computed the fail-closed closure).
|
|
175
|
+
*
|
|
176
|
+
* Semantics (ratified — SDK-side synthesis, no Tier A server router):
|
|
177
|
+
* - Absent, not an array, or an EMPTY array (a valid resolved closure is never empty):
|
|
178
|
+
* ALL modules enabled — byte-identical to today for SaaS and existing selfHosted
|
|
179
|
+
* configs.
|
|
180
|
+
* - Non-empty: LITERAL membership — any endpoint whose module is NOT in the list
|
|
181
|
+
* resolves to the inert `velt://self-hosted-disabled/*` sentinel, so the denial
|
|
182
|
+
* normalizer synthesizes `'unimplemented'` locally with zero egress. Works with or
|
|
183
|
+
* without `strict`. Unknown/typo'd ids enable nothing (fail-closed, mirroring the
|
|
184
|
+
* backend resolver — a malformed profile must not silently re-open Velt egress).
|
|
185
|
+
* - A profile opt-out is authoritative: it wins over an injected endpoint URL, and its
|
|
186
|
+
* endpoints degrade silently even when classified `core` (opt-out ≠ misconfiguration
|
|
187
|
+
* — they are excluded from the strict-mode core-misconfiguration report).
|
|
188
|
+
*/
|
|
189
|
+
deploymentProfile?: DeploymentModuleId[];
|
|
69
190
|
}
|
|
70
191
|
export interface ProxyConfig {
|
|
71
192
|
/** Custom host for the Velt CDN (e.g., 'cdn-proxy.customer.com') */
|
package/app/utils/enums.d.ts
CHANGED
|
@@ -100,6 +100,7 @@ export declare const CommentEventTypes: {
|
|
|
100
100
|
readonly SIDEBAR_BUTTON_CLICKED: "sidebarButtonClicked";
|
|
101
101
|
readonly SIDEBAR_OPEN: "sidebarOpen";
|
|
102
102
|
readonly SIDEBAR_CLOSE: "sidebarClose";
|
|
103
|
+
readonly FULLSCREEN_CLICK: "fullscreenClick";
|
|
103
104
|
readonly COMMENT_CLICK: "commentClick";
|
|
104
105
|
readonly COMMENT_NAVIGATION_BUTTON_CLICK: "commentNavigationButtonClick";
|
|
105
106
|
readonly ATTACHMENT_DOWNLOAD_CLICKED: "attachmentDownloadClicked";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as x,c as R,d as f,e as F,f as k}from"./chunk-Q2QL77LS.js";import{$ as v,De as I,Ee as C,Nf as w,Ue as S,Vd as u,Xd as y,ae as A,ca as d,ci as L,di as O,g,ii as D,ji as P,li as j,uh as E,vi as N}from"./chunk-NFOSJ24G.js";var z=l=>{try{let n={USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_ATTR:["onerror","onload","onclick","onmouseover","onmouseout","onmouseenter","onmouseleave","onmousemove","onmousedown","onmouseup","onwheel","onscroll","onkeydown","onkeyup","onkeypress","onfocus","onblur","onchange","onsubmit","on*"],FORBID_TAGS:["script","style","iframe","object","embed","form"]};return P.sanitize(l,n)}catch(n){return u.catch("Error in File utils sanitizeSvg: ",n),""}},U=l=>{try{return l.name.split(".").slice(0,-1).join(".")}catch(n){u.catch("Error in File utils getFileName: ",n);return}},T=l=>{try{return/(?:\.([^.]+))?$/.exec(l?.name)[1]}catch(n){u.catch("Error in File utils getFileExtension: ",n);return}},M=(l,n)=>{try{let h=l.slice(0,-1,l.type);return new File([h],n+"."+T(l),{type:l.type})}catch(h){u.catch("Error in File utils updateFile: ",h);return}};var b={mp4:"video/mp4",mov:"video/quicktime",avi:"video/x-msvideo",wmv:"video/x-ms-wmv",flv:"video/x-flv",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",webm:"video/webm",mkv:"video/x-matroska",m4v:"video/x-m4v",m4a:"audio/x-m4a",aac:"audio/aac","3gp":"video/3gpp","3g2":"video/3gpp2",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",bmp:"image/bmp",svg:"image/svg+xml",webp:"image/webp",pdf:"application/pdf",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation",odt:"application/vnd.oasis.opendocument.text",ods:"application/vnd.oasis.opendocument.spreadsheet",zip:"application/zip",rar:"application/x-rar-compressed",txt:"text/plain",rtf:"application/rtf",html:"text/html",htm:"text/html",csv:"text/csv",ics:"text/calendar",vcf:"text/x-vcard",js:"application/javascript",css:"text/css",json:"application/json",xml:"application/xml",swf:"application/x-shockwave-flash"};var _=(()=>{let n=class n{getStorageInstance(t){return t?f(void 0,t):f()}ref(t,e){return F(t,e)}uploadBytesResumable(t,e,o){return k(t,e,o)}getDownloadURL(t){return R(t)}deleteObject(t){return x(t)}};n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=v({token:n,factory:n.\u0275fac,providedIn:"root"});let l=n;return l})();var ae=(()=>{let n=class n{constructor(t,e,o,a,c,s){this.authService=t,this.configService=e,this.coreActionsService=o,this.loggingService=a,this.attachmentResolverService=c,this.storageAdapter=s,this.storage=this.storageAdapter.getStorageInstance();try{this.configService.getApiKey$().subscribe(r=>{this.apiKey=r}),this.authService.getFirebaseConfig$().subscribe(r=>{if(r&&r.firebaseOptions?.storageBucket){this.storage=this.storageAdapter.getStorageInstance(r?.firebaseOptions?.storageBucket);let i=this.configService.getProxyConfig();i?.storageHost&&(this.storage.host=i.storageHost)}},r=>{this.loggingService.catch("Error in StorageService constructor: ",r)})}catch(r){this.loggingService.catch("Error in StorageService constructor:",r)}}createAttachment({path:t,file:e}){try{let o=new C;o.name=e.name;let a=M(e,`${o.attachmentId}_${U(e)}`),c=`${this.apiKey}/${t}/${a?.name}`;return o.bucketPath=c,o.size=e.size,o.type=T(e),o?.type&&(o.mimeType=b[o?.type]),o}catch(o){return this.loggingService.catch("Error in StorageService createAttachment: ",o),null}}sanitizeSvgFile(t){return g(this,null,function*(){if(t.type===b.svg)try{let e=yield t.text(),o=z(e);return new File([o],t.name,{type:t.type})}catch(e){return this.loggingService.catch("Error in StorageService sanitizeSvgFile: ",e),t}return t})}uploadAttachmentToStorage(c){return g(this,arguments,function*({attachment:t,file:e,resolve:o,reject:a}){try{let s=this.storageAdapter.ref(this.storage,t.bucketPath),r=this.storageAdapter.uploadBytesResumable(s,e,{cacheControl:"public,max-age=3600"});r.on("state_changed",i=>{let m=i.bytesTransferred/i.totalBytes*100},i=>{a(i)},()=>{this.storageAdapter.getDownloadURL(r.snapshot.ref).then(i=>{t.url=i,o(t)})})}catch(s){this.loggingService.catch("Error in StorageService uploadAttachmentToStorage: ",s),a(s)}})}uploadToResolver(r){return g(this,arguments,function*({file:t,attachment:e,metadata:o,resolve:a,reject:c,scope:s}){try{o.attachmentId=e.attachmentId;let i={attachmentId:e.attachmentId,name:e.name,file:t,metadata:o,mimeType:e.mimeType},m=w();this.coreActionsService.triggerAction(A.ATTACHMENT_RESOLVER,{event:E.Events.Resolver.ATTACHMENT_SAVE_REQUEST_FORMED,timestamp:new Date().getTime(),uniqueId:m,methodName:S.UPLOAD_TO_RESOLVER,source:"internal",payload:{attachment:i,eventType:y.ATTACHMENT_ADD}});let p=yield this.attachmentResolverService.saveAttachment({attachment:i,eventType:y.ATTACHMENT_ADD},m,s);p&&p.data?.url?(e.url=p.data?.url,a(e)):c(new Error("Failed to upload attachment to resolver"))}catch(i){this.loggingService.catch("Error in StorageService uploadToResolver: ",i),c(i)}})}uploadFile({path:t,file:e,useAttachmentResolver:o,metadata:a,attachmentScope:c}){return new Promise((s,r)=>g(this,null,function*(){try{if(!this.apiKey)throw new Error("API key not configured");let i=yield this.sanitizeSvgFile(e),m=this.createAttachment({path:t,file:i});if(!m)throw new Error("Attachment not created");o?this.uploadToResolver({file:i,attachment:m,metadata:a,resolve:s,reject:r,scope:c}):this.uploadAttachmentToStorage({attachment:m,file:i,resolve:s,reject:r})}catch(i){this.loggingService.catch("Error in StorageService uploadFile:",i),r(i)}}))}uploadChunk(t,e,o,a){return new Promise((c,s)=>{try{if(a?.useAttachmentResolver){let r=this.createAttachment({path:t,file:e});if(!r){s(new Error("Attachment not created for chunk upload"));return}this.uploadToResolver({file:e,attachment:r,metadata:a.metadata,resolve:i=>c(i.url),reject:s,scope:a.attachmentScope});return}if(this.apiKey){let r=`${this.apiKey}/${t}/${e.name}`,i=this.storageAdapter.ref(this.storage,r),m=this.storageAdapter.uploadBytesResumable(i,e,{cacheControl:"public,max-age=3600"});m.on("state_changed",p=>{let H=p.bytesTransferred/p.totalBytes*100},p=>{s(p)},()=>{this.storageAdapter.getDownloadURL(m.snapshot.ref).then(p=>{c(p)}).catch(p=>{this.loggingService.catch(`[uploadChunk] Error getting download URL for chunk ${o}:`,p),s(p)})})}else{let r=new Error("API key not available");this.loggingService.catch("[uploadChunk] API key not available",r),s(r)}}catch(r){this.loggingService.catch(`[uploadChunk] Error in StorageService uploadChunk for chunk ${o}: `,r),s(r)}})}downloadAttachment(t){try{if(t.url){let e=new XMLHttpRequest;e.responseType="blob",e.onload=()=>{let o=e.response,a=document.createElement("a"),c=window.URL.createObjectURL(o);a.setAttribute("type","hidden"),a.setAttribute(I.ATTRIBUTES.VELT_DOWNLOAD_BUTTON,"true"),a.classList.add("snippyly-overlay-panel"),a.href=c,t?.name&&(a.download=t?.name),document.body.appendChild(a);let s=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1});a.dispatchEvent(s),window.URL.revokeObjectURL(c),a.remove()},e.onerror=()=>{window.open(t.url,"_blank")},e.open("GET",t.url),e.send()}}catch(e){this.loggingService.catch("Error in StorageService downloadAttachment: ",e)}}deleteAttachment({attachment:t,metadata:e,useAttachmentResolver:o,attachmentScope:a}){return new Promise((c,s)=>{if(o){let r=w();this.coreActionsService.triggerAction(A.ATTACHMENT_RESOLVER,{event:E.Events.Resolver.ATTACHMENT_DELETE_REQUEST_FORMED,timestamp:new Date().getTime(),uniqueId:r,methodName:S.DELETE_ATTACHMENT,source:"internal",payload:{attachmentId:t.attachmentId,metadata:e}}),this.attachmentResolverService.deleteAttachment({attachmentId:t.attachmentId,metadata:e},r,a).then(()=>{c(null)}).catch(i=>{s(i)})}else{let r=this.storageAdapter.ref(this.storage,t.bucketPath);this.storageAdapter.deleteObject(r).then(()=>{c(null)}).catch(i=>{c(null)})}})}deleteFileFromPath(t){return new Promise((e,o)=>{let a=this.storageAdapter.ref(this.storage,t);this.storageAdapter.deleteObject(a).then(()=>{e(null)}).catch(c=>{o(c)})})}};n.\u0275fac=function(e){return new(e||n)(d(j),d(O),d(D),d(L),d(N),d(_))},n.\u0275prov=v({token:n,factory:n.\u0275fac,providedIn:"root"});let l=n;return l})();export{ae as a};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import{b as Y}from"./chunk-CZTTDJFW.js";import{$ as j,Bf as D,C as A,E as g,Fi as _,Gi as x,Hi as Q,Id as w,Kd as y,L as S,Ld as U,M as B,Md as O,S as F,T as H,W as E,ca as b,ci as W,di as L,g as $,ih as P,ki as R,l as C,li as M,p as k,r as u,si as N,v as m,w as z,xi as K}from"./chunk-NFOSJ24G.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
|
+
let intervalId;
|
|
3
|
+
self.addEventListener('message', (event) => {
|
|
4
|
+
if (event.data === 'start') {
|
|
5
|
+
if (intervalId) clearInterval(intervalId);
|
|
6
|
+
intervalId = setInterval(() => {
|
|
7
|
+
self.postMessage('tick');
|
|
8
|
+
}, ${e});
|
|
9
|
+
} else if (event.data === 'stop') {
|
|
10
|
+
if (intervalId) clearInterval(intervalId);
|
|
11
|
+
}
|
|
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(M),b(Q),b(N),b(K),b(R),b(W),b(Y),b(_),b(L),b(x))},p.\u0275prov=j({token:p,factory:p.\u0275fac,providedIn:"root"});let T=p;return T})();export{he as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as i,b as r,
|
|
1
|
+
import{a as i,b as r,bi as e,ci as a}from"./chunk-NFOSJ24G.js";var h=class{constructor(t){this.injector=t,this.hideAnalytics=!1}ha(t){try{this.hideAnalytics=t}catch{}}getService(t){return this.injector.get(t)}trackEvent(t,c={},n=!0){try{this.hideAnalytics||(c||(c={}),c=r(i({},c),{source:"external"}),this.getService(e).trackAuthenticatedEvent(t,c,n))}catch(s){this.getService(a).catch("Error in _trackEvent: ",s);return}}};export{h as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{W as B,X as F,da as k,ea as Z,ga as A}from"./chunk-A6I5J2N4.js";import{$ as D,Fa as c,Ib as P,Pa as g,Ua as T,Ya as j,_a as p,_b as H,a as x,bc as M,ca as E,cc as R,db as C,fc as L,l as _,lb as d,mb as y,nb as S,ob as w,qa as O,qi as b,sb as f,tb as u,v as I,wa as W,zb as s}from"./chunk-A5F7PTHM.js";var N=(()=>{let o=class o{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,a=r.get(e),i=t.children.length>0||t.innerHTML?.trim()?.length>0,v=a&&(a.children.length>0||a.innerHTML?.trim()?.length>0);(!a||i&&!v)&&(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,a)=>{let i=t.get(a),v=r.children.length>0||r.innerHTML?.trim()?.length>0,h=i&&(i.children.length>0||i.innerHTML?.trim()?.length>0);(!i||v&&!h)&&t.set(a,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,a=r.get(e);if(!a&&t){let i=e?.split("---")[0];i&&(a=r.get(i))}return a&&(a?.children?.length>0||a?.innerHTML?.trim()?.length>0)?a:void 0}catch(r){this.loggingService.catch("Error in WireframeService getWireframe: ",r);return}}getConditionElement(e,t=!0){try{let r=this.wireframeMap.value,a=r.get(e);if(!a&&t){let i=e?.split("---")[0];i&&(a=r.get(i))}return a}catch(r){this.loggingService.catch("Error in WireframeService getConditionElement: ",r);return}}getWireframe$(e,t=!0){return this.wireframeMap.asObservable().pipe(I(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}};o.\u0275fac=function(t){return new(t||o)(E(b))},o.\u0275prov=D({token:o,factory:o.\u0275fac,providedIn:"root"});let n=o;return n})();var V=n=>({componentConfigSignal:n}),U=(n,o)=>({condition:n,data:o}),q=(n,o,l,e,t)=>({template:n,context:o,componentName:"velt-confirm-dialog-wireframe",variant:l,setIfCondition:e,componentElementRef:t});function J(n,o){if(n&1&&(f(0),w(1,"app-confirm-dialog-title",5)(2,"app-confirm-dialog-message",5),y(3,"div",6),w(4,"app-confirm-dialog-reject",5)(5,"app-confirm-dialog-approve",5),S(),u()),n&2){let l=s(3);c(),d("componentConfigSignal",l.componentConfigSignal),c(),d("componentConfigSignal",l.componentConfigSignal),c(2),d("componentConfigSignal",l.componentConfigSignal),c(),d("componentConfigSignal",l.componentConfigSignal)}}function K(n,o){if(n&1&&(f(0),p(1,J,6,4,"ng-container",4),u()),n&2){let l=s().ngIf,e=s();c(),d("veltDynamicTemplate",L(3,q,e.template,M(1,V,e.componentConfigSignal),l==null?null:l.variant,e.setIfCondition.bind(e),e.elementRef))}}function Q(n,o){if(n&1&&(f(0),p(1,K,2,9,"ng-container",3),u()),n&2){let l=s();c(),d("veltIf",R(3,U,l.conditionSignal(),M(1,V,l.componentConfigSignal)))}}var pe=(()=>{let o=class o extends A{constructor(e,t,r,a,i,v,h){super(i,a,void 0,void 0,void 0,h,e),this.loggingService=e,this.dialogRef=t,this.wireframeService=r,this.themeService=a,this.elementRef=i,this.dynamicDataService=h,this.subscriptions=[],this.componentConfigSignal=O({title:"",message:"",yesButton:"",noButton:"",variant:"",type:"",closeDialog:this.closeDialog.bind(this)}),this.componentId="velt-confirm-dialog",this.veltElement=!0;try{v&&(this.componentConfigSignal.update(m=>(m=x(x({},m),v),m)),v?.darkMode&&[!0,!1].includes(v?.darkMode)&&super.setComponentDarkMode(v?.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)}};o.\u0275fac=function(t){return new(t||o)(g(b),g(B),g(N),g(Z),g(W),g(F,8),g(k))},o.\u0275cmp=T({type:o,selectors:[["snippyly-confirm-dialog"]],hostVars:1,hostBindings:function(t,r){t&2&&C("data-velt-element",r.veltElement)},standalone:!1,features:[H([k]),j],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),S()),t&2){let a=P(1);d("ngClass",r.variantClass)("snippylyOverlay",a)("snippylyOverlayZIndex",1200)("snippylyOverlayBackdropZIndex",1100),C("data-testid",r.componentId),c(2),d("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}}"],changeDetection:0});let n=o;return n})();function X(n){return n?`velt-confirm-dialog--${n}`:""}export{N as a,pe as b};
|
|
1
|
+
import{W as B,X as F,da as k,ea as Z,ga as A}from"./chunk-N2SSZ74J.js";import{$ as D,Fa as c,Ib as P,Pa as g,Ua as T,Ya as j,_a as p,_b as H,a as x,bc as M,ca as E,cc as R,ci as b,db as C,fc as L,l as _,lb as d,mb as y,nb as S,ob as w,qa as O,sb as f,tb as u,v as I,wa as W,zb as s}from"./chunk-NFOSJ24G.js";var N=(()=>{let o=class o{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,a=r.get(e),i=t.children.length>0||t.innerHTML?.trim()?.length>0,v=a&&(a.children.length>0||a.innerHTML?.trim()?.length>0);(!a||i&&!v)&&(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,a)=>{let i=t.get(a),v=r.children.length>0||r.innerHTML?.trim()?.length>0,h=i&&(i.children.length>0||i.innerHTML?.trim()?.length>0);(!i||v&&!h)&&t.set(a,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,a=r.get(e);if(!a&&t){let i=e?.split("---")[0];i&&(a=r.get(i))}return a&&(a?.children?.length>0||a?.innerHTML?.trim()?.length>0)?a:void 0}catch(r){this.loggingService.catch("Error in WireframeService getWireframe: ",r);return}}getConditionElement(e,t=!0){try{let r=this.wireframeMap.value,a=r.get(e);if(!a&&t){let i=e?.split("---")[0];i&&(a=r.get(i))}return a}catch(r){this.loggingService.catch("Error in WireframeService getConditionElement: ",r);return}}getWireframe$(e,t=!0){return this.wireframeMap.asObservable().pipe(I(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}};o.\u0275fac=function(t){return new(t||o)(E(b))},o.\u0275prov=D({token:o,factory:o.\u0275fac,providedIn:"root"});let n=o;return n})();var V=n=>({componentConfigSignal:n}),U=(n,o)=>({condition:n,data:o}),q=(n,o,l,e,t)=>({template:n,context:o,componentName:"velt-confirm-dialog-wireframe",variant:l,setIfCondition:e,componentElementRef:t});function J(n,o){if(n&1&&(f(0),w(1,"app-confirm-dialog-title",5)(2,"app-confirm-dialog-message",5),y(3,"div",6),w(4,"app-confirm-dialog-reject",5)(5,"app-confirm-dialog-approve",5),S(),u()),n&2){let l=s(3);c(),d("componentConfigSignal",l.componentConfigSignal),c(),d("componentConfigSignal",l.componentConfigSignal),c(2),d("componentConfigSignal",l.componentConfigSignal),c(),d("componentConfigSignal",l.componentConfigSignal)}}function K(n,o){if(n&1&&(f(0),p(1,J,6,4,"ng-container",4),u()),n&2){let l=s().ngIf,e=s();c(),d("veltDynamicTemplate",L(3,q,e.template,M(1,V,e.componentConfigSignal),l==null?null:l.variant,e.setIfCondition.bind(e),e.elementRef))}}function Q(n,o){if(n&1&&(f(0),p(1,K,2,9,"ng-container",3),u()),n&2){let l=s();c(),d("veltIf",R(3,U,l.conditionSignal(),M(1,V,l.componentConfigSignal)))}}var pe=(()=>{let o=class o extends A{constructor(e,t,r,a,i,v,h){super(i,a,void 0,void 0,void 0,h,e),this.loggingService=e,this.dialogRef=t,this.wireframeService=r,this.themeService=a,this.elementRef=i,this.dynamicDataService=h,this.subscriptions=[],this.componentConfigSignal=O({title:"",message:"",yesButton:"",noButton:"",variant:"",type:"",closeDialog:this.closeDialog.bind(this)}),this.componentId="velt-confirm-dialog",this.veltElement=!0;try{v&&(this.componentConfigSignal.update(m=>(m=x(x({},m),v),m)),v?.darkMode&&[!0,!1].includes(v?.darkMode)&&super.setComponentDarkMode(v?.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)}};o.\u0275fac=function(t){return new(t||o)(g(b),g(B),g(N),g(Z),g(W),g(F,8),g(k))},o.\u0275cmp=T({type:o,selectors:[["snippyly-confirm-dialog"]],hostVars:1,hostBindings:function(t,r){t&2&&C("data-velt-element",r.veltElement)},standalone:!1,features:[H([k]),j],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),S()),t&2){let a=P(1);d("ngClass",r.variantClass)("snippylyOverlay",a)("snippylyOverlayZIndex",1200)("snippylyOverlayBackdropZIndex",1100),C("data-testid",r.componentId),c(2),d("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}}"],changeDetection:0});let n=o;return n})();function X(n){return n?`velt-confirm-dialog--${n}`:""}export{N as a,pe as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{D as E,Ha as R,Ja as S,Ka as F,Ma as l,T as b,bb as V,i as g,la as I,m as y,ra as v}from"./chunk-
|
|
1
|
+
import{D as E,Ha as R,Ja as S,Ka as F,Ma as l,T as b,bb as V,i as g,la as I,m as y,ra as v}from"./chunk-NFOSJ24G.js";var Z={schedule(n,t){let e=setTimeout(n,t);return()=>clearTimeout(e)}};function D(n){return n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}function M(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}var h;function T(n,t){if(!h){let e=Element.prototype;h=e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE?h.call(n,t):!1}function C(n){let t={};return n.forEach(({propName:e,templateName:s,transform:r})=>{t[D(s)]=[e,r]}),t}function _(n,t){return t.get(l).resolveComponentFactory(n).inputs}function x(n,t){let e=n.childNodes,s=t.map(()=>[]),r=-1;t.some((c,u)=>c==="*"?(r=u,!0):!1);for(let c=0,u=e.length;c<u;++c){let o=e[c],i=O(o,t,r);i!==-1&&s[i].push(o)}return s}function O(n,t,e){let s=e;return M(n)&&t.some((r,c)=>r!=="*"&&T(n,r)?(s=c,!0):!1),s}var N=10,p=class{componentFactory;inputMap=new Map;constructor(t,e){this.componentFactory=e.get(l).resolveComponentFactory(t);for(let s of this.componentFactory.inputs)this.inputMap.set(s.propName,s.templateName)}create(t){return new m(this.componentFactory,t,this.inputMap)}},m=class{componentFactory;injector;inputMap;eventEmitters=new y(1);events=this.eventEmitters.pipe(b(t=>E(...t)));componentRef=null;scheduledDestroyFn=null;initialInputValues=new Map;ngZone;elementZone;appRef;cdScheduler;constructor(t,e,s){this.componentFactory=t,this.injector=e,this.inputMap=s,this.ngZone=this.injector.get(R),this.appRef=this.injector.get(V),this.cdScheduler=e.get(v),this.elementZone=typeof Zone>"u"?null:this.ngZone.run(()=>Zone.current)}connect(t){this.runInZone(()=>{if(this.scheduledDestroyFn!==null){this.scheduledDestroyFn(),this.scheduledDestroyFn=null;return}this.componentRef===null&&this.initializeComponent(t)})}disconnect(){this.runInZone(()=>{this.componentRef===null||this.scheduledDestroyFn!==null||(this.scheduledDestroyFn=Z.schedule(()=>{this.componentRef!==null&&(this.componentRef.destroy(),this.componentRef=null)},N))})}getInputValue(t){return this.runInZone(()=>this.componentRef===null?this.initialInputValues.get(t):this.componentRef.instance[t])}setInputValue(t,e){if(this.componentRef===null){this.initialInputValues.set(t,e);return}this.runInZone(()=>{this.componentRef.setInput(this.inputMap.get(t)??t,e),S(this.componentRef.hostView)&&(F(this.componentRef.changeDetectorRef),this.cdScheduler.notify(6))})}initializeComponent(t){let e=I.create({providers:[],parent:this.injector}),s=x(t,this.componentFactory.ngContentSelectors);this.componentRef=this.componentFactory.create(e,s,t),this.initializeInputs(),this.initializeOutputs(this.componentRef),this.appRef.attachView(this.componentRef.hostView),this.componentRef.hostView.detectChanges()}initializeInputs(){for(let[t,e]of this.initialInputValues)this.setInputValue(t,e);this.initialInputValues.clear()}initializeOutputs(t){let e=this.componentFactory.outputs.map(({propName:s,templateName:r})=>{let c=t.instance[s];return new g(u=>{let o=c.subscribe(i=>u.next({name:r,value:i}));return()=>o.unsubscribe()})});this.eventEmitters.next(e)}runInZone(t){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(t):t()}},f=class extends HTMLElement{ngElementEventsSubscription=null};function L(n,t){let e=_(n,t.injector),s=t.strategyFactory||new p(n,t.injector),r=C(e);class c extends f{injector;static observedAttributes=Object.keys(r);get ngElementStrategy(){if(!this._ngElementStrategy){let o=this._ngElementStrategy=s.create(this.injector||t.injector);e.forEach(({propName:i,transform:a})=>{if(!this.hasOwnProperty(i))return;let d=this[i];delete this[i],o.setInputValue(i,d,a)})}return this._ngElementStrategy}_ngElementStrategy;constructor(o){super(),this.injector=o}attributeChangedCallback(o,i,a,d){let[w,j]=r[o];this.ngElementStrategy.setInputValue(w,a,j)}connectedCallback(){let o=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),o=!0),this.ngElementStrategy.connect(this),o||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(o=>{let i=new CustomEvent(o.name,{detail:o.value});this.dispatchEvent(i)})}}return e.forEach(({propName:u,transform:o})=>{Object.defineProperty(c.prototype,u,{get(){return this.ngElementStrategy.getInputValue(u)},set(i){this.ngElementStrategy.setInputValue(u,i,o)},configurable:!0,enumerable:!0})}),c}export{L as a};
|