@sapia-ai/chatbot-v3 1.0.0
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/EmbeddedVideoPlayer-SaMMfDIW.js +1277 -0
- package/dist/EmbeddedVideoPlayer-SaMMfDIW.js.map +1 -0
- package/dist/Preview-Db-hgkTh.js +83 -0
- package/dist/Preview-Db-hgkTh.js.map +1 -0
- package/dist/api/client.d.ts +60 -0
- package/dist/api/config.d.ts +18 -0
- package/dist/api/constants.d.ts +5 -0
- package/dist/api/index.d.ts +5 -0
- package/dist/api/sse.d.ts +12 -0
- package/dist/api/types/branding.d.ts +17 -0
- package/dist/api/types/messages.d.ts +148 -0
- package/dist/api/types/responses.d.ts +106 -0
- package/dist/api.js +2 -0
- package/dist/classPrivateFieldSet2-DtQPURVD.js +32 -0
- package/dist/core/bubbles/convert.d.ts +18 -0
- package/dist/core/bubbles/types.d.ts +55 -0
- package/dist/core/constants.d.ts +14 -0
- package/dist/core/events.d.ts +44 -0
- package/dist/core/i18n/fallback.d.ts +2 -0
- package/dist/core/i18n/languages.d.ts +11 -0
- package/dist/core/i18n/translator.d.ts +13 -0
- package/dist/core/interview.d.ts +207 -0
- package/dist/core/media/mimeTypes.d.ts +10 -0
- package/dist/core/media/recorder.d.ts +61 -0
- package/dist/core/persistence.d.ts +4 -0
- package/dist/core/store.d.ts +49 -0
- package/dist/core/theme/branding.d.ts +6 -0
- package/dist/core/theme/cssVariables.d.ts +16 -0
- package/dist/core/theme/types.d.ts +11 -0
- package/dist/core/validation/phoneCountries.d.ts +21 -0
- package/dist/core/validation/pii.d.ts +30 -0
- package/dist/dash.all.min-DZ1yEcJk.js +27302 -0
- package/dist/dash.all.min-DZ1yEcJk.js.map +1 -0
- package/dist/defineProperty-DiFpLzd2.js +39 -0
- package/dist/dist-BSi28_cP.js +702 -0
- package/dist/dist-BSi28_cP.js.map +1 -0
- package/dist/dist-DGBYKC8c.js +14327 -0
- package/dist/dist-DGBYKC8c.js.map +1 -0
- package/dist/dist-FvHBWiRa.js +76 -0
- package/dist/dist-FvHBWiRa.js.map +1 -0
- package/dist/embed/compat.d.ts +82 -0
- package/dist/embed/constants.d.ts +2 -0
- package/dist/embed/createChatbot.d.ts +22 -0
- package/dist/fix-webm-duration-BW9Fbdzt.js +1057 -0
- package/dist/fix-webm-duration-BW9Fbdzt.js.map +1 -0
- package/dist/hls-mBncGwsE.js +18657 -0
- package/dist/hls-mBncGwsE.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +4428 -0
- package/dist/index.js.map +1 -0
- package/dist/max-Btet1snX.js +12212 -0
- package/dist/max-Btet1snX.js.map +1 -0
- package/dist/messages-C4jqrtSG.js +187 -0
- package/dist/messages-C4jqrtSG.js.map +1 -0
- package/dist/react/AnswerInput.d.ts +21 -0
- package/dist/react/SapiaChatbot.d.ts +23 -0
- package/dist/react/bubbleViewModel.d.ts +50 -0
- package/dist/react/strings.d.ts +98 -0
- package/dist/react/useBeforeUnload.d.ts +5 -0
- package/dist/react/useVideoRecorder.d.ts +24 -0
- package/dist/react-BGJ7Szvq.js +216 -0
- package/dist/react-BGJ7Szvq.js.map +1 -0
- package/dist/react-BMxM8TWJ.js +192 -0
- package/dist/react-BMxM8TWJ.js.map +1 -0
- package/dist/react-BVzcquey.js +457 -0
- package/dist/react-BVzcquey.js.map +1 -0
- package/dist/react-BrCGR7Ca.js +2208 -0
- package/dist/react-BrCGR7Ca.js.map +1 -0
- package/dist/react-Bujo1aK5.js +334 -0
- package/dist/react-Bujo1aK5.js.map +1 -0
- package/dist/react-CRTg4gz8.js +367 -0
- package/dist/react-CRTg4gz8.js.map +1 -0
- package/dist/react-GXf8sbzf.js +311 -0
- package/dist/react-GXf8sbzf.js.map +1 -0
- package/dist/react-lp7yfM94.js +371 -0
- package/dist/react-lp7yfM94.js.map +1 -0
- package/dist/sapia-chatbot.css +3 -0
- package/dist/sapia.d.ts +4 -0
- package/dist/ui/chat/ChatBubble/ChatBubble.d.ts +47 -0
- package/dist/ui/chat/ChatLog/ChatLog.d.ts +33 -0
- package/dist/ui/chat/TypingIndicator/TypingIndicator.d.ts +17 -0
- package/dist/ui/chat/types.d.ts +71 -0
- package/dist/ui/constants.d.ts +2 -0
- package/dist/ui/inputs/DropdownInput/DropdownInput.d.ts +18 -0
- package/dist/ui/inputs/OptionList/OptionList.d.ts +18 -0
- package/dist/ui/inputs/PhoneAnswerInput/PhoneAnswerInput.d.ts +19 -0
- package/dist/ui/inputs/SliderInput/SliderInput.d.ts +19 -0
- package/dist/ui/inputs/TextAnswerInput/TextAnswerInput.d.ts +32 -0
- package/dist/ui/inputs/VideoRecorder/VideoRecorder.d.ts +54 -0
- package/dist/ui/media/EmbeddedVideo/EmbeddedVideo.d.ts +11 -0
- package/dist/ui/media/EmbeddedVideo/EmbeddedVideoPlayer.d.ts +16 -0
- package/dist/ui/media/EmbeddedVideo/VimeoPlayer.d.ts +20 -0
- package/dist/ui/media/UploadProgress/UploadProgress.d.ts +7 -0
- package/dist/ui/media/VideoPlayer/VideoPlayer.d.ts +13 -0
- package/dist/ui/primitives/Button/Button.d.ts +6 -0
- package/dist/ui/primitives/Dialog/Dialog.d.ts +16 -0
- package/dist/ui/richText.d.ts +6 -0
- package/dist/ui/shell/AccessVerificationForm/AccessVerificationForm.d.ts +21 -0
- package/dist/ui/shell/CopyLinkButton/CopyLinkButton.d.ts +11 -0
- package/dist/ui/shell/DoneScreen/DoneScreen.d.ts +15 -0
- package/dist/ui/shell/Header/Header.d.ts +13 -0
- package/dist/ui/shell/PreparingScreen/PreparingScreen.d.ts +9 -0
- package/dist/ui/shell/ProgressBar/ProgressBar.d.ts +9 -0
- package/dist/ui/shell/WelcomeScreen/WelcomeScreen.d.ts +22 -0
- package/dist/ui/shell/WidgetRoot/WidgetRoot.d.ts +12 -0
- package/dist-umd/sapia-chatbot.umd.js +3655 -0
- package/dist-umd/sapia-chatbot.umd.js.map +1 -0
- package/package.json +94 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { t as e } from "./defineProperty-DiFpLzd2.js";
|
|
2
|
+
//#region ../../node_modules/.pnpm/media-played-ranges-mixin@0.1.0/node_modules/media-played-ranges-mixin/dist/index.js
|
|
3
|
+
function t(t) {
|
|
4
|
+
return class extends t {
|
|
5
|
+
constructor(...t) {
|
|
6
|
+
super(...t), e(this, "_playedRanges", []), e(this, "_currentPlayedRange", null), e(this, "_RANGE_EPSILON", .5), e(this, "_seeking", !1);
|
|
7
|
+
}
|
|
8
|
+
connectedCallback() {
|
|
9
|
+
super.connectedCallback && super.connectedCallback(), this.addEventListener("play", () => this.onPlaybackStart({ time: this.currentTime })), this.addEventListener("pause", () => this.onPlaybackStop({ time: this.currentTime })), this.addEventListener("ended", () => this.onPlaybackStop({ time: this.currentTime })), this.addEventListener("seeking", () => this.onSeeking()), this.addEventListener("seeked", () => this.onSeeked({ time: this.currentTime }));
|
|
10
|
+
}
|
|
11
|
+
onPlaybackStart(e = {}) {
|
|
12
|
+
this._seeking = !1;
|
|
13
|
+
let { time: t } = e, n = typeof t == "number" ? t : this.currentTime;
|
|
14
|
+
this._currentPlayedRange || (this._currentPlayedRange = {
|
|
15
|
+
start: n,
|
|
16
|
+
end: n
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
onSeeking() {
|
|
20
|
+
this._seeking = !0, this._commitCurrentRange();
|
|
21
|
+
}
|
|
22
|
+
onSeeked(e = {}) {
|
|
23
|
+
this._seeking = !1;
|
|
24
|
+
let { time: t } = e, n = typeof t == "number" ? t : this.currentTime;
|
|
25
|
+
this._currentPlayedRange = {
|
|
26
|
+
start: n,
|
|
27
|
+
end: n
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
onPlaybackStop(e = {}) {
|
|
31
|
+
let { time: t } = e, n = typeof t == "number" ? t : this.currentTime;
|
|
32
|
+
this._commitCurrentRange(n);
|
|
33
|
+
}
|
|
34
|
+
_commitCurrentRange(e) {
|
|
35
|
+
if (!this._currentPlayedRange) return;
|
|
36
|
+
typeof e == "number" && (this._currentPlayedRange.end = e);
|
|
37
|
+
let { start: t, end: n } = this._currentPlayedRange;
|
|
38
|
+
this._currentPlayedRange = null, this.addPlayedRange(t, n);
|
|
39
|
+
}
|
|
40
|
+
addPlayedRange(e, t) {
|
|
41
|
+
if (e >= t) return;
|
|
42
|
+
let n = this._RANGE_EPSILON, r = [...this._playedRanges, {
|
|
43
|
+
start: e,
|
|
44
|
+
end: t
|
|
45
|
+
}];
|
|
46
|
+
r.sort((e, t) => e.start - t.start);
|
|
47
|
+
let i = [];
|
|
48
|
+
for (let e of r) {
|
|
49
|
+
if (!i.length) {
|
|
50
|
+
i.push({ ...e });
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
let t = i[i.length - 1];
|
|
54
|
+
e.start <= t.end + n ? (t.start = Math.min(t.start, e.start), t.end = Math.max(t.end, e.end)) : i.push({ ...e });
|
|
55
|
+
}
|
|
56
|
+
this._playedRanges = i;
|
|
57
|
+
}
|
|
58
|
+
get played() {
|
|
59
|
+
let e = this.currentTime;
|
|
60
|
+
return !this.paused && !this._currentPlayedRange && typeof e == "number" && (this._currentPlayedRange = {
|
|
61
|
+
start: e,
|
|
62
|
+
end: e
|
|
63
|
+
}), this._currentPlayedRange && typeof e == "number" && (e > this._currentPlayedRange.end && (this._currentPlayedRange.end = e), this.addPlayedRange(this._currentPlayedRange.start, this._currentPlayedRange.end)), this._playedRanges.length ? n(this._playedRanges.map((e) => [e.start, e.end])) : n([[0, 0]]);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function n(e) {
|
|
68
|
+
return Object.defineProperties(e, {
|
|
69
|
+
start: { value: (t) => e[t][0] },
|
|
70
|
+
end: { value: (t) => e[t][1] }
|
|
71
|
+
}), e;
|
|
72
|
+
}
|
|
73
|
+
//#endregion
|
|
74
|
+
export { t };
|
|
75
|
+
|
|
76
|
+
//# sourceMappingURL=dist-FvHBWiRa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dist-FvHBWiRa.js","names":[],"sources":["../../../node_modules/.pnpm/media-played-ranges-mixin@0.1.0/node_modules/media-played-ranges-mixin/dist/index.js"],"sourcesContent":["function MediaPlayedRangesMixin(Base) {\n return class MediaPlayedRanges extends Base {\n _playedRanges = [];\n _currentPlayedRange = null;\n _RANGE_EPSILON = 0.5;\n _seeking = false;\n connectedCallback() {\n if (super.connectedCallback) super.connectedCallback();\n this.addEventListener(\"play\", () => this.onPlaybackStart({ time: this.currentTime }));\n this.addEventListener(\"pause\", () => this.onPlaybackStop({ time: this.currentTime }));\n this.addEventListener(\"ended\", () => this.onPlaybackStop({ time: this.currentTime }));\n this.addEventListener(\"seeking\", () => this.onSeeking());\n this.addEventListener(\"seeked\", () => this.onSeeked({ time: this.currentTime }));\n }\n onPlaybackStart(param = {}) {\n this._seeking = false;\n const { time } = param;\n const t = typeof time === \"number\" ? time : this.currentTime;\n if (!this._currentPlayedRange) {\n this._currentPlayedRange = { start: t, end: t };\n }\n }\n onSeeking() {\n this._seeking = true;\n this._commitCurrentRange();\n }\n onSeeked(param = {}) {\n this._seeking = false;\n const { time } = param;\n const t = typeof time === \"number\" ? time : this.currentTime;\n this._currentPlayedRange = { start: t, end: t };\n }\n onPlaybackStop(param = {}) {\n const { time } = param;\n const t = typeof time === \"number\" ? time : this.currentTime;\n this._commitCurrentRange(t);\n }\n _commitCurrentRange(time) {\n if (!this._currentPlayedRange) return;\n if (typeof time === \"number\") {\n this._currentPlayedRange.end = time;\n }\n const { start, end } = this._currentPlayedRange;\n this._currentPlayedRange = null;\n this.addPlayedRange(start, end);\n }\n addPlayedRange(start, end) {\n if (start >= end) return;\n const EPS = this._RANGE_EPSILON;\n const allRanges = [...this._playedRanges, { start, end }];\n allRanges.sort((a, b) => a.start - b.start);\n const merged = [];\n for (const range of allRanges) {\n if (!merged.length) {\n merged.push({ ...range });\n continue;\n }\n const last = merged[merged.length - 1];\n if (range.start <= last.end + EPS) {\n last.start = Math.min(last.start, range.start);\n last.end = Math.max(last.end, range.end);\n } else {\n merged.push({ ...range });\n }\n }\n this._playedRanges = merged;\n }\n get played() {\n const time = this.currentTime;\n if (!this.paused && !this._currentPlayedRange && typeof time === \"number\") {\n this._currentPlayedRange = { start: time, end: time };\n }\n if (this._currentPlayedRange && typeof time === \"number\") {\n if (time > this._currentPlayedRange.end) {\n this._currentPlayedRange.end = time;\n }\n this.addPlayedRange(this._currentPlayedRange.start, this._currentPlayedRange.end);\n }\n if (!this._playedRanges.length) {\n return createTimeRangesObj([[0, 0]]);\n }\n return createTimeRangesObj(this._playedRanges.map((r) => [r.start, r.end]));\n }\n };\n}\nfunction createTimeRangesObj(ranges) {\n Object.defineProperties(ranges, {\n start: { value: (i) => ranges[i][0] },\n end: { value: (i) => ranges[i][1] }\n });\n return ranges;\n}\nexport {\n MediaPlayedRangesMixin\n};\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Env, Region } from '../api/config';
|
|
2
|
+
/** Legacy mount target id (was `predictivehire`'s `CHATBOT_CONTAINER_ID`). */
|
|
3
|
+
export declare const CHATBOT_CONTAINER_ID = "sapiaChatBot";
|
|
4
|
+
/** Legacy callback names (mapped 1:1 onto the new typed event names). */
|
|
5
|
+
export declare enum PHChatBotCallbackFunction {
|
|
6
|
+
FI_ASSESSMENT_ANSWER_SAVED = "FI_ASSESSMENT_ANSWER_SAVED",
|
|
7
|
+
FI_ASSESSMENT_ANSWER_EDITED = "FI_ASSESSMENT_ANSWER_EDITED",
|
|
8
|
+
FI_ASSESSMENT_STARTED = "FI_ASSESSMENT_STARTED",
|
|
9
|
+
FI_ASSESSMENT_ENDED = "FI_ASSESSMENT_ENDED",
|
|
10
|
+
FI_ASSESSMENT_DUPLICATED = "FI_ASSESSMENT_DUPLICATED",
|
|
11
|
+
CHATBOT_ERROR = "CHATBOT_ERROR",
|
|
12
|
+
CHATBOT_LOG = "CHATBOT_LOG"
|
|
13
|
+
}
|
|
14
|
+
export type FIAssessmentDuplicatedCallbackPayload = {
|
|
15
|
+
duplicatedWithAssessmentLink?: string;
|
|
16
|
+
};
|
|
17
|
+
export type PHChatBotCallback = {
|
|
18
|
+
[PHChatBotCallbackFunction.FI_ASSESSMENT_ANSWER_SAVED]?: (payload?: unknown) => void;
|
|
19
|
+
[PHChatBotCallbackFunction.FI_ASSESSMENT_ANSWER_EDITED]?: (payload?: unknown) => void;
|
|
20
|
+
[PHChatBotCallbackFunction.FI_ASSESSMENT_STARTED]?: (payload?: unknown) => void;
|
|
21
|
+
[PHChatBotCallbackFunction.FI_ASSESSMENT_ENDED]?: (payload?: unknown) => void;
|
|
22
|
+
[PHChatBotCallbackFunction.FI_ASSESSMENT_DUPLICATED]?: (payload?: FIAssessmentDuplicatedCallbackPayload) => void;
|
|
23
|
+
[PHChatBotCallbackFunction.CHATBOT_ERROR]?: (payload?: unknown) => void;
|
|
24
|
+
[PHChatBotCallbackFunction.CHATBOT_LOG]?: (payload?: unknown) => void;
|
|
25
|
+
};
|
|
26
|
+
/** Legacy per-section theme element (linkColor had no v3 mapping, dropped). */
|
|
27
|
+
export type ThemeElement = {
|
|
28
|
+
backgroundColor?: string;
|
|
29
|
+
fontColor?: string;
|
|
30
|
+
linkColor?: string;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Legacy theme shape. v3 themes only the header/question/response/button
|
|
34
|
+
* sections; the legacy hint/selectedItem/listItem/progressBar sections have no
|
|
35
|
+
* v3 equivalent and are ignored (documented in docs/MIGRATION.md).
|
|
36
|
+
*/
|
|
37
|
+
export type PHChatBotTheme = {
|
|
38
|
+
header?: ThemeElement;
|
|
39
|
+
hint?: ThemeElement;
|
|
40
|
+
question?: ThemeElement;
|
|
41
|
+
response?: ThemeElement;
|
|
42
|
+
selectedItem?: ThemeElement;
|
|
43
|
+
listItem?: ThemeElement;
|
|
44
|
+
button?: ThemeElement;
|
|
45
|
+
progressBar?: ThemeElement;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Retry-resolve a container the host may render slightly after construction —
|
|
49
|
+
* ported from the legacy `getContainer` retry loop in `predictivehire.tsx`.
|
|
50
|
+
*/
|
|
51
|
+
export declare const getContainer: (cb: () => HTMLElement | null, retryTimes?: number, intervalMs?: number) => Promise<HTMLElement | null>;
|
|
52
|
+
export type PHChatBotOptions = {
|
|
53
|
+
env: Env;
|
|
54
|
+
region: Region;
|
|
55
|
+
appId: string;
|
|
56
|
+
assessmentId?: string;
|
|
57
|
+
cohortId?: string;
|
|
58
|
+
jobRequisitionShortcode?: string;
|
|
59
|
+
applicationShortcode?: string;
|
|
60
|
+
showHeader?: boolean;
|
|
61
|
+
/** Accepted for source compatibility; the widget does not order assessments. */
|
|
62
|
+
isInternalUser?: boolean;
|
|
63
|
+
apiOrigin?: string;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Drop-in replacement for the legacy `PHChatBot` class. Thin wrapper over
|
|
67
|
+
* `createChatbot` — see docs/MIGRATION.md for the field-by-field mapping.
|
|
68
|
+
*/
|
|
69
|
+
export declare class PHChatBot {
|
|
70
|
+
private readonly options;
|
|
71
|
+
private callbacks;
|
|
72
|
+
private theme;
|
|
73
|
+
private chatbot;
|
|
74
|
+
constructor(options: PHChatBotOptions);
|
|
75
|
+
addCallbackHandler(callbacks: PHChatBotCallback): void;
|
|
76
|
+
setTheme({ theme }: {
|
|
77
|
+
theme: PHChatBotTheme;
|
|
78
|
+
}): void;
|
|
79
|
+
attachChatBot(): Promise<void>;
|
|
80
|
+
stopCallingApiWhenUnmount(): void;
|
|
81
|
+
private dispatch;
|
|
82
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Env, Region } from '../api/config';
|
|
2
|
+
import { ChatbotEventName, ChatbotEventMap } from '../core/events';
|
|
3
|
+
import { Theme } from '../core/theme/types';
|
|
4
|
+
export type CreateChatbotOptions = {
|
|
5
|
+
env: Env;
|
|
6
|
+
region: Region;
|
|
7
|
+
appId: string;
|
|
8
|
+
assessmentId: string;
|
|
9
|
+
apiOrigin?: string;
|
|
10
|
+
theme?: Theme;
|
|
11
|
+
showHeader?: boolean;
|
|
12
|
+
/** Interview language override (e.g. "fr"); defaults to the browser language. */
|
|
13
|
+
language?: string;
|
|
14
|
+
};
|
|
15
|
+
export type Chatbot = {
|
|
16
|
+
mount: (target?: string | HTMLElement) => void;
|
|
17
|
+
unmount: () => void;
|
|
18
|
+
setTheme: (theme: Theme) => void;
|
|
19
|
+
on: <E extends ChatbotEventName>(event: E, handler: (payload: ChatbotEventMap[E]) => void) => () => void;
|
|
20
|
+
};
|
|
21
|
+
/** Imperative entry point for non-React hosts (and the UMD build). */
|
|
22
|
+
export declare const createChatbot: (options: CreateChatbotOptions) => Chatbot;
|