@cognigy/webchat 3.49.0 → 3.51.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/OSS_LICENSES.txt +4 -4
- package/dist/webchat.esm.js +1164 -488
- package/dist/webchat.js +30 -30
- package/package.json +3 -3
package/dist/webchat.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* webchat.esm.js v3.
|
|
3
|
-
* https://github.com/Cognigy/Webchat/tree/v3.
|
|
4
|
-
* https://github.com/Cognigy/Webchat/tree/v3.
|
|
2
|
+
* webchat.esm.js v3.51.0
|
|
3
|
+
* https://github.com/Cognigy/Webchat/tree/v3.51.0
|
|
4
|
+
* https://github.com/Cognigy/Webchat/tree/v3.51.0/OSS_LICENSES.txt
|
|
5
5
|
*/
|
|
6
6
|
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
|
7
7
|
import * as __WEBPACK_EXTERNAL_MODULE_react_dom_7dac9eee__ from "react-dom";
|
|
@@ -35390,17 +35390,19 @@ const DeleteConfirmModal = props => {
|
|
|
35390
35390
|
cancelButtonBackground,
|
|
35391
35391
|
confirmButtonBackground
|
|
35392
35392
|
} = props;
|
|
35393
|
+
|
|
35394
|
+
// Focus the safe default (Cancel) action via the Modal's deferred focus
|
|
35395
|
+
// path, not React's autoFocus: autoFocus fires in the same task that
|
|
35396
|
+
// inserts the dialog subtree, and VoiceOver then reads a stale
|
|
35397
|
+
// accessibility tree — the dialog role/title and the focused button are
|
|
35398
|
+
// never announced (CGY-3274). The deferral lets the tree settle first.
|
|
35399
|
+
const cancelButtonRef = react__WEBPACK_IMPORTED_MODULE_0__["default"].useRef(null);
|
|
35393
35400
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_Modal__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A, {
|
|
35394
35401
|
footer: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(react__WEBPACK_IMPORTED_MODULE_0__["default"].Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(CancelButton, {
|
|
35402
|
+
ref: cancelButtonRef,
|
|
35395
35403
|
className: "webchat-delete-confirmation-cancel-button",
|
|
35396
35404
|
onClick: () => onClose(false),
|
|
35397
35405
|
background: cancelButtonBackground
|
|
35398
|
-
// Intentional: move focus to the safe default (Cancel) action
|
|
35399
|
-
// when this confirmation modal opens — expected dialog focus
|
|
35400
|
-
// management, not an unexpected focus shift.
|
|
35401
|
-
// eslint-disable-next-line jsx-a11y/no-autofocus
|
|
35402
|
-
,
|
|
35403
|
-
autoFocus: true
|
|
35404
35406
|
}, cancelText), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(DeleteConfirmation, {
|
|
35405
35407
|
className: "webchat-delete-confirmation-confirm-button",
|
|
35406
35408
|
onClick: onConfirmDelete,
|
|
@@ -35408,7 +35410,8 @@ const DeleteConfirmModal = props => {
|
|
|
35408
35410
|
}, confirmText)),
|
|
35409
35411
|
isOpen: isOpen,
|
|
35410
35412
|
onClose: onClose,
|
|
35411
|
-
title: title
|
|
35413
|
+
title: title,
|
|
35414
|
+
initialFocusRef: cancelButtonRef
|
|
35412
35415
|
}, children);
|
|
35413
35416
|
};
|
|
35414
35417
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DeleteConfirmModal);
|
|
@@ -35774,21 +35777,22 @@ const Modal = ({
|
|
|
35774
35777
|
/* harmony import */ var _plugins_input_file_DropZone__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(1339);
|
|
35775
35778
|
/* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(66492);
|
|
35776
35779
|
/* harmony import */ var _presentational_TeaserMessage__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(49888);
|
|
35777
|
-
/* harmony import */ var
|
|
35778
|
-
/* harmony import */ var
|
|
35779
|
-
/* harmony import */ var
|
|
35780
|
-
/* harmony import */ var
|
|
35781
|
-
/* harmony import */ var
|
|
35782
|
-
/* harmony import */ var
|
|
35783
|
-
/* harmony import */ var
|
|
35784
|
-
/* harmony import */ var
|
|
35785
|
-
/* harmony import */ var
|
|
35786
|
-
/* harmony import */ var
|
|
35787
|
-
/* harmony import */ var
|
|
35788
|
-
/* harmony import */ var
|
|
35789
|
-
/* harmony import */ var
|
|
35790
|
-
/* harmony import */ var
|
|
35791
|
-
/* harmony import */ var
|
|
35780
|
+
/* harmony import */ var _presentational_TeaserMessageAnnouncer__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(59359);
|
|
35781
|
+
/* harmony import */ var _functional_xapp_overlay_XAppOverlay__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(12381);
|
|
35782
|
+
/* harmony import */ var _utils_sourceMapping__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(25091);
|
|
35783
|
+
/* harmony import */ var _plugins_speech_output__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(83679);
|
|
35784
|
+
/* harmony import */ var _utils_filter_out_control_commands__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(70562);
|
|
35785
|
+
/* harmony import */ var _utils_isMobile__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(40794);
|
|
35786
|
+
/* harmony import */ var _webchat_helper_handleMarkdown__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(71621);
|
|
35787
|
+
/* harmony import */ var _presentational_previous_conversations_DeleteAllConversations__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(5196);
|
|
35788
|
+
/* harmony import */ var _presentational_ScreenReaderLiveRegion__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(41426);
|
|
35789
|
+
/* harmony import */ var _presentational_StatusLiveRegion__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(63813);
|
|
35790
|
+
/* harmony import */ var _presentational_FreezeOnExit__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(97475);
|
|
35791
|
+
/* harmony import */ var _presentational_HomeScreenAnnouncer__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(55115);
|
|
35792
|
+
/* harmony import */ var _utils_ai_agent_notice__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(39191);
|
|
35793
|
+
/* harmony import */ var _utils_screen_visibility__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(48245);
|
|
35794
|
+
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(14176);
|
|
35795
|
+
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_57___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_57__);
|
|
35792
35796
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
35793
35797
|
|
|
35794
35798
|
|
|
@@ -35845,6 +35849,7 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
|
|
|
35845
35849
|
|
|
35846
35850
|
|
|
35847
35851
|
|
|
35852
|
+
|
|
35848
35853
|
|
|
35849
35854
|
|
|
35850
35855
|
const stylisPlugins = [(0,_utils_css__WEBPACK_IMPORTED_MODULE_8__/* .isolate */ .az)("[data-cognigy-webchat-root]")];
|
|
@@ -35897,9 +35902,6 @@ const DisconnectableContentWrapper = _emotion_styled__WEBPACK_IMPORTED_MODULE_3_
|
|
|
35897
35902
|
flexDirection: "column",
|
|
35898
35903
|
minHeight: 0
|
|
35899
35904
|
});
|
|
35900
|
-
|
|
35901
|
-
// `inert` is typed here because React 18's prop types don't know it yet;
|
|
35902
|
-
// the string form ("") renders the bare attribute, and emotion forwards it.
|
|
35903
35905
|
const RegularLayoutContentWrapper = _emotion_styled__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.div(({
|
|
35904
35906
|
theme
|
|
35905
35907
|
}) => ({
|
|
@@ -35952,7 +35954,7 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
35952
35954
|
deleteConversationsModalState: false,
|
|
35953
35955
|
liveContent: {},
|
|
35954
35956
|
isMobile: false,
|
|
35955
|
-
noticeSession:
|
|
35957
|
+
noticeSession: _utils_ai_agent_notice__WEBPACK_IMPORTED_MODULE_55__/* .INITIAL_NOTICE_SESSION */ .j_
|
|
35956
35958
|
};
|
|
35957
35959
|
unreadTitleIndicatorInterval = null;
|
|
35958
35960
|
originalTitle = window.document.title;
|
|
@@ -35962,6 +35964,18 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
35962
35964
|
visibilityCheckCompleted = false;
|
|
35963
35965
|
engagementMessageTimeout = null;
|
|
35964
35966
|
ratingFocusTimeout = null;
|
|
35967
|
+
homeScreenExitFocusTimeout = null;
|
|
35968
|
+
|
|
35969
|
+
// Disarms the pending home-screen exit focus fallback. Also registered as
|
|
35970
|
+
// a capture-phase document pointerdown listener while the fallback is
|
|
35971
|
+
// armed, so a deliberate click/tap during the 450ms window cancels it.
|
|
35972
|
+
cancelHomeScreenExitFocusFallback = () => {
|
|
35973
|
+
if (this.homeScreenExitFocusTimeout) {
|
|
35974
|
+
clearTimeout(this.homeScreenExitFocusTimeout);
|
|
35975
|
+
this.homeScreenExitFocusTimeout = null;
|
|
35976
|
+
}
|
|
35977
|
+
document.removeEventListener("pointerdown", this.cancelHomeScreenExitFocusFallback, true);
|
|
35978
|
+
};
|
|
35965
35979
|
|
|
35966
35980
|
/**
|
|
35967
35981
|
* Announce keys of conversations whose AI-agent notice was already
|
|
@@ -35988,9 +36002,9 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
35988
36002
|
const secondaryColor = props?.config?.settings?.colors?.secondaryColor;
|
|
35989
36003
|
const chatInterfaceColor = props?.config?.settings?.colors?.chatInterfaceColor;
|
|
35990
36004
|
const sourceColorMapping = props?.config?.settings?.widgetSettings?.sourceColorMapping;
|
|
35991
|
-
const overrideBotMessageColor = (0,
|
|
35992
|
-
const overrideUserMessageColor = (0,
|
|
35993
|
-
const overrideAgentMessageColor = (0,
|
|
36005
|
+
const overrideBotMessageColor = (0,_utils_sourceMapping__WEBPACK_IMPORTED_MODULE_45__/* .getSourceBackgroundColor */ .N)(sourceColorMapping?.bot, props?.config?.settings?.colors);
|
|
36006
|
+
const overrideUserMessageColor = (0,_utils_sourceMapping__WEBPACK_IMPORTED_MODULE_45__/* .getSourceBackgroundColor */ .N)(sourceColorMapping?.user, props?.config?.settings?.colors);
|
|
36007
|
+
const overrideAgentMessageColor = (0,_utils_sourceMapping__WEBPACK_IMPORTED_MODULE_45__/* .getSourceBackgroundColor */ .N)(sourceColorMapping?.agent, props?.config?.settings?.colors);
|
|
35994
36008
|
const overrideBotMessageBorderColor = sourceColorMapping?.bot === "user" ? "transparent" : null;
|
|
35995
36009
|
const overrideUserMessageBorderColor = sourceColorMapping?.user === "bot" ? state.theme.black80 : null;
|
|
35996
36010
|
const overrideAgentMessageBorderColor = sourceColorMapping?.agent === "user" ? "transparent" : null;
|
|
@@ -36094,14 +36108,14 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
36094
36108
|
evaluateNoticeSession(prevConversationsSnapshot) {
|
|
36095
36109
|
const id = this.props.currentSession || "";
|
|
36096
36110
|
this.setState(prev => ({
|
|
36097
|
-
noticeSession: (0,
|
|
36111
|
+
noticeSession: (0,_utils_ai_agent_notice__WEBPACK_IMPORTED_MODULE_55__/* .computeNoticeSession */ .Kr)(prev.noticeSession, id, prevConversationsSnapshot, this.props.hasRestoredPersistedHistory)
|
|
36098
36112
|
}));
|
|
36099
36113
|
}
|
|
36100
36114
|
handleNoticeIntroAnnounced = introKey => {
|
|
36101
36115
|
this.announcedNoticeKeys.add(introKey);
|
|
36102
36116
|
};
|
|
36103
36117
|
getNoticeIntro() {
|
|
36104
|
-
const text = (0,
|
|
36118
|
+
const text = (0,_utils_ai_agent_notice__WEBPACK_IMPORTED_MODULE_55__/* .getAIAgentNoticeIntroText */ .bu)({
|
|
36105
36119
|
behavior: this.props.config.settings.behavior,
|
|
36106
36120
|
showDisconnectOverlay: this.showDisconnectOverlay,
|
|
36107
36121
|
noticeSession: this.state.noticeSession,
|
|
@@ -36117,12 +36131,12 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
36117
36131
|
componentDidMount() {
|
|
36118
36132
|
const defaultMessagePlugins = [];
|
|
36119
36133
|
if (this.props.ttsActive) {
|
|
36120
|
-
defaultMessagePlugins.push(
|
|
36134
|
+
defaultMessagePlugins.push(_plugins_speech_output__WEBPACK_IMPORTED_MODULE_46__/* ["default"] */ .A);
|
|
36121
36135
|
}
|
|
36122
36136
|
this.setState({
|
|
36123
36137
|
inputPlugins: [...(this.props.inputPlugins || []), _plugins_input_base__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .A],
|
|
36124
36138
|
messagePlugins: [...(this.props.messagePlugins || []), ...defaultMessagePlugins],
|
|
36125
|
-
isMobile: (0,
|
|
36139
|
+
isMobile: (0,_utils_isMobile__WEBPACK_IMPORTED_MODULE_48__/* .isMobileViewport */ .$)()
|
|
36126
36140
|
});
|
|
36127
36141
|
this.setupIconAnimationInterval();
|
|
36128
36142
|
|
|
@@ -36131,7 +36145,21 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
36131
36145
|
this.evaluateNoticeSession(this.props.prevConversations);
|
|
36132
36146
|
window.addEventListener("resize", this.handleResize);
|
|
36133
36147
|
}
|
|
36134
|
-
|
|
36148
|
+
|
|
36149
|
+
// Hiding the home screen applies `inert` to its root, which blurs any
|
|
36150
|
+
// focused descendant. This hook runs just before that DOM update — the
|
|
36151
|
+
// last moment to see whether focus is inside the home screen (user is
|
|
36152
|
+
// leaving it) or elsewhere (programmatic exit). componentDidUpdate arms
|
|
36153
|
+
// the exit-focus fallback only in the first case, so a programmatic exit
|
|
36154
|
+
// never has focus stolen.
|
|
36155
|
+
getSnapshotBeforeUpdate(prevProps) {
|
|
36156
|
+
if (prevProps.showHomeScreen && !this.props.showHomeScreen) {
|
|
36157
|
+
const homeScreenRoot = this.webchatWindowRef?.current?.querySelector(".webchat-homescreen-root");
|
|
36158
|
+
return !!homeScreenRoot?.contains(document.activeElement);
|
|
36159
|
+
}
|
|
36160
|
+
return null;
|
|
36161
|
+
}
|
|
36162
|
+
async componentDidUpdate(prevProps, prevState, focusWasInsideHomeScreen) {
|
|
36135
36163
|
// When the webchat is opened, focus is moved to the first focusable element inside the webchat window.
|
|
36136
36164
|
// This happens only if the currently focused element is the toggle button, ensuring no interruption to other interactions or auto-focus behavior.
|
|
36137
36165
|
// This prevents focus loss when no element with auto-focus is found inside the webchat window.
|
|
@@ -36145,13 +36173,48 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
36145
36173
|
firstFocusable.focus();
|
|
36146
36174
|
}
|
|
36147
36175
|
}
|
|
36176
|
+
|
|
36177
|
+
// Leaving the home screen: `inert` on its root blurs the control that
|
|
36178
|
+
// triggered the exit (e.g. the just-clicked Start conversation button),
|
|
36179
|
+
// so focus can drop to document.body and Tab would restart at the top
|
|
36180
|
+
// of the host page (SC 2.4.3). Most exits re-focus on their own — the
|
|
36181
|
+
// privacy notice / previous conversations / chat options via
|
|
36182
|
+
// autoFocusScreenTitle, the chat screen via the message input's
|
|
36183
|
+
// autofocus — so this fallback checks late (450ms, after BaseInput's
|
|
36184
|
+
// 200ms autofocus and the Header's 200ms title focus, matching the
|
|
36185
|
+
// back-to-home timing) and only acts if focus is still on document.body
|
|
36186
|
+
// or stuck inside the hidden home screen. That is the case when
|
|
36187
|
+
// entering the chat screen with `disableInputAutofocus: true`.
|
|
36188
|
+
// It is armed only when the exit blurred focus out of the home screen
|
|
36189
|
+
// (the getSnapshotBeforeUpdate result), and a pointerdown anywhere
|
|
36190
|
+
// during the window disarms it — so a programmatic exit or a deliberate
|
|
36191
|
+
// click (e.g. on a non-focusable area of the host page) never has focus
|
|
36192
|
+
// pulled away.
|
|
36193
|
+
if (prevProps.showHomeScreen && !this.props.showHomeScreen && focusWasInsideHomeScreen) {
|
|
36194
|
+
this.cancelHomeScreenExitFocusFallback();
|
|
36195
|
+
document.addEventListener("pointerdown", this.cancelHomeScreenExitFocusFallback, true);
|
|
36196
|
+
this.homeScreenExitFocusTimeout = setTimeout(() => {
|
|
36197
|
+
this.cancelHomeScreenExitFocusFallback();
|
|
36198
|
+
const webchatWindowEl = this.webchatWindowRef?.current;
|
|
36199
|
+
if (!webchatWindowEl) return;
|
|
36200
|
+
const active = document.activeElement;
|
|
36201
|
+
const homeScreenRoot = webchatWindowEl.querySelector(".webchat-homescreen-root");
|
|
36202
|
+
if (active === document.body || homeScreenRoot?.contains(active)) {
|
|
36203
|
+
// Scoped to the header bar because id "webchatHeaderTitle" is
|
|
36204
|
+
// duplicated across Header, HomeScreen and TeaserMessage. The
|
|
36205
|
+
// Header is not rendered while the xApp overlay is open, so
|
|
36206
|
+
// fall back to the window's first focusable element.
|
|
36207
|
+
(webchatWindowEl.querySelector(".webchat-header-bar .webchat-header-title") ?? (0,_utils_find_focusable__WEBPACK_IMPORTED_MODULE_23__/* ["default"] */ .A)(webchatWindowEl).firstFocusable)?.focus();
|
|
36208
|
+
}
|
|
36209
|
+
}, 450);
|
|
36210
|
+
}
|
|
36148
36211
|
if (prevProps.currentSession !== this.props.currentSession) {
|
|
36149
36212
|
this.evaluateNoticeSession(prevProps.prevConversations);
|
|
36150
36213
|
}
|
|
36151
36214
|
if (prevProps.ttsActive !== this.props.ttsActive || prevProps.inputPlugins !== this.props.inputPlugins || prevProps.messagePlugins !== this.props.messagePlugins) {
|
|
36152
36215
|
const defaultMessagePlugins = [];
|
|
36153
36216
|
if (this.props.ttsActive) {
|
|
36154
|
-
defaultMessagePlugins.push(
|
|
36217
|
+
defaultMessagePlugins.push(_plugins_speech_output__WEBPACK_IMPORTED_MODULE_46__/* ["default"] */ .A);
|
|
36155
36218
|
}
|
|
36156
36219
|
this.setState({
|
|
36157
36220
|
inputPlugins: [...(this.props.inputPlugins || []), _plugins_input_base__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .A],
|
|
@@ -36201,7 +36264,7 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
36201
36264
|
// TODO: Add markdown rendering if there is valid markdown and renderMarkdown is enabled
|
|
36202
36265
|
// adding react-markdown is blocked by updating React to v18
|
|
36203
36266
|
if (!this.props.config.settings.widgetSettings.disableTeaserMarkdownRemoval) {
|
|
36204
|
-
lastUnseenMessageText = (0,
|
|
36267
|
+
lastUnseenMessageText = (0,_webchat_helper_handleMarkdown__WEBPACK_IMPORTED_MODULE_49__/* .removeMarkdownChars */ .$)(lastUnseenMessageText);
|
|
36205
36268
|
}
|
|
36206
36269
|
this.setState({
|
|
36207
36270
|
lastUnseenMessageText
|
|
@@ -36259,6 +36322,9 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
36259
36322
|
this.ratingFocusTimeout = null;
|
|
36260
36323
|
}
|
|
36261
36324
|
|
|
36325
|
+
// also removes the fallback's document pointerdown listener
|
|
36326
|
+
this.cancelHomeScreenExitFocusFallback();
|
|
36327
|
+
|
|
36262
36328
|
// Teardown icon animation interval
|
|
36263
36329
|
if (this.iconAnimationIntervalHandle) {
|
|
36264
36330
|
clearInterval(this.iconAnimationIntervalHandle);
|
|
@@ -36267,7 +36333,7 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
36267
36333
|
window.removeEventListener("resize", this.handleResize);
|
|
36268
36334
|
}
|
|
36269
36335
|
handleResize() {
|
|
36270
|
-
const isMobile = (0,
|
|
36336
|
+
const isMobile = (0,_utils_isMobile__WEBPACK_IMPORTED_MODULE_48__/* .isMobileViewport */ .$)();
|
|
36271
36337
|
if (isMobile !== this.state.isMobile) {
|
|
36272
36338
|
this.setState({
|
|
36273
36339
|
isMobile
|
|
@@ -36677,7 +36743,7 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
36677
36743
|
// while the webchat is open, so no `open` check is needed here.
|
|
36678
36744
|
const {
|
|
36679
36745
|
showHomeScreenView
|
|
36680
|
-
} = (0,
|
|
36746
|
+
} = (0,_utils_screen_visibility__WEBPACK_IMPORTED_MODULE_56__/* .getScreenVisibility */ .p)(this.props, isInforming);
|
|
36681
36747
|
const openChatAriaLabel = () => {
|
|
36682
36748
|
if (open) return config.settings.customTranslations?.ariaLabels?.closeChat ?? "Close chat";
|
|
36683
36749
|
const openChat = config.settings.customTranslations?.ariaLabels?.openChat ?? "Open chat";
|
|
@@ -36752,7 +36818,7 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
36752
36818
|
el.removeAttribute("inert");
|
|
36753
36819
|
}
|
|
36754
36820
|
}
|
|
36755
|
-
}, !fullscreenMessage ? this.renderRegularLayout(isInforming) : this.renderFullscreenMessageLayout()), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(
|
|
36821
|
+
}, !fullscreenMessage ? this.renderRegularLayout(isInforming) : this.renderFullscreenMessageLayout()), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_presentational_StatusLiveRegion__WEBPACK_IMPORTED_MODULE_52__/* .StatusLiveRegion */ .t, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_presentational_HomeScreenAnnouncer__WEBPACK_IMPORTED_MODULE_54__/* ["default"] */ .A, {
|
|
36756
36822
|
active: showHomeScreenView,
|
|
36757
36823
|
label: config.settings.customTranslations?.ariaLabels?.homeScreen ?? "Chat window home screen"
|
|
36758
36824
|
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_presentational_DisconnectOverlay__WEBPACK_IMPORTED_MODULE_20__/* ["default"] */ .A, {
|
|
@@ -36762,7 +36828,11 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
36762
36828
|
isConnecting: !!this.props.connecting,
|
|
36763
36829
|
onClose: handleClose,
|
|
36764
36830
|
config: config
|
|
36765
|
-
})), !disableToggleButton && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement("div", null,
|
|
36831
|
+
})), !disableToggleButton && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_presentational_TeaserMessageAnnouncer__WEBPACK_IMPORTED_MODULE_43__/* ["default"] */ .A, {
|
|
36832
|
+
active: !!lastUnseenMessageText && !open,
|
|
36833
|
+
text: lastUnseenMessageText,
|
|
36834
|
+
label: config.settings.customTranslations?.ariaLabels?.newMessagePreview ?? "New message preview"
|
|
36835
|
+
}),
|
|
36766
36836
|
// Show the message teaser if there is a last bot message and the webchat is closed
|
|
36767
36837
|
lastUnseenMessageText && !open && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_presentational_TeaserMessage__WEBPACK_IMPORTED_MODULE_42__/* .TeaserMessage */ .I, {
|
|
36768
36838
|
messageText: lastUnseenMessageText,
|
|
@@ -36792,7 +36862,7 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
36792
36862
|
onClick: this.handleFabClick
|
|
36793
36863
|
}, webchatToggleProps, {
|
|
36794
36864
|
type: "button",
|
|
36795
|
-
className:
|
|
36865
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_57___default()("webchat-toggle-button burst", config.settings?.layout?.iconAnimation),
|
|
36796
36866
|
id: "webchatWindowToggleButton",
|
|
36797
36867
|
"aria-label": openChatAriaLabel(),
|
|
36798
36868
|
ref: this.chatToggleButtonRef,
|
|
@@ -36930,7 +37000,7 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
36930
37000
|
onAcceptTerms: handleAcceptTerms,
|
|
36931
37001
|
isHomeScreenEnabled: isHomeScreenEnabled
|
|
36932
37002
|
});
|
|
36933
|
-
if (isXAppOverlayOpen) return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(
|
|
37003
|
+
if (isXAppOverlayOpen) return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_functional_xapp_overlay_XAppOverlay__WEBPACK_IMPORTED_MODULE_44__/* ["default"] */ .A, null);
|
|
36934
37004
|
if (showPrevConversations) return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_presentational_previous_conversations_ConversationsList__WEBPACK_IMPORTED_MODULE_33__/* .PrevConversationsList */ .K, {
|
|
36935
37005
|
conversations: this.props.prevConversations,
|
|
36936
37006
|
onSetShowPrevConversations: onSetShowPrevConversations,
|
|
@@ -36969,7 +37039,7 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
36969
37039
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement("h3", {
|
|
36970
37040
|
className: "sr-only",
|
|
36971
37041
|
id: "webchatChatHistoryHeading"
|
|
36972
|
-
}, config.settings.customTranslations?.ariaLabels?.chatHistory ?? "Chat history"), this.renderHistory()), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(
|
|
37042
|
+
}, config.settings.customTranslations?.ariaLabels?.chatHistory ?? "Chat history"), this.renderHistory()), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_presentational_ScreenReaderLiveRegion__WEBPACK_IMPORTED_MODULE_51__/* ["default"] */ .A, {
|
|
36973
37043
|
liveContent: this.state.liveContent,
|
|
36974
37044
|
intro: this.getNoticeIntro(),
|
|
36975
37045
|
onIntroAnnounced: this.handleNoticeIntroAnnounced
|
|
@@ -37000,7 +37070,7 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
37000
37070
|
const {
|
|
37001
37071
|
showEnabledHomeScreen,
|
|
37002
37072
|
showChatScreen
|
|
37003
|
-
} = (0,
|
|
37073
|
+
} = (0,_utils_screen_visibility__WEBPACK_IMPORTED_MODULE_56__/* .getScreenVisibility */ .p)(this.props, isInforming);
|
|
37004
37074
|
const isChatOptionsButtonVisible = config.settings.chatOptions.enabled && showChatScreen;
|
|
37005
37075
|
const hideBackButton = showChatScreen && !isHomeScreenEnabled;
|
|
37006
37076
|
const showDeleteAllConversationButton = !!((config.settings.privacyNotice.enabled && this.props.hasAcceptedTerms || !config.settings.privacyNotice.enabled) && config.settings.homeScreen.previousConversations.enableDeleteAllConversations && showPrevConversations && Object.keys(this.props.prevConversations).length);
|
|
@@ -37072,9 +37142,9 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
37072
37142
|
className: "webchat-regular-layout-content",
|
|
37073
37143
|
"aria-hidden": isRegularLayoutActiveView ? undefined : true,
|
|
37074
37144
|
inert: isRegularLayoutActiveView ? undefined : ""
|
|
37075
|
-
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(
|
|
37145
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_presentational_FreezeOnExit__WEBPACK_IMPORTED_MODULE_53__/* ["default"] */ .A, {
|
|
37076
37146
|
active: isRegularLayoutActiveView
|
|
37077
|
-
}, getRegularLayoutContent()), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(
|
|
37147
|
+
}, getRegularLayoutContent()), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_presentational_previous_conversations_DeleteAllConversations__WEBPACK_IMPORTED_MODULE_50__/* ["default"] */ .A, {
|
|
37078
37148
|
config: config,
|
|
37079
37149
|
isOpen: this.state.showDeleteAllConversationsModal,
|
|
37080
37150
|
onOpenChange: (open, confirmDelete) => {
|
|
@@ -37137,7 +37207,7 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
37137
37207
|
|
|
37138
37208
|
// Find privacy message and remove it from the messages list (these message types are not displayed in the chat log).
|
|
37139
37209
|
// If we do not remove, it will cause the collatation of the first user message.
|
|
37140
|
-
const messagesExcludingPrivacyMessage = (0,
|
|
37210
|
+
const messagesExcludingPrivacyMessage = (0,_utils_filter_out_control_commands__WEBPACK_IMPORTED_MODULE_47__/* ["default"] */ .A)(messages, ["acceptPrivacyPolicy"]);
|
|
37141
37211
|
|
|
37142
37212
|
// Filter messages based on progressive rendering settings
|
|
37143
37213
|
const visibleMessages = progressiveMessageRendering ? messagesExcludingPrivacyMessage.filter(message => {
|
|
@@ -37158,7 +37228,7 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
37158
37228
|
variant: "body-regular",
|
|
37159
37229
|
component: "div",
|
|
37160
37230
|
className: "webchat-log-ai-agent-notice-text"
|
|
37161
|
-
}, AIAgentNoticeText ||
|
|
37231
|
+
}, AIAgentNoticeText || _utils_ai_agent_notice__WEBPACK_IMPORTED_MODULE_55__/* .DEFAULT_AI_AGENT_NOTICE_TEXT */ .S5), visibleMessages.map((message, index) => {
|
|
37162
37232
|
// Lookahead if there is a user reply that includes text or attachments
|
|
37163
37233
|
const hasReply = visibleMessages.slice(index + 1).some(message => {
|
|
37164
37234
|
const isUser = message.source === "user";
|
|
@@ -37195,7 +37265,8 @@ class WebchatUI extends react__WEBPACK_IMPORTED_MODULE_0__["default"].PureCompon
|
|
|
37195
37265
|
active: isTyping,
|
|
37196
37266
|
delay: messageDelay,
|
|
37197
37267
|
direction: config?.settings?.widgetSettings?.sourceDirectionMapping?.bot || "incoming",
|
|
37198
|
-
disableBorder: config?.settings?.layout?.disableBotOutputBorder
|
|
37268
|
+
disableBorder: config?.settings?.layout?.disableBotOutputBorder,
|
|
37269
|
+
announcementText: config?.settings?.customTranslations?.ariaLabels?.typingIndicator
|
|
37199
37270
|
}));
|
|
37200
37271
|
}
|
|
37201
37272
|
}
|
|
@@ -37787,10 +37858,23 @@ const QueueUpdates = props => {
|
|
|
37787
37858
|
/* harmony import */ var _emotion_styled__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84937);
|
|
37788
37859
|
/* harmony import */ var _cognigy_chat_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2854);
|
|
37789
37860
|
/* harmony import */ var _utils_is_mounted__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3657);
|
|
37861
|
+
/* harmony import */ var _presentational_SrOnlyLiveRegion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65766);
|
|
37862
|
+
|
|
37863
|
+
|
|
37790
37864
|
|
|
37791
37865
|
|
|
37792
37866
|
|
|
37867
|
+
// How long typing must be continuously visible before it is announced to
|
|
37868
|
+
// screen readers (CGY-3146). Short bursts stay silent on purpose: when the
|
|
37869
|
+
// reply lands within this window, its own announcement (through
|
|
37870
|
+
// <ScreenReaderLiveRegion>) supersedes a "typing" heads-up, which would only
|
|
37871
|
+
// add noise to the polite queue.
|
|
37872
|
+
const ANNOUNCE_DELAY_MS = 2000;
|
|
37793
37873
|
|
|
37874
|
+
// Module-global so every typing session gets a fresh LiveRegionMessage id —
|
|
37875
|
+
// a repeated announcement with the same text still needs a new node to be
|
|
37876
|
+
// re-announced (see SrOnlyLiveRegion's keying).
|
|
37877
|
+
let announcementCounter = 0;
|
|
37794
37878
|
const ChatTypingIndicator = (0,_emotion_styled__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(_cognigy_chat_components__WEBPACK_IMPORTED_MODULE_2__/* .TypingIndicator */ .Vp)({
|
|
37795
37879
|
marginBlock: 0
|
|
37796
37880
|
});
|
|
@@ -37802,7 +37886,8 @@ const TypingIndicator = props => {
|
|
|
37802
37886
|
active,
|
|
37803
37887
|
delay,
|
|
37804
37888
|
direction,
|
|
37805
|
-
disableBorder
|
|
37889
|
+
disableBorder,
|
|
37890
|
+
announcementText
|
|
37806
37891
|
} = props;
|
|
37807
37892
|
const isMounted = (0,_utils_is_mounted__WEBPACK_IMPORTED_MODULE_3__/* .useIsMounted */ .a)();
|
|
37808
37893
|
|
|
@@ -37817,6 +37902,7 @@ const TypingIndicator = props => {
|
|
|
37817
37902
|
* -----++++++++++++++++++++++--------++++++++-
|
|
37818
37903
|
*/
|
|
37819
37904
|
const [isVisible, setIsVisible] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(active);
|
|
37905
|
+
const [announcement, setAnnouncement] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);
|
|
37820
37906
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
37821
37907
|
let timeout;
|
|
37822
37908
|
if (active) {
|
|
@@ -37830,11 +37916,51 @@ const TypingIndicator = props => {
|
|
|
37830
37916
|
if (timeout) clearTimeout(timeout);
|
|
37831
37917
|
};
|
|
37832
37918
|
}, [active]);
|
|
37833
|
-
|
|
37834
|
-
|
|
37919
|
+
|
|
37920
|
+
// Read at fire time through a ref so a translations/config update while
|
|
37921
|
+
// typing is visible neither restarts the delay nor emits a duplicate
|
|
37922
|
+
// announcement mid-session.
|
|
37923
|
+
const announcementTextRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(announcementText);
|
|
37924
|
+
announcementTextRef.current = announcementText;
|
|
37925
|
+
|
|
37926
|
+
// Announce a sustained typing session once (WCAG 4.1.3 Status Messages).
|
|
37927
|
+
//
|
|
37928
|
+
// The delay counts continuous typing ("active"): typing stopping (typingOff,
|
|
37929
|
+
// or an output removing the indicator) cancels the pending announcement,
|
|
37930
|
+
// resuming restarts it. The indicator's visible hide tail (`delay`) is not
|
|
37931
|
+
// typing, so nothing can be announced after the reply has already landed.
|
|
37932
|
+
//
|
|
37933
|
+
// The emitted announcement lives as long as the indicator is visible: at
|
|
37934
|
+
// most one per visible session, so typing flapping off/on between queued
|
|
37935
|
+
// delayed messages of one bot turn doesn't re-announce. When the indicator
|
|
37936
|
+
// hides, the text is removed silently (removals aren't announced) so it
|
|
37937
|
+
// can't be read later as stale status. Typing-stopped itself is not
|
|
37938
|
+
// announced — the arriving message covers it.
|
|
37939
|
+
const hasAnnouncedRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);
|
|
37940
|
+
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
37941
|
+
if (isVisible) return;
|
|
37942
|
+
hasAnnouncedRef.current = false;
|
|
37943
|
+
setAnnouncement(null);
|
|
37944
|
+
}, [isVisible]);
|
|
37945
|
+
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
37946
|
+
if (!active || hasAnnouncedRef.current) return;
|
|
37947
|
+
const timeout = setTimeout(() => {
|
|
37948
|
+
hasAnnouncedRef.current = true;
|
|
37949
|
+
setAnnouncement({
|
|
37950
|
+
id: `typing-${++announcementCounter}`,
|
|
37951
|
+
text: announcementTextRef.current ?? "A reply is being typed"
|
|
37952
|
+
});
|
|
37953
|
+
}, ANNOUNCE_DELAY_MS);
|
|
37954
|
+
return () => clearTimeout(timeout);
|
|
37955
|
+
}, [active]);
|
|
37956
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(react__WEBPACK_IMPORTED_MODULE_0__["default"].Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_presentational_SrOnlyLiveRegion__WEBPACK_IMPORTED_MODULE_4__/* .SrOnlyLiveRegion */ .Y, {
|
|
37957
|
+
id: "webchatTypingIndicatorLiveRegion",
|
|
37958
|
+
role: "status",
|
|
37959
|
+
message: announcement
|
|
37960
|
+
}), isVisible ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(ChatTypingIndicator, {
|
|
37835
37961
|
direction: direction,
|
|
37836
37962
|
disableBorder: disableBorder
|
|
37837
|
-
});
|
|
37963
|
+
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(HiddenChatTypingIndicator, null));
|
|
37838
37964
|
};
|
|
37839
37965
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TypingIndicator);
|
|
37840
37966
|
|
|
@@ -40135,74 +40261,90 @@ const HomeScreen = props => {
|
|
|
40135
40261
|
}
|
|
40136
40262
|
}, []);
|
|
40137
40263
|
|
|
40138
|
-
//
|
|
40264
|
+
// Fallback for browsers without `inert` support (CGY-3278): toggle tabindex
|
|
40265
|
+
// on all interactive elements while the home screen is visually hidden.
|
|
40266
|
+
// Uses focusableIgnoringInert because the plain `focusable` list skips
|
|
40267
|
+
// [inert] subtrees — which the hidden home screen root is.
|
|
40139
40268
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
40140
40269
|
const tabIndex = showHomeScreen ? 0 : -1;
|
|
40141
40270
|
if (homeScreenRef.current) {
|
|
40142
40271
|
const {
|
|
40143
|
-
|
|
40272
|
+
focusableIgnoringInert
|
|
40144
40273
|
} = (0,_utils_find_focusable__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .A)(homeScreenRef.current);
|
|
40145
|
-
|
|
40274
|
+
focusableIgnoringInert.forEach(el => {
|
|
40146
40275
|
el.setAttribute("tabindex", tabIndex.toString());
|
|
40147
40276
|
});
|
|
40148
40277
|
}
|
|
40149
40278
|
}, [showHomeScreen]);
|
|
40150
|
-
return
|
|
40151
|
-
|
|
40152
|
-
|
|
40153
|
-
|
|
40154
|
-
|
|
40155
|
-
|
|
40156
|
-
|
|
40157
|
-
|
|
40158
|
-
|
|
40159
|
-
|
|
40160
|
-
|
|
40161
|
-
|
|
40162
|
-
|
|
40163
|
-
|
|
40164
|
-
|
|
40165
|
-
|
|
40166
|
-
|
|
40167
|
-
|
|
40168
|
-
|
|
40169
|
-
|
|
40170
|
-
|
|
40171
|
-
|
|
40172
|
-
|
|
40173
|
-
|
|
40174
|
-
|
|
40175
|
-
|
|
40176
|
-
|
|
40177
|
-
|
|
40178
|
-
|
|
40179
|
-
|
|
40180
|
-
|
|
40181
|
-
|
|
40182
|
-
|
|
40183
|
-
|
|
40184
|
-
|
|
40185
|
-
|
|
40186
|
-
|
|
40187
|
-
|
|
40188
|
-
|
|
40189
|
-
|
|
40190
|
-
|
|
40191
|
-
|
|
40192
|
-
|
|
40193
|
-
|
|
40194
|
-
|
|
40195
|
-
|
|
40196
|
-
|
|
40197
|
-
|
|
40198
|
-
|
|
40199
|
-
|
|
40200
|
-
|
|
40201
|
-
|
|
40202
|
-
|
|
40203
|
-
|
|
40204
|
-
|
|
40205
|
-
|
|
40279
|
+
return (
|
|
40280
|
+
/*#__PURE__*/
|
|
40281
|
+
// While another screen (privacy notice, previous conversations, chat,
|
|
40282
|
+
// chat options) is active, the home screen stays mounted behind it for
|
|
40283
|
+
// the exit/enter transition. `inert` removes it from the accessibility
|
|
40284
|
+
// tree, tab order and pointer events — aria-hidden alone still let NVDA
|
|
40285
|
+
// arrow-key browsing reach the content (CGY-3278, WCAG 1.3.2).
|
|
40286
|
+
// aria-hidden="true" stays as a fallback for browsers without inert
|
|
40287
|
+
// support. While visible, neither attribute is rendered:
|
|
40288
|
+
// aria-hidden="false" has inconsistent AT support and reads as hidden
|
|
40289
|
+
// to attribute-presence checks.
|
|
40290
|
+
react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(HomeScreenRoot, {
|
|
40291
|
+
className: "webchat-homescreen-root",
|
|
40292
|
+
"aria-hidden": showHomeScreen ? undefined : true,
|
|
40293
|
+
inert: showHomeScreen ? undefined : "",
|
|
40294
|
+
ref: homeScreenRef
|
|
40295
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement("h2", {
|
|
40296
|
+
className: "sr-only"
|
|
40297
|
+
}, config.settings.customTranslations?.ariaLabels?.homeScreen ?? "Chat window home screen"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(HomeScreenContent, {
|
|
40298
|
+
className: "webchat-homescreen-content",
|
|
40299
|
+
settings: config?.settings
|
|
40300
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(HomeScreenHeader, {
|
|
40301
|
+
className: "webchat-homescreen-header"
|
|
40302
|
+
}, config?.settings?.layout?.logoUrl ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_Header__WEBPACK_IMPORTED_MODULE_10__/* .Logo */ .g, {
|
|
40303
|
+
src: config?.settings?.layout?.logoUrl,
|
|
40304
|
+
className: "webchat-homescreen-header-logo",
|
|
40305
|
+
alt: ""
|
|
40306
|
+
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_assets_cognigy_ai_avatar_28px_svg__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A, {
|
|
40307
|
+
className: "webchat-homescreen-header-cognigy-logo",
|
|
40308
|
+
role: "img",
|
|
40309
|
+
title: "Cognigy.AI Logo"
|
|
40310
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(HomeScreenHeaderIconButton, {
|
|
40311
|
+
ref: closeButtonRef,
|
|
40312
|
+
onClick: onClose,
|
|
40313
|
+
className: "webchat-homescreen-close-button",
|
|
40314
|
+
"aria-label": config.settings.customTranslations?.ariaLabels?.closeChat ?? "Close chat",
|
|
40315
|
+
color: "primary"
|
|
40316
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_assets_close_16px_svg__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A, null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(FullWidthContainer, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_Notifications__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Ay, null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(HomeScreenTitle, {
|
|
40317
|
+
variant: "title1-semibold",
|
|
40318
|
+
component: "h3",
|
|
40319
|
+
className: "webchat-homescreen-title",
|
|
40320
|
+
id: "webchatHeaderTitle"
|
|
40321
|
+
}, homeScreen.welcomeText || "Welcome to the Cognigy Webchat"), homeScreen?.conversationStarters?.enabled && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(HomeScreenButtons, {
|
|
40322
|
+
className: "webchat-homescreen-buttons"
|
|
40323
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_cognigy_chat_components__WEBPACK_IMPORTED_MODULE_8__/* .ActionButtons */ .wr, {
|
|
40324
|
+
size: "large",
|
|
40325
|
+
showUrlIcon: true,
|
|
40326
|
+
buttonClassName: "webchat-homescreen-button",
|
|
40327
|
+
containerClassName: "webchat-homescreen-button-container",
|
|
40328
|
+
payload: buttons,
|
|
40329
|
+
config: config,
|
|
40330
|
+
action: showHomeScreen ? onSendActionButtonMessage : undefined,
|
|
40331
|
+
onEmitAnalytics: onEmitAnalytics
|
|
40332
|
+
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(HomeScreenActions, {
|
|
40333
|
+
className: "webchat-homescreen-actions"
|
|
40334
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(StartButton, {
|
|
40335
|
+
onClick: onStartConversation,
|
|
40336
|
+
className: "webchat-homescreen-send-button",
|
|
40337
|
+
"data-test": "webchat-start-chat-button"
|
|
40338
|
+
}, config.settings.homeScreen.startConversationButtonText || "Start conversation"), config.settings.homeScreen.previousConversations.enabled && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(PrevConversationsButton, {
|
|
40339
|
+
onClick: handleShowPrevConversations,
|
|
40340
|
+
className: "webchat-homescreen-previous-conversation-button"
|
|
40341
|
+
}, config.settings.homeScreen.previousConversations.buttonText || "Previous conversations"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_branding_Branding__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A, {
|
|
40342
|
+
id: "cognigyHomeScreenBranding",
|
|
40343
|
+
watermark: config?.settings?.layout?.watermark,
|
|
40344
|
+
watermarkText: config?.settings?.layout?.watermarkText,
|
|
40345
|
+
watermarkUrl: config?.settings?.layout?.watermarkUrl
|
|
40346
|
+
})))
|
|
40347
|
+
);
|
|
40206
40348
|
};
|
|
40207
40349
|
|
|
40208
40350
|
/***/ },
|
|
@@ -41311,8 +41453,7 @@ const TeaserMessage = props => {
|
|
|
41311
41453
|
className: "webchat-teaser-message-root"
|
|
41312
41454
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_UnreadMessagePreview__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A, {
|
|
41313
41455
|
className: "webchat-teaser-message-bubble",
|
|
41314
|
-
onClick: handleMessageClick
|
|
41315
|
-
"aria-live": "polite"
|
|
41456
|
+
onClick: handleMessageClick
|
|
41316
41457
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(TeaserMessageHeader, {
|
|
41317
41458
|
className: "webchat-teaser-message-header"
|
|
41318
41459
|
}, config?.settings?.layout?.logoUrl ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(HeaderLogo, {
|
|
@@ -41353,6 +41494,63 @@ const TeaserMessage = props => {
|
|
|
41353
41494
|
|
|
41354
41495
|
/***/ },
|
|
41355
41496
|
|
|
41497
|
+
/***/ 59359
|
|
41498
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
41499
|
+
|
|
41500
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
41501
|
+
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
41502
|
+
/* harmony export */ });
|
|
41503
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51649);
|
|
41504
|
+
/* harmony import */ var _SrOnlyLiveRegion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65766);
|
|
41505
|
+
|
|
41506
|
+
|
|
41507
|
+
let teaserAnnouncementCounter = 0;
|
|
41508
|
+
|
|
41509
|
+
/**
|
|
41510
|
+
* Announces the teaser message popup when it appears next to the toggle
|
|
41511
|
+
* button (WCAG 4.1.3 Status Messages, CGY-3270). The teaser shows while the
|
|
41512
|
+
* webchat is CLOSED, so it cannot announce through <StatusLiveRegion> —
|
|
41513
|
+
* that region lives inside the open chat window and is unmounted at that
|
|
41514
|
+
* point. This announcer therefore owns a separate region that is mounted
|
|
41515
|
+
* with the toggle button for the whole page lifetime, so it pre-exists any
|
|
41516
|
+
* teaser (a live region only announces changes to a node already in the
|
|
41517
|
+
* accessibility tree — an `aria-live` attribute on the teaser bubble itself
|
|
41518
|
+
* mounts together with its content and is never voiced).
|
|
41519
|
+
*
|
|
41520
|
+
* role="status" (polite), not role="alert": a proactive teaser is advisory
|
|
41521
|
+
* and must not interrupt what the user is currently doing on the host page.
|
|
41522
|
+
*
|
|
41523
|
+
* Announces again when the preview text changes while the teaser is showing
|
|
41524
|
+
* (a newer bot message replaces the preview). Hiding the teaser (dismissed,
|
|
41525
|
+
* chat opened) clears the region silently so users browsing the page later
|
|
41526
|
+
* don't find stale preview text.
|
|
41527
|
+
*/
|
|
41528
|
+
const TeaserMessageAnnouncer = ({
|
|
41529
|
+
active,
|
|
41530
|
+
text,
|
|
41531
|
+
label
|
|
41532
|
+
}) => {
|
|
41533
|
+
const [message, setMessage] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);
|
|
41534
|
+
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
41535
|
+
if (!active || !text) {
|
|
41536
|
+
setMessage(null);
|
|
41537
|
+
return;
|
|
41538
|
+
}
|
|
41539
|
+
setMessage({
|
|
41540
|
+
id: `webchatTeaserMessage-${++teaserAnnouncementCounter}`,
|
|
41541
|
+
text: `${label}: ${text}`
|
|
41542
|
+
});
|
|
41543
|
+
}, [active, text, label]);
|
|
41544
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_SrOnlyLiveRegion__WEBPACK_IMPORTED_MODULE_1__/* .SrOnlyLiveRegion */ .Y, {
|
|
41545
|
+
id: "webchatTeaserMessageLiveRegion",
|
|
41546
|
+
role: "status",
|
|
41547
|
+
message: message
|
|
41548
|
+
});
|
|
41549
|
+
};
|
|
41550
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TeaserMessageAnnouncer);
|
|
41551
|
+
|
|
41552
|
+
/***/ },
|
|
41553
|
+
|
|
41356
41554
|
/***/ 52077
|
|
41357
41555
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
41358
41556
|
|
|
@@ -41377,10 +41575,28 @@ const StyledToggleButtonOuter = _emotion_styled__WEBPACK_IMPORTED_MODULE_1__/* [
|
|
|
41377
41575
|
width: 30,
|
|
41378
41576
|
height: 16,
|
|
41379
41577
|
borderRadius: 15,
|
|
41380
|
-
|
|
41578
|
+
// black50 (#808080) keeps the track boundary ≥ 3:1 on white (WCAG 1.4.11) — black80 was ~1.6:1
|
|
41579
|
+
border: `1px solid ${theme.black50}`,
|
|
41381
41580
|
backgroundColor: theme.white,
|
|
41382
41581
|
cursor: disabled ? "default" : "pointer",
|
|
41383
41582
|
transition: "background-color 0.2s ease-in-out",
|
|
41583
|
+
// Invisible hit-area extension so the pointer target is ≥ 24x24px (WCAG 2.2 SC 2.5.8)
|
|
41584
|
+
position: "relative",
|
|
41585
|
+
"&::before": {
|
|
41586
|
+
content: '""',
|
|
41587
|
+
position: "absolute",
|
|
41588
|
+
top: -5,
|
|
41589
|
+
bottom: -5,
|
|
41590
|
+
left: 0,
|
|
41591
|
+
right: 0
|
|
41592
|
+
},
|
|
41593
|
+
"&:focus-visible": {
|
|
41594
|
+
outline: `2px solid ${theme.primaryColorFocus}`,
|
|
41595
|
+
outlineOffset: 2
|
|
41596
|
+
},
|
|
41597
|
+
"@media (prefers-reduced-motion: reduce)": {
|
|
41598
|
+
transition: "none"
|
|
41599
|
+
},
|
|
41384
41600
|
"&.active": {
|
|
41385
41601
|
backgroundColor: disabled ? theme.secondaryColorDisabled : theme.secondaryColor,
|
|
41386
41602
|
"&:hover": {
|
|
@@ -41400,6 +41616,9 @@ const StyledToggleButtonInner = _emotion_styled__WEBPACK_IMPORTED_MODULE_1__/* [
|
|
|
41400
41616
|
cursor: disabled ? "default" : "pointer",
|
|
41401
41617
|
transform: isActive ? "translateX(14px)" : "translateX(0px)",
|
|
41402
41618
|
transition: "transform 0.2s ease-in-out, background-color 0.2s ease-in-out",
|
|
41619
|
+
"@media (prefers-reduced-motion: reduce)": {
|
|
41620
|
+
transition: "none"
|
|
41621
|
+
},
|
|
41403
41622
|
"&:hover": {
|
|
41404
41623
|
backgroundColor: disabled ? theme.secondaryColorDisabled : theme.secondaryColorHover
|
|
41405
41624
|
},
|
|
@@ -41416,10 +41635,13 @@ const ToggleButton = props => {
|
|
|
41416
41635
|
isActive,
|
|
41417
41636
|
className,
|
|
41418
41637
|
disabled,
|
|
41638
|
+
id,
|
|
41419
41639
|
"aria-labelledby": ariaLabelledBy
|
|
41420
41640
|
} = props;
|
|
41421
41641
|
const [isHovered, setIsHovered] = react__WEBPACK_IMPORTED_MODULE_0__["default"].useState(false);
|
|
41422
41642
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(StyledToggleButtonOuter, {
|
|
41643
|
+
type: "button",
|
|
41644
|
+
id: id,
|
|
41423
41645
|
className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(className, "webchat-toggle-button-root", isActive && "active"),
|
|
41424
41646
|
onClick: onClick,
|
|
41425
41647
|
isActive: isActive,
|
|
@@ -41431,7 +41653,6 @@ const ToggleButton = props => {
|
|
|
41431
41653
|
onMouseLeave: () => setIsHovered(false)
|
|
41432
41654
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(StyledToggleButtonInner, {
|
|
41433
41655
|
className: classnames__WEBPACK_IMPORTED_MODULE_2___default()("webchat-toggle-button-inner-circle", isActive && "active", isHovered && "hovered"),
|
|
41434
|
-
onClick: onClick,
|
|
41435
41656
|
isActive: isActive,
|
|
41436
41657
|
disabled: disabled
|
|
41437
41658
|
}));
|
|
@@ -41768,8 +41989,7 @@ const ChatOptionsFooter = props => {
|
|
|
41768
41989
|
/* harmony import */ var _emotion_styled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(84937);
|
|
41769
41990
|
/* harmony import */ var _webchat_store_messages_message_reducer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(22284);
|
|
41770
41991
|
/* harmony import */ var _Modal_DeleteConfirmModal__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(75691);
|
|
41771
|
-
/* harmony import */ var
|
|
41772
|
-
/* harmony import */ var _webchat_store_options_options__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(48242);
|
|
41992
|
+
/* harmony import */ var _webchat_store_options_options__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(48242);
|
|
41773
41993
|
|
|
41774
41994
|
|
|
41775
41995
|
|
|
@@ -41811,14 +42031,14 @@ const DeleteConversation = props => {
|
|
|
41811
42031
|
const handleConfirmDelete = () => {
|
|
41812
42032
|
dispatch((0,_webchat_store_previous_conversations_previous_conversations_reducer__WEBPACK_IMPORTED_MODULE_3__/* .deletePrevConversation */ .YD)(sessionId));
|
|
41813
42033
|
dispatch((0,_webchat_store_messages_message_reducer__WEBPACK_IMPORTED_MODULE_7__/* .clearMessages */ .oI)());
|
|
41814
|
-
dispatch((0,
|
|
42034
|
+
dispatch((0,_webchat_store_previous_conversations_previous_conversations_reducer__WEBPACK_IMPORTED_MODULE_3__/* .switchSession */ .rm)());
|
|
41815
42035
|
const storage = (0,_webchat_helper_storage__WEBPACK_IMPORTED_MODULE_4__/* .getStorage */ .c)({
|
|
41816
42036
|
disableLocalStorage: props.config.settings.embeddingConfiguration?.disableLocalStorage ?? false,
|
|
41817
42037
|
useSessionStorage: props.config.settings.embeddingConfiguration?.useSessionStorage ?? false
|
|
41818
42038
|
});
|
|
41819
42039
|
if (storage) {
|
|
41820
42040
|
Object.keys(storage).forEach(_ => {
|
|
41821
|
-
const key = (0,
|
|
42041
|
+
const key = (0,_webchat_store_options_options__WEBPACK_IMPORTED_MODULE_9__/* .getOptionsKey */ .W)({
|
|
41822
42042
|
channel,
|
|
41823
42043
|
userId,
|
|
41824
42044
|
sessionId
|
|
@@ -42113,6 +42333,11 @@ const TTSOptionRoot = _emotion_styled__WEBPACK_IMPORTED_MODULE_1__/* ["default"]
|
|
|
42113
42333
|
alignItems: "center",
|
|
42114
42334
|
height: 50
|
|
42115
42335
|
}));
|
|
42336
|
+
|
|
42337
|
+
// Native <label for> so clicking the visible text also activates the switch (WCAG technique H44)
|
|
42338
|
+
const ToggleLabel = _emotion_styled__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.label(() => ({
|
|
42339
|
+
cursor: "pointer"
|
|
42340
|
+
}));
|
|
42116
42341
|
const TTSOption = props => {
|
|
42117
42342
|
const {
|
|
42118
42343
|
config,
|
|
@@ -42120,6 +42345,7 @@ const TTSOption = props => {
|
|
|
42120
42345
|
} = props;
|
|
42121
42346
|
const isActive = (0,_webchat_helper_useSelector__WEBPACK_IMPORTED_MODULE_4__/* .useSelector */ .d)(state => state.ui.ttsActive);
|
|
42122
42347
|
const labelId = react__WEBPACK_IMPORTED_MODULE_0__["default"].useId();
|
|
42348
|
+
const toggleId = react__WEBPACK_IMPORTED_MODULE_0__["default"].useId();
|
|
42123
42349
|
const label = config.settings.chatOptions.labelTTSToggle || "Enable Text-to-Speech";
|
|
42124
42350
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(TTSOptionRoot, {
|
|
42125
42351
|
className: "webchat-tts-option-root"
|
|
@@ -42128,7 +42354,10 @@ const TTSOption = props => {
|
|
|
42128
42354
|
variant: "title1-semibold",
|
|
42129
42355
|
margin: 0,
|
|
42130
42356
|
className: "webchat-chat-options-tts-option-label"
|
|
42131
|
-
},
|
|
42357
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(ToggleLabel, {
|
|
42358
|
+
htmlFor: toggleId
|
|
42359
|
+
}, label)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["default"].createElement(_ToggleButton__WEBPACK_IMPORTED_MODULE_3__/* .ToggleButton */ .f, {
|
|
42360
|
+
id: toggleId,
|
|
42132
42361
|
onClick: onToggle,
|
|
42133
42362
|
className: "webchat-chat-options-tts-option-toggle",
|
|
42134
42363
|
isActive: isActive,
|
|
@@ -42455,7 +42684,6 @@ const ConversationsListItem = props => {
|
|
|
42455
42684
|
/* harmony import */ var _cognigy_chat_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2854);
|
|
42456
42685
|
/* harmony import */ var _webchat_store_connection_connection_middleware__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(12193);
|
|
42457
42686
|
/* harmony import */ var _webchat_store_messages_message_reducer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(22284);
|
|
42458
|
-
/* harmony import */ var _webchat_store_previous_conversations_previous_conversations_middleware__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(92101);
|
|
42459
42687
|
|
|
42460
42688
|
|
|
42461
42689
|
|
|
@@ -42479,7 +42707,7 @@ const DeleteAllConversationsModal = props => {
|
|
|
42479
42707
|
const handleConfirmDelete = () => {
|
|
42480
42708
|
dispatch((0,_webchat_store_previous_conversations_previous_conversations_reducer__WEBPACK_IMPORTED_MODULE_2__/* .setConversations */ .dU)({}));
|
|
42481
42709
|
dispatch((0,_webchat_store_messages_message_reducer__WEBPACK_IMPORTED_MODULE_7__/* .clearMessages */ .oI)()); // Clear any existing messages
|
|
42482
|
-
dispatch((0,
|
|
42710
|
+
dispatch((0,_webchat_store_previous_conversations_previous_conversations_reducer__WEBPACK_IMPORTED_MODULE_2__/* .switchSession */ .rm)()); // Switch the session to a new one
|
|
42483
42711
|
dispatch((0,_webchat_store_connection_connection_middleware__WEBPACK_IMPORTED_MODULE_6__/* .disconnect */ .Zf)()); // Disconnect the socket to prevent from receiving any new messages. Socket will be reconnected upon starting a new conversation
|
|
42484
42712
|
const storage = (0,_webchat_helper_storage__WEBPACK_IMPORTED_MODULE_3__/* .getStorage */ .c)({
|
|
42485
42713
|
disableLocalStorage: config.settings.embeddingConfiguration?.disableLocalStorage ?? false,
|
|
@@ -43119,21 +43347,33 @@ const getKeyboardFocusableElements = element => {
|
|
|
43119
43347
|
const interactiveEls = element?.querySelectorAll('a[href], button, input, textarea, select, details,[tabindex]:not([tabindex="-1"])');
|
|
43120
43348
|
const interactiveElsArray = interactiveEls && Array.from(interactiveEls);
|
|
43121
43349
|
|
|
43122
|
-
//
|
|
43123
|
-
//
|
|
43124
|
-
//
|
|
43125
|
-
//
|
|
43126
|
-
//
|
|
43127
|
-
//
|
|
43128
|
-
//
|
|
43129
|
-
//
|
|
43130
|
-
|
|
43350
|
+
// Two lists are derived from the interactive elements:
|
|
43351
|
+
//
|
|
43352
|
+
// 1. focusableIgnoringInert — drops only elements that are disabled or
|
|
43353
|
+
// aria-hidden themselves, but KEEPS elements inside [inert] subtrees.
|
|
43354
|
+
// Needed by HomeScreen's tabindex-toggle fallback, which must reach the
|
|
43355
|
+
// interactive elements of its own inert-hidden root in browsers without
|
|
43356
|
+
// inert support. Matching aria-hidden="true" explicitly (not attribute
|
|
43357
|
+
// presence) keeps elements with aria-hidden="false" focusable. Ancestor
|
|
43358
|
+
// aria-hidden is deliberately NOT filtered in either list — hidden
|
|
43359
|
+
// surfaces that must be excluded from focus logic carry `inert`
|
|
43360
|
+
// alongside aria-hidden (HomeScreen, RegularLayoutContentWrapper,
|
|
43361
|
+
// DisconnectableContentWrapper).
|
|
43362
|
+
const focusableIgnoringInert = interactiveElsArray?.filter(el => !el.hasAttribute("disabled") && el.getAttribute("aria-hidden") !== "true");
|
|
43363
|
+
|
|
43364
|
+
// 2. focusable — additionally drops elements inside an inert subtree
|
|
43365
|
+
// (e.g. the chat layout behind the disconnect overlay, or a leaving
|
|
43366
|
+
// screen during its exit transition — see RegularLayoutContentWrapper
|
|
43367
|
+
// in WebchatUI.tsx) — those cannot receive focus. This is the list for
|
|
43368
|
+
// focus traps and focus-first-on-open logic.
|
|
43369
|
+
const focusable = focusableIgnoringInert?.filter(el => !el.closest("[inert]"));
|
|
43131
43370
|
const firstFocusable = focusable && focusable[0];
|
|
43132
43371
|
const lastFocusable = focusable && focusable[focusable.length - 1];
|
|
43133
43372
|
return {
|
|
43134
43373
|
firstFocusable,
|
|
43135
43374
|
lastFocusable,
|
|
43136
|
-
focusable
|
|
43375
|
+
focusable,
|
|
43376
|
+
focusableIgnoringInert
|
|
43137
43377
|
};
|
|
43138
43378
|
};
|
|
43139
43379
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getKeyboardFocusableElements);
|
|
@@ -43458,9 +43698,9 @@ function getSourceBackgroundColor(mappedValue, colors) {
|
|
|
43458
43698
|
/* harmony import */ var _store_messages_message_middleware__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20570);
|
|
43459
43699
|
/* harmony import */ var _store_ui_ui_reducer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(55361);
|
|
43460
43700
|
/* harmony import */ var _plugins_helper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(59977);
|
|
43461
|
-
/* harmony import */ var
|
|
43701
|
+
/* harmony import */ var _store_connection_connection_reducer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(64789);
|
|
43462
43702
|
/* harmony import */ var _store_rating_rating_reducer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(69823);
|
|
43463
|
-
/* harmony import */ var
|
|
43703
|
+
/* harmony import */ var _store_previous_conversations_previous_conversations_reducer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(39801);
|
|
43464
43704
|
/* harmony import */ var _store_input_input_reducer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(16967);
|
|
43465
43705
|
/* harmony import */ var _store_xapp_overlay_slice__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(97114);
|
|
43466
43706
|
/* harmony import */ var _store_messages_message_reducer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(22284);
|
|
@@ -43574,14 +43814,14 @@ const ConnectedWebchatUI = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__/* .connec
|
|
|
43574
43814
|
onMinimize: () => dispatch((0,_store_ui_ui_reducer__WEBPACK_IMPORTED_MODULE_3__/* .setMinimize */ .R1)()),
|
|
43575
43815
|
onToggle: () => dispatch((0,_store_ui_ui_reducer__WEBPACK_IMPORTED_MODULE_3__/* .toggleOpen */ .nL)()),
|
|
43576
43816
|
onTriggerEngagementMessage: () => dispatch((0,_store_messages_message_middleware__WEBPACK_IMPORTED_MODULE_2__/* .triggerEngagementMessage */ .Nh)()),
|
|
43577
|
-
onConnect: () => dispatch((0,
|
|
43817
|
+
onConnect: () => dispatch((0,_store_connection_connection_reducer__WEBPACK_IMPORTED_MODULE_5__/* .connect */ .Ng)()),
|
|
43578
43818
|
onShowRatingScreen: show => dispatch((0,_store_rating_rating_reducer__WEBPACK_IMPORTED_MODULE_6__/* .showRatingScreen */ .xW)(show)),
|
|
43579
43819
|
onSetHasGivenRating: () => dispatch((0,_store_rating_rating_reducer__WEBPACK_IMPORTED_MODULE_6__/* .setHasGivenRating */ .n_)()),
|
|
43580
43820
|
onSetShowHomeScreen: show => dispatch((0,_store_ui_ui_reducer__WEBPACK_IMPORTED_MODULE_3__/* .setShowHomeScreen */ .zn)(show)),
|
|
43581
43821
|
onSetShowPrevConversations: show => dispatch((0,_store_ui_ui_reducer__WEBPACK_IMPORTED_MODULE_3__/* .setShowPrevConversations */ .Rg)(show)),
|
|
43582
43822
|
onSetShowChatOptionsScreen: show => dispatch((0,_store_ui_ui_reducer__WEBPACK_IMPORTED_MODULE_3__/* .setShowChatOptionsScreen */ .QE)(show)),
|
|
43583
43823
|
onShowChatScreen: () => dispatch((0,_store_ui_ui_reducer__WEBPACK_IMPORTED_MODULE_3__/* .showChatScreen */ .YW)()),
|
|
43584
|
-
onSwitchSession: (sessionId, conversation) => dispatch((0,
|
|
43824
|
+
onSwitchSession: (sessionId, conversation) => dispatch((0,_store_previous_conversations_previous_conversations_reducer__WEBPACK_IMPORTED_MODULE_7__/* .switchSession */ .rm)(sessionId, conversation)),
|
|
43585
43825
|
onAcceptTerms: userId => dispatch((0,_store_ui_ui_reducer__WEBPACK_IMPORTED_MODULE_3__/* .setHasAcceptedTerms */ .Pk)(userId)),
|
|
43586
43826
|
onSetStoredMessage: message => dispatch((0,_store_ui_ui_reducer__WEBPACK_IMPORTED_MODULE_3__/* .setStoredMessage */ .LK)(message)),
|
|
43587
43827
|
onSetDropZoneVisible: isVisible => dispatch((0,_store_input_input_reducer__WEBPACK_IMPORTED_MODULE_8__/* .setDropZoneVisible */ .aJ)(isVisible)),
|
|
@@ -43623,19 +43863,20 @@ const ConnectedWebchatUI = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__/* .connec
|
|
|
43623
43863
|
/* harmony import */ var _store_ui_ui_reducer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(55361);
|
|
43624
43864
|
/* harmony import */ var _store_config_config_middleware__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(56121);
|
|
43625
43865
|
/* harmony import */ var _store_connection_connection_middleware__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(12193);
|
|
43626
|
-
/* harmony import */ var
|
|
43627
|
-
/* harmony import */ var
|
|
43628
|
-
/* harmony import */ var
|
|
43629
|
-
/* harmony import */ var
|
|
43630
|
-
/* harmony import */ var
|
|
43631
|
-
/* harmony import */ var
|
|
43632
|
-
/* harmony import */ var
|
|
43633
|
-
/* harmony import */ var
|
|
43634
|
-
/* harmony import */ var
|
|
43635
|
-
/* harmony import */ var
|
|
43636
|
-
/* harmony import */ var
|
|
43637
|
-
/* harmony import */ var
|
|
43638
|
-
/* harmony import */ var
|
|
43866
|
+
/* harmony import */ var _store_connection_connection_reducer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(64789);
|
|
43867
|
+
/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(98657);
|
|
43868
|
+
/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_9__);
|
|
43869
|
+
/* harmony import */ var _cognigy_socket_client__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(72166);
|
|
43870
|
+
/* harmony import */ var _cognigy_socket_client__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_cognigy_socket_client__WEBPACK_IMPORTED_MODULE_10__);
|
|
43871
|
+
/* harmony import */ var _helper_endpoint__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(11351);
|
|
43872
|
+
/* harmony import */ var _store_config_config_reducer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(46509);
|
|
43873
|
+
/* harmony import */ var _store_messages_message_handler__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(59788);
|
|
43874
|
+
/* harmony import */ var _webchat_ui_components_presentational_Notifications__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(82833);
|
|
43875
|
+
/* harmony import */ var _helper_storage__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(62473);
|
|
43876
|
+
/* harmony import */ var _helper_privacyPolicy__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(8470);
|
|
43877
|
+
/* harmony import */ var _store_options_options_reducer__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(74327);
|
|
43878
|
+
/* harmony import */ var _store_previous_conversations_previous_conversations_reducer__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(39801);
|
|
43879
|
+
/* harmony import */ var _store_messages_message_reducer__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(22284);
|
|
43639
43880
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
43640
43881
|
|
|
43641
43882
|
|
|
@@ -43656,8 +43897,9 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
|
|
|
43656
43897
|
|
|
43657
43898
|
|
|
43658
43899
|
|
|
43900
|
+
|
|
43659
43901
|
class Webchat extends react__WEBPACK_IMPORTED_MODULE_0__.PureComponent {
|
|
43660
|
-
analytics = new
|
|
43902
|
+
analytics = new events__WEBPACK_IMPORTED_MODULE_9__.EventEmitter();
|
|
43661
43903
|
// component lifecycle methods
|
|
43662
43904
|
constructor(props) {
|
|
43663
43905
|
super(props);
|
|
@@ -43666,17 +43908,17 @@ class Webchat extends react__WEBPACK_IMPORTED_MODULE_0__.PureComponent {
|
|
|
43666
43908
|
options,
|
|
43667
43909
|
settings
|
|
43668
43910
|
} = props;
|
|
43669
|
-
const baseUrl = (0,
|
|
43670
|
-
const token = (0,
|
|
43911
|
+
const baseUrl = (0,_helper_endpoint__WEBPACK_IMPORTED_MODULE_11__/* .getEndpointBaseUrl */ .Ul)(url);
|
|
43912
|
+
const token = (0,_helper_endpoint__WEBPACK_IMPORTED_MODULE_11__/* .getEndpointUrlToken */ .a4)(url);
|
|
43671
43913
|
const socketOptions = {
|
|
43672
43914
|
channel: options?.channel || "webchat3",
|
|
43673
43915
|
...options
|
|
43674
43916
|
};
|
|
43675
|
-
const client = new
|
|
43917
|
+
const client = new _cognigy_socket_client__WEBPACK_IMPORTED_MODULE_10__.SocketClient(baseUrl, token, socketOptions);
|
|
43676
43918
|
this.client = client;
|
|
43677
43919
|
const store = (0,_store_store__WEBPACK_IMPORTED_MODULE_1__/* .createWebchatStore */ .E7)(this, url, settings);
|
|
43678
43920
|
this.store = store;
|
|
43679
|
-
this._handleOutput = (0,
|
|
43921
|
+
this._handleOutput = (0,_store_messages_message_handler__WEBPACK_IMPORTED_MODULE_13__/* .createOutputHandler */ .i0)(this.store);
|
|
43680
43922
|
}
|
|
43681
43923
|
UNSAFE_componentWillMount() {
|
|
43682
43924
|
const {
|
|
@@ -43684,20 +43926,20 @@ class Webchat extends react__WEBPACK_IMPORTED_MODULE_0__.PureComponent {
|
|
|
43684
43926
|
} = this.props;
|
|
43685
43927
|
const disableLocalStorage = settings?.embeddingConfiguration?.disableLocalStorage ?? false;
|
|
43686
43928
|
const useSessionStorage = settings?.embeddingConfiguration?.useSessionStorage ?? false;
|
|
43687
|
-
const browserStorage = (0,
|
|
43929
|
+
const browserStorage = (0,_helper_storage__WEBPACK_IMPORTED_MODULE_15__/* .getStorage */ .c)({
|
|
43688
43930
|
disableLocalStorage,
|
|
43689
43931
|
useSessionStorage
|
|
43690
43932
|
});
|
|
43691
43933
|
const userId = this.client.socketOptions.userId;
|
|
43692
|
-
if ((0,
|
|
43934
|
+
if ((0,_helper_privacyPolicy__WEBPACK_IMPORTED_MODULE_16__/* .hasAcceptedTermsInStorage */ .z)(browserStorage, userId)) {
|
|
43693
43935
|
this.store.dispatch((0,_store_ui_ui_reducer__WEBPACK_IMPORTED_MODULE_5__/* .setHasAcceptedTerms */ .Pk)(userId));
|
|
43694
43936
|
}
|
|
43695
43937
|
this.store.dispatch((0,_store_config_config_middleware__WEBPACK_IMPORTED_MODULE_6__/* .loadConfig */ .Z)());
|
|
43696
43938
|
if (this.props.options?.sessionId) {
|
|
43697
|
-
this.store.dispatch((0,
|
|
43939
|
+
this.store.dispatch((0,_store_config_config_reducer__WEBPACK_IMPORTED_MODULE_12__/* .setInitialSessionId */ .mD)(this.props.options.sessionId));
|
|
43698
43940
|
}
|
|
43699
43941
|
if (this.props.options?.userId) {
|
|
43700
|
-
this.store.dispatch((0,
|
|
43942
|
+
this.store.dispatch((0,_store_options_options_reducer__WEBPACK_IMPORTED_MODULE_17__/* .setUserId */ ["do"])(this.props.options?.userId));
|
|
43701
43943
|
}
|
|
43702
43944
|
}
|
|
43703
43945
|
componentWillUnmount() {
|
|
@@ -43715,7 +43957,7 @@ class Webchat extends react__WEBPACK_IMPORTED_MODULE_0__.PureComponent {
|
|
|
43715
43957
|
|
|
43716
43958
|
// component API (for usage via ref)
|
|
43717
43959
|
connect = async () => {
|
|
43718
|
-
this.store.dispatch((0,
|
|
43960
|
+
this.store.dispatch((0,_store_connection_connection_reducer__WEBPACK_IMPORTED_MODULE_8__/* .connect */ .Ng)());
|
|
43719
43961
|
};
|
|
43720
43962
|
|
|
43721
43963
|
/**
|
|
@@ -43747,14 +43989,14 @@ class Webchat extends react__WEBPACK_IMPORTED_MODULE_0__.PureComponent {
|
|
|
43747
43989
|
} = this.store.getState().config;
|
|
43748
43990
|
const disableLocalStorage = settings?.embeddingConfiguration?.disableLocalStorage ?? false;
|
|
43749
43991
|
const useSessionStorage = settings?.embeddingConfiguration?.useSessionStorage ?? false;
|
|
43750
|
-
const browserStorage = (0,
|
|
43992
|
+
const browserStorage = (0,_helper_storage__WEBPACK_IMPORTED_MODULE_15__/* .getStorage */ .c)({
|
|
43751
43993
|
disableLocalStorage,
|
|
43752
43994
|
useSessionStorage
|
|
43753
43995
|
});
|
|
43754
43996
|
const userId = this.client.socketOptions.userId;
|
|
43755
43997
|
const homeScreenEnabled = settings?.homeScreen?.enabled === true;
|
|
43756
43998
|
const privacyNoticeEnabled = settings?.privacyNotice?.enabled === true;
|
|
43757
|
-
const skipPrivacyNotice = !privacyNoticeEnabled || (0,
|
|
43999
|
+
const skipPrivacyNotice = !privacyNoticeEnabled || (0,_helper_privacyPolicy__WEBPACK_IMPORTED_MODULE_16__/* .hasAcceptedTermsInStorage */ .z)(browserStorage, userId);
|
|
43758
44000
|
if (!homeScreenEnabled && skipPrivacyNotice) {
|
|
43759
44001
|
this.store.dispatch((0,_store_ui_ui_reducer__WEBPACK_IMPORTED_MODULE_5__/* .setShowHomeScreen */ .zn)(false));
|
|
43760
44002
|
this.store.dispatch((0,_store_ui_ui_reducer__WEBPACK_IMPORTED_MODULE_5__/* .setShowChatOptionsScreen */ .QE)(false));
|
|
@@ -43792,7 +44034,7 @@ class Webchat extends react__WEBPACK_IMPORTED_MODULE_0__.PureComponent {
|
|
|
43792
44034
|
this.store.dispatch((0,_store_ui_ui_reducer__WEBPACK_IMPORTED_MODULE_5__/* .toggleOpen */ .nL)());
|
|
43793
44035
|
};
|
|
43794
44036
|
showNotification = message => {
|
|
43795
|
-
(0,
|
|
44037
|
+
(0,_webchat_ui_components_presentational_Notifications__WEBPACK_IMPORTED_MODULE_14__/* .createNotification */ .UI)(message);
|
|
43796
44038
|
};
|
|
43797
44039
|
startConversation = () => {
|
|
43798
44040
|
this.store.dispatch((0,_store_ui_ui_reducer__WEBPACK_IMPORTED_MODULE_5__/* .setShowHomeScreen */ .zn)(false));
|
|
@@ -43805,15 +44047,15 @@ class Webchat extends react__WEBPACK_IMPORTED_MODULE_0__.PureComponent {
|
|
|
43805
44047
|
this.client.on("output", handler);
|
|
43806
44048
|
};
|
|
43807
44049
|
updateSettings = settings => {
|
|
43808
|
-
this.store.dispatch((0,
|
|
44050
|
+
this.store.dispatch((0,_store_config_config_reducer__WEBPACK_IMPORTED_MODULE_12__/* .updateSettings */ .Xx)(settings));
|
|
43809
44051
|
};
|
|
43810
44052
|
|
|
43811
44053
|
/**
|
|
43812
44054
|
* This method will switch to a new session and clear the messages in the current session.
|
|
43813
44055
|
*/
|
|
43814
44056
|
endSession = () => {
|
|
43815
|
-
this.store.dispatch((0,
|
|
43816
|
-
this.store.dispatch((0,
|
|
44057
|
+
this.store.dispatch((0,_store_previous_conversations_previous_conversations_reducer__WEBPACK_IMPORTED_MODULE_18__/* .switchSession */ .rm)());
|
|
44058
|
+
this.store.dispatch((0,_store_messages_message_reducer__WEBPACK_IMPORTED_MODULE_19__/* .clearMessages */ .oI)());
|
|
43817
44059
|
};
|
|
43818
44060
|
render() {
|
|
43819
44061
|
const {
|
|
@@ -43940,7 +44182,7 @@ const isInformingOutOfBusinessHours = businessHours => {
|
|
|
43940
44182
|
/* harmony export */ R: () => (/* binding */ onNetworkOn),
|
|
43941
44183
|
/* harmony export */ s: () => (/* binding */ shouldReestablishConnection)
|
|
43942
44184
|
/* harmony export */ });
|
|
43943
|
-
const shouldReestablishConnection = store => store?.
|
|
44185
|
+
const shouldReestablishConnection = store => store?.connection?.hasAttemptedConnection;
|
|
43944
44186
|
const onNetworkOn = handler => {
|
|
43945
44187
|
window.addEventListener("online", handler, false);
|
|
43946
44188
|
return () => {
|
|
@@ -44969,7 +45211,6 @@ const registerConnectionHandler = (store, client) => {
|
|
|
44969
45211
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
44970
45212
|
|
|
44971
45213
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
44972
|
-
/* harmony export */ Ng: () => (/* binding */ connect),
|
|
44973
45214
|
/* harmony export */ PJ: () => (/* binding */ createConnectionMiddleware),
|
|
44974
45215
|
/* harmony export */ Zf: () => (/* binding */ disconnect),
|
|
44975
45216
|
/* harmony export */ vD: () => (/* binding */ announceNetworkOn)
|
|
@@ -44984,10 +45225,6 @@ const registerConnectionHandler = (store, client) => {
|
|
|
44984
45225
|
|
|
44985
45226
|
|
|
44986
45227
|
|
|
44987
|
-
const CONNECT = "CONNECT";
|
|
44988
|
-
const connect = () => ({
|
|
44989
|
-
type: CONNECT
|
|
44990
|
-
});
|
|
44991
45228
|
const DISCONNECT = "DISCONNECT";
|
|
44992
45229
|
const disconnect = () => ({
|
|
44993
45230
|
type: DISCONNECT
|
|
@@ -45027,19 +45264,19 @@ const createConnectionMiddleware = client => store => next => action => {
|
|
|
45027
45264
|
case "SHOW_CHAT_SCREEN":
|
|
45028
45265
|
{
|
|
45029
45266
|
if (!client.connected) {
|
|
45030
|
-
store.dispatch(connect());
|
|
45267
|
+
store.dispatch((0,_connection_reducer__WEBPACK_IMPORTED_MODULE_3__/* .connect */ .Ng)());
|
|
45031
45268
|
}
|
|
45032
45269
|
break;
|
|
45033
45270
|
}
|
|
45034
45271
|
case "SEND_MESSAGE":
|
|
45035
45272
|
{
|
|
45036
|
-
store.dispatch(connect());
|
|
45273
|
+
store.dispatch((0,_connection_reducer__WEBPACK_IMPORTED_MODULE_3__/* .connect */ .Ng)());
|
|
45037
45274
|
break;
|
|
45038
45275
|
}
|
|
45039
45276
|
case "SET_PAGE_VISIBLE":
|
|
45040
45277
|
{
|
|
45041
45278
|
if (action.visible && (0,_helper_connection_watchdog__WEBPACK_IMPORTED_MODULE_4__/* .shouldReestablishConnection */ .s)(store.getState())) {
|
|
45042
|
-
store.dispatch(connect());
|
|
45279
|
+
store.dispatch((0,_connection_reducer__WEBPACK_IMPORTED_MODULE_3__/* .connect */ .Ng)());
|
|
45043
45280
|
}
|
|
45044
45281
|
break;
|
|
45045
45282
|
}
|
|
@@ -45051,7 +45288,7 @@ const createConnectionMiddleware = client => store => next => action => {
|
|
|
45051
45288
|
case "NETWORK_ON":
|
|
45052
45289
|
{
|
|
45053
45290
|
if ((0,_helper_connection_watchdog__WEBPACK_IMPORTED_MODULE_4__/* .shouldReestablishConnection */ .s)(store.getState())) {
|
|
45054
|
-
store.dispatch(connect());
|
|
45291
|
+
store.dispatch((0,_connection_reducer__WEBPACK_IMPORTED_MODULE_3__/* .connect */ .Ng)());
|
|
45055
45292
|
}
|
|
45056
45293
|
break;
|
|
45057
45294
|
}
|
|
@@ -45066,16 +45303,22 @@ const createConnectionMiddleware = client => store => next => action => {
|
|
|
45066
45303
|
|
|
45067
45304
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
45068
45305
|
/* harmony export */ FI: () => (/* binding */ connection),
|
|
45306
|
+
/* harmony export */ Ng: () => (/* binding */ connect),
|
|
45069
45307
|
/* harmony export */ Pr: () => (/* binding */ setReconnectionLimit),
|
|
45070
45308
|
/* harmony export */ pE: () => (/* binding */ setConnecting),
|
|
45071
45309
|
/* harmony export */ qJ: () => (/* binding */ setConnected)
|
|
45072
45310
|
/* harmony export */ });
|
|
45073
|
-
/* unused harmony exports SET_CONNECTING, SET_CONNECTED, SET_RECONNECTION_LIMIT */
|
|
45311
|
+
/* unused harmony exports CONNECT, SET_CONNECTING, SET_CONNECTED, SET_RECONNECTION_LIMIT */
|
|
45074
45312
|
const initialState = {
|
|
45075
45313
|
connected: false,
|
|
45076
45314
|
connecting: false,
|
|
45077
|
-
reconnectionLimit: false
|
|
45315
|
+
reconnectionLimit: false,
|
|
45316
|
+
hasAttemptedConnection: false
|
|
45078
45317
|
};
|
|
45318
|
+
const CONNECT = "CONNECT";
|
|
45319
|
+
const connect = () => ({
|
|
45320
|
+
type: CONNECT
|
|
45321
|
+
});
|
|
45079
45322
|
const SET_CONNECTING = "SET_CONNECTING";
|
|
45080
45323
|
const setConnecting = connecting => ({
|
|
45081
45324
|
type: SET_CONNECTING,
|
|
@@ -45097,7 +45340,10 @@ const connection = (state = initialState, action) => {
|
|
|
45097
45340
|
{
|
|
45098
45341
|
return {
|
|
45099
45342
|
...state,
|
|
45100
|
-
connected: action.connected
|
|
45343
|
+
connected: action.connected,
|
|
45344
|
+
// Never reset once true: a past connection attempt is what gates
|
|
45345
|
+
// automatic reconnection, regardless of the current connected state.
|
|
45346
|
+
hasAttemptedConnection: state.hasAttemptedConnection || action.connected
|
|
45101
45347
|
};
|
|
45102
45348
|
}
|
|
45103
45349
|
case "SET_CONNECTING":
|
|
@@ -45114,6 +45360,18 @@ const connection = (state = initialState, action) => {
|
|
|
45114
45360
|
reconnectionLimit: action.reconnectionLimit
|
|
45115
45361
|
};
|
|
45116
45362
|
}
|
|
45363
|
+
case "CONNECT":
|
|
45364
|
+
case "SWITCH_SESSION":
|
|
45365
|
+
{
|
|
45366
|
+
// A session switch connects the socket directly, bypassing CONNECT.
|
|
45367
|
+
// It is still a deliberate connection request, so it must arm the
|
|
45368
|
+
// reconnect latch even if this first attempt fails (e.g. offline).
|
|
45369
|
+
if (state.hasAttemptedConnection) return state;
|
|
45370
|
+
return {
|
|
45371
|
+
...state,
|
|
45372
|
+
hasAttemptedConnection: true
|
|
45373
|
+
};
|
|
45374
|
+
}
|
|
45117
45375
|
default:
|
|
45118
45376
|
{
|
|
45119
45377
|
return state;
|
|
@@ -45494,8 +45752,10 @@ const input = (state = getInitialState(), action) => {
|
|
|
45494
45752
|
/* harmony export */ mN: () => (/* binding */ isAnimatedRichBotMessage),
|
|
45495
45753
|
/* harmony export */ oy: () => (/* binding */ isTextOnlyEscapeSequence)
|
|
45496
45754
|
/* harmony export */ });
|
|
45755
|
+
/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55252);
|
|
45756
|
+
|
|
45497
45757
|
function generateRandomId() {
|
|
45498
|
-
return
|
|
45758
|
+
return crypto.randomUUID?.() ?? (0,uuid__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)();
|
|
45499
45759
|
}
|
|
45500
45760
|
function isAnimatedRichBotMessage(message) {
|
|
45501
45761
|
const {
|
|
@@ -45795,7 +46055,7 @@ const createMessageMiddleware = client => store => next => action => {
|
|
|
45795
46055
|
if (text) {
|
|
45796
46056
|
store.dispatch((0,_message_handler__WEBPACK_IMPORTED_MODULE_2__/* .receiveMessage */ .VI)({
|
|
45797
46057
|
source: "engagement",
|
|
45798
|
-
traceId: `engagement-${
|
|
46058
|
+
traceId: `engagement-${(0,_helper__WEBPACK_IMPORTED_MODULE_5__/* .generateRandomId */ .MZ)()}`,
|
|
45799
46059
|
text
|
|
45800
46060
|
}));
|
|
45801
46061
|
}
|
|
@@ -46241,7 +46501,6 @@ const getOptionsKey = ({
|
|
|
46241
46501
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
46242
46502
|
|
|
46243
46503
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
46244
|
-
/* harmony export */ r: () => (/* binding */ switchSession),
|
|
46245
46504
|
/* harmony export */ w: () => (/* binding */ createPrevConversationsMiddleware)
|
|
46246
46505
|
/* harmony export */ });
|
|
46247
46506
|
/* harmony import */ var _previous_conversations_reducer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(39801);
|
|
@@ -46256,12 +46515,6 @@ const getOptionsKey = ({
|
|
|
46256
46515
|
|
|
46257
46516
|
|
|
46258
46517
|
|
|
46259
|
-
const SWITCH_SESSION = "SWITCH_SESSION";
|
|
46260
|
-
const switchSession = (sessionId = self.crypto?.randomUUID?.(), conversation) => ({
|
|
46261
|
-
type: SWITCH_SESSION,
|
|
46262
|
-
sessionId,
|
|
46263
|
-
conversation
|
|
46264
|
-
});
|
|
46265
46518
|
const createPrevConversationsMiddleware = client => store => next => action => {
|
|
46266
46519
|
switch (action.type) {
|
|
46267
46520
|
case "SWITCH_SESSION":
|
|
@@ -46318,9 +46571,16 @@ const createPrevConversationsMiddleware = client => store => next => action => {
|
|
|
46318
46571
|
/* harmony export */ CK: () => (/* binding */ prevConversations),
|
|
46319
46572
|
/* harmony export */ Wu: () => (/* binding */ upsertPrevConversation),
|
|
46320
46573
|
/* harmony export */ YD: () => (/* binding */ deletePrevConversation),
|
|
46321
|
-
/* harmony export */ dU: () => (/* binding */ setConversations)
|
|
46574
|
+
/* harmony export */ dU: () => (/* binding */ setConversations),
|
|
46575
|
+
/* harmony export */ rm: () => (/* binding */ switchSession)
|
|
46322
46576
|
/* harmony export */ });
|
|
46323
46577
|
const getInitialState = () => ({});
|
|
46578
|
+
const SWITCH_SESSION = "SWITCH_SESSION";
|
|
46579
|
+
const switchSession = (sessionId = self.crypto?.randomUUID?.(), conversation) => ({
|
|
46580
|
+
type: SWITCH_SESSION,
|
|
46581
|
+
sessionId,
|
|
46582
|
+
conversation
|
|
46583
|
+
});
|
|
46324
46584
|
const SET_CONVERSATIONS = "SET_CONVERSATIONS";
|
|
46325
46585
|
const setConversations = conversations => ({
|
|
46326
46586
|
type: SET_CONVERSATIONS,
|
|
@@ -56888,7 +57148,7 @@ article
|
|
|
56888
57148
|
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
|
|
56889
57149
|
margin: 0 4px;
|
|
56890
57150
|
}
|
|
56891
|
-
.
|
|
57151
|
+
._wrapper_1h4l4_1 {
|
|
56892
57152
|
background-color: white;
|
|
56893
57153
|
position: absolute;
|
|
56894
57154
|
z-index: 5000;
|
|
@@ -56902,7 +57162,7 @@ article
|
|
|
56902
57162
|
flex-direction: column;
|
|
56903
57163
|
}
|
|
56904
57164
|
|
|
56905
|
-
.
|
|
57165
|
+
._header_1h4l4_15 {
|
|
56906
57166
|
display: flex;
|
|
56907
57167
|
border-bottom: 1px solid var(--cc-black-80);
|
|
56908
57168
|
padding: 20px;
|
|
@@ -56911,18 +57171,18 @@ article
|
|
|
56911
57171
|
background-color: var(--cc-white);
|
|
56912
57172
|
}
|
|
56913
57173
|
|
|
56914
|
-
.
|
|
57174
|
+
._header_1h4l4_15 ._left_1h4l4_24 {
|
|
56915
57175
|
width: 20px;
|
|
56916
57176
|
}
|
|
56917
57177
|
|
|
56918
|
-
.
|
|
57178
|
+
._header_1h4l4_15 ._center_1h4l4_28 {
|
|
56919
57179
|
display: flex;
|
|
56920
57180
|
align-items: center;
|
|
56921
57181
|
justify-content: center;
|
|
56922
57182
|
height: 28px;
|
|
56923
57183
|
}
|
|
56924
57184
|
|
|
56925
|
-
.
|
|
57185
|
+
._header_1h4l4_15 ._right_1h4l4_35 {
|
|
56926
57186
|
display: flex;
|
|
56927
57187
|
align-items: center;
|
|
56928
57188
|
justify-content: center;
|
|
@@ -56938,16 +57198,16 @@ article
|
|
|
56938
57198
|
border-radius: 4px;
|
|
56939
57199
|
}
|
|
56940
57200
|
|
|
56941
|
-
.
|
|
57201
|
+
._header_1h4l4_15 ._right_1h4l4_35:focus {
|
|
56942
57202
|
outline: 2px solid var(--cc-primary-color-focus);
|
|
56943
57203
|
outline-offset: 2px;
|
|
56944
57204
|
}
|
|
56945
57205
|
|
|
56946
|
-
.
|
|
57206
|
+
._content_1h4l4_56 {
|
|
56947
57207
|
padding: 20px 10px 0px 10px;
|
|
56948
57208
|
}
|
|
56949
57209
|
|
|
56950
|
-
.
|
|
57210
|
+
._footer_1h4l4_60 {
|
|
56951
57211
|
display: flex;
|
|
56952
57212
|
justify-content: center;
|
|
56953
57213
|
align-items: center;
|
|
@@ -56955,7 +57215,7 @@ article
|
|
|
56955
57215
|
padding: 0px 20px;
|
|
56956
57216
|
}
|
|
56957
57217
|
|
|
56958
|
-
.
|
|
57218
|
+
._footer_1h4l4_60._hasTime_1h4l4_68:not(._noCalendar_1h4l4_68) {
|
|
56959
57219
|
margin-top: 30px;
|
|
56960
57220
|
}
|
|
56961
57221
|
|
|
@@ -56965,59 +57225,59 @@ article
|
|
|
56965
57225
|
** The idea is to integrate with modules CSS in order to increase the specificity
|
|
56966
57226
|
** and avoid conflicts on consumer apps
|
|
56967
57227
|
*/
|
|
56968
|
-
.
|
|
57228
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-calendar {
|
|
56969
57229
|
font-size: 16px;
|
|
56970
57230
|
}
|
|
56971
57231
|
|
|
56972
|
-
.
|
|
56973
|
-
.
|
|
57232
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-calendar.open,
|
|
57233
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-calendar.inline {
|
|
56974
57234
|
opacity: 1;
|
|
56975
57235
|
visibility: visible;
|
|
56976
57236
|
}
|
|
56977
57237
|
|
|
56978
|
-
.
|
|
57238
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-calendar.open {
|
|
56979
57239
|
display: inline-block;
|
|
56980
57240
|
z-index: 99999;
|
|
56981
57241
|
}
|
|
56982
57242
|
|
|
56983
|
-
.
|
|
57243
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-calendar.inline {
|
|
56984
57244
|
display: flex;
|
|
56985
57245
|
flex-direction: column;
|
|
56986
57246
|
position: relative;
|
|
56987
57247
|
width: 100%;
|
|
56988
57248
|
}
|
|
56989
57249
|
|
|
56990
|
-
.
|
|
57250
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-calendar.static {
|
|
56991
57251
|
position: absolute;
|
|
56992
57252
|
top: calc(100% + 2px);
|
|
56993
57253
|
}
|
|
56994
57254
|
|
|
56995
|
-
.
|
|
57255
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-calendar.static.open {
|
|
56996
57256
|
z-index: 999;
|
|
56997
57257
|
display: block;
|
|
56998
57258
|
}
|
|
56999
57259
|
|
|
57000
|
-
.
|
|
57001
|
-
.
|
|
57260
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-calendar .hasWeeks .dayContainer,
|
|
57261
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-calendar .hasTime .dayContainer {
|
|
57002
57262
|
border-bottom: 0;
|
|
57003
57263
|
border-bottom-right-radius: 0;
|
|
57004
57264
|
border-bottom-left-radius: 0;
|
|
57005
57265
|
}
|
|
57006
57266
|
|
|
57007
|
-
.
|
|
57267
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-calendar .hasWeeks .dayContainer {
|
|
57008
57268
|
border-left: 0;
|
|
57009
57269
|
}
|
|
57010
57270
|
|
|
57011
|
-
.
|
|
57271
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-calendar:focus {
|
|
57012
57272
|
outline: 0;
|
|
57013
57273
|
}
|
|
57014
57274
|
|
|
57015
|
-
.
|
|
57275
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-calendar .flatpickr-innerContainer:focus-visible {
|
|
57016
57276
|
outline: 2px solid var(--cc-primary-color-focus);
|
|
57017
57277
|
outline-offset: 2px;
|
|
57018
57278
|
}
|
|
57019
57279
|
|
|
57020
|
-
@keyframes _flatpickr-flash-
|
|
57280
|
+
@keyframes _flatpickr-flash-focus_1h4l4_1 {
|
|
57021
57281
|
0% {
|
|
57022
57282
|
background-color: var(--cc-black-95);
|
|
57023
57283
|
}
|
|
@@ -57026,12 +57286,12 @@ article
|
|
|
57026
57286
|
}
|
|
57027
57287
|
}
|
|
57028
57288
|
|
|
57029
|
-
.
|
|
57289
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-wrapper {
|
|
57030
57290
|
width: 100%;
|
|
57031
57291
|
display: flex;
|
|
57032
57292
|
}
|
|
57033
57293
|
|
|
57034
|
-
.
|
|
57294
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-months {
|
|
57035
57295
|
display: flex;
|
|
57036
57296
|
align-items: center;
|
|
57037
57297
|
justify-content: space-between;
|
|
@@ -57041,8 +57301,8 @@ article
|
|
|
57041
57301
|
margin-bottom: 24px;
|
|
57042
57302
|
}
|
|
57043
57303
|
|
|
57044
|
-
.
|
|
57045
|
-
.
|
|
57304
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-months .flatpickr-prev-month,
|
|
57305
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-months .flatpickr-next-month {
|
|
57046
57306
|
text-decoration: none;
|
|
57047
57307
|
cursor: pointer;
|
|
57048
57308
|
display: inline-flex;
|
|
@@ -57054,72 +57314,72 @@ article
|
|
|
57054
57314
|
border-radius: 4px;
|
|
57055
57315
|
}
|
|
57056
57316
|
|
|
57057
|
-
.
|
|
57058
|
-
.
|
|
57317
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-months .flatpickr-prev-month:focus-visible,
|
|
57318
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-months .flatpickr-next-month:focus-visible {
|
|
57059
57319
|
outline: 2px solid var(--cc-primary-color-focus);
|
|
57060
57320
|
outline-offset: 2px;
|
|
57061
57321
|
}
|
|
57062
57322
|
|
|
57063
|
-
.
|
|
57064
|
-
.
|
|
57323
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
|
|
57324
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-months .flatpickr-next-month.flatpickr-disabled {
|
|
57065
57325
|
cursor: default;
|
|
57066
57326
|
}
|
|
57067
57327
|
|
|
57068
|
-
.
|
|
57069
|
-
.
|
|
57328
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
|
|
57329
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
|
|
57070
57330
|
left: 0;
|
|
57071
57331
|
}
|
|
57072
57332
|
|
|
57073
|
-
.
|
|
57074
|
-
.
|
|
57333
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
|
|
57334
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
|
|
57075
57335
|
right: 0;
|
|
57076
57336
|
}
|
|
57077
57337
|
|
|
57078
|
-
.
|
|
57079
|
-
.
|
|
57338
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-months .flatpickr-prev-month svg path,
|
|
57339
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-months .flatpickr-next-month svg path {
|
|
57080
57340
|
fill: var(--cc-black-10);
|
|
57081
57341
|
}
|
|
57082
|
-
.
|
|
57083
|
-
.
|
|
57342
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-months .flatpickr-prev-month.flatpickr-disabled svg path,
|
|
57343
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-months .flatpickr-next-month.flatpickr-disabled svg path {
|
|
57084
57344
|
fill: var(--cc-black-80);
|
|
57085
57345
|
}
|
|
57086
|
-
.
|
|
57346
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-months .flatpickr-next-month svg {
|
|
57087
57347
|
transform: rotate(180deg);
|
|
57088
57348
|
}
|
|
57089
57349
|
|
|
57090
|
-
.
|
|
57350
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .numInputWrapper {
|
|
57091
57351
|
position: relative;
|
|
57092
57352
|
height: auto;
|
|
57093
57353
|
}
|
|
57094
57354
|
|
|
57095
|
-
.
|
|
57096
|
-
.
|
|
57355
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .numInputWrapper input,
|
|
57356
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .numInputWrapper span {
|
|
57097
57357
|
display: inline-block;
|
|
57098
57358
|
}
|
|
57099
57359
|
|
|
57100
|
-
.
|
|
57360
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .numInputWrapper input {
|
|
57101
57361
|
width: 100%;
|
|
57102
57362
|
-moz-appearance: textfield;
|
|
57103
57363
|
appearance: textfield;
|
|
57104
57364
|
}
|
|
57105
57365
|
|
|
57106
|
-
.
|
|
57366
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .numInputWrapper input::-ms-clear {
|
|
57107
57367
|
display: none;
|
|
57108
57368
|
}
|
|
57109
57369
|
|
|
57110
|
-
.
|
|
57111
|
-
.
|
|
57370
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .numInputWrapper input::-webkit-outer-spin-button,
|
|
57371
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .numInputWrapper input::-webkit-inner-spin-button {
|
|
57112
57372
|
margin: 0;
|
|
57113
57373
|
-webkit-appearance: none;
|
|
57114
57374
|
}
|
|
57115
57375
|
|
|
57116
|
-
.
|
|
57376
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month {
|
|
57117
57377
|
display: flex;
|
|
57118
57378
|
gap: 10px;
|
|
57119
57379
|
position: var(--cc-datepicker-current-month-position, static);
|
|
57120
57380
|
}
|
|
57121
57381
|
|
|
57122
|
-
.
|
|
57382
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .flatpickr-monthDropdown-months {
|
|
57123
57383
|
display: block;
|
|
57124
57384
|
padding: 12px;
|
|
57125
57385
|
width: 100%;
|
|
@@ -57135,7 +57395,7 @@ article
|
|
|
57135
57395
|
font-size: 14px;
|
|
57136
57396
|
}
|
|
57137
57397
|
|
|
57138
|
-
.
|
|
57398
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month label {
|
|
57139
57399
|
color: var(--cc-black-40);
|
|
57140
57400
|
position: absolute;
|
|
57141
57401
|
top: var(--cc-datepicker-label-top, -15px);
|
|
@@ -57144,16 +57404,16 @@ article
|
|
|
57144
57404
|
font-size: 12px;
|
|
57145
57405
|
}
|
|
57146
57406
|
|
|
57147
|
-
.
|
|
57407
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .flatpickr-monthDropdown-months::-ms-expand {
|
|
57148
57408
|
display: none;
|
|
57149
57409
|
}
|
|
57150
|
-
.
|
|
57410
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .flatpickr-monthDropdown-months:hover {
|
|
57151
57411
|
border-color: var(--cc-black-60);
|
|
57152
57412
|
}
|
|
57153
|
-
.
|
|
57413
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .flatpickr-monthDropdown-months:focus {
|
|
57154
57414
|
outline: 2px solid var(--cc-primary-color-focus);
|
|
57155
57415
|
}
|
|
57156
|
-
.
|
|
57416
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .flatpickr-monthDropdown-months option {
|
|
57157
57417
|
font-weight: normal;
|
|
57158
57418
|
}
|
|
57159
57419
|
|
|
@@ -57162,17 +57422,113 @@ article
|
|
|
57162
57422
|
display: none;
|
|
57163
57423
|
} */
|
|
57164
57424
|
|
|
57165
|
-
.
|
|
57166
|
-
|
|
57425
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .numInputWrapper {
|
|
57426
|
+
/* Wide enough that the centred 4-digit year clears the 24px arrow column on the right. */
|
|
57427
|
+
width: 76px;
|
|
57167
57428
|
height: 44px;
|
|
57168
57429
|
}
|
|
57169
57430
|
|
|
57170
|
-
|
|
57171
|
-
|
|
57172
|
-
|
|
57431
|
+
/*
|
|
57432
|
+
** Year stepper arrows. Flatpickr builds these itself (createNumberInput("cur-year")) and wires
|
|
57433
|
+
** up click-to-increment natively, but the flatpickr.css port above only copied the
|
|
57434
|
+
** .numInputWrapper wrapper/input rules and skipped every \`.numInputWrapper span\` rule, so the
|
|
57435
|
+
** arrows had no geometry and were explicitly hidden. Restore flatpickr's own geometry, with
|
|
57436
|
+
** three deliberate departures from stock:
|
|
57437
|
+
**
|
|
57438
|
+
** 1. The glyph colour comes from a theme token instead of flatpickr's hardcoded rgba(), and the
|
|
57439
|
+
** arrows carry no hover background.
|
|
57440
|
+
** 2. They reveal on \`:focus-within\` as well as \`:hover\`. Stock flatpickr is hover-only, which
|
|
57441
|
+
** leaves keyboard users with no visible affordance. Keeping them hidden at rest matters
|
|
57442
|
+
** because this library is exact-pinned by Webchat: anything that changes the at-rest
|
|
57443
|
+
** rendering ships to every end customer on the next version bump, and CSA-92602 is a
|
|
57444
|
+
** functional complaint (no way to change the year with the mouse), which hover/focus reveal
|
|
57445
|
+
** fully addresses.
|
|
57446
|
+
** 3. 24x24 hit areas instead of flatpickr's cramped 14px column, so target size (WCAG 2.2
|
|
57447
|
+
** SC 2.5.8) is met outright rather than leaning on the "equivalent means" exemption that the
|
|
57448
|
+
** input's type-a-year and ArrowUp/ArrowDown paths provide. The spans are 24px tall inside a
|
|
57449
|
+
** 44px field, so they overhang it by 2px above and below; nothing in the month header clips
|
|
57450
|
+
** them. They meet exactly at the midline (-2px + 24px = 22px = 50% of 44px), so the two
|
|
57451
|
+
** targets do not overlap and a click cannot be captured by the wrong arrow.
|
|
57452
|
+
**
|
|
57453
|
+
** While hidden they are also inert, so a click near the right edge of the year field cannot
|
|
57454
|
+
** step the year before the arrows have appeared.
|
|
57455
|
+
*/
|
|
57456
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .numInputWrapper span.arrowUp,
|
|
57457
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .numInputWrapper span.arrowDown {
|
|
57458
|
+
position: absolute;
|
|
57459
|
+
right: 1px;
|
|
57460
|
+
width: 24px;
|
|
57461
|
+
height: 24px;
|
|
57462
|
+
padding: 0 7px 0 7px;
|
|
57463
|
+
box-sizing: border-box;
|
|
57464
|
+
line-height: 50%;
|
|
57465
|
+
cursor: pointer;
|
|
57466
|
+
opacity: 0;
|
|
57467
|
+
pointer-events: none;
|
|
57468
|
+
}
|
|
57469
|
+
|
|
57470
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .numInputWrapper span.arrowUp {
|
|
57471
|
+
top: -2px;
|
|
57173
57472
|
}
|
|
57174
57473
|
|
|
57175
|
-
.
|
|
57474
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .numInputWrapper span.arrowDown {
|
|
57475
|
+
top: 50%;
|
|
57476
|
+
}
|
|
57477
|
+
|
|
57478
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .numInputWrapper:hover span.arrowUp,
|
|
57479
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .numInputWrapper:hover span.arrowDown,
|
|
57480
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .numInputWrapper:focus-within span.arrowUp,
|
|
57481
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .numInputWrapper:focus-within span.arrowDown {
|
|
57482
|
+
opacity: 1;
|
|
57483
|
+
pointer-events: auto;
|
|
57484
|
+
}
|
|
57485
|
+
|
|
57486
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .numInputWrapper span:after {
|
|
57487
|
+
display: block;
|
|
57488
|
+
content: "";
|
|
57489
|
+
position: absolute;
|
|
57490
|
+
border-left: 4px solid transparent;
|
|
57491
|
+
border-right: 4px solid transparent;
|
|
57492
|
+
}
|
|
57493
|
+
|
|
57494
|
+
/*
|
|
57495
|
+
** The glyphs are decorations inside the hit areas, so they can be pulled toward the field's
|
|
57496
|
+
** vertical midline without shrinking the 24x24 targets. These percentages are relative to the
|
|
57497
|
+
** 24px spans and land the two triangles ~8px apart, centred on the midline, instead of pushed
|
|
57498
|
+
** to the top and bottom of the 44px field.
|
|
57499
|
+
*/
|
|
57500
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .numInputWrapper span.arrowUp:after {
|
|
57501
|
+
border-bottom: 4px solid var(--cc-black-10);
|
|
57502
|
+
top: 66%;
|
|
57503
|
+
}
|
|
57504
|
+
|
|
57505
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .numInputWrapper span.arrowDown:after {
|
|
57506
|
+
border-top: 4px solid var(--cc-black-10);
|
|
57507
|
+
top: 18%;
|
|
57508
|
+
}
|
|
57509
|
+
|
|
57510
|
+
/*
|
|
57511
|
+
** flatpickr disables the year input when minDate/maxDate pin it to a single year, but it does
|
|
57512
|
+
** not disable the arrows. Mute them off the input's state (they follow it in the DOM) so they
|
|
57513
|
+
** match the disabled treatment the nav and time arrows already get. This rule outranks the
|
|
57514
|
+
** hover/focus reveal above, so the arrows stay inert even once hover makes them visible — a
|
|
57515
|
+
** disabled year still shows why it cannot be stepped rather than silently offering nothing.
|
|
57516
|
+
*/
|
|
57517
|
+
._wrapper_1h4l4_1
|
|
57518
|
+
._content_1h4l4_56
|
|
57519
|
+
.flatpickr-current-month .numInputWrapper input.cur-year[disabled] ~ span {
|
|
57520
|
+
cursor: default;
|
|
57521
|
+
pointer-events: none;
|
|
57522
|
+
}
|
|
57523
|
+
|
|
57524
|
+
._wrapper_1h4l4_1
|
|
57525
|
+
._content_1h4l4_56
|
|
57526
|
+
.flatpickr-current-month .numInputWrapper input.cur-year[disabled] ~ span:after {
|
|
57527
|
+
border-bottom-color: var(--cc-black-80);
|
|
57528
|
+
border-top-color: var(--cc-black-80);
|
|
57529
|
+
}
|
|
57530
|
+
|
|
57531
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month input.cur-year {
|
|
57176
57532
|
border-radius: 10px;
|
|
57177
57533
|
border: 1px solid var(--cc-black-60);
|
|
57178
57534
|
background: var(--cc-white);
|
|
@@ -57187,16 +57543,16 @@ article
|
|
|
57187
57543
|
color: var(--cc-black-10);
|
|
57188
57544
|
}
|
|
57189
57545
|
|
|
57190
|
-
.
|
|
57546
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month input.cur-year:focus {
|
|
57191
57547
|
outline: 2px solid var(--cc-primary-color-focus);
|
|
57192
57548
|
}
|
|
57193
57549
|
|
|
57194
|
-
.
|
|
57195
|
-
.
|
|
57550
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month input.cur-year[disabled],
|
|
57551
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month input.cur-year[disabled]:hover {
|
|
57196
57552
|
pointer-events: none;
|
|
57197
57553
|
}
|
|
57198
57554
|
|
|
57199
|
-
.
|
|
57555
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-weekdays {
|
|
57200
57556
|
background: transparent;
|
|
57201
57557
|
text-align: center;
|
|
57202
57558
|
overflow: hidden;
|
|
@@ -57212,7 +57568,7 @@ article
|
|
|
57212
57568
|
height: 28px;
|
|
57213
57569
|
}
|
|
57214
57570
|
|
|
57215
|
-
.
|
|
57571
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-weekdays .flatpickr-weekdaycontainer {
|
|
57216
57572
|
display: -webkit-box;
|
|
57217
57573
|
display: -webkit-flex;
|
|
57218
57574
|
display: -ms-flexbox;
|
|
@@ -57223,7 +57579,7 @@ article
|
|
|
57223
57579
|
flex: 1;
|
|
57224
57580
|
}
|
|
57225
57581
|
|
|
57226
|
-
.
|
|
57582
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 span.flatpickr-weekday {
|
|
57227
57583
|
cursor: default;
|
|
57228
57584
|
background: transparent;
|
|
57229
57585
|
color: var(--cc-black-40);
|
|
@@ -57235,23 +57591,23 @@ article
|
|
|
57235
57591
|
font-weight: 400;
|
|
57236
57592
|
}
|
|
57237
57593
|
|
|
57238
|
-
.
|
|
57239
|
-
.
|
|
57594
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .dayContainer,
|
|
57595
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-weeks {
|
|
57240
57596
|
padding: 1px 0 0 0;
|
|
57241
57597
|
}
|
|
57242
57598
|
|
|
57243
|
-
.
|
|
57599
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-days {
|
|
57244
57600
|
position: relative;
|
|
57245
57601
|
overflow: visible;
|
|
57246
57602
|
width: 100%;
|
|
57247
57603
|
text-align: center;
|
|
57248
57604
|
}
|
|
57249
57605
|
|
|
57250
|
-
.
|
|
57606
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-days:focus {
|
|
57251
57607
|
outline: 0;
|
|
57252
57608
|
}
|
|
57253
57609
|
|
|
57254
|
-
.
|
|
57610
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .dayContainer {
|
|
57255
57611
|
padding: 0;
|
|
57256
57612
|
outline: 0;
|
|
57257
57613
|
text-align: left;
|
|
@@ -57273,7 +57629,7 @@ article
|
|
|
57273
57629
|
opacity: 1;
|
|
57274
57630
|
}
|
|
57275
57631
|
|
|
57276
|
-
.
|
|
57632
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day {
|
|
57277
57633
|
background: none;
|
|
57278
57634
|
-webkit-box-sizing: border-box;
|
|
57279
57635
|
box-sizing: border-box;
|
|
@@ -57291,13 +57647,13 @@ article
|
|
|
57291
57647
|
aspect-ratio: 1/1;
|
|
57292
57648
|
}
|
|
57293
57649
|
|
|
57294
|
-
.
|
|
57650
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .hasWeeks .flatpickr-day {
|
|
57295
57651
|
-webkit-flex-basis: 14.2857143%;
|
|
57296
57652
|
-ms-flex-preferred-size: 14.2857143%;
|
|
57297
57653
|
flex-basis: 14.2857143%;
|
|
57298
57654
|
}
|
|
57299
57655
|
|
|
57300
|
-
.
|
|
57656
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day .dayInner {
|
|
57301
57657
|
width: 32px;
|
|
57302
57658
|
height: 32px;
|
|
57303
57659
|
border-radius: 10px;
|
|
@@ -57306,77 +57662,77 @@ article
|
|
|
57306
57662
|
justify-content: center;
|
|
57307
57663
|
}
|
|
57308
57664
|
|
|
57309
|
-
.
|
|
57310
|
-
.
|
|
57311
|
-
.
|
|
57312
|
-
.
|
|
57313
|
-
.
|
|
57314
|
-
.
|
|
57665
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day:hover .dayInner,
|
|
57666
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.nextMonthDay:hover .dayInner,
|
|
57667
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.prevMonthDay:hover .dayInner,
|
|
57668
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day:focus .dayInner,
|
|
57669
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.prevMonthDay:focus .dayInner,
|
|
57670
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.nextMonthDay:focus .dayInner {
|
|
57315
57671
|
background-color: var(--cc-black-95);
|
|
57316
57672
|
}
|
|
57317
57673
|
|
|
57318
57674
|
/* Visible focus ring for the roving-tabindex day. The .flatpickr-day cell receives DOM
|
|
57319
57675
|
focus; the ring hugs the inner pill so keyboard users can see which date is focused. */
|
|
57320
|
-
.
|
|
57676
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day {
|
|
57321
57677
|
outline: none;
|
|
57322
57678
|
}
|
|
57323
57679
|
|
|
57324
|
-
.
|
|
57325
|
-
.
|
|
57680
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day:focus-visible .dayInner,
|
|
57681
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day:focus .dayInner {
|
|
57326
57682
|
outline: 2px solid var(--cc-primary-color);
|
|
57327
57683
|
outline-offset: 2px;
|
|
57328
57684
|
}
|
|
57329
57685
|
|
|
57330
|
-
.
|
|
57331
|
-
.
|
|
57332
|
-
.
|
|
57686
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.flatpickr-disabled .dayInner,
|
|
57687
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.prevMonthDay.flatpickr-disabled .dayInner,
|
|
57688
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.nextMonthDay.flatpickr-disabled .dayInner {
|
|
57333
57689
|
background-color: transparent;
|
|
57334
57690
|
}
|
|
57335
57691
|
|
|
57336
|
-
.
|
|
57692
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.today .dayInner {
|
|
57337
57693
|
background-color: var(--cc-datepicker-today-background, var(--cc-primary-color-opacity-20));
|
|
57338
57694
|
color: var(--cc-datepicker-today-color, inherit);
|
|
57339
57695
|
}
|
|
57340
57696
|
|
|
57341
|
-
.
|
|
57697
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.selected .dayInner {
|
|
57342
57698
|
background-color: var(--cc-primary-color);
|
|
57343
57699
|
color: var(--cc-primary-contrast-color);
|
|
57344
57700
|
}
|
|
57345
57701
|
|
|
57346
|
-
.
|
|
57347
|
-
.
|
|
57348
|
-
.
|
|
57349
|
-
.
|
|
57350
|
-
.
|
|
57351
|
-
.
|
|
57352
|
-
.
|
|
57702
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.inRange .dayInner,
|
|
57703
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.inRange:hover .dayInner,
|
|
57704
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.prevMonthDay.inRange .dayInner,
|
|
57705
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.nextMonthDay.inRange .dayInner,
|
|
57706
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.today.inRange .dayInner,
|
|
57707
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.prevMonthDay.today.inRange .dayInner,
|
|
57708
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.nextMonthDay.today.inRange .dayInner {
|
|
57353
57709
|
width: 100%;
|
|
57354
57710
|
background-color: var(--cc-primary-color);
|
|
57355
57711
|
color: var(--cc-primary-contrast-color);
|
|
57356
57712
|
}
|
|
57357
57713
|
|
|
57358
|
-
.
|
|
57359
|
-
.
|
|
57360
|
-
.
|
|
57361
|
-
.
|
|
57714
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.startRange .dayInner,
|
|
57715
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.startRange:hover .dayInner,
|
|
57716
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.endRange .dayInner,
|
|
57717
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.endRange:hover .dayInner {
|
|
57362
57718
|
background-color: var(--cc-primary-color);
|
|
57363
57719
|
color: var(--cc-primary-contrast-color);
|
|
57364
57720
|
}
|
|
57365
57721
|
|
|
57366
|
-
.
|
|
57722
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.startRange:not(.endRange) .dayInner {
|
|
57367
57723
|
border-top-right-radius: unset;
|
|
57368
57724
|
border-bottom-right-radius: unset;
|
|
57369
57725
|
}
|
|
57370
57726
|
|
|
57371
|
-
.
|
|
57727
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.endRange:not(.startRange) .dayInner {
|
|
57372
57728
|
border-top-left-radius: unset;
|
|
57373
57729
|
border-bottom-left-radius: unset;
|
|
57374
57730
|
}
|
|
57375
57731
|
|
|
57376
|
-
.
|
|
57377
|
-
.
|
|
57378
|
-
.
|
|
57379
|
-
.
|
|
57732
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.inRange .dayInner::after,
|
|
57733
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.startRange:not(.endRange) .dayInner::after,
|
|
57734
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.inRange .dayInner::before,
|
|
57735
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.endRange:not(.startRange) .dayInner::before {
|
|
57380
57736
|
content: "";
|
|
57381
57737
|
height: 32px;
|
|
57382
57738
|
width: 32px;
|
|
@@ -57384,43 +57740,43 @@ article
|
|
|
57384
57740
|
background-color: var(--cc-primary-color);
|
|
57385
57741
|
z-index: -1;
|
|
57386
57742
|
}
|
|
57387
|
-
.
|
|
57388
|
-
.
|
|
57743
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.inRange .dayInner::after,
|
|
57744
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.startRange:not(.endRange) .dayInner::after {
|
|
57389
57745
|
right: -13px;
|
|
57390
57746
|
}
|
|
57391
|
-
.
|
|
57392
|
-
.
|
|
57747
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.inRange .dayInner::before,
|
|
57748
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.endRange:not(.startRange) .dayInner::before {
|
|
57393
57749
|
left: -13px;
|
|
57394
57750
|
}
|
|
57395
57751
|
|
|
57396
|
-
.
|
|
57397
|
-
.
|
|
57398
|
-
.
|
|
57399
|
-
.
|
|
57400
|
-
.
|
|
57401
|
-
.
|
|
57402
|
-
.
|
|
57403
|
-
.
|
|
57752
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.flatpickr-disabled,
|
|
57753
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-disabled.flatpickr-day,
|
|
57754
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.flatpickr-disabled:hover,
|
|
57755
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.prevMonthDay,
|
|
57756
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.nextMonthDay,
|
|
57757
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.notAllowed,
|
|
57758
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.notAllowed.prevMonthDay,
|
|
57759
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.notAllowed.nextMonthDay {
|
|
57404
57760
|
color: var(--cc-black-80);
|
|
57405
57761
|
background: transparent;
|
|
57406
57762
|
border-color: transparent;
|
|
57407
57763
|
cursor: default;
|
|
57408
57764
|
}
|
|
57409
57765
|
|
|
57410
|
-
.
|
|
57411
|
-
.
|
|
57766
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.flatpickr-disabled,
|
|
57767
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.flatpickr-disabled:hover {
|
|
57412
57768
|
cursor: not-allowed;
|
|
57413
57769
|
}
|
|
57414
57770
|
|
|
57415
|
-
.
|
|
57771
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-day.hidden {
|
|
57416
57772
|
visibility: hidden;
|
|
57417
57773
|
}
|
|
57418
57774
|
|
|
57419
|
-
.
|
|
57775
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .rangeMode .flatpickr-day {
|
|
57420
57776
|
margin-top: 1px;
|
|
57421
57777
|
}
|
|
57422
57778
|
|
|
57423
|
-
.
|
|
57779
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-weekwrapper .flatpickr-weekday {
|
|
57424
57780
|
background: transparent;
|
|
57425
57781
|
text-align: center;
|
|
57426
57782
|
overflow: hidden;
|
|
@@ -57431,8 +57787,8 @@ article
|
|
|
57431
57787
|
height: 28px;
|
|
57432
57788
|
}
|
|
57433
57789
|
|
|
57434
|
-
.
|
|
57435
|
-
.
|
|
57790
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-weekwrapper span.flatpickr-day,
|
|
57791
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-weekwrapper span.flatpickr-day:hover {
|
|
57436
57792
|
background: none;
|
|
57437
57793
|
-webkit-box-sizing: border-box;
|
|
57438
57794
|
box-sizing: border-box;
|
|
@@ -57451,14 +57807,14 @@ article
|
|
|
57451
57807
|
width: 100%;
|
|
57452
57808
|
}
|
|
57453
57809
|
|
|
57454
|
-
.
|
|
57455
|
-
.
|
|
57810
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .hasWeeks .flatpickr-weekwrapper span.flatpickr-day,
|
|
57811
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .hasWeeks .flatpickr-weekwrapper span.flatpickr-day:hover {
|
|
57456
57812
|
-webkit-flex-basis: 14.2857143%;
|
|
57457
57813
|
-ms-flex-preferred-size: 14.2857143%;
|
|
57458
57814
|
flex-basis: 14.2857143%;
|
|
57459
57815
|
}
|
|
57460
57816
|
|
|
57461
|
-
.
|
|
57817
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-weekwrapper span.flatpickr-day span.weekdayInner {
|
|
57462
57818
|
width: 27px;
|
|
57463
57819
|
height: 100%;
|
|
57464
57820
|
display: flex;
|
|
@@ -57466,17 +57822,17 @@ article
|
|
|
57466
57822
|
justify-content: center;
|
|
57467
57823
|
background-color: var(--cc-black-80);
|
|
57468
57824
|
}
|
|
57469
|
-
.
|
|
57825
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-weekwrapper span.flatpickr-day span.weekdayInner.currentWeek {
|
|
57470
57826
|
color: var(--cc-black-40);
|
|
57471
57827
|
}
|
|
57472
57828
|
|
|
57473
|
-
.
|
|
57829
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-weekwrapper span.flatpickr-day:first-child span.weekdayInner {
|
|
57474
57830
|
height: 27px;
|
|
57475
57831
|
border-top-right-radius: 10px;
|
|
57476
57832
|
border-top-left-radius: 10px;
|
|
57477
57833
|
}
|
|
57478
|
-
.
|
|
57479
|
-
.
|
|
57834
|
+
._wrapper_1h4l4_1
|
|
57835
|
+
._content_1h4l4_56
|
|
57480
57836
|
.flatpickr-weekwrapper span.flatpickr-day:first-child span.weekdayInner::after {
|
|
57481
57837
|
content: "";
|
|
57482
57838
|
width: 27px;
|
|
@@ -57486,13 +57842,13 @@ article
|
|
|
57486
57842
|
background-color: var(--cc-black-80);
|
|
57487
57843
|
}
|
|
57488
57844
|
|
|
57489
|
-
.
|
|
57845
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-weekwrapper span.flatpickr-day:last-child span.weekdayInner {
|
|
57490
57846
|
height: 27px;
|
|
57491
57847
|
border-bottom-right-radius: 10px;
|
|
57492
57848
|
border-bottom-left-radius: 10px;
|
|
57493
57849
|
}
|
|
57494
|
-
.
|
|
57495
|
-
.
|
|
57850
|
+
._wrapper_1h4l4_1
|
|
57851
|
+
._content_1h4l4_56
|
|
57496
57852
|
.flatpickr-weekwrapper span.flatpickr-day:last-child span.weekdayInner::after {
|
|
57497
57853
|
content: "";
|
|
57498
57854
|
width: 27px;
|
|
@@ -57502,20 +57858,20 @@ article
|
|
|
57502
57858
|
background-color: var(--cc-black-80);
|
|
57503
57859
|
}
|
|
57504
57860
|
|
|
57505
|
-
.
|
|
57861
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-weekwrapper {
|
|
57506
57862
|
float: left;
|
|
57507
57863
|
width: 12.5%;
|
|
57508
57864
|
position: relative;
|
|
57509
57865
|
z-index: 1;
|
|
57510
57866
|
}
|
|
57511
57867
|
|
|
57512
|
-
.
|
|
57868
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-rContainer {
|
|
57513
57869
|
display: flex;
|
|
57514
57870
|
flex-direction: column;
|
|
57515
57871
|
flex-grow: 1;
|
|
57516
57872
|
}
|
|
57517
57873
|
|
|
57518
|
-
.
|
|
57874
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time {
|
|
57519
57875
|
text-align: center;
|
|
57520
57876
|
outline: 0;
|
|
57521
57877
|
height: 116px;
|
|
@@ -57529,17 +57885,17 @@ article
|
|
|
57529
57885
|
justify-content: center;
|
|
57530
57886
|
}
|
|
57531
57887
|
|
|
57532
|
-
.
|
|
57888
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .noCalendar .flatpickr-time {
|
|
57533
57889
|
border-top: none;
|
|
57534
57890
|
}
|
|
57535
57891
|
|
|
57536
|
-
.
|
|
57892
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time:after {
|
|
57537
57893
|
content: "";
|
|
57538
57894
|
display: table;
|
|
57539
57895
|
clear: both;
|
|
57540
57896
|
}
|
|
57541
57897
|
|
|
57542
|
-
.
|
|
57898
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time .numInputWrapper {
|
|
57543
57899
|
width: 44px;
|
|
57544
57900
|
height: 100%;
|
|
57545
57901
|
position: relative;
|
|
@@ -57547,13 +57903,13 @@ article
|
|
|
57547
57903
|
align-items: center;
|
|
57548
57904
|
}
|
|
57549
57905
|
|
|
57550
|
-
.
|
|
57551
|
-
.
|
|
57906
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time span.arrowUp:after,
|
|
57907
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time span.arrowDown:after {
|
|
57552
57908
|
display: none;
|
|
57553
57909
|
}
|
|
57554
57910
|
|
|
57555
|
-
.
|
|
57556
|
-
.
|
|
57911
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time span.arrowUp,
|
|
57912
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time span.arrowDown {
|
|
57557
57913
|
position: absolute;
|
|
57558
57914
|
width: 44px;
|
|
57559
57915
|
display: flex;
|
|
@@ -57561,33 +57917,33 @@ article
|
|
|
57561
57917
|
cursor: pointer;
|
|
57562
57918
|
}
|
|
57563
57919
|
|
|
57564
|
-
.
|
|
57565
|
-
.
|
|
57920
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time span.arrowUp.disabled,
|
|
57921
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time span.arrowDown.disabled {
|
|
57566
57922
|
cursor: default;
|
|
57567
57923
|
}
|
|
57568
57924
|
|
|
57569
|
-
.
|
|
57925
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time svg {
|
|
57570
57926
|
pointer-events: none;
|
|
57571
57927
|
}
|
|
57572
57928
|
|
|
57573
|
-
.
|
|
57929
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time svg path {
|
|
57574
57930
|
fill: var(--cc-black-10);
|
|
57575
57931
|
}
|
|
57576
57932
|
|
|
57577
|
-
.
|
|
57933
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time span.disabled svg path {
|
|
57578
57934
|
fill: var(--cc-black-80);
|
|
57579
57935
|
}
|
|
57580
57936
|
|
|
57581
|
-
.
|
|
57937
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time span.arrowUp {
|
|
57582
57938
|
top: 0;
|
|
57583
57939
|
transform: rotate(90deg);
|
|
57584
57940
|
}
|
|
57585
|
-
.
|
|
57941
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time span.arrowDown {
|
|
57586
57942
|
bottom: 0;
|
|
57587
57943
|
transform: rotate(270deg);
|
|
57588
57944
|
}
|
|
57589
57945
|
|
|
57590
|
-
.
|
|
57946
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time input {
|
|
57591
57947
|
border-radius: 10px;
|
|
57592
57948
|
border: 1px solid var(--cc-black-60, #999);
|
|
57593
57949
|
background: var(--cc-white, #fff);
|
|
@@ -57604,31 +57960,31 @@ article
|
|
|
57604
57960
|
color: var(--cc-black-10);
|
|
57605
57961
|
}
|
|
57606
57962
|
|
|
57607
|
-
.
|
|
57608
|
-
.
|
|
57963
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time input.flatpickr-minute,
|
|
57964
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time input.flatpickr-second {
|
|
57609
57965
|
font-weight: 400;
|
|
57610
57966
|
}
|
|
57611
57967
|
|
|
57612
|
-
.
|
|
57613
|
-
.
|
|
57614
|
-
.
|
|
57968
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time input.flatpickr-hour:focus,
|
|
57969
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time input.flatpickr-minute:focus,
|
|
57970
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time input.flatpickr-second:focus {
|
|
57615
57971
|
outline: 2px solid var(--cc-primary-color-focus);
|
|
57616
57972
|
}
|
|
57617
57973
|
|
|
57618
|
-
.
|
|
57974
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time span.flatpickr-am-pm:focus-visible {
|
|
57619
57975
|
outline: 2px solid var(--cc-primary-color-focus);
|
|
57620
57976
|
outline-offset: -2px;
|
|
57621
57977
|
}
|
|
57622
57978
|
|
|
57623
|
-
.
|
|
57979
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time input:focus {
|
|
57624
57980
|
outline: 0;
|
|
57625
57981
|
}
|
|
57626
57982
|
|
|
57627
|
-
.
|
|
57983
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time .flatpickr-time-separator {
|
|
57628
57984
|
width: 20px;
|
|
57629
57985
|
}
|
|
57630
57986
|
|
|
57631
|
-
.
|
|
57987
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time .flatpickr-am-pm {
|
|
57632
57988
|
font-size: 14px;
|
|
57633
57989
|
outline: 0;
|
|
57634
57990
|
cursor: pointer;
|
|
@@ -57642,21 +57998,21 @@ article
|
|
|
57642
57998
|
color: var(--cc-black-10);
|
|
57643
57999
|
}
|
|
57644
58000
|
|
|
57645
|
-
.
|
|
58001
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time .flatpickr-am-pm span:not(.disabled) {
|
|
57646
58002
|
pointer-events: none;
|
|
57647
58003
|
}
|
|
57648
58004
|
|
|
57649
|
-
.
|
|
58005
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-input {
|
|
57650
58006
|
display: none;
|
|
57651
58007
|
}
|
|
57652
58008
|
|
|
57653
58009
|
@media screen and (max-height: 780px) {
|
|
57654
|
-
.
|
|
58010
|
+
._wrapper_1h4l4_1 ._contentWrapper_1h4l4_860 {
|
|
57655
58011
|
overflow-y: auto;
|
|
57656
58012
|
}
|
|
57657
58013
|
}
|
|
57658
58014
|
@media screen and (max-width: 575px) {
|
|
57659
|
-
.
|
|
58015
|
+
._wrapper_1h4l4_1 ._contentWrapper_1h4l4_860 {
|
|
57660
58016
|
overflow-y: auto;
|
|
57661
58017
|
overflow-x: hidden;
|
|
57662
58018
|
padding-bottom: 40px;
|
|
@@ -57665,32 +58021,33 @@ article
|
|
|
57665
58021
|
/*
|
|
57666
58022
|
* Prevent auto-zoom on mobile devices
|
|
57667
58023
|
*/
|
|
57668
|
-
.
|
|
58024
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .flatpickr-monthDropdown-months {
|
|
57669
58025
|
font-size: 16px;
|
|
57670
58026
|
}
|
|
57671
58027
|
|
|
57672
|
-
|
|
57673
|
-
|
|
58028
|
+
/* Same reasoning as the base rule, scaled for the 16px anti-auto-zoom font size. */
|
|
58029
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month .numInputWrapper {
|
|
58030
|
+
width: 80px;
|
|
57674
58031
|
}
|
|
57675
58032
|
|
|
57676
|
-
.
|
|
58033
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-current-month input.cur-year {
|
|
57677
58034
|
font-size: 16px;
|
|
57678
58035
|
}
|
|
57679
58036
|
|
|
57680
|
-
.
|
|
58037
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56._content_1h4l4_56 .flatpickr-time .numInputWrapper {
|
|
57681
58038
|
width: 46px;
|
|
57682
58039
|
}
|
|
57683
58040
|
|
|
57684
|
-
.
|
|
57685
|
-
.
|
|
58041
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time span.arrowUp,
|
|
58042
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time span.arrowDown {
|
|
57686
58043
|
width: 46px;
|
|
57687
58044
|
}
|
|
57688
58045
|
|
|
57689
|
-
.
|
|
58046
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time input {
|
|
57690
58047
|
font-size: 16px;
|
|
57691
58048
|
}
|
|
57692
58049
|
|
|
57693
|
-
.
|
|
58050
|
+
._wrapper_1h4l4_1 ._content_1h4l4_56 .flatpickr-time .flatpickr-am-pm {
|
|
57694
58051
|
font-size: 16px;
|
|
57695
58052
|
}
|
|
57696
58053
|
}
|
|
@@ -85023,7 +85380,7 @@ const ActionButton = props2 => {
|
|
|
85023
85380
|
const sanitizedButtonUrl = isWebURL ? distExports.sanitizeUrl(button2.url) : void 0;
|
|
85024
85381
|
const webUrlHref = config2?.settings?.layout?.disableUrlButtonSanitization ? button2.url : sanitizedButtonUrl === "about:blank" ? "about:blank" : button2.url;
|
|
85025
85382
|
const isWebURLButtonTargetBlank = isWebURL && button2.target !== "_self";
|
|
85026
|
-
const opensInNewTab =
|
|
85383
|
+
const opensInNewTab = isWebURLButtonTargetBlank;
|
|
85027
85384
|
const opensInNewTabLabel = config2?.settings?.customTranslations?.ariaLabels?.opensInNewTab || "Opens in new tab";
|
|
85028
85385
|
const positionText = total > 1 ? interpolateString(config2?.settings?.customTranslations?.ariaLabels?.actionButtonPositionText ?? "{position} of {total}", {
|
|
85029
85386
|
position: position2.toString(),
|
|
@@ -85062,15 +85419,15 @@ const ActionButton = props2 => {
|
|
|
85062
85419
|
return;
|
|
85063
85420
|
}
|
|
85064
85421
|
if (isWebURL) {
|
|
85065
|
-
|
|
85066
|
-
if (disabled2) event.preventDefault();
|
|
85067
|
-
return;
|
|
85068
|
-
}
|
|
85422
|
+
const url = config2?.settings?.layout?.disableUrlButtonSanitization ? button2.url : sanitizedButtonUrl;
|
|
85069
85423
|
event.preventDefault();
|
|
85070
85424
|
if (disabled2) return;
|
|
85071
|
-
|
|
85072
|
-
if (
|
|
85073
|
-
|
|
85425
|
+
if (!url || url === "about:blank") return;
|
|
85426
|
+
if (isWebURLButtonTargetBlank) {
|
|
85427
|
+
window.open(url, "_blank", "noopener");
|
|
85428
|
+
} else {
|
|
85429
|
+
window.open(url, "_self");
|
|
85430
|
+
}
|
|
85074
85431
|
return;
|
|
85075
85432
|
}
|
|
85076
85433
|
if (disabled2) return;
|
|
@@ -85190,9 +85547,11 @@ const ActionButtons = props2 => {
|
|
|
85190
85547
|
}, index2) : actionButton2;
|
|
85191
85548
|
});
|
|
85192
85549
|
const Component = buttons2.length > 1 ? "ul" : "div";
|
|
85550
|
+
const singleButtonRole = Component === "div" && templateTextId ? "group" : void 0;
|
|
85193
85551
|
return /* @__PURE__ */(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Component, {
|
|
85194
85552
|
className: classnames$1(className, classes$d.buttons, containerClassName),
|
|
85195
85553
|
style: containerStyle || {},
|
|
85554
|
+
role: singleButtonRole,
|
|
85196
85555
|
"aria-labelledby": templateTextId,
|
|
85197
85556
|
"data-testid": "action-buttons",
|
|
85198
85557
|
children: buttonElements
|
|
@@ -98261,7 +98620,8 @@ const Gallery = () => {
|
|
|
98261
98620
|
nextEl: ".gallery-button-next"
|
|
98262
98621
|
},
|
|
98263
98622
|
pagination: {
|
|
98264
|
-
clickable: true
|
|
98623
|
+
clickable: true,
|
|
98624
|
+
el: ".gallery-pagination"
|
|
98265
98625
|
},
|
|
98266
98626
|
className: classnames$1("webchat-carousel-template-root", classes$8.wrapper),
|
|
98267
98627
|
"data-testid": "gallery-message",
|
|
@@ -98282,19 +98642,21 @@ const Gallery = () => {
|
|
|
98282
98642
|
}), /* @__PURE__ */(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", {
|
|
98283
98643
|
className: "gallery-button-next",
|
|
98284
98644
|
children: /* @__PURE__ */(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(SvgArrowBack, {})
|
|
98645
|
+
}), /* @__PURE__ */(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
|
|
98646
|
+
className: "gallery-pagination swiper-pagination"
|
|
98285
98647
|
})]
|
|
98286
98648
|
});
|
|
98287
98649
|
};
|
|
98288
|
-
const wrapper = "
|
|
98289
|
-
const header$1 = "
|
|
98290
|
-
const left = "
|
|
98291
|
-
const center = "
|
|
98292
|
-
const right = "
|
|
98293
|
-
const content = "
|
|
98294
|
-
const footer = "
|
|
98295
|
-
const hasTime = "
|
|
98296
|
-
const noCalendar = "
|
|
98297
|
-
const contentWrapper = "
|
|
98650
|
+
const wrapper = "_wrapper_1h4l4_1";
|
|
98651
|
+
const header$1 = "_header_1h4l4_15";
|
|
98652
|
+
const left = "_left_1h4l4_24";
|
|
98653
|
+
const center = "_center_1h4l4_28";
|
|
98654
|
+
const right = "_right_1h4l4_35";
|
|
98655
|
+
const content = "_content_1h4l4_56";
|
|
98656
|
+
const footer = "_footer_1h4l4_60";
|
|
98657
|
+
const hasTime = "_hasTime_1h4l4_68";
|
|
98658
|
+
const noCalendar = "_noCalendar_1h4l4_68";
|
|
98659
|
+
const contentWrapper = "_contentWrapper_1h4l4_860";
|
|
98298
98660
|
const classes$6 = {
|
|
98299
98661
|
wrapper,
|
|
98300
98662
|
header: header$1,
|
|
@@ -117905,7 +118267,7 @@ const TextWithButtons = props2 => {
|
|
|
117905
118267
|
showUrlIcon: true,
|
|
117906
118268
|
config: config2,
|
|
117907
118269
|
onEmitAnalytics,
|
|
117908
|
-
templateTextId: webchatButtonTemplateTextId,
|
|
118270
|
+
templateTextId: text2 ? webchatButtonTemplateTextId : void 0,
|
|
117909
118271
|
openXAppOverlay
|
|
117910
118272
|
})]
|
|
117911
118273
|
});
|
|
@@ -133596,12 +133958,14 @@ const AdaptiveCards = () => {
|
|
|
133596
133958
|
}
|
|
133597
133959
|
case "Action.OpenUrl":
|
|
133598
133960
|
{
|
|
133599
|
-
const
|
|
133600
|
-
|
|
133961
|
+
const rawUrl = action._propertyBag?.url;
|
|
133962
|
+
const url = config2?.settings?.layout?.disableUrlButtonSanitization ? rawUrl : distExports.sanitizeUrl(rawUrl);
|
|
133963
|
+
if (!url || url === "about:blank") return;
|
|
133964
|
+
window.open(url, "_blank", "noopener");
|
|
133601
133965
|
return;
|
|
133602
133966
|
}
|
|
133603
133967
|
}
|
|
133604
|
-
}, [onSendMessage, shouldBeDisabled]);
|
|
133968
|
+
}, [onSendMessage, shouldBeDisabled, config2?.settings?.layout?.disableUrlButtonSanitization]);
|
|
133605
133969
|
return /* @__PURE__ */(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(ChatBubble, {
|
|
133606
133970
|
className: classnames$1(styles["adaptivecard-wrapper"], "adaptivecard-wrapper internal", shouldBeDisabled && styles.chatDisabled),
|
|
133607
133971
|
children: /* @__PURE__ */(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(AdaptiveCard, {
|
|
@@ -138440,6 +138804,17 @@ function getAdapter(adapters, config) {
|
|
|
138440
138804
|
|
|
138441
138805
|
|
|
138442
138806
|
const DEFAULT_CHUNK_SIZE = 64 * 1024;
|
|
138807
|
+
const DEFAULT_REQUEST_OPTIONS = {
|
|
138808
|
+
cache: 'default',
|
|
138809
|
+
redirect: 'follow',
|
|
138810
|
+
referrer: 'about:client',
|
|
138811
|
+
referrerPolicy: '',
|
|
138812
|
+
mode: 'cors',
|
|
138813
|
+
integrity: '',
|
|
138814
|
+
keepalive: false,
|
|
138815
|
+
priority: 'auto',
|
|
138816
|
+
window: null
|
|
138817
|
+
};
|
|
138443
138818
|
const {
|
|
138444
138819
|
isFunction
|
|
138445
138820
|
} = _utils_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A;
|
|
@@ -138582,7 +138957,8 @@ const factory = env => {
|
|
|
138582
138957
|
withCredentials = 'same-origin',
|
|
138583
138958
|
fetchOptions,
|
|
138584
138959
|
maxContentLength,
|
|
138585
|
-
maxBodyLength
|
|
138960
|
+
maxBodyLength,
|
|
138961
|
+
maxRedirects
|
|
138586
138962
|
} = (0,_helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(config);
|
|
138587
138963
|
const hasMaxContentLength = _utils_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.isNumber(maxContentLength) && maxContentLength > -1;
|
|
138588
138964
|
const hasMaxBodyLength = _utils_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.isNumber(maxBodyLength) && maxBodyLength > -1;
|
|
@@ -138713,17 +139089,46 @@ const factory = env => {
|
|
|
138713
139089
|
|
|
138714
139090
|
// Set User-Agent header if not already set (fetch defaults to 'node' in Node.js)
|
|
138715
139091
|
headers.set('User-Agent', 'axios/' + _env_data_js__WEBPACK_IMPORTED_MODULE_10__/* .VERSION */ .x, false);
|
|
138716
|
-
const
|
|
138717
|
-
|
|
139092
|
+
const safeFetchOptions = fetchOptions == null ? fetchOptions : Object.assign(Object.create(null), fetchOptions);
|
|
139093
|
+
if (safeFetchOptions) {
|
|
139094
|
+
// These options are owned by Axios and are already reflected in the
|
|
139095
|
+
// resolved Request passed to fetch.
|
|
139096
|
+
delete safeFetchOptions.body;
|
|
139097
|
+
delete safeFetchOptions.headers;
|
|
139098
|
+
delete safeFetchOptions.method;
|
|
139099
|
+
delete safeFetchOptions.signal;
|
|
139100
|
+
delete safeFetchOptions.duplex;
|
|
139101
|
+
delete safeFetchOptions.credentials;
|
|
139102
|
+
}
|
|
139103
|
+
const resolvedOptions = Object.assign(Object.create(null), safeFetchOptions, {
|
|
138718
139104
|
signal: composedSignal,
|
|
138719
139105
|
method: method.toUpperCase(),
|
|
138720
139106
|
headers: (0,_helpers_sanitizeHeaderValue_js__WEBPACK_IMPORTED_MODULE_11__/* .toByteStringHeaderObject */ .$$)(headers.normalize()),
|
|
138721
139107
|
body: data,
|
|
138722
139108
|
duplex: 'half',
|
|
138723
139109
|
credentials: isCredentialsSupported ? withCredentials : undefined
|
|
138724
|
-
};
|
|
139110
|
+
});
|
|
139111
|
+
if (isRequestSupported) {
|
|
139112
|
+
_utils_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.forEach(DEFAULT_REQUEST_OPTIONS, (value, key) => {
|
|
139113
|
+
if (resolvedOptions[key] === undefined) {
|
|
139114
|
+
resolvedOptions[key] = value;
|
|
139115
|
+
}
|
|
139116
|
+
});
|
|
139117
|
+
if (resolvedOptions.signal === undefined) {
|
|
139118
|
+
resolvedOptions.signal = null;
|
|
139119
|
+
}
|
|
139120
|
+
if (resolvedOptions.body === undefined) {
|
|
139121
|
+
resolvedOptions.body = null;
|
|
139122
|
+
}
|
|
139123
|
+
}
|
|
139124
|
+
if (maxRedirects === 0) {
|
|
139125
|
+
resolvedOptions.redirect = 'manual';
|
|
139126
|
+
if (safeFetchOptions) {
|
|
139127
|
+
safeFetchOptions.redirect = 'manual';
|
|
139128
|
+
}
|
|
139129
|
+
}
|
|
138725
139130
|
request = isRequestSupported && new Request(url, resolvedOptions);
|
|
138726
|
-
let response = await (isRequestSupported ? _fetch(request,
|
|
139131
|
+
let response = await (isRequestSupported ? _fetch(request, safeFetchOptions) : _fetch(url, resolvedOptions));
|
|
138727
139132
|
const responseHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A.from(response.headers);
|
|
138728
139133
|
|
|
138729
139134
|
// Cheap pre-check: if the server honestly declares a content-length that
|
|
@@ -138884,12 +139289,14 @@ const adapter = getFetch();
|
|
|
138884
139289
|
/* harmony import */ var _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(96458);
|
|
138885
139290
|
/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7996);
|
|
138886
139291
|
/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(62200);
|
|
138887
|
-
/* harmony import */ var
|
|
138888
|
-
/* harmony import */ var
|
|
138889
|
-
/* harmony import */ var
|
|
138890
|
-
/* harmony import */ var
|
|
138891
|
-
/* harmony import */ var
|
|
138892
|
-
/* harmony import */ var
|
|
139292
|
+
/* harmony import */ var _helpers_normalizeURLForProtocolCheck_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(69893);
|
|
139293
|
+
/* harmony import */ var _helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(58177);
|
|
139294
|
+
/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(75194);
|
|
139295
|
+
/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(88580);
|
|
139296
|
+
/* harmony import */ var _helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(41487);
|
|
139297
|
+
/* harmony import */ var _helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(38652);
|
|
139298
|
+
/* harmony import */ var _helpers_sanitizeHeaderValue_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(5681);
|
|
139299
|
+
|
|
138893
139300
|
|
|
138894
139301
|
|
|
138895
139302
|
|
|
@@ -138904,9 +139311,9 @@ const adapter = getFetch();
|
|
|
138904
139311
|
const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';
|
|
138905
139312
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isXHRAdapterSupported && function (config) {
|
|
138906
139313
|
return new Promise(function dispatchXhrRequest(resolve, reject) {
|
|
138907
|
-
const _config = (0,
|
|
139314
|
+
const _config = (0,_helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .A)(config);
|
|
138908
139315
|
let requestData = _config.data;
|
|
138909
|
-
const requestHeaders =
|
|
139316
|
+
const requestHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A.from(_config.headers).normalize();
|
|
138910
139317
|
let {
|
|
138911
139318
|
responseType,
|
|
138912
139319
|
onUploadProgress,
|
|
@@ -138914,7 +139321,7 @@ const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';
|
|
|
138914
139321
|
} = _config;
|
|
138915
139322
|
let onCanceled;
|
|
138916
139323
|
let uploadThrottled, downloadThrottled;
|
|
138917
|
-
let flushUpload, flushDownload;
|
|
139324
|
+
let flushUpload, flushDownload, flushDownloadWithEvent;
|
|
138918
139325
|
function done() {
|
|
138919
139326
|
flushUpload && flushUpload(); // flush events
|
|
138920
139327
|
flushDownload && flushDownload(); // flush events
|
|
@@ -138927,12 +139334,52 @@ const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';
|
|
|
138927
139334
|
|
|
138928
139335
|
// Set the request timeout in MS
|
|
138929
139336
|
request.timeout = _config.timeout;
|
|
138930
|
-
function onloadend() {
|
|
139337
|
+
function onloadend(event) {
|
|
138931
139338
|
if (!request) {
|
|
138932
139339
|
return;
|
|
138933
139340
|
}
|
|
139341
|
+
|
|
139342
|
+
// Status 0 means no response was received, which onerror and onabort normally
|
|
139343
|
+
// reject before this runs. Firefox 152 fires only readystatechange and loadend for
|
|
139344
|
+
// navigation-canceled requests (https://bugzilla.mozilla.org/show_bug.cgi?id=1505389),
|
|
139345
|
+
// leaving settle() to resolve them as an empty success. ECONNABORTED is the error
|
|
139346
|
+
// onabort raised on Firefox 151. Reads over file:, which some environments report as
|
|
139347
|
+
// status 0 on success, are excluded by the request URL's scheme after browser-style
|
|
139348
|
+
// preprocessing, by the page origin's scheme for relative URLs (which inherit it), or
|
|
139349
|
+
// by responseURL where implemented.
|
|
139350
|
+
if (request.status === 0 && ((0,_helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)((0,_helpers_normalizeURLForProtocolCheck_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_config.url)) || (0,_helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(_platform_index_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.origin)) !== 'file' && !(request.responseURL && request.responseURL.startsWith('file:'))) {
|
|
139351
|
+
reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A('Request aborted', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.ECONNABORTED, config, request));
|
|
139352
|
+
done();
|
|
139353
|
+
|
|
139354
|
+
// Clean up request
|
|
139355
|
+
request = null;
|
|
139356
|
+
return;
|
|
139357
|
+
}
|
|
139358
|
+
|
|
139359
|
+
// When loadend is still dispatching, flushing with it gives progress
|
|
139360
|
+
// listeners a final delivery whose event has a live target. The legacy
|
|
139361
|
+
// ready-state fallback has no event, so replay its pending progress.
|
|
139362
|
+
// A throwing listener must not block settlement; rethrow asynchronously,
|
|
139363
|
+
// matching how listener errors surface on the throttle timer path.
|
|
139364
|
+
try {
|
|
139365
|
+
if (event) {
|
|
139366
|
+
flushDownloadWithEvent && flushDownloadWithEvent(event);
|
|
139367
|
+
} else {
|
|
139368
|
+
flushDownload && flushDownload();
|
|
139369
|
+
}
|
|
139370
|
+
} catch (err) {
|
|
139371
|
+
setTimeout(() => {
|
|
139372
|
+
throw err;
|
|
139373
|
+
});
|
|
139374
|
+
}
|
|
139375
|
+
|
|
139376
|
+
// A final progress callback can cancel the request synchronously.
|
|
139377
|
+
if (!request) {
|
|
139378
|
+
return;
|
|
139379
|
+
}
|
|
139380
|
+
|
|
138934
139381
|
// Prepare the response
|
|
138935
|
-
const responseHeaders =
|
|
139382
|
+
const responseHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A.from('getAllResponseHeaders' in request && request.getAllResponseHeaders());
|
|
138936
139383
|
const responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response;
|
|
138937
139384
|
const response = {
|
|
138938
139385
|
data: responseData,
|
|
@@ -139021,7 +139468,7 @@ const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';
|
|
|
139021
139468
|
|
|
139022
139469
|
// Add headers to the request
|
|
139023
139470
|
if ('setRequestHeader' in request) {
|
|
139024
|
-
_utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.forEach((0,
|
|
139471
|
+
_utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.forEach((0,_helpers_sanitizeHeaderValue_js__WEBPACK_IMPORTED_MODULE_11__/* .toByteStringHeaderObject */ .$$)(requestHeaders), function setRequestHeader(val, key) {
|
|
139025
139472
|
request.setRequestHeader(key, val);
|
|
139026
139473
|
});
|
|
139027
139474
|
}
|
|
@@ -139038,13 +139485,13 @@ const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';
|
|
|
139038
139485
|
|
|
139039
139486
|
// Handle progress if needed
|
|
139040
139487
|
if (onDownloadProgress) {
|
|
139041
|
-
[downloadThrottled, flushDownload] = (0,
|
|
139488
|
+
[downloadThrottled, flushDownload, flushDownloadWithEvent] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_9__/* .progressEventReducer */ .C1)(onDownloadProgress, true);
|
|
139042
139489
|
request.addEventListener('progress', downloadThrottled);
|
|
139043
139490
|
}
|
|
139044
139491
|
|
|
139045
139492
|
// Not all browsers support upload events
|
|
139046
139493
|
if (onUploadProgress && request.upload) {
|
|
139047
|
-
[uploadThrottled, flushUpload] = (0,
|
|
139494
|
+
[uploadThrottled, flushUpload] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_9__/* .progressEventReducer */ .C1)(onUploadProgress);
|
|
139048
139495
|
request.upload.addEventListener('progress', uploadThrottled);
|
|
139049
139496
|
request.upload.addEventListener('loadend', flushUpload);
|
|
139050
139497
|
}
|
|
@@ -139065,8 +139512,8 @@ const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';
|
|
|
139065
139512
|
_config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);
|
|
139066
139513
|
}
|
|
139067
139514
|
}
|
|
139068
|
-
const protocol = (0,
|
|
139069
|
-
if (protocol && !
|
|
139515
|
+
const protocol = (0,_helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(_config.url);
|
|
139516
|
+
if (protocol && !_platform_index_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.protocols.includes(protocol)) {
|
|
139070
139517
|
reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A('Unsupported protocol ' + protocol + ':', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.ERR_BAD_REQUEST, config));
|
|
139071
139518
|
done();
|
|
139072
139519
|
return;
|
|
@@ -139376,9 +139823,11 @@ function isCancel(value) {
|
|
|
139376
139823
|
/* harmony import */ var _dispatchRequest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(11669);
|
|
139377
139824
|
/* harmony import */ var _mergeConfig_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6068);
|
|
139378
139825
|
/* harmony import */ var _buildFullPath_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1216);
|
|
139379
|
-
/* harmony import */ var
|
|
139380
|
-
/* harmony import */ var
|
|
139381
|
-
/* harmony import */ var
|
|
139826
|
+
/* harmony import */ var _methodList_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(31109);
|
|
139827
|
+
/* harmony import */ var _helpers_validator_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83092);
|
|
139828
|
+
/* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(88580);
|
|
139829
|
+
/* harmony import */ var _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(96458);
|
|
139830
|
+
|
|
139382
139831
|
|
|
139383
139832
|
|
|
139384
139833
|
|
|
@@ -139390,7 +139839,7 @@ function isCancel(value) {
|
|
|
139390
139839
|
|
|
139391
139840
|
|
|
139392
139841
|
|
|
139393
|
-
const validators =
|
|
139842
|
+
const validators = _helpers_validator_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.validators;
|
|
139394
139843
|
|
|
139395
139844
|
/**
|
|
139396
139845
|
* Create a new instance of Axios
|
|
@@ -139421,18 +139870,17 @@ class Axios {
|
|
|
139421
139870
|
return await this._request(configOrUrl, config);
|
|
139422
139871
|
} catch (err) {
|
|
139423
139872
|
if (err instanceof Error) {
|
|
139424
|
-
|
|
139425
|
-
|
|
139873
|
+
try {
|
|
139874
|
+
let dummy = {};
|
|
139875
|
+
Error.captureStackTrace ? Error.captureStackTrace(dummy) : dummy = new Error();
|
|
139876
|
+
const dummyStack = dummy.stack;
|
|
139877
|
+
let stack = '';
|
|
139426
139878
|
|
|
139427
|
-
|
|
139428
|
-
|
|
139429
|
-
|
|
139430
|
-
|
|
139879
|
+
// slice off the Error: ... line
|
|
139880
|
+
if (typeof dummyStack === 'string') {
|
|
139881
|
+
const firstNewlineIndex = dummyStack.indexOf('\n');
|
|
139882
|
+
stack = firstNewlineIndex === -1 ? '' : dummyStack.slice(firstNewlineIndex + 1);
|
|
139431
139883
|
}
|
|
139432
|
-
const firstNewlineIndex = dummy.stack.indexOf('\n');
|
|
139433
|
-
return firstNewlineIndex === -1 ? '' : dummy.stack.slice(firstNewlineIndex + 1);
|
|
139434
|
-
})();
|
|
139435
|
-
try {
|
|
139436
139884
|
if (!err.stack) {
|
|
139437
139885
|
err.stack = stack;
|
|
139438
139886
|
// match without the 2 top stack lines
|
|
@@ -139445,7 +139893,7 @@ class Axios {
|
|
|
139445
139893
|
}
|
|
139446
139894
|
}
|
|
139447
139895
|
} catch (e) {
|
|
139448
|
-
//
|
|
139896
|
+
// Ignore failures from custom stack hooks or un-writable stack properties.
|
|
139449
139897
|
}
|
|
139450
139898
|
}
|
|
139451
139899
|
throw err;
|
|
@@ -139467,7 +139915,7 @@ class Axios {
|
|
|
139467
139915
|
headers
|
|
139468
139916
|
} = config;
|
|
139469
139917
|
if (transitional !== undefined) {
|
|
139470
|
-
|
|
139918
|
+
_helpers_validator_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.assertOptions(transitional, {
|
|
139471
139919
|
silentJSONParsing: validators.transitional(validators.boolean),
|
|
139472
139920
|
forcedJSONParsing: validators.transitional(validators.boolean),
|
|
139473
139921
|
clarifyTimeoutError: validators.transitional(validators.boolean),
|
|
@@ -139482,7 +139930,7 @@ class Axios {
|
|
|
139482
139930
|
serialize: paramsSerializer
|
|
139483
139931
|
};
|
|
139484
139932
|
} else {
|
|
139485
|
-
|
|
139933
|
+
_helpers_validator_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.assertOptions(paramsSerializer, {
|
|
139486
139934
|
encode: validators.function,
|
|
139487
139935
|
serialize: validators.function
|
|
139488
139936
|
}, true);
|
|
@@ -139497,20 +139945,20 @@ class Axios {
|
|
|
139497
139945
|
} else {
|
|
139498
139946
|
config.allowAbsoluteUrls = true;
|
|
139499
139947
|
}
|
|
139500
|
-
|
|
139948
|
+
_helpers_validator_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.assertOptions(config, {
|
|
139501
139949
|
baseUrl: validators.spelling('baseURL'),
|
|
139502
139950
|
withXsrfToken: validators.spelling('withXSRFToken')
|
|
139503
139951
|
}, true);
|
|
139504
139952
|
|
|
139505
139953
|
// Set config.method
|
|
139506
|
-
config.method = (config
|
|
139954
|
+
config.method = (_utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.getSafeProp(config, 'method') || _utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.getSafeProp(this.defaults, 'method') || 'get').toLowerCase();
|
|
139507
139955
|
|
|
139508
139956
|
// Flatten headers
|
|
139509
139957
|
let contextHeaders = headers && _utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.merge(headers.common, headers[config.method]);
|
|
139510
|
-
headers && _utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.forEach([
|
|
139958
|
+
headers && _utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.forEach(_methodList_js__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A.concat('common'), method => {
|
|
139511
139959
|
delete headers[method];
|
|
139512
139960
|
});
|
|
139513
|
-
config.headers =
|
|
139961
|
+
config.headers = _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A.concat(contextHeaders, headers);
|
|
139514
139962
|
|
|
139515
139963
|
// filter out skipped interceptors
|
|
139516
139964
|
const requestInterceptorChain = [];
|
|
@@ -139520,7 +139968,7 @@ class Axios {
|
|
|
139520
139968
|
return;
|
|
139521
139969
|
}
|
|
139522
139970
|
synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
|
|
139523
|
-
const transitional = config.transitional ||
|
|
139971
|
+
const transitional = config.transitional || _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A;
|
|
139524
139972
|
const legacyInterceptorReqResOrdering = transitional && transitional.legacyInterceptorReqResOrdering;
|
|
139525
139973
|
if (legacyInterceptorReqResOrdering) {
|
|
139526
139974
|
requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
|
|
@@ -140185,9 +140633,51 @@ _utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.freezeMethods(AxiosHe
|
|
|
140185
140633
|
|
|
140186
140634
|
|
|
140187
140635
|
|
|
140636
|
+
const $internals = Symbol('internals');
|
|
140637
|
+
|
|
140638
|
+
// `handlers` is public and may be replaced with a nullish value by user code;
|
|
140639
|
+
// `clear()` has always tolerated that. Treat it as an empty stack rather than
|
|
140640
|
+
// dereferencing it.
|
|
140641
|
+
function countHandlers(handlers) {
|
|
140642
|
+
return handlers ? handlers.length : 0;
|
|
140643
|
+
}
|
|
140644
|
+
function trimHandlers(handlers) {
|
|
140645
|
+
if (!handlers) {
|
|
140646
|
+
return;
|
|
140647
|
+
}
|
|
140648
|
+
while (handlers.length && handlers[handlers.length - 1] === null) {
|
|
140649
|
+
handlers.pop();
|
|
140650
|
+
}
|
|
140651
|
+
}
|
|
140652
|
+
function syncHandlerEntries(manager, internals) {
|
|
140653
|
+
const handlers = manager.handlers;
|
|
140654
|
+
const length = countHandlers(handlers);
|
|
140655
|
+
if (handlers !== internals.handlersRef) {
|
|
140656
|
+
internals.handlersRef = handlers;
|
|
140657
|
+
internals.handlerEntries.clear();
|
|
140658
|
+
} else if (length !== internals.handlersLength) {
|
|
140659
|
+
if (!length) {
|
|
140660
|
+
internals.handlerEntries.clear();
|
|
140661
|
+
} else {
|
|
140662
|
+
internals.handlerEntries.forEach(function removeStaleEntry(entry, id) {
|
|
140663
|
+
if (handlers[entry.index] !== entry.handler) {
|
|
140664
|
+
internals.handlerEntries.delete(id);
|
|
140665
|
+
}
|
|
140666
|
+
});
|
|
140667
|
+
}
|
|
140668
|
+
}
|
|
140669
|
+
internals.handlersLength = length;
|
|
140670
|
+
}
|
|
140188
140671
|
class InterceptorManager {
|
|
140189
140672
|
constructor() {
|
|
140190
140673
|
this.handlers = [];
|
|
140674
|
+
this[$internals] = {
|
|
140675
|
+
handlersRef: this.handlers,
|
|
140676
|
+
handlersLength: this.handlers.length,
|
|
140677
|
+
handlerEntries: new Map(),
|
|
140678
|
+
iterationDepth: 0,
|
|
140679
|
+
nextId: 0
|
|
140680
|
+
};
|
|
140191
140681
|
}
|
|
140192
140682
|
|
|
140193
140683
|
/**
|
|
@@ -140200,13 +140690,25 @@ class InterceptorManager {
|
|
|
140200
140690
|
* @return {Number} An ID used to remove interceptor later
|
|
140201
140691
|
*/
|
|
140202
140692
|
use(fulfilled, rejected, options) {
|
|
140203
|
-
|
|
140693
|
+
const handler = {
|
|
140204
140694
|
fulfilled,
|
|
140205
140695
|
rejected,
|
|
140206
140696
|
synchronous: options ? options.synchronous : false,
|
|
140207
140697
|
runWhen: options ? options.runWhen : null
|
|
140698
|
+
};
|
|
140699
|
+
const internals = this[$internals];
|
|
140700
|
+
if (this.handlers == null) {
|
|
140701
|
+
this.handlers = [];
|
|
140702
|
+
}
|
|
140703
|
+
syncHandlerEntries(this, internals);
|
|
140704
|
+
const id = internals.nextId++;
|
|
140705
|
+
this.handlers.push(handler);
|
|
140706
|
+
internals.handlerEntries.set(id, {
|
|
140707
|
+
handler,
|
|
140708
|
+
index: this.handlers.length - 1
|
|
140208
140709
|
});
|
|
140209
|
-
|
|
140710
|
+
internals.handlersLength = this.handlers.length;
|
|
140711
|
+
return id;
|
|
140210
140712
|
}
|
|
140211
140713
|
|
|
140212
140714
|
/**
|
|
@@ -140217,8 +140719,23 @@ class InterceptorManager {
|
|
|
140217
140719
|
* @returns {void}
|
|
140218
140720
|
*/
|
|
140219
140721
|
eject(id) {
|
|
140220
|
-
|
|
140221
|
-
|
|
140722
|
+
const internals = this[$internals];
|
|
140723
|
+
syncHandlerEntries(this, internals);
|
|
140724
|
+
const entry = internals.handlerEntries.get(id);
|
|
140725
|
+
if (entry) {
|
|
140726
|
+
internals.handlerEntries.delete(id);
|
|
140727
|
+
|
|
140728
|
+
// Ignore IDs invalidated by clear or direct replacement of handlers.
|
|
140729
|
+
if (this.handlers[entry.index] !== entry.handler) {
|
|
140730
|
+
return;
|
|
140731
|
+
}
|
|
140732
|
+
this.handlers[entry.index] = null;
|
|
140733
|
+
|
|
140734
|
+
// Do not reuse an index while forEach is walking its length snapshot.
|
|
140735
|
+
if (!internals.iterationDepth) {
|
|
140736
|
+
trimHandlers(this.handlers);
|
|
140737
|
+
internals.handlersLength = this.handlers.length;
|
|
140738
|
+
}
|
|
140222
140739
|
}
|
|
140223
140740
|
}
|
|
140224
140741
|
|
|
@@ -140230,6 +140747,7 @@ class InterceptorManager {
|
|
|
140230
140747
|
clear() {
|
|
140231
140748
|
if (this.handlers) {
|
|
140232
140749
|
this.handlers = [];
|
|
140750
|
+
syncHandlerEntries(this, this[$internals]);
|
|
140233
140751
|
}
|
|
140234
140752
|
}
|
|
140235
140753
|
|
|
@@ -140244,11 +140762,22 @@ class InterceptorManager {
|
|
|
140244
140762
|
* @returns {void}
|
|
140245
140763
|
*/
|
|
140246
140764
|
forEach(fn) {
|
|
140247
|
-
|
|
140248
|
-
|
|
140249
|
-
|
|
140765
|
+
const internals = this[$internals];
|
|
140766
|
+
syncHandlerEntries(this, internals);
|
|
140767
|
+
internals.iterationDepth++;
|
|
140768
|
+
try {
|
|
140769
|
+
_utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.forEach(this.handlers, function forEachHandler(h) {
|
|
140770
|
+
if (h !== null) {
|
|
140771
|
+
fn(h);
|
|
140772
|
+
}
|
|
140773
|
+
});
|
|
140774
|
+
} finally {
|
|
140775
|
+
if (! --internals.iterationDepth) {
|
|
140776
|
+
syncHandlerEntries(this, internals);
|
|
140777
|
+
trimHandlers(this.handlers);
|
|
140778
|
+
internals.handlersLength = countHandlers(this.handlers);
|
|
140250
140779
|
}
|
|
140251
|
-
}
|
|
140780
|
+
}
|
|
140252
140781
|
}
|
|
140253
140782
|
}
|
|
140254
140783
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (InterceptorManager);
|
|
@@ -140264,23 +140793,14 @@ class InterceptorManager {
|
|
|
140264
140793
|
/* harmony import */ var _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7996);
|
|
140265
140794
|
/* harmony import */ var _helpers_isAbsoluteURL_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6392);
|
|
140266
140795
|
/* harmony import */ var _helpers_combineURLs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64133);
|
|
140796
|
+
/* harmony import */ var _helpers_normalizeURLForProtocolCheck_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(69893);
|
|
140797
|
+
|
|
140267
140798
|
|
|
140268
140799
|
|
|
140269
140800
|
|
|
140270
140801
|
|
|
140271
140802
|
|
|
140272
140803
|
const malformedHttpProtocol = /^https?:(?!\/\/)/i;
|
|
140273
|
-
const httpProtocolControlCharacters = /[\t\n\r]/g;
|
|
140274
|
-
function stripLeadingC0ControlOrSpace(url) {
|
|
140275
|
-
let i = 0;
|
|
140276
|
-
while (i < url.length && url.charCodeAt(i) <= 0x20) {
|
|
140277
|
-
i++;
|
|
140278
|
-
}
|
|
140279
|
-
return url.slice(i);
|
|
140280
|
-
}
|
|
140281
|
-
function normalizeURLForProtocolCheck(url) {
|
|
140282
|
-
return stripLeadingC0ControlOrSpace(url).replace(httpProtocolControlCharacters, '');
|
|
140283
|
-
}
|
|
140284
140804
|
|
|
140285
140805
|
// Redact the parts of a URL that can carry secrets before it is embedded in an
|
|
140286
140806
|
// error message. AxiosError.toJSON() serializes `message` verbatim and errors
|
|
@@ -140310,7 +140830,7 @@ function redactSensitiveURLParts(url) {
|
|
|
140310
140830
|
}
|
|
140311
140831
|
function assertValidHttpProtocolURL(url, config) {
|
|
140312
140832
|
if (typeof url === 'string') {
|
|
140313
|
-
const normalizedURL =
|
|
140833
|
+
const normalizedURL = (0,_helpers_normalizeURLForProtocolCheck_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(url);
|
|
140314
140834
|
if (malformedHttpProtocol.test(normalizedURL)) {
|
|
140315
140835
|
throw new _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A(`Invalid URL ${JSON.stringify(redactSensitiveURLParts(normalizedURL))}: missing "//" after protocol`, _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.ERR_INVALID_URL, config);
|
|
140316
140836
|
}
|
|
@@ -140351,6 +140871,8 @@ function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls, config) {
|
|
|
140351
140871
|
/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(62200);
|
|
140352
140872
|
/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(88580);
|
|
140353
140873
|
/* harmony import */ var _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(93129);
|
|
140874
|
+
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(21285);
|
|
140875
|
+
|
|
140354
140876
|
|
|
140355
140877
|
|
|
140356
140878
|
|
|
@@ -140383,9 +140905,13 @@ function throwIfCancellationRequested(config) {
|
|
|
140383
140905
|
*
|
|
140384
140906
|
* @returns {Promise} The Promise to be fulfilled
|
|
140385
140907
|
*/
|
|
140386
|
-
function dispatchRequest(
|
|
140908
|
+
function dispatchRequest(_config) {
|
|
140909
|
+
// Interceptors may replace the merged config with an ordinary object. Flatten
|
|
140910
|
+
// it at the dispatch boundary so shared prototype members cannot become
|
|
140911
|
+
// request behavior, while preserving intentional template/class members.
|
|
140912
|
+
const config = _utils_js__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A.toSafeFlatObject(_config);
|
|
140387
140913
|
throwIfCancellationRequested(config);
|
|
140388
|
-
config.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A.from(config
|
|
140914
|
+
config.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A.from(_utils_js__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A.getSafeProp(config, 'headers'));
|
|
140389
140915
|
|
|
140390
140916
|
// Transform request data
|
|
140391
140917
|
config.data = _transformData_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.call(config, config.transformRequest);
|
|
@@ -140548,7 +141074,7 @@ function mergeConfig(config1, config2) {
|
|
|
140548
141074
|
transformResponse: defaultToConfig2,
|
|
140549
141075
|
paramsSerializer: defaultToConfig2,
|
|
140550
141076
|
timeout: defaultToConfig2,
|
|
140551
|
-
|
|
141077
|
+
timeoutErrorMessage: defaultToConfig2,
|
|
140552
141078
|
withCredentials: defaultToConfig2,
|
|
140553
141079
|
withXSRFToken: defaultToConfig2,
|
|
140554
141080
|
adapter: defaultToConfig2,
|
|
@@ -140594,6 +141120,19 @@ function mergeConfig(config1, config2) {
|
|
|
140594
141120
|
|
|
140595
141121
|
/***/ },
|
|
140596
141122
|
|
|
141123
|
+
/***/ 31109
|
|
141124
|
+
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
141125
|
+
|
|
141126
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
141127
|
+
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
141128
|
+
/* harmony export */ });
|
|
141129
|
+
|
|
141130
|
+
|
|
141131
|
+
const methodList = Object.freeze(['get', 'delete', 'head', 'options', 'post', 'put', 'patch', 'purge', 'link', 'unlink', 'query']);
|
|
141132
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (methodList);
|
|
141133
|
+
|
|
141134
|
+
/***/ },
|
|
141135
|
+
|
|
140597
141136
|
/***/ 19524
|
|
140598
141137
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
140599
141138
|
|
|
@@ -140710,6 +141249,8 @@ function transformData(fns, response) {
|
|
|
140710
141249
|
/* harmony import */ var _helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(88898);
|
|
140711
141250
|
/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(75194);
|
|
140712
141251
|
/* harmony import */ var _helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(17757);
|
|
141252
|
+
/* harmony import */ var _core_methodList_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(31109);
|
|
141253
|
+
|
|
140713
141254
|
|
|
140714
141255
|
|
|
140715
141256
|
|
|
@@ -140835,7 +141376,7 @@ const defaults = {
|
|
|
140835
141376
|
}
|
|
140836
141377
|
}
|
|
140837
141378
|
};
|
|
140838
|
-
_utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.forEach([
|
|
141379
|
+
_utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.forEach(_core_methodList_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A, method => {
|
|
140839
141380
|
defaults.headers[method] = {};
|
|
140840
141381
|
});
|
|
140841
141382
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (defaults);
|
|
@@ -140867,7 +141408,7 @@ _utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.forEach(['delete', 'g
|
|
|
140867
141408
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
140868
141409
|
/* harmony export */ x: () => (/* binding */ VERSION)
|
|
140869
141410
|
/* harmony export */ });
|
|
140870
|
-
const VERSION = "1.
|
|
141411
|
+
const VERSION = "1.20.0";
|
|
140871
141412
|
|
|
140872
141413
|
/***/ },
|
|
140873
141414
|
|
|
@@ -140973,14 +141514,22 @@ const HttpStatusCode = {
|
|
|
140973
141514
|
Gone: 410,
|
|
140974
141515
|
LengthRequired: 411,
|
|
140975
141516
|
PreconditionFailed: 412,
|
|
141517
|
+
/**
|
|
141518
|
+
* @deprecated Use `ContentTooLarge` instead.
|
|
141519
|
+
*/
|
|
140976
141520
|
PayloadTooLarge: 413,
|
|
141521
|
+
ContentTooLarge: 413,
|
|
140977
141522
|
UriTooLong: 414,
|
|
140978
141523
|
UnsupportedMediaType: 415,
|
|
140979
141524
|
RangeNotSatisfiable: 416,
|
|
140980
141525
|
ExpectationFailed: 417,
|
|
140981
141526
|
ImATeapot: 418,
|
|
140982
141527
|
MisdirectedRequest: 421,
|
|
141528
|
+
/**
|
|
141529
|
+
* @deprecated Use `UnprocessableContent` instead.
|
|
141530
|
+
*/
|
|
140983
141531
|
UnprocessableEntity: 422,
|
|
141532
|
+
UnprocessableContent: 422,
|
|
140984
141533
|
Locked: 423,
|
|
140985
141534
|
FailedDependency: 424,
|
|
140986
141535
|
TooEarly: 425,
|
|
@@ -141009,7 +141558,9 @@ const HttpStatusCode = {
|
|
|
141009
141558
|
InvalidSslCertificate: 526
|
|
141010
141559
|
};
|
|
141011
141560
|
Object.entries(HttpStatusCode).forEach(([key, value]) => {
|
|
141012
|
-
HttpStatusCode[value]
|
|
141561
|
+
if (HttpStatusCode[value] === undefined) {
|
|
141562
|
+
HttpStatusCode[value] = key;
|
|
141563
|
+
}
|
|
141013
141564
|
});
|
|
141014
141565
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HttpStatusCode);
|
|
141015
141566
|
|
|
@@ -141595,6 +142146,36 @@ function isAxiosError(payload) {
|
|
|
141595
142146
|
|
|
141596
142147
|
/***/ },
|
|
141597
142148
|
|
|
142149
|
+
/***/ 69893
|
|
142150
|
+
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
142151
|
+
|
|
142152
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
142153
|
+
/* harmony export */ A: () => (/* binding */ normalizeURLForProtocolCheck)
|
|
142154
|
+
/* harmony export */ });
|
|
142155
|
+
|
|
142156
|
+
|
|
142157
|
+
const urlParserControlCharacters = /[\t\n\r]/g;
|
|
142158
|
+
|
|
142159
|
+
/**
|
|
142160
|
+
* Match WHATWG URL preprocessing before checking a URL's protocol.
|
|
142161
|
+
*
|
|
142162
|
+
* @param {string} url
|
|
142163
|
+
*
|
|
142164
|
+
* @returns {string}
|
|
142165
|
+
*/
|
|
142166
|
+
function normalizeURLForProtocolCheck(url) {
|
|
142167
|
+
if (typeof url !== 'string') {
|
|
142168
|
+
return url;
|
|
142169
|
+
}
|
|
142170
|
+
let start = 0;
|
|
142171
|
+
while (start < url.length && url.charCodeAt(start) <= 0x20) {
|
|
142172
|
+
start++;
|
|
142173
|
+
}
|
|
142174
|
+
return url.slice(start).replace(urlParserControlCharacters, '');
|
|
142175
|
+
}
|
|
142176
|
+
|
|
142177
|
+
/***/ },
|
|
142178
|
+
|
|
141598
142179
|
/***/ 65265
|
|
141599
142180
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
141600
142181
|
|
|
@@ -141697,7 +142278,7 @@ const progressEventReducer = (listener, isDownloadStream, freq = 3) => {
|
|
|
141697
142278
|
let bytesNotified = 0;
|
|
141698
142279
|
const _speedometer = (0,_speedometer_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(50, 250);
|
|
141699
142280
|
return (0,_throttle_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(e => {
|
|
141700
|
-
if (!e ||
|
|
142281
|
+
if (!e || !_utils_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.isNumber(e.loaded)) {
|
|
141701
142282
|
return;
|
|
141702
142283
|
}
|
|
141703
142284
|
const rawLoaded = e.loaded;
|
|
@@ -141797,11 +142378,12 @@ function resolveConfig(config) {
|
|
|
141797
142378
|
}
|
|
141798
142379
|
}
|
|
141799
142380
|
if (_utils_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.isFormData(data)) {
|
|
142381
|
+
const getHeaders = _utils_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.getSafeProp(data, 'getHeaders');
|
|
141800
142382
|
if (_platform_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.hasStandardBrowserEnv || _platform_index_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.hasStandardBrowserWebWorkerEnv || _utils_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.isReactNative(data)) {
|
|
141801
142383
|
headers.setContentType(undefined); // browser/web worker/RN handles it
|
|
141802
|
-
} else if (_utils_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.isFunction(
|
|
142384
|
+
} else if (_utils_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.isFunction(getHeaders)) {
|
|
141803
142385
|
// Node.js FormData (like form-data package)
|
|
141804
|
-
(0,_core_setFormDataHeaders_js__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)(headers,
|
|
142386
|
+
(0,_core_setFormDataHeaders_js__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)(headers, getHeaders.call(data), own('formDataHeaderPolicy'));
|
|
141805
142387
|
}
|
|
141806
142388
|
}
|
|
141807
142389
|
|
|
@@ -141984,7 +142566,7 @@ function spread(callback) {
|
|
|
141984
142566
|
* Throttle decorator
|
|
141985
142567
|
* @param {Function} fn
|
|
141986
142568
|
* @param {Number} freq
|
|
141987
|
-
* @return {Function}
|
|
142569
|
+
* @return {Array<Function>}
|
|
141988
142570
|
*/
|
|
141989
142571
|
function throttle(fn, freq) {
|
|
141990
142572
|
let timestamp = 0;
|
|
@@ -142016,7 +142598,8 @@ function throttle(fn, freq) {
|
|
|
142016
142598
|
}
|
|
142017
142599
|
};
|
|
142018
142600
|
const flush = () => lastArgs && invoke(lastArgs);
|
|
142019
|
-
|
|
142601
|
+
const flushWith = (...args) => invoke(args);
|
|
142602
|
+
return [throttled, flush, flushWith];
|
|
142020
142603
|
}
|
|
142021
142604
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (throttle);
|
|
142022
142605
|
|
|
@@ -142128,23 +142711,17 @@ function toFormData(obj, formData, options) {
|
|
|
142128
142711
|
|
|
142129
142712
|
// eslint-disable-next-line no-param-reassign
|
|
142130
142713
|
formData = formData || new (_platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A || FormData)();
|
|
142131
|
-
|
|
142132
|
-
|
|
142133
|
-
|
|
142134
|
-
|
|
142135
|
-
|
|
142136
|
-
indexes: false
|
|
142137
|
-
}, false, function defined(option, source) {
|
|
142138
|
-
// eslint-disable-next-line no-eq-null,eqeqeq
|
|
142139
|
-
return !_utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.isUndefined(source[option]);
|
|
142140
|
-
});
|
|
142141
|
-
const metaTokens = options.metaTokens;
|
|
142714
|
+
const option = (name, fallback) => {
|
|
142715
|
+
const value = _utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.getSafeProp(options, name);
|
|
142716
|
+
return _utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.isUndefined(value) ? fallback : value;
|
|
142717
|
+
};
|
|
142718
|
+
const metaTokens = option('metaTokens', true);
|
|
142142
142719
|
// eslint-disable-next-line no-use-before-define
|
|
142143
|
-
const visitor =
|
|
142144
|
-
const dots =
|
|
142145
|
-
const indexes =
|
|
142146
|
-
const _Blob =
|
|
142147
|
-
const maxDepth =
|
|
142720
|
+
const visitor = option('visitor') || defaultVisitor;
|
|
142721
|
+
const dots = option('dots', false);
|
|
142722
|
+
const indexes = option('indexes', false);
|
|
142723
|
+
const _Blob = option('Blob') || typeof Blob !== 'undefined' && Blob;
|
|
142724
|
+
const maxDepth = option('maxDepth', DEFAULT_FORM_DATA_MAX_DEPTH);
|
|
142148
142725
|
const useBlob = _Blob && _utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.isSpecCompliantForm(formData);
|
|
142149
142726
|
const stack = [];
|
|
142150
142727
|
if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.isFunction(visitor)) {
|
|
@@ -142641,13 +143218,57 @@ const {
|
|
|
142641
143218
|
const hasOwnProperty = (({
|
|
142642
143219
|
hasOwnProperty
|
|
142643
143220
|
}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);
|
|
143221
|
+
const isUnsafeObjectKey = prop => typeof prop === 'string' && (prop === '__proto__' || prop === 'constructor' || prop === 'prototype');
|
|
142644
143222
|
|
|
142645
143223
|
/**
|
|
142646
|
-
*
|
|
142647
|
-
*
|
|
142648
|
-
*
|
|
142649
|
-
*
|
|
142650
|
-
*
|
|
143224
|
+
* Determine whether an inherited object must be treated as a shared-prototype
|
|
143225
|
+
* boundary. Cross-realm Object.prototype objects cannot be distinguished
|
|
143226
|
+
* reliably from application-created null-prototype objects because their
|
|
143227
|
+
* properties are mutable, so all inherited terminal prototypes are excluded
|
|
143228
|
+
* as a fail-closed boundary. A null-prototype source still keeps its own
|
|
143229
|
+
* properties, as produced by mergeConfig and other safe materialization paths.
|
|
143230
|
+
*
|
|
143231
|
+
* @param {*} obj The object to inspect
|
|
143232
|
+
* @param {*} prototype The object's prototype
|
|
143233
|
+
* @param {boolean} source Whether obj is the original traversal source
|
|
143234
|
+
*
|
|
143235
|
+
* @returns {boolean} True when obj is a safe prototype traversal boundary
|
|
143236
|
+
*/
|
|
143237
|
+
const isPrototypeBoundary = (obj, prototype, source) => obj === Object.prototype || !source && prototype === null;
|
|
143238
|
+
|
|
143239
|
+
/**
|
|
143240
|
+
* Determine whether an object can retain its identity through code paths that
|
|
143241
|
+
* add, replace, and remove config properties without bypassing unsafe-key
|
|
143242
|
+
* filtering. Immutable objects, unsafe-key-bearing objects, and objects with
|
|
143243
|
+
* accessor or restricted data properties must be materialized instead.
|
|
143244
|
+
*
|
|
143245
|
+
* @param {*} obj The object to inspect
|
|
143246
|
+
*
|
|
143247
|
+
* @returns {boolean} True when every own property is safe and fully mutable
|
|
143248
|
+
*/
|
|
143249
|
+
const isSafeAndFullyMutable = obj => {
|
|
143250
|
+
if (!Object.isExtensible(obj)) {
|
|
143251
|
+
return false;
|
|
143252
|
+
}
|
|
143253
|
+
const props = Object.getOwnPropertyNames(obj);
|
|
143254
|
+
if (Object.getOwnPropertySymbols) {
|
|
143255
|
+
props.push(...Object.getOwnPropertySymbols(obj));
|
|
143256
|
+
}
|
|
143257
|
+
return props.every(prop => {
|
|
143258
|
+
if (isUnsafeObjectKey(prop)) {
|
|
143259
|
+
return false;
|
|
143260
|
+
}
|
|
143261
|
+
const descriptor = Object.getOwnPropertyDescriptor(obj, prop);
|
|
143262
|
+
return !!descriptor && descriptor.configurable && descriptor.writable === true;
|
|
143263
|
+
});
|
|
143264
|
+
};
|
|
143265
|
+
|
|
143266
|
+
/**
|
|
143267
|
+
* Walk the prototype chain (excluding the source realm's Object.prototype)
|
|
143268
|
+
* looking for an own `prop`. This distinguishes genuine own/inherited members
|
|
143269
|
+
* — including class accessors and template prototypes — from members injected
|
|
143270
|
+
* via Object.prototype pollution (e.g. `Object.prototype.username = '...'`),
|
|
143271
|
+
* which live on Object.prototype itself and are therefore never matched.
|
|
142651
143272
|
*
|
|
142652
143273
|
* @param {*} thing The value whose chain to inspect
|
|
142653
143274
|
* @param {string|symbol} prop The property key to look for
|
|
@@ -142657,15 +143278,19 @@ const hasOwnProperty = (({
|
|
|
142657
143278
|
const hasOwnInPrototypeChain = (thing, prop) => {
|
|
142658
143279
|
let obj = thing;
|
|
142659
143280
|
const seen = [];
|
|
142660
|
-
while (obj != null
|
|
143281
|
+
while (obj != null) {
|
|
142661
143282
|
if (seen.indexOf(obj) !== -1) {
|
|
142662
143283
|
return false;
|
|
142663
143284
|
}
|
|
142664
143285
|
seen.push(obj);
|
|
143286
|
+
const prototype = getPrototypeOf(obj);
|
|
143287
|
+
if (isPrototypeBoundary(obj, prototype, obj === thing)) {
|
|
143288
|
+
return false;
|
|
143289
|
+
}
|
|
142665
143290
|
if (hasOwnProperty(obj, prop)) {
|
|
142666
143291
|
return true;
|
|
142667
143292
|
}
|
|
142668
|
-
obj =
|
|
143293
|
+
obj = prototype;
|
|
142669
143294
|
}
|
|
142670
143295
|
return false;
|
|
142671
143296
|
};
|
|
@@ -142682,6 +143307,56 @@ const hasOwnInPrototypeChain = (thing, prop) => {
|
|
|
142682
143307
|
* @returns {*} The resolved value, or undefined when unsafe/absent
|
|
142683
143308
|
*/
|
|
142684
143309
|
const getSafeProp = (obj, prop) => obj != null && hasOwnInPrototypeChain(obj, prop) ? obj[prop] : undefined;
|
|
143310
|
+
|
|
143311
|
+
/**
|
|
143312
|
+
* Flatten an object and its application-defined prototype chain into a
|
|
143313
|
+
* null-prototype object. Members inherited only from the source realm's
|
|
143314
|
+
* Object.prototype are deliberately excluded, while class/template members
|
|
143315
|
+
* below that boundary are preserved.
|
|
143316
|
+
*
|
|
143317
|
+
* @param {*} thing The value to flatten
|
|
143318
|
+
*
|
|
143319
|
+
* @returns {*} A null-prototype copy, or the original value when it is already
|
|
143320
|
+
* structurally safe or is not an object
|
|
143321
|
+
*/
|
|
143322
|
+
const toSafeFlatObject = thing => {
|
|
143323
|
+
if (thing == null || typeof thing !== 'object' && typeof thing !== 'function') {
|
|
143324
|
+
return thing;
|
|
143325
|
+
}
|
|
143326
|
+
const sourcePrototype = getPrototypeOf(thing);
|
|
143327
|
+
if (sourcePrototype === null && isSafeAndFullyMutable(thing)) {
|
|
143328
|
+
return thing;
|
|
143329
|
+
}
|
|
143330
|
+
const result = Object.create(null);
|
|
143331
|
+
const merged = Object.create(null);
|
|
143332
|
+
const seen = [];
|
|
143333
|
+
let current = thing;
|
|
143334
|
+
while (current != null) {
|
|
143335
|
+
if (seen.indexOf(current) !== -1) {
|
|
143336
|
+
break;
|
|
143337
|
+
}
|
|
143338
|
+
seen.push(current);
|
|
143339
|
+
const prototype = current === thing ? sourcePrototype : getPrototypeOf(current);
|
|
143340
|
+
if (isPrototypeBoundary(current, prototype, current === thing)) {
|
|
143341
|
+
break;
|
|
143342
|
+
}
|
|
143343
|
+
const props = Object.getOwnPropertyNames(current);
|
|
143344
|
+
if (Object.getOwnPropertySymbols) {
|
|
143345
|
+
props.push(...Object.getOwnPropertySymbols(current));
|
|
143346
|
+
}
|
|
143347
|
+
for (const prop of props) {
|
|
143348
|
+
if (isUnsafeObjectKey(prop)) {
|
|
143349
|
+
continue;
|
|
143350
|
+
}
|
|
143351
|
+
if (!hasOwnProperty(merged, prop)) {
|
|
143352
|
+
result[prop] = thing[prop];
|
|
143353
|
+
merged[prop] = true;
|
|
143354
|
+
}
|
|
143355
|
+
}
|
|
143356
|
+
current = prototype;
|
|
143357
|
+
}
|
|
143358
|
+
return result;
|
|
143359
|
+
};
|
|
142685
143360
|
const kindOf = (cache => thing => {
|
|
142686
143361
|
const str = toString.call(thing);
|
|
142687
143362
|
return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
|
|
@@ -142805,9 +143480,9 @@ const isPlainObject = val => {
|
|
|
142805
143480
|
}
|
|
142806
143481
|
const prototype = getPrototypeOf(val);
|
|
142807
143482
|
return (prototype === null || prototype === Object.prototype || getPrototypeOf(prototype) === null) &&
|
|
142808
|
-
// Treat
|
|
142809
|
-
//
|
|
142810
|
-
//
|
|
143483
|
+
// Treat safe own/inherited Symbol.toStringTag or Symbol.iterator members as
|
|
143484
|
+
// evidence the value is tagged/iterable, while ignoring members reachable
|
|
143485
|
+
// only through shared or terminal prototype boundaries.
|
|
142811
143486
|
!hasOwnInPrototypeChain(val, toStringTag) && !hasOwnInPrototypeChain(val, iterator);
|
|
142812
143487
|
};
|
|
142813
143488
|
|
|
@@ -143555,6 +144230,7 @@ const isSafeIterable = thing => thing != null && hasOwnInPrototypeChain(thing, i
|
|
|
143555
144230
|
// an alias to avoid ESLint no-prototype-builtins detection
|
|
143556
144231
|
hasOwnInPrototypeChain,
|
|
143557
144232
|
getSafeProp,
|
|
144233
|
+
toSafeFlatObject,
|
|
143558
144234
|
reduceDescriptors,
|
|
143559
144235
|
freezeMethods,
|
|
143560
144236
|
toObjectSet,
|