instantsearch-ui-components 0.11.1 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Button.js +29 -0
- package/dist/cjs/components/Carousel.js +26 -6
- package/dist/cjs/components/autocomplete/Autocomplete.js +23 -0
- package/dist/cjs/components/autocomplete/AutocompleteIndex.js +39 -0
- package/dist/cjs/components/autocomplete/AutocompletePanel.js +25 -0
- package/dist/cjs/components/autocomplete/AutocompleteSuggestion.js +20 -0
- package/dist/cjs/components/autocomplete/index.js +49 -0
- package/dist/cjs/components/chat/Chat.js +79 -0
- package/dist/cjs/components/chat/ChatHeader.js +89 -0
- package/dist/cjs/components/chat/ChatMessage.js +138 -0
- package/dist/cjs/components/chat/ChatMessageError.js +57 -0
- package/dist/cjs/components/chat/ChatMessageLoader.js +47 -0
- package/dist/cjs/components/chat/ChatMessages.js +192 -0
- package/dist/cjs/components/chat/ChatPrompt.js +179 -0
- package/dist/cjs/components/chat/ChatToggleButton.js +46 -0
- package/dist/cjs/components/chat/icons.js +375 -0
- package/dist/cjs/components/chat/types.js +1 -0
- package/dist/cjs/components/index.js +132 -0
- package/dist/cjs/lib/index.js +22 -0
- package/dist/cjs/lib/stickToBottom.js +481 -0
- package/dist/cjs/lib/utils/find.js +15 -0
- package/dist/cjs/lib/utils/index.js +27 -0
- package/dist/cjs/lib/utils/startsWith.js +9 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/warn.js +40 -0
- package/dist/es/components/Button.d.ts +38 -0
- package/dist/es/components/Button.js +22 -0
- package/dist/es/components/Carousel.d.ts +11 -0
- package/dist/es/components/Carousel.js +26 -6
- package/dist/es/components/autocomplete/Autocomplete.d.ts +13 -0
- package/dist/es/components/autocomplete/Autocomplete.js +16 -0
- package/dist/es/components/autocomplete/AutocompleteIndex.d.ts +31 -0
- package/dist/es/components/autocomplete/AutocompleteIndex.js +32 -0
- package/dist/es/components/autocomplete/AutocompletePanel.d.ts +17 -0
- package/dist/es/components/autocomplete/AutocompletePanel.js +18 -0
- package/dist/es/components/autocomplete/AutocompleteSuggestion.d.ts +16 -0
- package/dist/es/components/autocomplete/AutocompleteSuggestion.js +14 -0
- package/dist/es/components/autocomplete/index.d.ts +4 -0
- package/dist/es/components/autocomplete/index.js +4 -0
- package/dist/es/components/chat/Chat.d.ts +42 -0
- package/dist/es/components/chat/Chat.js +72 -0
- package/dist/es/components/chat/ChatHeader.d.ts +99 -0
- package/dist/es/components/chat/ChatHeader.js +82 -0
- package/dist/es/components/chat/ChatMessage.d.ts +124 -0
- package/dist/es/components/chat/ChatMessage.js +131 -0
- package/dist/es/components/chat/ChatMessageError.d.ts +27 -0
- package/dist/es/components/chat/ChatMessageError.js +50 -0
- package/dist/es/components/chat/ChatMessageLoader.d.ts +15 -0
- package/dist/es/components/chat/ChatMessageLoader.js +40 -0
- package/dist/es/components/chat/ChatMessages.d.ts +139 -0
- package/dist/es/components/chat/ChatMessages.js +185 -0
- package/dist/es/components/chat/ChatPrompt.d.ts +119 -0
- package/dist/es/components/chat/ChatPrompt.js +172 -0
- package/dist/es/components/chat/ChatToggleButton.d.ts +29 -0
- package/dist/es/components/chat/ChatToggleButton.js +39 -0
- package/dist/es/components/chat/icons.d.ts +22 -0
- package/dist/es/components/chat/icons.js +355 -0
- package/dist/es/components/chat/types.d.ts +29 -0
- package/dist/es/components/chat/types.js +1 -0
- package/dist/es/components/index.d.ts +12 -0
- package/dist/es/components/index.js +12 -0
- package/dist/es/lib/index.d.ts +2 -0
- package/dist/es/lib/index.js +3 -1
- package/dist/es/lib/stickToBottom.d.ts +114 -0
- package/dist/es/lib/stickToBottom.js +474 -0
- package/dist/es/lib/utils/find.d.ts +1 -0
- package/dist/es/lib/utils/find.js +9 -0
- package/dist/es/lib/utils/index.d.ts +2 -0
- package/dist/es/lib/utils/index.js +2 -0
- package/dist/es/lib/utils/startsWith.d.ts +1 -0
- package/dist/es/lib/utils/startsWith.js +3 -0
- package/dist/es/types/Renderer.d.ts +1 -1
- package/dist/es/version.d.ts +1 -1
- package/dist/es/version.js +1 -1
- package/dist/es/warn.d.ts +10 -0
- package/dist/es/warn.js +33 -0
- package/package.json +7 -3
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createButtonComponent = createButtonComponent;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
+
var _cx = require("../lib/cx");
|
|
11
|
+
var _excluded = ["variant", "size", "iconOnly", "className", "children"];
|
|
12
|
+
function createButtonComponent(_ref) {
|
|
13
|
+
var createElement = _ref.createElement;
|
|
14
|
+
return function Button(userProps) {
|
|
15
|
+
var _userProps$variant = userProps.variant,
|
|
16
|
+
variant = _userProps$variant === void 0 ? 'primary' : _userProps$variant,
|
|
17
|
+
_userProps$size = userProps.size,
|
|
18
|
+
size = _userProps$size === void 0 ? 'md' : _userProps$size,
|
|
19
|
+
_userProps$iconOnly = userProps.iconOnly,
|
|
20
|
+
iconOnly = _userProps$iconOnly === void 0 ? false : _userProps$iconOnly,
|
|
21
|
+
className = userProps.className,
|
|
22
|
+
children = userProps.children,
|
|
23
|
+
props = (0, _objectWithoutProperties2.default)(userProps, _excluded);
|
|
24
|
+
return createElement("button", (0, _extends2.default)({
|
|
25
|
+
type: "button",
|
|
26
|
+
className: (0, _cx.cx)('ais-Button', "ais-Button--".concat(variant), "ais-Button--".concat(size), iconOnly && 'ais-Button--icon-only', className)
|
|
27
|
+
}, props), children);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
@@ -11,7 +11,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
11
11
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
12
|
var _lib = require("../lib");
|
|
13
13
|
var _recommendShared = require("./recommend-shared");
|
|
14
|
-
var _excluded = ["listRef", "nextButtonRef", "previousButtonRef", "carouselIdRef", "classNames", "itemComponent", "previousIconComponent", "nextIconComponent", "items", "translations", "sendEvent"];
|
|
14
|
+
var _excluded = ["listRef", "nextButtonRef", "previousButtonRef", "carouselIdRef", "canScrollLeft", "canScrollRight", "setCanScrollLeft", "setCanScrollRight", "classNames", "itemComponent", "previousIconComponent", "nextIconComponent", "headerComponent", "showNavigation", "items", "translations", "sendEvent"];
|
|
15
15
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
16
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
17
|
var lastCarouselId = 0;
|
|
@@ -54,6 +54,10 @@ function createCarouselComponent(_ref3) {
|
|
|
54
54
|
nextButtonRef = userProps.nextButtonRef,
|
|
55
55
|
previousButtonRef = userProps.previousButtonRef,
|
|
56
56
|
carouselIdRef = userProps.carouselIdRef,
|
|
57
|
+
canScrollLeft = userProps.canScrollLeft,
|
|
58
|
+
canScrollRight = userProps.canScrollRight,
|
|
59
|
+
setCanScrollLeft = userProps.setCanScrollLeft,
|
|
60
|
+
setCanScrollRight = userProps.setCanScrollRight,
|
|
57
61
|
_userProps$classNames = userProps.classNames,
|
|
58
62
|
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
59
63
|
_userProps$itemCompon = userProps.itemComponent,
|
|
@@ -65,6 +69,9 @@ function createCarouselComponent(_ref3) {
|
|
|
65
69
|
PreviousIconComponent = _userProps$previousIc === void 0 ? PreviousIconDefaultComponent : _userProps$previousIc,
|
|
66
70
|
_userProps$nextIconCo = userProps.nextIconComponent,
|
|
67
71
|
NextIconComponent = _userProps$nextIconCo === void 0 ? NextIconDefaultComponent : _userProps$nextIconCo,
|
|
72
|
+
HeaderComponent = userProps.headerComponent,
|
|
73
|
+
_userProps$showNaviga = userProps.showNavigation,
|
|
74
|
+
showNavigation = _userProps$showNaviga === void 0 ? true : _userProps$showNaviga,
|
|
68
75
|
items = userProps.items,
|
|
69
76
|
userTranslations = userProps.translations,
|
|
70
77
|
sendEvent = userProps.sendEvent,
|
|
@@ -95,18 +102,31 @@ function createCarouselComponent(_ref3) {
|
|
|
95
102
|
}
|
|
96
103
|
}
|
|
97
104
|
function updateNavigationButtonsProps() {
|
|
98
|
-
if (!listRef.current
|
|
105
|
+
if (!listRef.current) {
|
|
99
106
|
return;
|
|
100
107
|
}
|
|
101
|
-
|
|
102
|
-
|
|
108
|
+
var isLeftHidden = listRef.current.scrollLeft <= 0;
|
|
109
|
+
var isRightHidden = listRef.current.scrollLeft + listRef.current.clientWidth >= listRef.current.scrollWidth;
|
|
110
|
+
setCanScrollLeft(!isLeftHidden);
|
|
111
|
+
setCanScrollRight(!isRightHidden);
|
|
112
|
+
if (previousButtonRef.current) {
|
|
113
|
+
previousButtonRef.current.hidden = isLeftHidden;
|
|
114
|
+
}
|
|
115
|
+
if (nextButtonRef.current) {
|
|
116
|
+
nextButtonRef.current.hidden = isRightHidden;
|
|
117
|
+
}
|
|
103
118
|
}
|
|
104
119
|
if (items.length === 0) {
|
|
105
120
|
return null;
|
|
106
121
|
}
|
|
107
122
|
return createElement("div", (0, _extends2.default)({}, props, {
|
|
108
123
|
className: (0, _lib.cx)(cssClasses.root)
|
|
109
|
-
}), createElement(
|
|
124
|
+
}), HeaderComponent && createElement(HeaderComponent, {
|
|
125
|
+
canScrollLeft: canScrollLeft,
|
|
126
|
+
canScrollRight: canScrollRight,
|
|
127
|
+
scrollLeft: scrollLeft,
|
|
128
|
+
scrollRight: scrollRight
|
|
129
|
+
}), showNavigation && createElement("button", {
|
|
110
130
|
ref: previousButtonRef,
|
|
111
131
|
title: translations.previousButtonTitle,
|
|
112
132
|
"aria-label": translations.previousButtonLabel,
|
|
@@ -153,7 +173,7 @@ function createCarouselComponent(_ref3) {
|
|
|
153
173
|
item: item,
|
|
154
174
|
sendEvent: sendEvent
|
|
155
175
|
}));
|
|
156
|
-
})), createElement("button", {
|
|
176
|
+
})), showNavigation && createElement("button", {
|
|
157
177
|
ref: nextButtonRef,
|
|
158
178
|
title: translations.nextButtonTitle,
|
|
159
179
|
"aria-label": translations.nextButtonLabel,
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createAutocompleteComponent = createAutocompleteComponent;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
+
var _cx = require("../../lib/cx");
|
|
11
|
+
var _excluded = ["children", "classNames"];
|
|
12
|
+
function createAutocompleteComponent(_ref) {
|
|
13
|
+
var createElement = _ref.createElement;
|
|
14
|
+
return function Autocomplete(userProps) {
|
|
15
|
+
var children = userProps.children,
|
|
16
|
+
_userProps$classNames = userProps.classNames,
|
|
17
|
+
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
18
|
+
props = (0, _objectWithoutProperties2.default)(userProps, _excluded);
|
|
19
|
+
return createElement("div", (0, _extends2.default)({
|
|
20
|
+
className: (0, _cx.cx)('ais-Autocomplete', classNames.root)
|
|
21
|
+
}, props), children);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createAutocompleteIndexComponent = createAutocompleteIndexComponent;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
+
var _cx = require("../../lib/cx");
|
|
11
|
+
var _excluded = ["className", "onSelect"];
|
|
12
|
+
function createAutocompleteIndexComponent(_ref) {
|
|
13
|
+
var createElement = _ref.createElement;
|
|
14
|
+
return function AutocompleteIndex(userProps) {
|
|
15
|
+
var items = userProps.items,
|
|
16
|
+
ItemComponent = userProps.ItemComponent,
|
|
17
|
+
getItemProps = userProps.getItemProps,
|
|
18
|
+
_userProps$classNames = userProps.classNames,
|
|
19
|
+
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames;
|
|
20
|
+
return createElement("div", {
|
|
21
|
+
className: (0, _cx.cx)('ais-AutocompleteIndex', classNames.root)
|
|
22
|
+
}, createElement("ol", {
|
|
23
|
+
className: (0, _cx.cx)('ais-AutocompleteIndexList', classNames.list)
|
|
24
|
+
}, items.map(function (item, index) {
|
|
25
|
+
var _getItemProps = getItemProps(item, index),
|
|
26
|
+
className = _getItemProps.className,
|
|
27
|
+
onSelect = _getItemProps.onSelect,
|
|
28
|
+
itemProps = (0, _objectWithoutProperties2.default)(_getItemProps, _excluded);
|
|
29
|
+
return createElement("li", (0, _extends2.default)({
|
|
30
|
+
key: item.objectID
|
|
31
|
+
}, itemProps, {
|
|
32
|
+
className: (0, _cx.cx)('ais-AutocompleteIndexItem', classNames.item, className)
|
|
33
|
+
}), createElement(ItemComponent, {
|
|
34
|
+
item: item,
|
|
35
|
+
onSelect: onSelect
|
|
36
|
+
}));
|
|
37
|
+
})));
|
|
38
|
+
};
|
|
39
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createAutocompletePanelComponent = createAutocompletePanelComponent;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
+
var _cx = require("../../lib/cx");
|
|
11
|
+
var _excluded = ["children", "classNames"];
|
|
12
|
+
function createAutocompletePanelComponent(_ref) {
|
|
13
|
+
var createElement = _ref.createElement;
|
|
14
|
+
return function AutocompletePanel(userProps) {
|
|
15
|
+
var children = userProps.children,
|
|
16
|
+
_userProps$classNames = userProps.classNames,
|
|
17
|
+
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
18
|
+
props = (0, _objectWithoutProperties2.default)(userProps, _excluded);
|
|
19
|
+
return createElement("div", (0, _extends2.default)({}, props, {
|
|
20
|
+
className: (0, _cx.cx)('ais-AutocompletePanel', classNames.root, props.className)
|
|
21
|
+
}), createElement("div", {
|
|
22
|
+
className: (0, _cx.cx)('ais-AutocompletePanelLayout', classNames.layout)
|
|
23
|
+
}, children));
|
|
24
|
+
};
|
|
25
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createAutocompleteSuggestionComponent = createAutocompleteSuggestionComponent;
|
|
7
|
+
var _lib = require("../../lib");
|
|
8
|
+
function createAutocompleteSuggestionComponent(_ref) {
|
|
9
|
+
var createElement = _ref.createElement;
|
|
10
|
+
return function AutocompleteSuggestion(_ref2) {
|
|
11
|
+
var item = _ref2.item,
|
|
12
|
+
onSelect = _ref2.onSelect,
|
|
13
|
+
_ref2$classNames = _ref2.classNames,
|
|
14
|
+
classNames = _ref2$classNames === void 0 ? {} : _ref2$classNames;
|
|
15
|
+
return createElement("div", {
|
|
16
|
+
onClick: onSelect,
|
|
17
|
+
className: (0, _lib.cx)('ais-AutocompleteSuggestion', classNames.root)
|
|
18
|
+
}, item.query);
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _Autocomplete = require("./Autocomplete");
|
|
7
|
+
Object.keys(_Autocomplete).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _Autocomplete[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _Autocomplete[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _AutocompleteIndex = require("./AutocompleteIndex");
|
|
18
|
+
Object.keys(_AutocompleteIndex).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _AutocompleteIndex[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function get() {
|
|
24
|
+
return _AutocompleteIndex[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _AutocompletePanel = require("./AutocompletePanel");
|
|
29
|
+
Object.keys(_AutocompletePanel).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _AutocompletePanel[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function get() {
|
|
35
|
+
return _AutocompletePanel[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _AutocompleteSuggestion = require("./AutocompleteSuggestion");
|
|
40
|
+
Object.keys(_AutocompleteSuggestion).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _AutocompleteSuggestion[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function get() {
|
|
46
|
+
return _AutocompleteSuggestion[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createChatComponent = createChatComponent;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _lib = require("../../lib");
|
|
12
|
+
var _ChatHeader = require("./ChatHeader");
|
|
13
|
+
var _ChatMessages = require("./ChatMessages");
|
|
14
|
+
var _ChatPrompt = require("./ChatPrompt");
|
|
15
|
+
var _ChatToggleButton = require("./ChatToggleButton");
|
|
16
|
+
var _excluded = ["open", "maximized", "headerProps", "toggleButtonProps", "messagesProps", "promptProps", "headerComponent", "promptComponent", "toggleButtonComponent", "classNames", "className"];
|
|
17
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
18
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
19
|
+
function createChatComponent(_ref) {
|
|
20
|
+
var createElement = _ref.createElement,
|
|
21
|
+
Fragment = _ref.Fragment;
|
|
22
|
+
var ChatToggleButton = (0, _ChatToggleButton.createChatToggleButtonComponent)({
|
|
23
|
+
createElement: createElement,
|
|
24
|
+
Fragment: Fragment
|
|
25
|
+
});
|
|
26
|
+
var ChatHeader = (0, _ChatHeader.createChatHeaderComponent)({
|
|
27
|
+
createElement: createElement,
|
|
28
|
+
Fragment: Fragment
|
|
29
|
+
});
|
|
30
|
+
var ChatMessages = (0, _ChatMessages.createChatMessagesComponent)({
|
|
31
|
+
createElement: createElement,
|
|
32
|
+
Fragment: Fragment
|
|
33
|
+
});
|
|
34
|
+
var ChatPrompt = (0, _ChatPrompt.createChatPromptComponent)({
|
|
35
|
+
createElement: createElement,
|
|
36
|
+
Fragment: Fragment
|
|
37
|
+
});
|
|
38
|
+
return function Chat(_ref2) {
|
|
39
|
+
var open = _ref2.open,
|
|
40
|
+
_ref2$maximized = _ref2.maximized,
|
|
41
|
+
maximized = _ref2$maximized === void 0 ? false : _ref2$maximized,
|
|
42
|
+
headerProps = _ref2.headerProps,
|
|
43
|
+
toggleButtonProps = _ref2.toggleButtonProps,
|
|
44
|
+
messagesProps = _ref2.messagesProps,
|
|
45
|
+
_ref2$promptProps = _ref2.promptProps,
|
|
46
|
+
promptProps = _ref2$promptProps === void 0 ? {} : _ref2$promptProps,
|
|
47
|
+
HeaderComponent = _ref2.headerComponent,
|
|
48
|
+
PromptComponent = _ref2.promptComponent,
|
|
49
|
+
ToggleButtonComponent = _ref2.toggleButtonComponent,
|
|
50
|
+
_ref2$classNames = _ref2.classNames,
|
|
51
|
+
classNames = _ref2$classNames === void 0 ? {} : _ref2$classNames,
|
|
52
|
+
className = _ref2.className,
|
|
53
|
+
props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
|
|
54
|
+
return createElement("div", (0, _extends2.default)({}, props, {
|
|
55
|
+
className: (0, _lib.cx)('ais-Chat', maximized && 'ais-Chat--maximized', classNames.root, className)
|
|
56
|
+
}), createElement("div", {
|
|
57
|
+
className: (0, _lib.cx)('ais-Chat-container', open && 'ais-Chat-container--open', maximized && 'ais-Chat-container--maximized', classNames.container)
|
|
58
|
+
}, createElement(HeaderComponent || ChatHeader, _objectSpread(_objectSpread({}, headerProps), {}, {
|
|
59
|
+
classNames: classNames.header,
|
|
60
|
+
maximized: maximized
|
|
61
|
+
})), createElement(ChatMessages, (0, _extends2.default)({}, messagesProps, {
|
|
62
|
+
classNames: classNames.messages
|
|
63
|
+
})), createElement(PromptComponent || ChatPrompt, _objectSpread(_objectSpread({}, promptProps), {}, {
|
|
64
|
+
classNames: classNames.prompt
|
|
65
|
+
}))), createElement("div", {
|
|
66
|
+
className: "ais-Chat-toggleButtonWrapper"
|
|
67
|
+
}, createElement(ToggleButtonComponent || ChatToggleButton, _objectSpread(_objectSpread({}, toggleButtonProps), {}, {
|
|
68
|
+
classNames: classNames.toggleButton,
|
|
69
|
+
onClick: function onClick() {
|
|
70
|
+
var _toggleButtonProps$on;
|
|
71
|
+
(_toggleButtonProps$on = toggleButtonProps.onClick) === null || _toggleButtonProps$on === void 0 ? void 0 : _toggleButtonProps$on.call(toggleButtonProps);
|
|
72
|
+
if (!open) {
|
|
73
|
+
var _promptProps$promptRe, _promptProps$promptRe2;
|
|
74
|
+
(_promptProps$promptRe = promptProps.promptRef) === null || _promptProps$promptRe === void 0 ? void 0 : (_promptProps$promptRe2 = _promptProps$promptRe.current) === null || _promptProps$promptRe2 === void 0 ? void 0 : _promptProps$promptRe2.focus();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}))));
|
|
78
|
+
};
|
|
79
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createChatHeaderComponent = createChatHeaderComponent;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _lib = require("../../lib");
|
|
12
|
+
var _Button = require("../Button");
|
|
13
|
+
var _icons = require("./icons");
|
|
14
|
+
var _excluded = ["maximized", "onToggleMaximize", "onClose", "onClear", "canClear", "closeIconComponent", "minimizeIconComponent", "maximizeIconComponent", "titleIconComponent", "classNames", "translations"];
|
|
15
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
|
+
function createChatHeaderComponent(_ref) {
|
|
18
|
+
var createElement = _ref.createElement;
|
|
19
|
+
var Button = (0, _Button.createButtonComponent)({
|
|
20
|
+
createElement: createElement
|
|
21
|
+
});
|
|
22
|
+
return function ChatHeader(_ref2) {
|
|
23
|
+
var _ref2$maximized = _ref2.maximized,
|
|
24
|
+
maximized = _ref2$maximized === void 0 ? false : _ref2$maximized,
|
|
25
|
+
onToggleMaximize = _ref2.onToggleMaximize,
|
|
26
|
+
onClose = _ref2.onClose,
|
|
27
|
+
onClear = _ref2.onClear,
|
|
28
|
+
_ref2$canClear = _ref2.canClear,
|
|
29
|
+
canClear = _ref2$canClear === void 0 ? false : _ref2$canClear,
|
|
30
|
+
CloseIconComponent = _ref2.closeIconComponent,
|
|
31
|
+
MinimizeIconComponent = _ref2.minimizeIconComponent,
|
|
32
|
+
MaximizeIconComponent = _ref2.maximizeIconComponent,
|
|
33
|
+
TitleIconComponent = _ref2.titleIconComponent,
|
|
34
|
+
_ref2$classNames = _ref2.classNames,
|
|
35
|
+
classNames = _ref2$classNames === void 0 ? {} : _ref2$classNames,
|
|
36
|
+
userTranslations = _ref2.translations,
|
|
37
|
+
props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
|
|
38
|
+
var translations = _objectSpread({
|
|
39
|
+
title: 'Chat',
|
|
40
|
+
minimizeLabel: 'Minimize chat',
|
|
41
|
+
maximizeLabel: 'Maximize chat',
|
|
42
|
+
closeLabel: 'Close chat',
|
|
43
|
+
clearLabel: 'Clear'
|
|
44
|
+
}, userTranslations);
|
|
45
|
+
var defaultMaximizeIcon = maximized ? createElement(_icons.MinimizeIconComponent, {
|
|
46
|
+
createElement: createElement
|
|
47
|
+
}) : createElement(_icons.MaximizeIconComponent, {
|
|
48
|
+
createElement: createElement
|
|
49
|
+
});
|
|
50
|
+
return createElement("div", (0, _extends2.default)({
|
|
51
|
+
className: (0, _lib.cx)('ais-ChatHeader', classNames.root, props.className)
|
|
52
|
+
}, props), createElement("span", {
|
|
53
|
+
className: (0, _lib.cx)('ais-ChatHeader-title', classNames.title)
|
|
54
|
+
}, createElement("span", {
|
|
55
|
+
className: (0, _lib.cx)('ais-ChatHeader-titleIcon', classNames.titleIcon)
|
|
56
|
+
}, TitleIconComponent ? createElement(TitleIconComponent, null) : createElement(_icons.SparklesIconComponent, {
|
|
57
|
+
createElement: createElement,
|
|
58
|
+
width: 20,
|
|
59
|
+
height: 20
|
|
60
|
+
})), translations.title), createElement("div", {
|
|
61
|
+
className: (0, _lib.cx)('ais-ChatHeader-actions')
|
|
62
|
+
}, onClear && createElement(Button, {
|
|
63
|
+
variant: "ghost",
|
|
64
|
+
size: "sm",
|
|
65
|
+
className: (0, _lib.cx)('ais-ChatHeader-clear', classNames.clear),
|
|
66
|
+
onClick: onClear,
|
|
67
|
+
disabled: !canClear
|
|
68
|
+
}, translations.clearLabel), createElement(Button, {
|
|
69
|
+
variant: "ghost",
|
|
70
|
+
size: "sm",
|
|
71
|
+
iconOnly: true,
|
|
72
|
+
className: (0, _lib.cx)('ais-ChatHeader-maximize', classNames.maximize),
|
|
73
|
+
onClick: onToggleMaximize,
|
|
74
|
+
"aria-label": maximized ? translations.minimizeLabel : translations.maximizeLabel
|
|
75
|
+
}, MaximizeIconComponent ? createElement(MaximizeIconComponent, {
|
|
76
|
+
maximized: maximized
|
|
77
|
+
}) : defaultMaximizeIcon), createElement(Button, {
|
|
78
|
+
variant: "ghost",
|
|
79
|
+
size: "sm",
|
|
80
|
+
iconOnly: true,
|
|
81
|
+
className: (0, _lib.cx)('ais-ChatHeader-close', classNames.close),
|
|
82
|
+
onClick: onClose,
|
|
83
|
+
"aria-label": translations.closeLabel,
|
|
84
|
+
title: translations.closeLabel
|
|
85
|
+
}, CloseIconComponent ? createElement(CloseIconComponent, null) : createElement(_icons.CloseIconComponent, {
|
|
86
|
+
createElement: createElement
|
|
87
|
+
}))));
|
|
88
|
+
};
|
|
89
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createChatMessageComponent = createChatMessageComponent;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _markdownToJsx = require("markdown-to-jsx");
|
|
12
|
+
var _lib = require("../../lib");
|
|
13
|
+
var _Button = require("../Button");
|
|
14
|
+
var _icons = require("./icons");
|
|
15
|
+
var _excluded = ["classNames", "message", "side", "variant", "actions", "autoHideActions", "leadingComponent", "actionsComponent", "footerComponent", "tools", "indexUiState", "setIndexUiState", "onClose", "translations"];
|
|
16
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
|
+
function createChatMessageComponent(_ref) {
|
|
19
|
+
var createElement = _ref.createElement;
|
|
20
|
+
var Button = (0, _Button.createButtonComponent)({
|
|
21
|
+
createElement: createElement
|
|
22
|
+
});
|
|
23
|
+
return function ChatMessage(userProps) {
|
|
24
|
+
var _userProps$classNames = userProps.classNames,
|
|
25
|
+
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
26
|
+
message = userProps.message,
|
|
27
|
+
_userProps$side = userProps.side,
|
|
28
|
+
side = _userProps$side === void 0 ? 'left' : _userProps$side,
|
|
29
|
+
_userProps$variant = userProps.variant,
|
|
30
|
+
variant = _userProps$variant === void 0 ? 'subtle' : _userProps$variant,
|
|
31
|
+
_userProps$actions = userProps.actions,
|
|
32
|
+
actions = _userProps$actions === void 0 ? [] : _userProps$actions,
|
|
33
|
+
_userProps$autoHideAc = userProps.autoHideActions,
|
|
34
|
+
autoHideActions = _userProps$autoHideAc === void 0 ? false : _userProps$autoHideAc,
|
|
35
|
+
LeadingComponent = userProps.leadingComponent,
|
|
36
|
+
ActionsComponent = userProps.actionsComponent,
|
|
37
|
+
FooterComponent = userProps.footerComponent,
|
|
38
|
+
_userProps$tools = userProps.tools,
|
|
39
|
+
tools = _userProps$tools === void 0 ? {} : _userProps$tools,
|
|
40
|
+
indexUiState = userProps.indexUiState,
|
|
41
|
+
setIndexUiState = userProps.setIndexUiState,
|
|
42
|
+
onClose = userProps.onClose,
|
|
43
|
+
userTranslations = userProps.translations,
|
|
44
|
+
props = (0, _objectWithoutProperties2.default)(userProps, _excluded);
|
|
45
|
+
var translations = _objectSpread({
|
|
46
|
+
messageLabel: 'Message',
|
|
47
|
+
actionsLabel: 'Message actions'
|
|
48
|
+
}, userTranslations);
|
|
49
|
+
var hasLeading = Boolean(LeadingComponent);
|
|
50
|
+
var hasActions = Boolean(actions.length > 0 || ActionsComponent);
|
|
51
|
+
var cssClasses = {
|
|
52
|
+
root: (0, _lib.cx)('ais-ChatMessage', "ais-ChatMessage--".concat(side), "ais-ChatMessage--".concat(variant), autoHideActions && 'ais-ChatMessage--auto-hide-actions', classNames.root),
|
|
53
|
+
container: (0, _lib.cx)('ais-ChatMessage-container', classNames.container),
|
|
54
|
+
leading: (0, _lib.cx)('ais-ChatMessage-leading', classNames.leading),
|
|
55
|
+
content: (0, _lib.cx)('ais-ChatMessage-content', classNames.content),
|
|
56
|
+
message: (0, _lib.cx)('ais-ChatMessage-message', classNames.message),
|
|
57
|
+
actions: (0, _lib.cx)('ais-ChatMessage-actions', classNames.actions),
|
|
58
|
+
footer: (0, _lib.cx)('ais-ChatMessage-footer', classNames.footer)
|
|
59
|
+
};
|
|
60
|
+
function renderMessagePart(part, index) {
|
|
61
|
+
if (part.type === 'step-start') {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
if (part.type === 'text') {
|
|
65
|
+
var markdown = (0, _markdownToJsx.compiler)(part.text, {
|
|
66
|
+
createElement: createElement,
|
|
67
|
+
disableParsingRawHTML: true
|
|
68
|
+
});
|
|
69
|
+
return createElement("span", {
|
|
70
|
+
key: "".concat(message.id, "-").concat(index)
|
|
71
|
+
}, markdown);
|
|
72
|
+
}
|
|
73
|
+
if ((0, _lib.startsWith)(part.type, 'tool-')) {
|
|
74
|
+
var toolName = part.type.replace('tool-', '');
|
|
75
|
+
var tool = tools[toolName];
|
|
76
|
+
if (tool) {
|
|
77
|
+
var ToolLayoutComponent = tool.layoutComponent;
|
|
78
|
+
var toolMessage = part;
|
|
79
|
+
var boundAddToolResult = function boundAddToolResult(params) {
|
|
80
|
+
var _tool$addToolResult;
|
|
81
|
+
return (_tool$addToolResult = tool.addToolResult) === null || _tool$addToolResult === void 0 ? void 0 : _tool$addToolResult.call(tool, {
|
|
82
|
+
output: params.output,
|
|
83
|
+
tool: part.type,
|
|
84
|
+
toolCallId: toolMessage.toolCallId
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
return createElement("div", {
|
|
88
|
+
key: "".concat(message.id, "-").concat(index),
|
|
89
|
+
className: "ais-ChatMessage-tool"
|
|
90
|
+
}, createElement(ToolLayoutComponent, {
|
|
91
|
+
message: toolMessage,
|
|
92
|
+
indexUiState: indexUiState,
|
|
93
|
+
setIndexUiState: setIndexUiState,
|
|
94
|
+
addToolResult: boundAddToolResult,
|
|
95
|
+
onClose: onClose
|
|
96
|
+
}));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
return createElement("article", (0, _extends2.default)({}, props, {
|
|
102
|
+
className: (0, _lib.cx)(cssClasses.root, props.className),
|
|
103
|
+
"aria-label": translations.messageLabel
|
|
104
|
+
}), createElement("div", {
|
|
105
|
+
className: (0, _lib.cx)(cssClasses.container)
|
|
106
|
+
}, hasLeading && createElement("div", {
|
|
107
|
+
className: (0, _lib.cx)(cssClasses.leading)
|
|
108
|
+
}, LeadingComponent && createElement(LeadingComponent, null)), createElement("div", {
|
|
109
|
+
className: (0, _lib.cx)(cssClasses.content)
|
|
110
|
+
}, createElement("div", {
|
|
111
|
+
className: (0, _lib.cx)(cssClasses.message)
|
|
112
|
+
}, message.parts.map(renderMessagePart)), hasActions && createElement("div", {
|
|
113
|
+
className: (0, _lib.cx)(cssClasses.actions),
|
|
114
|
+
"aria-label": translations.actionsLabel
|
|
115
|
+
}, ActionsComponent ? createElement(ActionsComponent, {
|
|
116
|
+
actions: actions,
|
|
117
|
+
message: message
|
|
118
|
+
}) : actions.map(function (action, index) {
|
|
119
|
+
return createElement(Button, {
|
|
120
|
+
key: index,
|
|
121
|
+
variant: "ghost",
|
|
122
|
+
size: "sm",
|
|
123
|
+
iconOnly: true,
|
|
124
|
+
className: "ais-ChatMessage-action",
|
|
125
|
+
disabled: action.disabled,
|
|
126
|
+
"aria-label": action.title,
|
|
127
|
+
onClick: function onClick() {
|
|
128
|
+
var _action$onClick;
|
|
129
|
+
return (_action$onClick = action.onClick) === null || _action$onClick === void 0 ? void 0 : _action$onClick.call(action, message);
|
|
130
|
+
}
|
|
131
|
+
}, action.icon ? createElement(action.icon, null) : createElement(_icons.MenuIconComponent, {
|
|
132
|
+
createElement: createElement
|
|
133
|
+
}));
|
|
134
|
+
})), FooterComponent && createElement("div", {
|
|
135
|
+
className: (0, _lib.cx)(cssClasses.footer)
|
|
136
|
+
}, createElement(FooterComponent, null)))));
|
|
137
|
+
};
|
|
138
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createChatMessageErrorComponent = createChatMessageErrorComponent;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _Button = require("../Button");
|
|
12
|
+
var _icons = require("./icons");
|
|
13
|
+
var _excluded = ["onReload", "actions", "translations"];
|
|
14
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
|
+
function createChatMessageErrorComponent(_ref) {
|
|
17
|
+
var createElement = _ref.createElement;
|
|
18
|
+
var Button = (0, _Button.createButtonComponent)({
|
|
19
|
+
createElement: createElement
|
|
20
|
+
});
|
|
21
|
+
return function ChatMessageError(_ref2) {
|
|
22
|
+
var onReload = _ref2.onReload,
|
|
23
|
+
actions = _ref2.actions,
|
|
24
|
+
userTranslations = _ref2.translations,
|
|
25
|
+
props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
|
|
26
|
+
var translations = _objectSpread({
|
|
27
|
+
errorMessage: 'Sorry, we are not able to generate a response at the moment. Please retry or contact support.',
|
|
28
|
+
retryText: 'Retry'
|
|
29
|
+
}, userTranslations);
|
|
30
|
+
return createElement("article", (0, _extends2.default)({
|
|
31
|
+
className: "ais-ChatMessageError ais-ChatMessage ais-ChatMessage--left ais-ChatMessage--subtle"
|
|
32
|
+
}, props), createElement("div", {
|
|
33
|
+
className: "ais-ChatMessage-container"
|
|
34
|
+
}, createElement("div", {
|
|
35
|
+
className: "ais-ChatMessage-content"
|
|
36
|
+
}, createElement("div", {
|
|
37
|
+
className: "ais-ChatMessage-message"
|
|
38
|
+
}, translations.errorMessage), (actions || onReload) && createElement("div", {
|
|
39
|
+
className: "ais-ChatMessage-actions"
|
|
40
|
+
}, actions ? actions.map(function (action, index) {
|
|
41
|
+
return createElement(Button, (0, _extends2.default)({
|
|
42
|
+
key: index,
|
|
43
|
+
variant: "ghost",
|
|
44
|
+
className: "ais-ChatMessage-action"
|
|
45
|
+
}, action), action.children);
|
|
46
|
+
}) : createElement(Button, {
|
|
47
|
+
variant: "primary",
|
|
48
|
+
size: "md",
|
|
49
|
+
className: "ais-ChatMessage-errorAction",
|
|
50
|
+
onClick: function onClick() {
|
|
51
|
+
return onReload === null || onReload === void 0 ? void 0 : onReload();
|
|
52
|
+
}
|
|
53
|
+
}, createElement(_icons.ReloadIconComponent, {
|
|
54
|
+
createElement: createElement
|
|
55
|
+
}), translations.retryText)))));
|
|
56
|
+
};
|
|
57
|
+
}
|