@xpert-ai/chatkit-ui5 0.3.0 → 0.4.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/chatkit.cjs +393 -37
- package/dist/chatkit.cjs.map +1 -1
- package/dist/chatkit.ui5.js +393 -37
- package/dist/chatkit.ui5.js.map +1 -1
- package/dist/index.js +393 -37
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/chatkit.ui5.js
CHANGED
|
@@ -51,7 +51,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
51
51
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
52
52
|
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
53
53
|
|
|
54
|
-
var _a, _b, _setTrainingOptOut_dec, _hideHistory_dec, _showHistory_dec, _sendCustomAction_dec, _shareThread_dec, _setThreadId_dec, _setComposerValue_dec, _sendUserMessage_dec, _fetchUpdates_dec, _focusComposer_dec, _c, _opts, _frameUrl, _frame, _wrapper, _launcherCloseButton, _launcherOpen, _framePetOptionsOverride, _shadow, _petOverlay, _resolveLoaded, _loaded, _messenger, _ChatKitElementBase_instances, emitAndThrow_fn, setOptionsDataAttributes_fn, getDisplayMode_fn, getConfiguredPetOptions_fn, getOverlayPetOptions_fn, resolvePetAssetUrl_fn, resolveOverlayPetOptions_fn, getFrameOptions_fn, setLauncherOpen_fn, handlePetActivate_fn, handlePetReply_fn, handlePetThreadSummaryActivate_fn, _handleLauncherClose, getFrameUrl_fn, setFrameUrl_fn, consumeFrameUrl_fn, _handleFrameLoad, _initialized, maybeInit_fn, _init;
|
|
54
|
+
var _a, _b, _setTrainingOptOut_dec, _hideHistory_dec, _showHistory_dec, _sendCustomAction_dec, _shareThread_dec, _setThreadId_dec, _setRuntimeCapabilities_dec, _setComposerValue_dec, _sendUserMessage_dec, _fetchUpdates_dec, _focusComposer_dec, _c, _opts, _frameUrl, _frame, _wrapper, _launcherCloseButton, _launcherOpen, _chatMinimizedToPet, _framePetOptionsOverride, _petClosedByContextMenu, _shadow, _petOverlay, _resolveLoaded, _loaded, _messenger, _ChatKitElementBase_instances, emitAndThrow_fn, setOptionsDataAttributes_fn, getDisplayMode_fn, getConfiguredPetOptions_fn, mergeConfiguredPetPositionDefaults_fn, getOverlayPetOptions_fn, resolvePetAssetUrl_fn, resolveOverlayPetOptions_fn, getFrameOptions_fn, setLauncherOpen_fn, setChatMinimizedToPet_fn, syncPetOverlayOptions_fn, handlePetActivate_fn, handlePetClose_fn, handlePetReply_fn, handlePetThreadSummaryActivate_fn, _handleLauncherClose, getFrameUrl_fn, setFrameUrl_fn, consumeFrameUrl_fn, _handleFrameLoad, _initialized, maybeInit_fn, _init;
|
|
55
55
|
class EventEmitter {
|
|
56
56
|
constructor() {
|
|
57
57
|
__publicField(this, "callbacks", /* @__PURE__ */ new Map());
|
|
@@ -700,6 +700,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
700
700
|
"command.setOptions",
|
|
701
701
|
"command.sendUserMessage",
|
|
702
702
|
"command.setComposerValue",
|
|
703
|
+
"command.setRuntimeCapabilities",
|
|
703
704
|
"command.setThreadId",
|
|
704
705
|
"command.focusComposer",
|
|
705
706
|
"command.fetchUpdates",
|
|
@@ -895,8 +896,11 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
895
896
|
const PET_SUMMARY_GAP = 12;
|
|
896
897
|
const PET_SUMMARY_WIDTH = 320;
|
|
897
898
|
const PET_SUMMARY_MARGIN = 12;
|
|
899
|
+
const PET_CONTEXT_MENU_MARGIN = 8;
|
|
900
|
+
const PET_SUMMARY_FONT_FAMILY = 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif';
|
|
898
901
|
const PET_OVERLAY_COPY = {
|
|
899
902
|
"en-US": {
|
|
903
|
+
closePetMenuItem: "Close pet",
|
|
900
904
|
hideMessage: "Hide message",
|
|
901
905
|
expandMessage: "Expand message",
|
|
902
906
|
collapseMessage: "Collapse message",
|
|
@@ -908,6 +912,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
908
912
|
sendFailed: "Failed to send"
|
|
909
913
|
},
|
|
910
914
|
"zh-CN": {
|
|
915
|
+
closePetMenuItem: "关闭宠物",
|
|
911
916
|
hideMessage: "隐藏消息",
|
|
912
917
|
expandMessage: "展开消息",
|
|
913
918
|
collapseMessage: "收起消息",
|
|
@@ -984,6 +989,65 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
984
989
|
}
|
|
985
990
|
return "en-US";
|
|
986
991
|
}
|
|
992
|
+
function getSummaryDensityMetrics(density) {
|
|
993
|
+
switch (density) {
|
|
994
|
+
case "compact":
|
|
995
|
+
return {
|
|
996
|
+
padding: "8px 10px",
|
|
997
|
+
gap: 6,
|
|
998
|
+
marginTop: 3,
|
|
999
|
+
toggleSize: 30,
|
|
1000
|
+
actionSize: 22
|
|
1001
|
+
};
|
|
1002
|
+
case "spacious":
|
|
1003
|
+
return {
|
|
1004
|
+
padding: "14px 16px",
|
|
1005
|
+
gap: 10,
|
|
1006
|
+
marginTop: 6,
|
|
1007
|
+
toggleSize: 38,
|
|
1008
|
+
actionSize: 28
|
|
1009
|
+
};
|
|
1010
|
+
case "normal":
|
|
1011
|
+
default:
|
|
1012
|
+
return {
|
|
1013
|
+
padding: "12px 14px",
|
|
1014
|
+
gap: 8,
|
|
1015
|
+
marginTop: 4,
|
|
1016
|
+
toggleSize: 34,
|
|
1017
|
+
actionSize: 26
|
|
1018
|
+
};
|
|
1019
|
+
}
|
|
1020
|
+
}
|
|
1021
|
+
function getSummaryRadius(radius) {
|
|
1022
|
+
switch (radius) {
|
|
1023
|
+
case "pill":
|
|
1024
|
+
return 24;
|
|
1025
|
+
case "round":
|
|
1026
|
+
return 16;
|
|
1027
|
+
case "sharp":
|
|
1028
|
+
return 0;
|
|
1029
|
+
case "soft":
|
|
1030
|
+
default:
|
|
1031
|
+
return 12;
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
function getSummaryThemeMetrics(theme) {
|
|
1035
|
+
var _a2, _b2;
|
|
1036
|
+
const themeObject = typeof theme === "string" ? null : theme;
|
|
1037
|
+
const baseSize = ((_a2 = themeObject == null ? void 0 : themeObject.typography) == null ? void 0 : _a2.baseSize) ?? 16;
|
|
1038
|
+
const density = (themeObject == null ? void 0 : themeObject.density) ?? "normal";
|
|
1039
|
+
const densityOffset = density === "compact" ? -1 : density === "spacious" ? 1 : 0;
|
|
1040
|
+
const bodySize = clampNumber(baseSize - 2 + densityOffset, 11, 17);
|
|
1041
|
+
const densityMetrics = getSummaryDensityMetrics(density);
|
|
1042
|
+
return {
|
|
1043
|
+
...densityMetrics,
|
|
1044
|
+
bodySize,
|
|
1045
|
+
titleSize: bodySize + 1,
|
|
1046
|
+
iconSize: clampNumber(bodySize + 2, 13, 19),
|
|
1047
|
+
radius: getSummaryRadius(themeObject == null ? void 0 : themeObject.radius),
|
|
1048
|
+
fontFamily: ((_b2 = themeObject == null ? void 0 : themeObject.typography) == null ? void 0 : _b2.fontFamily) ?? PET_SUMMARY_FONT_FAMILY
|
|
1049
|
+
};
|
|
1050
|
+
}
|
|
987
1051
|
function isPetState(value) {
|
|
988
1052
|
return value === "idle" || value === "running-right" || value === "running-left" || value === "waving" || value === "jumping" || value === "failed" || value === "waiting" || value === "running" || value === "review";
|
|
989
1053
|
}
|
|
@@ -1019,6 +1083,12 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1019
1083
|
summary.messageId || summary.updatedAt || summary.message
|
|
1020
1084
|
].join(":");
|
|
1021
1085
|
}
|
|
1086
|
+
function getThreadSummaryInteractionKey(summary) {
|
|
1087
|
+
if (!summary) {
|
|
1088
|
+
return null;
|
|
1089
|
+
}
|
|
1090
|
+
return [summary.threadId, summary.messageId ?? ""].join(":");
|
|
1091
|
+
}
|
|
1022
1092
|
function parseThreadSummaryPayload(value) {
|
|
1023
1093
|
if (value === null) {
|
|
1024
1094
|
return { summary: null };
|
|
@@ -1055,10 +1125,12 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1055
1125
|
constructor(root, options) {
|
|
1056
1126
|
this.overlayElement = null;
|
|
1057
1127
|
this.petElement = null;
|
|
1128
|
+
this.contextMenuElement = null;
|
|
1058
1129
|
this.summaryElement = null;
|
|
1059
1130
|
this.summaryToggleElement = null;
|
|
1060
1131
|
this.mediaElement = null;
|
|
1061
1132
|
this.options = null;
|
|
1133
|
+
this.theme = null;
|
|
1062
1134
|
this.resolved = null;
|
|
1063
1135
|
this.summary = null;
|
|
1064
1136
|
this.summaryRenderKey = null;
|
|
@@ -1095,6 +1167,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1095
1167
|
this.mediaQuery = null;
|
|
1096
1168
|
this.connected = false;
|
|
1097
1169
|
this.handleViewportChange = () => {
|
|
1170
|
+
this.closeContextMenu();
|
|
1098
1171
|
this.render();
|
|
1099
1172
|
};
|
|
1100
1173
|
this.handleReducedMotionChange = () => {
|
|
@@ -1115,6 +1188,36 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1115
1188
|
this.enterRestingAfterDelay();
|
|
1116
1189
|
}
|
|
1117
1190
|
};
|
|
1191
|
+
this.handleContextMenu = (event) => {
|
|
1192
|
+
event.preventDefault();
|
|
1193
|
+
event.stopPropagation();
|
|
1194
|
+
this.openContextMenu({ x: event.clientX, y: event.clientY });
|
|
1195
|
+
};
|
|
1196
|
+
this.handleContextMenuEvent = (event) => {
|
|
1197
|
+
event.preventDefault();
|
|
1198
|
+
event.stopPropagation();
|
|
1199
|
+
};
|
|
1200
|
+
this.handleContextMenuOutsidePointerDown = (event) => {
|
|
1201
|
+
const menu = this.contextMenuElement;
|
|
1202
|
+
if (menu && event.composedPath().includes(menu)) {
|
|
1203
|
+
return;
|
|
1204
|
+
}
|
|
1205
|
+
this.closeContextMenu();
|
|
1206
|
+
};
|
|
1207
|
+
this.handleContextMenuKeyDown = (event) => {
|
|
1208
|
+
if (event.key !== "Escape") {
|
|
1209
|
+
return;
|
|
1210
|
+
}
|
|
1211
|
+
event.preventDefault();
|
|
1212
|
+
this.closeContextMenu();
|
|
1213
|
+
};
|
|
1214
|
+
this.handleClosePetMenuItemClick = (event) => {
|
|
1215
|
+
var _a2;
|
|
1216
|
+
event.preventDefault();
|
|
1217
|
+
event.stopPropagation();
|
|
1218
|
+
this.closeContextMenu();
|
|
1219
|
+
(_a2 = this.onClose) == null ? void 0 : _a2.call(this);
|
|
1220
|
+
};
|
|
1118
1221
|
this.handleSummaryPointerEnter = () => {
|
|
1119
1222
|
this.isSummaryHovering = true;
|
|
1120
1223
|
this.render();
|
|
@@ -1182,7 +1285,11 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1182
1285
|
};
|
|
1183
1286
|
this.handlePointerDown = (event) => {
|
|
1184
1287
|
var _a2, _b2;
|
|
1185
|
-
if (
|
|
1288
|
+
if (event.button !== 0 || event.ctrlKey) {
|
|
1289
|
+
return;
|
|
1290
|
+
}
|
|
1291
|
+
this.closeContextMenu();
|
|
1292
|
+
if (!((_a2 = this.options) == null ? void 0 : _a2.position.draggable)) {
|
|
1186
1293
|
return;
|
|
1187
1294
|
}
|
|
1188
1295
|
event.preventDefault();
|
|
@@ -1258,6 +1365,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1258
1365
|
};
|
|
1259
1366
|
this.root = root;
|
|
1260
1367
|
this.onActivate = options == null ? void 0 : options.onActivate;
|
|
1368
|
+
this.onClose = options == null ? void 0 : options.onClose;
|
|
1261
1369
|
this.onReply = options == null ? void 0 : options.onReply;
|
|
1262
1370
|
this.onThreadSummaryActivate = options == null ? void 0 : options.onThreadSummaryActivate;
|
|
1263
1371
|
this.connect();
|
|
@@ -1271,9 +1379,11 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1271
1379
|
this.installReducedMotionListener();
|
|
1272
1380
|
this.render();
|
|
1273
1381
|
}
|
|
1274
|
-
setOptions(pet) {
|
|
1382
|
+
setOptions(pet, theme) {
|
|
1383
|
+
this.closeContextMenu();
|
|
1275
1384
|
const nextOptions = chatkitTypes.normalizePetOptions(pet);
|
|
1276
1385
|
this.options = nextOptions;
|
|
1386
|
+
this.theme = theme ?? null;
|
|
1277
1387
|
if (!nextOptions) {
|
|
1278
1388
|
this.isDragging = false;
|
|
1279
1389
|
this.isHovering = false;
|
|
@@ -1319,11 +1429,12 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1319
1429
|
this.copyLocale = nextLocale;
|
|
1320
1430
|
this.copy = PET_OVERLAY_COPY[nextLocale];
|
|
1321
1431
|
this.summaryRenderKey = null;
|
|
1432
|
+
this.closeContextMenu();
|
|
1322
1433
|
this.render();
|
|
1323
1434
|
}
|
|
1324
1435
|
setThreadSummary(summary) {
|
|
1325
|
-
const previousKey =
|
|
1326
|
-
const nextKey =
|
|
1436
|
+
const previousKey = getThreadSummaryInteractionKey(this.summary);
|
|
1437
|
+
const nextKey = getThreadSummaryInteractionKey(summary);
|
|
1327
1438
|
this.summary = summary;
|
|
1328
1439
|
if (!summary) {
|
|
1329
1440
|
this.isSummaryCollapsed = false;
|
|
@@ -1384,8 +1495,14 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1384
1495
|
installViewportListeners() {
|
|
1385
1496
|
var _a2, _b2;
|
|
1386
1497
|
window.addEventListener("resize", this.handleViewportChange);
|
|
1387
|
-
(_a2 = window.visualViewport) == null ? void 0 : _a2.addEventListener(
|
|
1388
|
-
|
|
1498
|
+
(_a2 = window.visualViewport) == null ? void 0 : _a2.addEventListener(
|
|
1499
|
+
"resize",
|
|
1500
|
+
this.handleViewportChange
|
|
1501
|
+
);
|
|
1502
|
+
(_b2 = window.visualViewport) == null ? void 0 : _b2.addEventListener(
|
|
1503
|
+
"scroll",
|
|
1504
|
+
this.handleViewportChange
|
|
1505
|
+
);
|
|
1389
1506
|
}
|
|
1390
1507
|
installReducedMotionListener() {
|
|
1391
1508
|
var _a2, _b2;
|
|
@@ -1436,6 +1553,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1436
1553
|
pet.addEventListener("pointerenter", this.handlePointerEnter);
|
|
1437
1554
|
pet.addEventListener("pointerleave", this.handlePointerLeave);
|
|
1438
1555
|
pet.addEventListener("pointerdown", this.handlePointerDown);
|
|
1556
|
+
pet.addEventListener("contextmenu", this.handleContextMenu);
|
|
1439
1557
|
pet.addEventListener("click", this.handleClick);
|
|
1440
1558
|
overlay.append(style, pet);
|
|
1441
1559
|
this.root.append(overlay);
|
|
@@ -1446,6 +1564,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1446
1564
|
var _a2;
|
|
1447
1565
|
this.clearRestingDelayTimer();
|
|
1448
1566
|
this.clearTimers();
|
|
1567
|
+
this.closeContextMenu();
|
|
1449
1568
|
if (this.petElement) {
|
|
1450
1569
|
this.petElement.removeEventListener(
|
|
1451
1570
|
"pointerenter",
|
|
@@ -1455,7 +1574,14 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1455
1574
|
"pointerleave",
|
|
1456
1575
|
this.handlePointerLeave
|
|
1457
1576
|
);
|
|
1458
|
-
this.petElement.removeEventListener(
|
|
1577
|
+
this.petElement.removeEventListener(
|
|
1578
|
+
"pointerdown",
|
|
1579
|
+
this.handlePointerDown
|
|
1580
|
+
);
|
|
1581
|
+
this.petElement.removeEventListener(
|
|
1582
|
+
"contextmenu",
|
|
1583
|
+
this.handleContextMenu
|
|
1584
|
+
);
|
|
1459
1585
|
this.petElement.removeEventListener("click", this.handleClick);
|
|
1460
1586
|
}
|
|
1461
1587
|
this.isHovering = false;
|
|
@@ -1603,10 +1729,6 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1603
1729
|
return;
|
|
1604
1730
|
}
|
|
1605
1731
|
const nextRenderKey = [
|
|
1606
|
-
summaryKey,
|
|
1607
|
-
summary.title,
|
|
1608
|
-
summary.message,
|
|
1609
|
-
summary.status,
|
|
1610
1732
|
this.copyLocale,
|
|
1611
1733
|
this.isSummaryExpanded ? "expanded" : "compact",
|
|
1612
1734
|
this.isSummaryHovering ? "hover" : "rest",
|
|
@@ -1619,7 +1741,10 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1619
1741
|
(_b2 = this.summaryToggleElement) == null ? void 0 : _b2.remove();
|
|
1620
1742
|
this.summaryElement = this.createSummaryBubble(summary);
|
|
1621
1743
|
this.summaryToggleElement = this.createSummaryToggleButton("v");
|
|
1622
|
-
(_c2 = this.overlayElement) == null ? void 0 : _c2.append(
|
|
1744
|
+
(_c2 = this.overlayElement) == null ? void 0 : _c2.append(
|
|
1745
|
+
this.summaryElement,
|
|
1746
|
+
this.summaryToggleElement
|
|
1747
|
+
);
|
|
1623
1748
|
this.summaryRenderKey = nextRenderKey;
|
|
1624
1749
|
if (this.isReplyOpen && !this.isReplySubmitting) {
|
|
1625
1750
|
window.setTimeout(() => {
|
|
@@ -1628,6 +1753,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1628
1753
|
}, 0);
|
|
1629
1754
|
}
|
|
1630
1755
|
}
|
|
1756
|
+
this.updateSummaryBubbleContent(summary);
|
|
1631
1757
|
this.positionSummaryBubble(position, size);
|
|
1632
1758
|
}
|
|
1633
1759
|
renderCollapsedSummary(position, size) {
|
|
@@ -1648,7 +1774,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1648
1774
|
return;
|
|
1649
1775
|
}
|
|
1650
1776
|
const viewport = getViewportSize();
|
|
1651
|
-
const badgeSize =
|
|
1777
|
+
const badgeSize = getSummaryThemeMetrics(this.theme).toggleSize;
|
|
1652
1778
|
const x = clampNumber(
|
|
1653
1779
|
position.x + size.width - badgeSize * 0.35,
|
|
1654
1780
|
PET_SUMMARY_MARGIN,
|
|
@@ -1671,7 +1797,10 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1671
1797
|
return;
|
|
1672
1798
|
}
|
|
1673
1799
|
const viewport = getViewportSize();
|
|
1674
|
-
const width = Math.min(
|
|
1800
|
+
const width = Math.min(
|
|
1801
|
+
PET_SUMMARY_WIDTH,
|
|
1802
|
+
viewport.width - PET_SUMMARY_MARGIN * 2
|
|
1803
|
+
);
|
|
1675
1804
|
bubble.style.width = `${width}px`;
|
|
1676
1805
|
const bubbleHeight = bubble.offsetHeight || 96;
|
|
1677
1806
|
const aboveY = position.y - bubbleHeight - PET_SUMMARY_GAP;
|
|
@@ -1691,6 +1820,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1691
1820
|
}
|
|
1692
1821
|
createSummaryBubble(summary) {
|
|
1693
1822
|
const shouldShowReplyButton = this.isSummaryHovering && !this.isReplyOpen;
|
|
1823
|
+
const metrics = getSummaryThemeMetrics(this.theme);
|
|
1694
1824
|
const bubble = document.createElement("div");
|
|
1695
1825
|
bubble.setAttribute("data-chatkit-pet-summary", "");
|
|
1696
1826
|
bubble.addEventListener("pointerenter", this.handleSummaryPointerEnter);
|
|
@@ -1701,19 +1831,18 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1701
1831
|
bubble.style.left = "0";
|
|
1702
1832
|
bubble.style.boxSizing = "border-box";
|
|
1703
1833
|
bubble.style.pointerEvents = "auto";
|
|
1704
|
-
bubble.style.padding =
|
|
1705
|
-
bubble.style.paddingBottom = "12px";
|
|
1834
|
+
bubble.style.padding = metrics.padding;
|
|
1706
1835
|
bubble.style.border = "1px solid rgba(148, 163, 184, 0.22)";
|
|
1707
|
-
bubble.style.borderRadius =
|
|
1836
|
+
bubble.style.borderRadius = `${metrics.radius}px`;
|
|
1708
1837
|
bubble.style.background = "rgba(255, 255, 255, 0.94)";
|
|
1709
1838
|
bubble.style.color = "#1f2937";
|
|
1710
1839
|
bubble.style.boxShadow = "0 8px 24px rgba(15, 23, 42, 0.1)";
|
|
1711
|
-
bubble.style.font =
|
|
1840
|
+
bubble.style.font = `500 ${metrics.bodySize}px/1.35 ${metrics.fontFamily}`;
|
|
1712
1841
|
bubble.style.backdropFilter = "blur(10px)";
|
|
1713
1842
|
const header = document.createElement("div");
|
|
1714
1843
|
header.style.display = "flex";
|
|
1715
1844
|
header.style.alignItems = "center";
|
|
1716
|
-
header.style.gap =
|
|
1845
|
+
header.style.gap = `${metrics.gap}px`;
|
|
1717
1846
|
if (this.isSummaryHovering || this.isReplyOpen) {
|
|
1718
1847
|
header.append(
|
|
1719
1848
|
this.createSummaryActionButton(
|
|
@@ -1731,7 +1860,8 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1731
1860
|
title.style.textOverflow = "ellipsis";
|
|
1732
1861
|
title.style.whiteSpace = "nowrap";
|
|
1733
1862
|
title.style.fontWeight = "700";
|
|
1734
|
-
title.style.fontSize =
|
|
1863
|
+
title.style.fontSize = `${metrics.titleSize}px`;
|
|
1864
|
+
title.dataset.chatkitPetSummaryTitle = "";
|
|
1735
1865
|
header.append(title);
|
|
1736
1866
|
if (this.isSummaryHovering || this.isReplyOpen) {
|
|
1737
1867
|
header.append(
|
|
@@ -1746,7 +1876,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1746
1876
|
}
|
|
1747
1877
|
const message = document.createElement("div");
|
|
1748
1878
|
message.textContent = summary.message;
|
|
1749
|
-
message.style.marginTop =
|
|
1879
|
+
message.style.marginTop = `${metrics.marginTop}px`;
|
|
1750
1880
|
message.style.fontWeight = "400";
|
|
1751
1881
|
message.style.color = "#374151";
|
|
1752
1882
|
message.style.overflow = "hidden";
|
|
@@ -1758,6 +1888,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1758
1888
|
message.style.setProperty("-webkit-line-clamp", "2");
|
|
1759
1889
|
message.style.setProperty("-webkit-box-orient", "vertical");
|
|
1760
1890
|
}
|
|
1891
|
+
message.dataset.chatkitPetSummaryMessage = "";
|
|
1761
1892
|
bubble.append(header, message);
|
|
1762
1893
|
if (shouldShowReplyButton) {
|
|
1763
1894
|
const reply = this.createTextButton(
|
|
@@ -1774,7 +1905,30 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1774
1905
|
}
|
|
1775
1906
|
return bubble;
|
|
1776
1907
|
}
|
|
1908
|
+
updateSummaryBubbleContent(summary) {
|
|
1909
|
+
var _a2, _b2, _c2;
|
|
1910
|
+
const title = (_a2 = this.summaryElement) == null ? void 0 : _a2.querySelector(
|
|
1911
|
+
"[data-chatkit-pet-summary-title]"
|
|
1912
|
+
);
|
|
1913
|
+
if (title && title.textContent !== summary.title) {
|
|
1914
|
+
title.textContent = summary.title;
|
|
1915
|
+
}
|
|
1916
|
+
const message = (_b2 = this.summaryElement) == null ? void 0 : _b2.querySelector(
|
|
1917
|
+
"[data-chatkit-pet-summary-message]"
|
|
1918
|
+
);
|
|
1919
|
+
if (message && message.textContent !== summary.message) {
|
|
1920
|
+
message.textContent = summary.message;
|
|
1921
|
+
}
|
|
1922
|
+
const statusIcon = (_c2 = this.summaryElement) == null ? void 0 : _c2.querySelector(
|
|
1923
|
+
"[data-chatkit-pet-summary-status]"
|
|
1924
|
+
);
|
|
1925
|
+
if (statusIcon && statusIcon.dataset.chatkitPetSummaryStatus !== summary.status) {
|
|
1926
|
+
const nextIcon = this.createStatusIcon(summary.status);
|
|
1927
|
+
statusIcon.replaceWith(nextIcon);
|
|
1928
|
+
}
|
|
1929
|
+
}
|
|
1777
1930
|
createSummaryToggleButton(label) {
|
|
1931
|
+
const metrics = getSummaryThemeMetrics(this.theme);
|
|
1778
1932
|
const button = document.createElement("button");
|
|
1779
1933
|
button.type = "button";
|
|
1780
1934
|
button.textContent = label;
|
|
@@ -1790,18 +1944,21 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1790
1944
|
button.style.color = "#475569";
|
|
1791
1945
|
button.style.boxShadow = "0 6px 18px rgba(15, 23, 42, 0.1)";
|
|
1792
1946
|
button.style.cursor = "pointer";
|
|
1793
|
-
button.style.font =
|
|
1947
|
+
button.style.font = `600 ${metrics.titleSize}px/1 ${metrics.fontFamily}`;
|
|
1794
1948
|
button.style.display = "flex";
|
|
1795
1949
|
button.style.alignItems = "center";
|
|
1796
1950
|
button.style.justifyContent = "center";
|
|
1797
1951
|
return button;
|
|
1798
1952
|
}
|
|
1799
1953
|
createStatusIcon(status) {
|
|
1954
|
+
const metrics = getSummaryThemeMetrics(this.theme);
|
|
1955
|
+
const iconSize = metrics.iconSize;
|
|
1800
1956
|
const icon = document.createElement("span");
|
|
1801
1957
|
icon.setAttribute("aria-hidden", "true");
|
|
1958
|
+
icon.dataset.chatkitPetSummaryStatus = status;
|
|
1802
1959
|
icon.style.display = "inline-flex";
|
|
1803
|
-
icon.style.width =
|
|
1804
|
-
icon.style.height =
|
|
1960
|
+
icon.style.width = `${iconSize}px`;
|
|
1961
|
+
icon.style.height = `${iconSize}px`;
|
|
1805
1962
|
icon.style.alignItems = "center";
|
|
1806
1963
|
icon.style.justifyContent = "center";
|
|
1807
1964
|
icon.style.flex = "0 0 auto";
|
|
@@ -1813,7 +1970,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1813
1970
|
return icon;
|
|
1814
1971
|
}
|
|
1815
1972
|
icon.style.borderRadius = "999px";
|
|
1816
|
-
icon.style.fontSize =
|
|
1973
|
+
icon.style.fontSize = `${Math.max(10, iconSize - 4)}px`;
|
|
1817
1974
|
icon.style.fontWeight = "700";
|
|
1818
1975
|
if (status === "failed") {
|
|
1819
1976
|
icon.textContent = "!";
|
|
@@ -1825,8 +1982,8 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1825
1982
|
icon.style.border = "2px solid #22c55e";
|
|
1826
1983
|
icon.style.position = "relative";
|
|
1827
1984
|
const check = document.createElement("span");
|
|
1828
|
-
check.style.width =
|
|
1829
|
-
check.style.height =
|
|
1985
|
+
check.style.width = `${Math.round(iconSize * 0.44)}px`;
|
|
1986
|
+
check.style.height = `${Math.round(iconSize * 0.25)}px`;
|
|
1830
1987
|
check.style.borderLeft = "2px solid #22c55e";
|
|
1831
1988
|
check.style.borderBottom = "2px solid #22c55e";
|
|
1832
1989
|
check.style.transform = "rotate(-45deg) translate(1px, -1px)";
|
|
@@ -1834,6 +1991,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1834
1991
|
return icon;
|
|
1835
1992
|
}
|
|
1836
1993
|
createSummaryActionButton(label, title, onClick) {
|
|
1994
|
+
const metrics = getSummaryThemeMetrics(this.theme);
|
|
1837
1995
|
const button = document.createElement("button");
|
|
1838
1996
|
button.type = "button";
|
|
1839
1997
|
button.textContent = label;
|
|
@@ -1843,14 +2001,14 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1843
2001
|
event.stopPropagation();
|
|
1844
2002
|
onClick();
|
|
1845
2003
|
});
|
|
1846
|
-
button.style.width =
|
|
1847
|
-
button.style.height =
|
|
2004
|
+
button.style.width = `${metrics.actionSize}px`;
|
|
2005
|
+
button.style.height = `${metrics.actionSize}px`;
|
|
1848
2006
|
button.style.border = "0";
|
|
1849
2007
|
button.style.borderRadius = "999px";
|
|
1850
2008
|
button.style.background = "rgba(241, 245, 249, 0.96)";
|
|
1851
2009
|
button.style.color = "#475569";
|
|
1852
2010
|
button.style.cursor = "pointer";
|
|
1853
|
-
button.style.font =
|
|
2011
|
+
button.style.font = `600 ${metrics.titleSize}px/1 ${metrics.fontFamily}`;
|
|
1854
2012
|
return button;
|
|
1855
2013
|
}
|
|
1856
2014
|
createTextButton(label, onClick) {
|
|
@@ -1916,6 +2074,95 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
1916
2074
|
}
|
|
1917
2075
|
return form;
|
|
1918
2076
|
}
|
|
2077
|
+
createContextMenu() {
|
|
2078
|
+
const menu = document.createElement("div");
|
|
2079
|
+
menu.setAttribute("data-chatkit-pet-context-menu", "");
|
|
2080
|
+
menu.setAttribute("role", "menu");
|
|
2081
|
+
menu.addEventListener("contextmenu", this.handleContextMenuEvent);
|
|
2082
|
+
menu.addEventListener("pointerdown", stopEventPropagation);
|
|
2083
|
+
menu.addEventListener("click", stopEventPropagation);
|
|
2084
|
+
menu.style.position = "absolute";
|
|
2085
|
+
menu.style.top = "0";
|
|
2086
|
+
menu.style.left = "0";
|
|
2087
|
+
menu.style.boxSizing = "border-box";
|
|
2088
|
+
menu.style.minWidth = "132px";
|
|
2089
|
+
menu.style.padding = "4px";
|
|
2090
|
+
menu.style.pointerEvents = "auto";
|
|
2091
|
+
menu.style.border = "1px solid rgba(148, 163, 184, 0.28)";
|
|
2092
|
+
menu.style.borderRadius = "10px";
|
|
2093
|
+
menu.style.background = "rgba(255, 255, 255, 0.96)";
|
|
2094
|
+
menu.style.color = "#1f2937";
|
|
2095
|
+
menu.style.boxShadow = "0 12px 28px rgba(15, 23, 42, 0.16)";
|
|
2096
|
+
menu.style.font = '500 13px/1.3 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif';
|
|
2097
|
+
menu.style.backdropFilter = "blur(10px)";
|
|
2098
|
+
const closeItem = document.createElement("button");
|
|
2099
|
+
closeItem.type = "button";
|
|
2100
|
+
closeItem.textContent = this.copy.closePetMenuItem;
|
|
2101
|
+
closeItem.setAttribute("role", "menuitem");
|
|
2102
|
+
closeItem.addEventListener("click", this.handleClosePetMenuItemClick);
|
|
2103
|
+
closeItem.style.display = "block";
|
|
2104
|
+
closeItem.style.width = "100%";
|
|
2105
|
+
closeItem.style.border = "0";
|
|
2106
|
+
closeItem.style.borderRadius = "7px";
|
|
2107
|
+
closeItem.style.background = "transparent";
|
|
2108
|
+
closeItem.style.color = "inherit";
|
|
2109
|
+
closeItem.style.cursor = "pointer";
|
|
2110
|
+
closeItem.style.padding = "7px 10px";
|
|
2111
|
+
closeItem.style.textAlign = "left";
|
|
2112
|
+
closeItem.style.font = "inherit";
|
|
2113
|
+
menu.append(closeItem);
|
|
2114
|
+
return menu;
|
|
2115
|
+
}
|
|
2116
|
+
openContextMenu(position) {
|
|
2117
|
+
var _a2;
|
|
2118
|
+
const overlay = this.overlayElement;
|
|
2119
|
+
if (!overlay) {
|
|
2120
|
+
return;
|
|
2121
|
+
}
|
|
2122
|
+
this.closeContextMenu();
|
|
2123
|
+
const menu = this.createContextMenu();
|
|
2124
|
+
overlay.append(menu);
|
|
2125
|
+
this.contextMenuElement = menu;
|
|
2126
|
+
this.positionContextMenu(position);
|
|
2127
|
+
(_a2 = menu.querySelector("button")) == null ? void 0 : _a2.focus({ preventScroll: true });
|
|
2128
|
+
window.addEventListener(
|
|
2129
|
+
"pointerdown",
|
|
2130
|
+
this.handleContextMenuOutsidePointerDown,
|
|
2131
|
+
true
|
|
2132
|
+
);
|
|
2133
|
+
window.addEventListener("keydown", this.handleContextMenuKeyDown);
|
|
2134
|
+
}
|
|
2135
|
+
closeContextMenu() {
|
|
2136
|
+
var _a2;
|
|
2137
|
+
(_a2 = this.contextMenuElement) == null ? void 0 : _a2.remove();
|
|
2138
|
+
this.contextMenuElement = null;
|
|
2139
|
+
window.removeEventListener(
|
|
2140
|
+
"pointerdown",
|
|
2141
|
+
this.handleContextMenuOutsidePointerDown,
|
|
2142
|
+
true
|
|
2143
|
+
);
|
|
2144
|
+
window.removeEventListener("keydown", this.handleContextMenuKeyDown);
|
|
2145
|
+
}
|
|
2146
|
+
positionContextMenu(position) {
|
|
2147
|
+
const menu = this.contextMenuElement;
|
|
2148
|
+
if (!menu) {
|
|
2149
|
+
return;
|
|
2150
|
+
}
|
|
2151
|
+
const viewport = getViewportSize();
|
|
2152
|
+
const width = menu.offsetWidth || 132;
|
|
2153
|
+
const height = menu.offsetHeight || 40;
|
|
2154
|
+
const maxX = Math.max(
|
|
2155
|
+
PET_CONTEXT_MENU_MARGIN,
|
|
2156
|
+
viewport.width - width - PET_CONTEXT_MENU_MARGIN
|
|
2157
|
+
);
|
|
2158
|
+
const maxY = Math.max(
|
|
2159
|
+
PET_CONTEXT_MENU_MARGIN,
|
|
2160
|
+
viewport.height - height - PET_CONTEXT_MENU_MARGIN
|
|
2161
|
+
);
|
|
2162
|
+
const x = clampNumber(position.x, PET_CONTEXT_MENU_MARGIN, maxX);
|
|
2163
|
+
const y = clampNumber(position.y, PET_CONTEXT_MENU_MARGIN, maxY);
|
|
2164
|
+
menu.style.transform = `translate3d(${x}px, ${y}px, 0)`;
|
|
2165
|
+
}
|
|
1919
2166
|
renderAtlas(animationName, animationMode) {
|
|
1920
2167
|
var _a2;
|
|
1921
2168
|
if (!this.petElement || ((_a2 = this.resolved) == null ? void 0 : _a2.kind) !== "atlas" || !this.options) {
|
|
@@ -2016,13 +2263,16 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
2016
2263
|
this.rescheduleAnimation();
|
|
2017
2264
|
}, PET_RESTING_DELAY_MS);
|
|
2018
2265
|
}
|
|
2019
|
-
|
|
2266
|
+
isPointOverPet(clientX, clientY) {
|
|
2020
2267
|
var _a2;
|
|
2021
2268
|
const rect = (_a2 = this.petElement) == null ? void 0 : _a2.getBoundingClientRect();
|
|
2022
2269
|
if (!rect) {
|
|
2023
2270
|
return false;
|
|
2024
2271
|
}
|
|
2025
|
-
return
|
|
2272
|
+
return clientX >= rect.left && clientX <= rect.right && clientY >= rect.top && clientY <= rect.bottom;
|
|
2273
|
+
}
|
|
2274
|
+
isPointerOverPet(event) {
|
|
2275
|
+
return this.isPointOverPet(event.clientX, event.clientY);
|
|
2026
2276
|
}
|
|
2027
2277
|
async submitReply() {
|
|
2028
2278
|
var _a2;
|
|
@@ -2086,7 +2336,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
2086
2336
|
return value.apply(this, args);
|
|
2087
2337
|
};
|
|
2088
2338
|
}
|
|
2089
|
-
class ChatKitElementBase extends (_c = HTMLElement, _focusComposer_dec = [requireCommandCapability], _fetchUpdates_dec = [requireCommandCapability], _sendUserMessage_dec = [requireCommandCapability], _setComposerValue_dec = [requireCommandCapability], _setThreadId_dec = [requireCommandCapability], _shareThread_dec = [requireCommandCapability], _sendCustomAction_dec = [requireCommandCapability], _showHistory_dec = [requireCommandCapability], _hideHistory_dec = [requireCommandCapability], _setTrainingOptOut_dec = [requireCommandCapability], _c) {
|
|
2339
|
+
class ChatKitElementBase extends (_c = HTMLElement, _focusComposer_dec = [requireCommandCapability], _fetchUpdates_dec = [requireCommandCapability], _sendUserMessage_dec = [requireCommandCapability], _setComposerValue_dec = [requireCommandCapability], _setRuntimeCapabilities_dec = [requireCommandCapability], _setThreadId_dec = [requireCommandCapability], _shareThread_dec = [requireCommandCapability], _sendCustomAction_dec = [requireCommandCapability], _showHistory_dec = [requireCommandCapability], _hideHistory_dec = [requireCommandCapability], _setTrainingOptOut_dec = [requireCommandCapability], _c) {
|
|
2090
2340
|
constructor({ profile }) {
|
|
2091
2341
|
super();
|
|
2092
2342
|
__runInitializers(_init, 5, this);
|
|
@@ -2097,10 +2347,13 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
2097
2347
|
__privateAdd(this, _wrapper);
|
|
2098
2348
|
__privateAdd(this, _launcherCloseButton);
|
|
2099
2349
|
__privateAdd(this, _launcherOpen, false);
|
|
2350
|
+
__privateAdd(this, _chatMinimizedToPet, false);
|
|
2100
2351
|
__privateAdd(this, _framePetOptionsOverride);
|
|
2352
|
+
__privateAdd(this, _petClosedByContextMenu, false);
|
|
2101
2353
|
__privateAdd(this, _shadow, this.attachShadow({ mode: "open" }));
|
|
2102
2354
|
__privateAdd(this, _petOverlay, new PetOverlay(__privateGet(this, _shadow), {
|
|
2103
2355
|
onActivate: () => __privateMethod(this, _ChatKitElementBase_instances, handlePetActivate_fn).call(this),
|
|
2356
|
+
onClose: () => __privateMethod(this, _ChatKitElementBase_instances, handlePetClose_fn).call(this),
|
|
2104
2357
|
onReply: (text) => __privateMethod(this, _ChatKitElementBase_instances, handlePetReply_fn).call(this, text),
|
|
2105
2358
|
onThreadSummaryActivate: (threadId) => void __privateMethod(this, _ChatKitElementBase_instances, handlePetThreadSummaryActivate_fn).call(this, threadId)
|
|
2106
2359
|
}));
|
|
@@ -2231,6 +2484,9 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
2231
2484
|
:host([data-display-mode="pet"]) {
|
|
2232
2485
|
display: contents;
|
|
2233
2486
|
}
|
|
2487
|
+
:host([data-chat-minimized-to-pet="true"]) {
|
|
2488
|
+
display: contents;
|
|
2489
|
+
}
|
|
2234
2490
|
.ck-iframe {
|
|
2235
2491
|
border: none;
|
|
2236
2492
|
position: absolute;
|
|
@@ -2341,6 +2597,11 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
2341
2597
|
:host([data-loaded="true"]) .ck-wrapper {
|
|
2342
2598
|
opacity: 1;
|
|
2343
2599
|
}
|
|
2600
|
+
:host([data-chat-minimized-to-pet="true"]) .ck-wrapper {
|
|
2601
|
+
opacity: 0;
|
|
2602
|
+
pointer-events: none;
|
|
2603
|
+
visibility: hidden;
|
|
2604
|
+
}
|
|
2344
2605
|
:host([data-display-mode="pet"]:not([data-chat-open="true"])) .ck-wrapper {
|
|
2345
2606
|
opacity: 0;
|
|
2346
2607
|
}
|
|
@@ -2423,8 +2684,21 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
2423
2684
|
__privateGet(this, _messenger).on("pet_options_change", (data) => {
|
|
2424
2685
|
const payload = parsePetOptionsChangePayload(data);
|
|
2425
2686
|
if (payload) {
|
|
2687
|
+
if (!__privateGet(this, _petClosedByContextMenu) || payload.pet === null) {
|
|
2688
|
+
__privateSet(this, _petClosedByContextMenu, false);
|
|
2689
|
+
}
|
|
2426
2690
|
__privateSet(this, _framePetOptionsOverride, payload.pet);
|
|
2427
|
-
|
|
2691
|
+
__privateMethod(this, _ChatKitElementBase_instances, syncPetOverlayOptions_fn).call(this);
|
|
2692
|
+
}
|
|
2693
|
+
});
|
|
2694
|
+
__privateGet(this, _messenger).on("chat_minimize_change", (data) => {
|
|
2695
|
+
const minimized = typeof data === "object" && data !== null && "minimized" in data && data.minimized === true;
|
|
2696
|
+
if (minimized && !__privateMethod(this, _ChatKitElementBase_instances, getOverlayPetOptions_fn).call(this)) {
|
|
2697
|
+
return;
|
|
2698
|
+
}
|
|
2699
|
+
__privateMethod(this, _ChatKitElementBase_instances, setChatMinimizedToPet_fn).call(this, minimized);
|
|
2700
|
+
if (minimized) {
|
|
2701
|
+
__privateMethod(this, _ChatKitElementBase_instances, setLauncherOpen_fn).call(this, false);
|
|
2428
2702
|
}
|
|
2429
2703
|
});
|
|
2430
2704
|
__privateGet(this, _messenger).on("unmount", () => {
|
|
@@ -2460,8 +2734,9 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
2460
2734
|
}
|
|
2461
2735
|
applySanitizedOptions(newOptions) {
|
|
2462
2736
|
__privateSet(this, _opts, newOptions);
|
|
2737
|
+
__privateSet(this, _petClosedByContextMenu, false);
|
|
2463
2738
|
__privateGet(this, _petOverlay).setLocale(newOptions.locale);
|
|
2464
|
-
|
|
2739
|
+
__privateMethod(this, _ChatKitElementBase_instances, syncPetOverlayOptions_fn).call(this);
|
|
2465
2740
|
if (__privateGet(this, _initialized)) {
|
|
2466
2741
|
__privateMethod(this, _ChatKitElementBase_instances, setOptionsDataAttributes_fn).call(this, __privateGet(this, _opts));
|
|
2467
2742
|
__privateGet(this, _loaded).then(() => {
|
|
@@ -2503,6 +2778,11 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
2503
2778
|
await __privateGet(this, _loaded);
|
|
2504
2779
|
await ((_a2 = __privateGet(this, _messenger)) == null ? void 0 : _a2.commands.setComposerValue(params));
|
|
2505
2780
|
}
|
|
2781
|
+
async setRuntimeCapabilities(selection) {
|
|
2782
|
+
var _a2;
|
|
2783
|
+
await __privateGet(this, _loaded);
|
|
2784
|
+
await ((_a2 = __privateGet(this, _messenger)) == null ? void 0 : _a2.commands.setRuntimeCapabilities(selection));
|
|
2785
|
+
}
|
|
2506
2786
|
async setThreadId(threadId) {
|
|
2507
2787
|
var _a2;
|
|
2508
2788
|
await __privateGet(this, _loaded);
|
|
@@ -2541,7 +2821,9 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
2541
2821
|
_wrapper = new WeakMap();
|
|
2542
2822
|
_launcherCloseButton = new WeakMap();
|
|
2543
2823
|
_launcherOpen = new WeakMap();
|
|
2824
|
+
_chatMinimizedToPet = new WeakMap();
|
|
2544
2825
|
_framePetOptionsOverride = new WeakMap();
|
|
2826
|
+
_petClosedByContextMenu = new WeakMap();
|
|
2545
2827
|
_shadow = new WeakMap();
|
|
2546
2828
|
_petOverlay = new WeakMap();
|
|
2547
2829
|
_resolveLoaded = new WeakMap();
|
|
@@ -2572,8 +2854,42 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
2572
2854
|
}
|
|
2573
2855
|
return options.pet ?? null;
|
|
2574
2856
|
};
|
|
2857
|
+
mergeConfiguredPetPositionDefaults_fn = function(pet) {
|
|
2858
|
+
if (!pet) {
|
|
2859
|
+
return pet;
|
|
2860
|
+
}
|
|
2861
|
+
const configured = chatkitTypes.normalizePetOptions(
|
|
2862
|
+
__privateMethod(this, _ChatKitElementBase_instances, getConfiguredPetOptions_fn).call(this) ?? null
|
|
2863
|
+
);
|
|
2864
|
+
if (!configured) {
|
|
2865
|
+
return pet;
|
|
2866
|
+
}
|
|
2867
|
+
if (pet === true) {
|
|
2868
|
+
return { position: configured.position };
|
|
2869
|
+
}
|
|
2870
|
+
if (!pet.position) {
|
|
2871
|
+
return { ...pet, position: configured.position };
|
|
2872
|
+
}
|
|
2873
|
+
return {
|
|
2874
|
+
...pet,
|
|
2875
|
+
position: {
|
|
2876
|
+
...configured.position,
|
|
2877
|
+
...pet.position,
|
|
2878
|
+
boundsPadding: pet.position.boundsPadding ?? configured.position.boundsPadding,
|
|
2879
|
+
pin: "pin" in pet.position ? pet.position.pin : configured.position.pin
|
|
2880
|
+
}
|
|
2881
|
+
};
|
|
2882
|
+
};
|
|
2575
2883
|
getOverlayPetOptions_fn = function() {
|
|
2576
|
-
|
|
2884
|
+
if (__privateGet(this, _petClosedByContextMenu)) {
|
|
2885
|
+
return null;
|
|
2886
|
+
}
|
|
2887
|
+
let pet;
|
|
2888
|
+
if (__privateGet(this, _framePetOptionsOverride) !== void 0) {
|
|
2889
|
+
pet = __privateMethod(this, _ChatKitElementBase_instances, mergeConfiguredPetPositionDefaults_fn).call(this, __privateGet(this, _framePetOptionsOverride));
|
|
2890
|
+
} else {
|
|
2891
|
+
pet = __privateMethod(this, _ChatKitElementBase_instances, getConfiguredPetOptions_fn).call(this);
|
|
2892
|
+
}
|
|
2577
2893
|
if (__privateMethod(this, _ChatKitElementBase_instances, getDisplayMode_fn).call(this) === "pet" && !chatkitTypes.normalizePetOptions(pet ?? null)) {
|
|
2578
2894
|
pet = true;
|
|
2579
2895
|
}
|
|
@@ -2627,13 +2943,49 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
2627
2943
|
delete this.dataset.chatOpen;
|
|
2628
2944
|
}
|
|
2629
2945
|
};
|
|
2946
|
+
setChatMinimizedToPet_fn = function(minimized) {
|
|
2947
|
+
const next = minimized && Boolean(__privateMethod(this, _ChatKitElementBase_instances, getOverlayPetOptions_fn).call(this));
|
|
2948
|
+
__privateSet(this, _chatMinimizedToPet, next);
|
|
2949
|
+
if (next) {
|
|
2950
|
+
this.dataset.chatMinimizedToPet = "true";
|
|
2951
|
+
} else {
|
|
2952
|
+
delete this.dataset.chatMinimizedToPet;
|
|
2953
|
+
}
|
|
2954
|
+
};
|
|
2955
|
+
syncPetOverlayOptions_fn = function() {
|
|
2956
|
+
var _a2;
|
|
2957
|
+
const overlayPetOptions = __privateMethod(this, _ChatKitElementBase_instances, getOverlayPetOptions_fn).call(this);
|
|
2958
|
+
__privateGet(this, _petOverlay).setOptions(overlayPetOptions, (_a2 = __privateGet(this, _opts)) == null ? void 0 : _a2.theme);
|
|
2959
|
+
if (!overlayPetOptions) {
|
|
2960
|
+
__privateMethod(this, _ChatKitElementBase_instances, setChatMinimizedToPet_fn).call(this, false);
|
|
2961
|
+
}
|
|
2962
|
+
};
|
|
2630
2963
|
handlePetActivate_fn = function() {
|
|
2964
|
+
if (__privateGet(this, _chatMinimizedToPet)) {
|
|
2965
|
+
__privateMethod(this, _ChatKitElementBase_instances, setChatMinimizedToPet_fn).call(this, false);
|
|
2966
|
+
if (__privateMethod(this, _ChatKitElementBase_instances, getDisplayMode_fn).call(this) === "pet") {
|
|
2967
|
+
__privateMethod(this, _ChatKitElementBase_instances, setLauncherOpen_fn).call(this, true);
|
|
2968
|
+
}
|
|
2969
|
+
__privateGet(this, _loaded).then(() => this.focusComposer()).catch(() => void 0);
|
|
2970
|
+
return;
|
|
2971
|
+
}
|
|
2631
2972
|
if (__privateMethod(this, _ChatKitElementBase_instances, getDisplayMode_fn).call(this) !== "pet") {
|
|
2632
2973
|
return;
|
|
2633
2974
|
}
|
|
2634
2975
|
__privateMethod(this, _ChatKitElementBase_instances, setLauncherOpen_fn).call(this, true);
|
|
2635
2976
|
__privateGet(this, _loaded).then(() => this.focusComposer()).catch(() => void 0);
|
|
2636
2977
|
};
|
|
2978
|
+
handlePetClose_fn = function() {
|
|
2979
|
+
__privateSet(this, _petClosedByContextMenu, true);
|
|
2980
|
+
__privateSet(this, _framePetOptionsOverride, null);
|
|
2981
|
+
__privateMethod(this, _ChatKitElementBase_instances, setChatMinimizedToPet_fn).call(this, false);
|
|
2982
|
+
__privateMethod(this, _ChatKitElementBase_instances, setLauncherOpen_fn).call(this, false);
|
|
2983
|
+
__privateGet(this, _petOverlay).setOptions(null);
|
|
2984
|
+
if (__privateMethod(this, _ChatKitElementBase_instances, getDisplayMode_fn).call(this) === "pet") {
|
|
2985
|
+
return;
|
|
2986
|
+
}
|
|
2987
|
+
__privateGet(this, _loaded).then(() => __privateGet(this, _messenger).commands.setPetEnabled({ enabled: false })).catch(() => void 0);
|
|
2988
|
+
};
|
|
2637
2989
|
handlePetReply_fn = async function(text) {
|
|
2638
2990
|
await this.sendUserMessage({ text });
|
|
2639
2991
|
};
|
|
@@ -2698,6 +3050,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
2698
3050
|
__decorateElement(_init, 1, "fetchUpdates", _fetchUpdates_dec, ChatKitElementBase);
|
|
2699
3051
|
__decorateElement(_init, 1, "sendUserMessage", _sendUserMessage_dec, ChatKitElementBase);
|
|
2700
3052
|
__decorateElement(_init, 1, "setComposerValue", _setComposerValue_dec, ChatKitElementBase);
|
|
3053
|
+
__decorateElement(_init, 1, "setRuntimeCapabilities", _setRuntimeCapabilities_dec, ChatKitElementBase);
|
|
2701
3054
|
__decorateElement(_init, 1, "setThreadId", _setThreadId_dec, ChatKitElementBase);
|
|
2702
3055
|
__decorateElement(_init, 1, "shareThread", _shareThread_dec, ChatKitElementBase);
|
|
2703
3056
|
__decorateElement(_init, 1, "sendCustomAction", _sendCustomAction_dec, ChatKitElementBase);
|
|
@@ -2922,6 +3275,9 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
|
|
|
2922
3275
|
setComposerValue(...args) {
|
|
2923
3276
|
return this._callMethod("setComposerValue", ...args);
|
|
2924
3277
|
},
|
|
3278
|
+
setRuntimeCapabilities(...args) {
|
|
3279
|
+
return this._callMethod("setRuntimeCapabilities", ...args);
|
|
3280
|
+
},
|
|
2925
3281
|
fetchUpdates(...args) {
|
|
2926
3282
|
return this._callMethod("fetchUpdates", ...args);
|
|
2927
3283
|
},
|