@sprig-technologies/sprig-browser 2.21.4 → 2.21.5
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/dist/index.cjs +10 -10
- package/dist/index.d.ts +190 -131
- package/dist/index.js +1707 -1886
- package/package.json +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,75 @@
|
|
|
1
|
-
|
|
1
|
+
declare type EventMap = {
|
|
2
|
+
[eventName: string]: Array<unknown>;
|
|
3
|
+
};
|
|
4
|
+
declare type InternalEventNames = 'newListener' | 'removeListener';
|
|
5
|
+
declare type InternalListener<Events extends EventMap> = Listener<[
|
|
6
|
+
eventName: keyof Events,
|
|
7
|
+
listener: Listener<Array<unknown>>
|
|
8
|
+
]>;
|
|
9
|
+
declare type Listener<Data extends Array<unknown>> = (...data: Data) => void;
|
|
10
|
+
/**
|
|
11
|
+
* Node.js-compatible implementation of `EventEmitter`.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* const emitter = new Emitter<{ hello: [string] }>()
|
|
15
|
+
* emitter.on('hello', (name) => console.log(name))
|
|
16
|
+
* emitter.emit('hello', 'John')
|
|
17
|
+
*/
|
|
18
|
+
declare class Emitter<Events extends EventMap> {
|
|
19
|
+
private events;
|
|
20
|
+
private maxListeners;
|
|
21
|
+
private hasWarnedAboutPotentialMemoryLeak;
|
|
22
|
+
static defaultMaxListeners: number;
|
|
23
|
+
static listenerCount<Events extends EventMap>(emitter: Emitter<EventMap>, eventName: keyof Events): number;
|
|
24
|
+
constructor();
|
|
25
|
+
private _emitInternalEvent;
|
|
26
|
+
private _getListeners;
|
|
27
|
+
private _removeListener;
|
|
28
|
+
private _wrapOnceListener;
|
|
29
|
+
setMaxListeners(maxListeners: number): this;
|
|
30
|
+
/**
|
|
31
|
+
* Returns the current max listener value for the `Emitter` which is
|
|
32
|
+
* either set by `emitter.setMaxListeners(n)` or defaults to
|
|
33
|
+
* `Emitter.defaultMaxListeners`.
|
|
34
|
+
*/
|
|
35
|
+
getMaxListeners(): number;
|
|
36
|
+
/**
|
|
37
|
+
* Returns an array listing the events for which the emitter has registered listeners.
|
|
38
|
+
* The values in the array will be strings or Symbols.
|
|
39
|
+
*/
|
|
40
|
+
eventNames(): Array<keyof Events>;
|
|
41
|
+
/**
|
|
42
|
+
* Synchronously calls each of the listeners registered for the event named `eventName`,
|
|
43
|
+
* in the order they were registered, passing the supplied arguments to each.
|
|
44
|
+
* Returns `true` if the event has listeners, `false` otherwise.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* const emitter = new Emitter<{ hello: [string] }>()
|
|
48
|
+
* emitter.emit('hello', 'John')
|
|
49
|
+
*/
|
|
50
|
+
emit<EventName extends keyof Events>(eventName: EventName, ...data: Events[EventName]): boolean;
|
|
51
|
+
addListener(eventName: InternalEventNames, listener: InternalListener<Events>): this;
|
|
52
|
+
addListener<EventName extends keyof Events>(eventName: EventName, listener: Listener<Events[EventName]>): this;
|
|
53
|
+
on(eventName: InternalEventNames, listener: InternalListener<Events>): this;
|
|
54
|
+
on<EventName extends keyof Events>(eventName: EventName, listener: Listener<Events[EventName]>): this;
|
|
55
|
+
once(eventName: InternalEventNames, listener: InternalListener<Events>): this;
|
|
56
|
+
once<EventName extends keyof Events>(eventName: EventName, listener: Listener<Events[EventName]>): this;
|
|
57
|
+
prependListener(eventName: InternalEventNames, listener: InternalListener<Events>): this;
|
|
58
|
+
prependListener<EventName extends keyof Events>(eventName: EventName, listener: Listener<Events[EventName]>): this;
|
|
59
|
+
prependOnceListener(eventName: InternalEventNames, listener: InternalListener<Events>): this;
|
|
60
|
+
prependOnceListener<EventName extends keyof Events>(eventName: EventName, listener: Listener<Events[EventName]>): this;
|
|
61
|
+
removeListener(eventName: InternalEventNames, listener: InternalListener<Events>): this;
|
|
62
|
+
removeListener<EventName extends keyof Events>(eventName: EventName, listener: Listener<Events[EventName]>): this;
|
|
63
|
+
off(eventName: InternalEventNames, listener: InternalListener<Events>): this;
|
|
64
|
+
off<EventName extends keyof Events>(eventName: EventName, listener: Listener<Events[EventName]>): this;
|
|
65
|
+
removeAllListeners(eventName?: InternalEventNames): this;
|
|
66
|
+
removeAllListeners<EventName extends keyof Events>(eventName?: EventName): this;
|
|
67
|
+
listeners(eventName: InternalEventNames): Array<Listener<any>>;
|
|
68
|
+
listeners<EventName extends keyof Events>(eventName: EventName): Array<Listener<Events[EventName]>>;
|
|
69
|
+
listenerCount(eventName: InternalEventNames): number;
|
|
70
|
+
listenerCount<EventName extends keyof Events>(eventName: EventName): number;
|
|
71
|
+
rawListeners<EventName extends keyof Events>(eventName: EventName): Array<Listener<Events[EventName]>>;
|
|
72
|
+
}
|
|
2
73
|
|
|
3
74
|
declare enum DismissReason {
|
|
4
75
|
Closed = "close.click",
|
|
@@ -400,81 +471,106 @@ interface RecordedTaskResponseType {
|
|
|
400
471
|
value: RecordedTaskResponseValueType;
|
|
401
472
|
}
|
|
402
473
|
|
|
403
|
-
|
|
404
|
-
[InternalEventName.CurrentQuestion]:
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
[InternalEventName.
|
|
411
|
-
[InternalEventName.
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
474
|
+
declare type SprigEventMap = {
|
|
475
|
+
[InternalEventName.CurrentQuestion]: [
|
|
476
|
+
{
|
|
477
|
+
[InternalEventData.QuestionId]: number;
|
|
478
|
+
[InternalEventData.Props]: unknown;
|
|
479
|
+
}
|
|
480
|
+
];
|
|
481
|
+
[InternalEventName.RecordedTaskPermissionScreen]: [];
|
|
482
|
+
[InternalEventName.RecordedTaskStart]: [];
|
|
483
|
+
[InternalEventName.SurveyComplete]: [];
|
|
484
|
+
[InternalEventName.VerifyViewVersion]: [
|
|
485
|
+
{
|
|
486
|
+
[InternalEventData.ViewVersion]: string;
|
|
487
|
+
}
|
|
488
|
+
];
|
|
489
|
+
[SprigEvent.CloseSurveyOnOverlayClick]: [];
|
|
490
|
+
[SprigEvent.SDKReady]: [];
|
|
491
|
+
[SprigEvent.SurveyAppeared]: [];
|
|
492
|
+
[SprigEvent.SurveyDimensions]: [
|
|
493
|
+
{
|
|
494
|
+
contentFrameHeight: number;
|
|
495
|
+
contentFrameWidth: number;
|
|
496
|
+
name: string;
|
|
497
|
+
}
|
|
498
|
+
];
|
|
499
|
+
[SprigEvent.SurveyClosed]: [
|
|
500
|
+
{
|
|
501
|
+
initiator?: string;
|
|
502
|
+
name: string;
|
|
503
|
+
}
|
|
504
|
+
];
|
|
505
|
+
[SprigEvent.SurveyFadingOut]: [];
|
|
506
|
+
[SprigEvent.SurveyHeight]: [
|
|
507
|
+
{
|
|
508
|
+
name: string;
|
|
509
|
+
contentFrameHeight: number;
|
|
510
|
+
}
|
|
511
|
+
];
|
|
512
|
+
[SprigEvent.SurveyLifeCycle]: [{
|
|
432
513
|
state: string;
|
|
433
|
-
}
|
|
434
|
-
[SprigEvent.SurveyPresented]:
|
|
514
|
+
}];
|
|
515
|
+
[SprigEvent.SurveyPresented]: [{
|
|
435
516
|
name: string;
|
|
436
|
-
}
|
|
437
|
-
[SprigEvent.SurveyWillClose]:
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
517
|
+
}];
|
|
518
|
+
[SprigEvent.SurveyWillClose]: [
|
|
519
|
+
{
|
|
520
|
+
initiator: DismissReason;
|
|
521
|
+
name?: string;
|
|
522
|
+
}
|
|
523
|
+
];
|
|
524
|
+
[SprigEvent.SurveyWillPresent]: [
|
|
525
|
+
{
|
|
526
|
+
name: string;
|
|
527
|
+
"survey.id": number;
|
|
528
|
+
}
|
|
529
|
+
];
|
|
530
|
+
[SprigEvent.VisitorIDUpdated]: [{
|
|
446
531
|
visitorId: string | null;
|
|
447
|
-
}
|
|
448
|
-
[SprigRecordingEvent.AvPermission]:
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
532
|
+
}];
|
|
533
|
+
[SprigRecordingEvent.AvPermission]: [
|
|
534
|
+
{
|
|
535
|
+
[SprigRecordingEventData.StreamCanceledCallback]: () => void;
|
|
536
|
+
[SprigRecordingEventData.StreamReadyCallback]: (avStream: MediaStream | null, captureStream?: MediaStream | null) => void;
|
|
537
|
+
[SprigRecordingEventData.PermissionDescriptors]: AvPermission[];
|
|
538
|
+
}
|
|
539
|
+
];
|
|
540
|
+
[SprigRecordingEvent.BeginRecording]: [
|
|
541
|
+
{
|
|
542
|
+
[SprigRecordingEventData.RecordingMediaTypes]: MediaType[];
|
|
543
|
+
[SprigRecordingEventData.StartRecordingCallback]: (mediaRecordingUids: UUID[]) => void;
|
|
544
|
+
}
|
|
545
|
+
];
|
|
546
|
+
[SprigRecordingEvent.FinishTask]: [
|
|
547
|
+
{
|
|
548
|
+
[SprigRecordingEventData.BeginCallback]: (mediaRecordingUid: UUID) => void;
|
|
549
|
+
[SprigRecordingEventData.CurrentIndex]: number;
|
|
550
|
+
[SprigRecordingEventData.PassthroughData]: PassthroughData;
|
|
551
|
+
[SprigRecordingEventData.ProgressCallback]: (mediaRecordingUid: UUID, data: {
|
|
552
|
+
detail: number;
|
|
553
|
+
}) => void;
|
|
554
|
+
[SprigRecordingEventData.TaskCompleteCallback]: (taskDurationMillisecond: number) => void;
|
|
555
|
+
[SprigRecordingEventData.TaskResponse]: RecordedTaskResponseType;
|
|
556
|
+
[SprigRecordingEventData.UploadCallback]: (mediaRecordingUid: UUID | null, successOrError: true | unknown) => void;
|
|
557
|
+
}
|
|
558
|
+
];
|
|
559
|
+
[SprigRecordingEvent.PermissionStatus]: [
|
|
560
|
+
{
|
|
561
|
+
[SprigRecordingEventData.PermissionStatusCallback]: (avStream: MediaStream | undefined, hasVideoPermission: boolean, hasScreenPermission: boolean) => void;
|
|
562
|
+
}
|
|
563
|
+
];
|
|
564
|
+
[SprigRecordingEvent.ScreenPermission]: [
|
|
565
|
+
{
|
|
566
|
+
[SprigRecordingEventData.StreamCanceledCallback]: () => void;
|
|
567
|
+
[SprigRecordingEventData.StreamReadyCallback]: (avStream: MediaStream | null, captureStream: MediaStream | null) => void;
|
|
568
|
+
}
|
|
569
|
+
];
|
|
570
|
+
[SprigRecordingEvent.StartTask]: [];
|
|
571
|
+
};
|
|
572
|
+
declare const eventEmitter: Emitter<SprigEventMap>;
|
|
573
|
+
declare type SprigEventEmitter = typeof eventEmitter;
|
|
478
574
|
|
|
479
575
|
declare type MatchType = "exactly" | "legacy";
|
|
480
576
|
interface InteractiveEvent {
|
|
@@ -741,12 +837,12 @@ declare namespace sprigConfig {
|
|
|
741
837
|
addListener: (event: SprigEvent, listener: SprigListener) => Promise<void>;
|
|
742
838
|
addSurveyListener: (listener: SprigListener) => Promise<void>;
|
|
743
839
|
applyStyles: (styleString: string) => void;
|
|
840
|
+
dismissActiveSurvey: (reason?: DismissReason) => void;
|
|
744
841
|
displaySurvey: (surveyId: number) => Promise<{
|
|
745
842
|
success: boolean;
|
|
746
843
|
message?: string;
|
|
747
844
|
surveyState: SurveyState;
|
|
748
845
|
}>;
|
|
749
|
-
dismissActiveSurvey: (reason?: DismissReason) => void;
|
|
750
846
|
identifyAndSetAttributes: (payload: {
|
|
751
847
|
anonymousId?: string;
|
|
752
848
|
attributes?: SprigAttributes;
|
|
@@ -755,10 +851,10 @@ declare namespace sprigConfig {
|
|
|
755
851
|
identifyAndTrack: (payload: TrackPayload) => IdentifyResult;
|
|
756
852
|
integrateOptimizely: (strData: string) => void;
|
|
757
853
|
logoutUser: () => void;
|
|
758
|
-
mute: () =>
|
|
759
|
-
removeAttributes: (attributes: SprigAttributes) => IdentifyResult;
|
|
854
|
+
mute: () => void;
|
|
760
855
|
previewSurvey: (surveyTemplateId: UUID) => void;
|
|
761
856
|
removeAllListeners: () => Promise<void>;
|
|
857
|
+
removeAttributes: (attributes: SprigAttributes) => IdentifyResult;
|
|
762
858
|
removeListener: (
|
|
763
859
|
event: SprigEvent,
|
|
764
860
|
listener: SprigListener
|
|
@@ -788,11 +884,18 @@ declare namespace sprigConfig {
|
|
|
788
884
|
properties?: TrackPayload["properties"],
|
|
789
885
|
metadata?: SprigMetadata
|
|
790
886
|
) => IdentifyResult;
|
|
791
|
-
unmute: (
|
|
887
|
+
unmute: () => void;
|
|
792
888
|
}
|
|
793
889
|
|
|
890
|
+
type SprigCommand = keyof SprigAPIActions;
|
|
891
|
+
type SprigCommands = <C extends SprigCommand>(
|
|
892
|
+
command: C,
|
|
893
|
+
...params: Parameters<SprigAPIActions[C]>
|
|
894
|
+
) => ReturnType<SprigAPIActions[C]>;
|
|
895
|
+
|
|
794
896
|
type WindowSprig = Config &
|
|
795
|
-
SprigAPIActions &
|
|
897
|
+
SprigAPIActions &
|
|
898
|
+
SprigCommands & {
|
|
796
899
|
_API_URL: string;
|
|
797
900
|
_config: Config;
|
|
798
901
|
_gtm: unknown; // TODO: determine if boolean?
|
|
@@ -823,60 +926,17 @@ declare namespace sprigConfig {
|
|
|
823
926
|
height: number;
|
|
824
927
|
width: number;
|
|
825
928
|
};
|
|
826
|
-
}
|
|
827
|
-
((name: "_reviewSurvey", surveyId: number) => void) &
|
|
828
|
-
((name: "addListener", event: string, listener: SprigListener) => void) &
|
|
829
|
-
((name: "applyStyles", styles: string) => void) &
|
|
830
|
-
((name: "dismissActiveSurvey", reason?: DismissReason) => void) &
|
|
831
|
-
((name: "displaySurvey", surveyId: number) => void) &
|
|
832
|
-
((
|
|
833
|
-
name: "identifyAndSetAttributes",
|
|
834
|
-
payload: {
|
|
835
|
-
anonymousID?: string;
|
|
836
|
-
attributes: SprigAttributes;
|
|
837
|
-
userID?: string;
|
|
838
|
-
}
|
|
839
|
-
) => void) &
|
|
840
|
-
((
|
|
841
|
-
name: "identifyAndTrack",
|
|
842
|
-
payload: {
|
|
843
|
-
anonymousId?: string;
|
|
844
|
-
eventName: string;
|
|
845
|
-
metadata?: SprigMetadata;
|
|
846
|
-
userId?: string;
|
|
847
|
-
}
|
|
848
|
-
) => void) &
|
|
849
|
-
((name: "logoutUser") => void) &
|
|
850
|
-
((name: "mute") => void) &
|
|
851
|
-
((name: "previewSurvey", surveyTemplateId: string) => void) &
|
|
852
|
-
((name: "removeAllListeners") => void) &
|
|
853
|
-
((name: "removeAttributes", attributes: SprigAttributes) => void) &
|
|
854
|
-
((name: "removeListener", event: string, listener: SprigListener) => void) &
|
|
855
|
-
((name: "reviewSurvey", surveyId: number) => void) &
|
|
856
|
-
((name: "setAttribute", attribute: string, value: string) => void) &
|
|
857
|
-
((name: "setAttributes", attributes: SprigAttributes) => void) &
|
|
858
|
-
((name: "setPartnerAnonymousId", partnerAnonymousId: string) => void) &
|
|
859
|
-
((name: "setUserId", userId: string) => void) &
|
|
860
|
-
((
|
|
861
|
-
name: "setWindowDimensions",
|
|
862
|
-
width: number | string,
|
|
863
|
-
height: number | string
|
|
864
|
-
) => void) &
|
|
865
|
-
((name: "teardown") => void) &
|
|
866
|
-
((
|
|
867
|
-
name: "track",
|
|
868
|
-
eventName: string,
|
|
869
|
-
properties?: SprigProperties,
|
|
870
|
-
metadata?: SprigMetadata
|
|
871
|
-
) => void) &
|
|
872
|
-
((name: "unmute") => void);
|
|
929
|
+
};
|
|
873
930
|
}
|
|
874
931
|
|
|
875
932
|
declare global {
|
|
876
933
|
interface Window {
|
|
877
934
|
__cfg: Config;
|
|
878
935
|
attachEvent?: typeof window.addEventListener;
|
|
879
|
-
Intercom:
|
|
936
|
+
Intercom: { ul_wasVisible?: boolean } & ((
|
|
937
|
+
method: string,
|
|
938
|
+
data: unknown
|
|
939
|
+
) => void);
|
|
880
940
|
optimizely?: optimizely.Optimizely;
|
|
881
941
|
previewMode?: unknown;
|
|
882
942
|
UpChunk: upchunk.UpChunkModule;
|
|
@@ -887,7 +947,7 @@ declare global {
|
|
|
887
947
|
|
|
888
948
|
type WindowSprig = sprigConfig.WindowSprig;
|
|
889
949
|
type SprigAttributes = Record<string, boolean | number | string>;
|
|
890
|
-
type SprigListener =
|
|
950
|
+
type SprigListener = Listener<unknown[]>;
|
|
891
951
|
type SprigMetadata = Record<string, unknown>;
|
|
892
952
|
type SprigProperties = Record<string, unknown>;
|
|
893
953
|
type SprigAPIActions = sprigConfig.SprigAPIActions;
|
|
@@ -928,7 +988,6 @@ declare class SprigAPI {
|
|
|
928
988
|
};
|
|
929
989
|
/**
|
|
930
990
|
* Triggers displaying specified survey. Does submit answers!
|
|
931
|
-
* @returns
|
|
932
991
|
*/
|
|
933
992
|
displaySurvey(surveyId: number): void;
|
|
934
993
|
/**
|
|
@@ -966,11 +1025,11 @@ declare class SprigAPI {
|
|
|
966
1025
|
/**
|
|
967
1026
|
* Add a listener for an event defined in ulEvents
|
|
968
1027
|
*/
|
|
969
|
-
addListener(event:
|
|
1028
|
+
addListener(event: SprigEvent, listener: SprigListener): void;
|
|
970
1029
|
/**
|
|
971
1030
|
* Remove a listener for an event defined in ulEvents
|
|
972
1031
|
*/
|
|
973
|
-
removeListener(event:
|
|
1032
|
+
removeListener(event: SprigEvent, listener: SprigListener): void;
|
|
974
1033
|
/**
|
|
975
1034
|
* Remove all listeners set on Sprig
|
|
976
1035
|
*/
|
|
@@ -1046,4 +1105,4 @@ declare const _default: {
|
|
|
1046
1105
|
configure: (config: NpmConfig) => sprigConfig.WindowSprig;
|
|
1047
1106
|
};
|
|
1048
1107
|
|
|
1049
|
-
export { DismissReason, SprigAPI, WindowSprig$1 as WindowSprig, _default as default, sprig };
|
|
1108
|
+
export { DismissReason, SprigAPI, SprigEvent, WindowSprig$1 as WindowSprig, _default as default, sprig };
|