@yext/chat-ui-react 0.1.0 → 0.2.1
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/README.md +33 -2
- package/THIRD-PARTY-NOTICES +6 -6
- package/lib/bundle-no-resets.css +1 -0
- package/lib/bundle.css +1 -1
- package/lib/commonjs/components/ChatHeader.d.ts +1 -1
- package/lib/commonjs/components/ChatHeader.d.ts.map +1 -1
- package/lib/commonjs/components/ChatHeader.js +6 -5
- package/lib/commonjs/components/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/ChatInput.d.ts +2 -3
- package/lib/commonjs/components/ChatInput.d.ts.map +1 -1
- package/lib/commonjs/components/ChatInput.js +8 -6
- package/lib/commonjs/components/ChatInput.js.map +1 -1
- package/lib/commonjs/components/ChatPanel.d.ts.map +1 -1
- package/lib/commonjs/components/ChatPanel.js +8 -6
- package/lib/commonjs/components/ChatPanel.js.map +1 -1
- package/lib/commonjs/components/ChatPopUp.d.ts.map +1 -1
- package/lib/commonjs/components/ChatPopUp.js +7 -5
- package/lib/commonjs/components/ChatPopUp.js.map +1 -1
- package/lib/commonjs/components/LoadingDots.d.ts.map +1 -1
- package/lib/commonjs/components/LoadingDots.js.map +1 -1
- package/lib/commonjs/components/Markdown.js +1 -1
- package/lib/commonjs/components/Markdown.js.map +1 -1
- package/lib/commonjs/components/MessageBubble.d.ts.map +1 -1
- package/lib/commonjs/components/MessageBubble.js +5 -2
- package/lib/commonjs/components/MessageBubble.js.map +1 -1
- package/lib/commonjs/hooks/useDefaultHandleApiError.d.ts +8 -0
- package/lib/commonjs/hooks/useDefaultHandleApiError.d.ts.map +1 -0
- package/lib/commonjs/hooks/useDefaultHandleApiError.js +28 -0
- package/lib/commonjs/hooks/useDefaultHandleApiError.js.map +1 -0
- package/lib/commonjs/icons/Arrow.d.ts.map +1 -1
- package/lib/commonjs/icons/Arrow.js +1 -1
- package/lib/commonjs/icons/Arrow.js.map +1 -1
- package/lib/commonjs/icons/Cross.d.ts.map +1 -1
- package/lib/commonjs/icons/Cross.js.map +1 -1
- package/lib/commonjs/icons/DualSync.d.ts.map +1 -1
- package/lib/commonjs/icons/DualSync.js +1 -1
- package/lib/commonjs/icons/DualSync.js.map +1 -1
- package/lib/commonjs/icons/Message.d.ts.map +1 -1
- package/lib/commonjs/icons/Message.js +1 -1
- package/lib/commonjs/icons/Message.js.map +1 -1
- package/lib/commonjs/utils/withStylelessCssClasses.d.ts +17 -0
- package/lib/commonjs/utils/withStylelessCssClasses.d.ts.map +1 -0
- package/lib/commonjs/utils/withStylelessCssClasses.js +28 -0
- package/lib/commonjs/utils/withStylelessCssClasses.js.map +1 -0
- package/lib/esm/components/ChatHeader.d.ts +1 -1
- package/lib/esm/components/ChatHeader.d.ts.map +1 -1
- package/lib/esm/components/ChatHeader.js +6 -5
- package/lib/esm/components/ChatHeader.js.map +1 -1
- package/lib/esm/components/ChatInput.d.ts +2 -3
- package/lib/esm/components/ChatInput.d.ts.map +1 -1
- package/lib/esm/components/ChatInput.js +7 -5
- package/lib/esm/components/ChatInput.js.map +1 -1
- package/lib/esm/components/ChatPanel.d.ts.map +1 -1
- package/lib/esm/components/ChatPanel.js +7 -5
- package/lib/esm/components/ChatPanel.js.map +1 -1
- package/lib/esm/components/ChatPopUp.d.ts.map +1 -1
- package/lib/esm/components/ChatPopUp.js +9 -7
- package/lib/esm/components/ChatPopUp.js.map +1 -1
- package/lib/esm/components/LoadingDots.d.ts.map +1 -1
- package/lib/esm/components/LoadingDots.js.map +1 -1
- package/lib/esm/components/Markdown.js +1 -1
- package/lib/esm/components/Markdown.js.map +1 -1
- package/lib/esm/components/MessageBubble.d.ts.map +1 -1
- package/lib/esm/components/MessageBubble.js +5 -2
- package/lib/esm/components/MessageBubble.js.map +1 -1
- package/lib/esm/hooks/useDefaultHandleApiError.d.ts +8 -0
- package/lib/esm/hooks/useDefaultHandleApiError.d.ts.map +1 -0
- package/lib/esm/hooks/useDefaultHandleApiError.js +24 -0
- package/lib/esm/hooks/useDefaultHandleApiError.js.map +1 -0
- package/lib/esm/icons/Arrow.d.ts.map +1 -1
- package/lib/esm/icons/Arrow.js +1 -1
- package/lib/esm/icons/Arrow.js.map +1 -1
- package/lib/esm/icons/Cross.d.ts.map +1 -1
- package/lib/esm/icons/Cross.js.map +1 -1
- package/lib/esm/icons/DualSync.d.ts.map +1 -1
- package/lib/esm/icons/DualSync.js +1 -1
- package/lib/esm/icons/DualSync.js.map +1 -1
- package/lib/esm/icons/Message.d.ts.map +1 -1
- package/lib/esm/icons/Message.js +1 -1
- package/lib/esm/icons/Message.js.map +1 -1
- package/lib/esm/index.d.ts +3 -4
- package/lib/esm/utils/withStylelessCssClasses.d.ts +17 -0
- package/lib/esm/utils/withStylelessCssClasses.d.ts.map +1 -0
- package/lib/esm/utils/withStylelessCssClasses.js +24 -0
- package/lib/esm/utils/withStylelessCssClasses.js.map +1 -0
- package/package.json +5 -4
- package/src/components/ChatHeader.tsx +14 -13
- package/src/components/ChatInput.tsx +9 -8
- package/src/components/ChatPanel.tsx +8 -6
- package/src/components/ChatPopUp.tsx +35 -25
- package/src/components/LoadingDots.tsx +1 -4
- package/src/components/Markdown.tsx +3 -3
- package/src/components/MessageBubble.tsx +5 -2
- package/src/hooks/useDefaultHandleApiError.ts +32 -0
- package/src/icons/Arrow.tsx +12 -4
- package/src/icons/Cross.tsx +10 -4
- package/src/icons/DualSync.tsx +11 -4
- package/src/icons/Message.tsx +9 -3
- package/src/utils/withStylelessCssClasses.ts +28 -0
- package/lib/commonjs/utils/defaultHandleError.d.ts +0 -9
- package/lib/commonjs/utils/defaultHandleError.d.ts.map +0 -1
- package/lib/commonjs/utils/defaultHandleError.js +0 -15
- package/lib/commonjs/utils/defaultHandleError.js.map +0 -1
- package/lib/esm/utils/defaultHandleError.d.ts +0 -9
- package/lib/esm/utils/defaultHandleError.d.ts.map +0 -1
- package/lib/esm/utils/defaultHandleError.js +0 -11
- package/lib/esm/utils/defaultHandleError.js.map +0 -1
- package/src/utils/defaultHandleError.ts +0 -10
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ArrowIcon = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
function ArrowIcon() {
|
|
6
|
-
return ((0, jsx_runtime_1.jsxs)("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", fill:
|
|
6
|
+
return ((0, jsx_runtime_1.jsxs)("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeLinecap: "square", xmlns: "http://www.w3.org/2000/svg", children: [(0, jsx_runtime_1.jsx)("path", { d: "M10 5V15" }), (0, jsx_runtime_1.jsx)("path", { d: "M15 8.84615L10 4L5 8.84615" })] }));
|
|
7
7
|
}
|
|
8
8
|
exports.ArrowIcon = ArrowIcon;
|
|
9
9
|
//# sourceMappingURL=Arrow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Arrow.js","sourceRoot":"","sources":["../../../src/icons/Arrow.tsx"],"names":[],"mappings":";;;;AAAA,SAAgB,SAAS;IACvB,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"Arrow.js","sourceRoot":"","sources":["../../../src/icons/Arrow.tsx"],"names":[],"mappings":";;;;AAAA,SAAgB,SAAS;IACvB,OAAO,CACL,iCACE,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,aAAa,EAAC,QAAQ,EACtB,KAAK,EAAC,4BAA4B,aAElC,iCAAM,CAAC,EAAC,UAAU,GAAG,EACrB,iCAAM,CAAC,EAAC,4BAA4B,GAAG,IACnC,CACP,CAAC;AACJ,CAAC;AAfD,8BAeC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cross.d.ts","sourceRoot":"","sources":["../../../src/icons/Cross.tsx"],"names":[],"mappings":";AAAA,wBAAgB,SAAS,IAAI,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"Cross.d.ts","sourceRoot":"","sources":["../../../src/icons/Cross.tsx"],"names":[],"mappings":";AAAA,wBAAgB,SAAS,IAAI,GAAG,CAAC,OAAO,CAavC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cross.js","sourceRoot":"","sources":["../../../src/icons/Cross.tsx"],"names":[],"mappings":";;;;AAAA,SAAgB,SAAS;IACvB,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"Cross.js","sourceRoot":"","sources":["../../../src/icons/Cross.tsx"],"names":[],"mappings":";;;;AAAA,SAAgB,SAAS;IACvB,OAAO,CACL,iCACE,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,MAAM,EAAC,cAAc,EACrB,KAAK,EAAC,4BAA4B,aAElC,iCAAM,CAAC,EAAC,YAAY,EAAC,aAAa,EAAC,QAAQ,EAAC,cAAc,EAAC,OAAO,GAAG,EACrE,iCAAM,CAAC,EAAC,YAAY,EAAC,aAAa,EAAC,QAAQ,EAAC,cAAc,EAAC,OAAO,GAAG,IACjE,CACP,CAAC;AACJ,CAAC;AAbD,8BAaC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DualSync.d.ts","sourceRoot":"","sources":["../../../src/icons/DualSync.tsx"],"names":[],"mappings":";AAAA,wBAAgB,YAAY,IAAI,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"DualSync.d.ts","sourceRoot":"","sources":["../../../src/icons/DualSync.tsx"],"names":[],"mappings":";AAAA,wBAAgB,YAAY,IAAI,GAAG,CAAC,OAAO,CAc1C"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DualSyncIcon = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
function DualSyncIcon() {
|
|
6
|
-
return ((0, jsx_runtime_1.jsxs)("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", fill:
|
|
6
|
+
return ((0, jsx_runtime_1.jsxs)("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", fill: "currentColor", stroke: "currentColor", xmlns: "http://www.w3.org/2000/svg", children: [(0, jsx_runtime_1.jsx)("path", { d: "M14.3148 6.47397C14.9074 7.36266 15.2593 8.46858 15.2593 9.63375C15.2593 12.675 12.9259 15.1634 10.0741 15.1634C9.11111 15.1634 8.2037 14.8671 7.42593 14.3734L9.05556 13.8995L8.87037 13.1293L6 13.939L6.75926 17L7.48148 16.8025L7.03704 15.0449C7.92593 15.6176 8.96296 15.9336 10.0741 15.9336C13.3519 15.9336 16 13.1095 16 9.614C16 8.2711 15.6111 7.02693 14.9259 6L14.3148 6.47397Z" }), (0, jsx_runtime_1.jsx)("path", { d: "M9.92593 4.68459C10.8889 4.68459 11.7963 4.95341 12.5741 5.40143L10.9444 5.81362L11.1296 6.51254L14 5.77778L13.2407 3L12.5185 3.17921L12.963 4.77419C12.0741 4.25448 11.037 3.96774 9.92593 3.96774C6.64815 3.96774 4 6.53047 4 9.70251C4 10.9211 4.40741 12.0681 5.07407 13L5.68518 12.5878C5.09259 11.7634 4.74074 10.7778 4.74074 9.70251C4.74074 6.94265 7.07407 4.68459 9.92593 4.68459Z" })] }));
|
|
7
7
|
}
|
|
8
8
|
exports.DualSyncIcon = DualSyncIcon;
|
|
9
9
|
//# sourceMappingURL=DualSync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DualSync.js","sourceRoot":"","sources":["../../../src/icons/DualSync.tsx"],"names":[],"mappings":";;;;AAAA,SAAgB,YAAY;IAC1B,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"DualSync.js","sourceRoot":"","sources":["../../../src/icons/DualSync.tsx"],"names":[],"mappings":";;;;AAAA,SAAgB,YAAY;IAC1B,OAAO,CACL,iCACE,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,EACnB,MAAM,EAAC,cAAc,EACrB,KAAK,EAAC,4BAA4B,aAElC,iCAAM,CAAC,EAAC,6XAA6X,GAAG,EACxY,iCAAM,CAAC,EAAC,+XAA+X,GAAG,IACtY,CACP,CAAC;AACJ,CAAC;AAdD,oCAcC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../src/icons/Message.tsx"],"names":[],"mappings":";AAAA,wBAAgB,WAAW,IAAI,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../src/icons/Message.tsx"],"names":[],"mappings":";AAAA,wBAAgB,WAAW,IAAI,GAAG,CAAC,OAAO,CAezC"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MessageIcon = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
function MessageIcon() {
|
|
6
|
-
return ((0, jsx_runtime_1.jsxs)("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", fill:
|
|
6
|
+
return ((0, jsx_runtime_1.jsxs)("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", children: [(0, jsx_runtime_1.jsx)("path", { d: "M3.37424 17.1166L6.31902 14.1718H16.6258V4.84663H3.37424V17.1166ZM3.86503 5.33742H16.135V13.681H6.31902H6.11043L5.96319 13.8282L3.85276 15.9386V5.33742H3.86503Z" }), (0, jsx_runtime_1.jsx)("path", { d: "M14.4172 9.2638H6.07362V9.7546H14.4172V9.2638Z" }), (0, jsx_runtime_1.jsx)("path", { d: "M13.9264 10.7362H6.07362V11.227H13.9264V10.7362Z" }), (0, jsx_runtime_1.jsx)("path", { d: "M13.4356 7.79141H6.07362V8.28221H13.4356V7.79141Z" })] }));
|
|
7
7
|
}
|
|
8
8
|
exports.MessageIcon = MessageIcon;
|
|
9
9
|
//# sourceMappingURL=Message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../src/icons/Message.tsx"],"names":[],"mappings":";;;;AAAA,SAAgB,WAAW;IACzB,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../src/icons/Message.tsx"],"names":[],"mappings":";;;;AAAA,SAAgB,WAAW;IACzB,OAAO,CACL,iCACE,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,EACnB,KAAK,EAAC,4BAA4B,aAElC,iCAAM,CAAC,EAAC,kKAAkK,GAAG,EAC7K,iCAAM,CAAC,EAAC,gDAAgD,GAAG,EAC3D,iCAAM,CAAC,EAAC,kDAAkD,GAAG,EAC7D,iCAAM,CAAC,EAAC,mDAAmD,GAAG,IAC1D,CACP,CAAC;AACJ,CAAC;AAfD,kCAeC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Append styleless css classnames that user can target to add custom styling to components.
|
|
3
|
+
* The classes follows a format of "yext-chat-component-name__css-interface-field-name".
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* the styleless css class name for {@link MessageBubble}'s "message__bot" field defined
|
|
7
|
+
* in its {@link MessageBubbleCssClasses} interface is "yext-chat-message-bubble__message__bot"
|
|
8
|
+
*
|
|
9
|
+
* @internal
|
|
10
|
+
*
|
|
11
|
+
* @param componentName - the component name
|
|
12
|
+
* @param builtInClasses - built in css classnames of the component
|
|
13
|
+
*
|
|
14
|
+
* @returns builtInClasses with styleless css classnames
|
|
15
|
+
*/
|
|
16
|
+
export declare function withStylelessCssClasses<ClassInterface extends Partial<Record<keyof ClassInterface, string | object>>>(componentName: string, builtInClasses: Readonly<ClassInterface>): ClassInterface;
|
|
17
|
+
//# sourceMappingURL=withStylelessCssClasses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withStylelessCssClasses.d.ts","sourceRoot":"","sources":["../../../src/utils/withStylelessCssClasses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,cAAc,SAAS,OAAO,CAAC,MAAM,CAAC,MAAM,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EAE7E,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,GACvC,cAAc,CAOhB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.withStylelessCssClasses = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Append styleless css classnames that user can target to add custom styling to components.
|
|
6
|
+
* The classes follows a format of "yext-chat-component-name__css-interface-field-name".
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* the styleless css class name for {@link MessageBubble}'s "message__bot" field defined
|
|
10
|
+
* in its {@link MessageBubbleCssClasses} interface is "yext-chat-message-bubble__message__bot"
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*
|
|
14
|
+
* @param componentName - the component name
|
|
15
|
+
* @param builtInClasses - built in css classnames of the component
|
|
16
|
+
*
|
|
17
|
+
* @returns builtInClasses with styleless css classnames
|
|
18
|
+
*/
|
|
19
|
+
function withStylelessCssClasses(componentName, builtInClasses) {
|
|
20
|
+
const formatString = (str) => str.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);
|
|
21
|
+
const classes = { ...builtInClasses };
|
|
22
|
+
Object.keys(builtInClasses).forEach((key) => {
|
|
23
|
+
classes[key] = `${classes[key]} yext-chat${formatString(componentName)}__${formatString(key)}`;
|
|
24
|
+
});
|
|
25
|
+
return classes;
|
|
26
|
+
}
|
|
27
|
+
exports.withStylelessCssClasses = withStylelessCssClasses;
|
|
28
|
+
//# sourceMappingURL=withStylelessCssClasses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withStylelessCssClasses.js","sourceRoot":"","sources":["../../../src/utils/withStylelessCssClasses.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;GAcG;AACH,SAAgB,uBAAuB,CAGrC,aAAqB,EACrB,cAAwC;IAExC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAClG,MAAM,OAAO,GAAG,EAAE,GAAG,cAAc,EAAE,CAAA;IACrC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,YAAY,CAAC,aAAa,CAAC,KAAK,YAAY,CAAC,GAAG,CAAC,EAAE,CAAA;IAChG,CAAC,CAAC,CAAA;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAZD,0DAYC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatHeader.d.ts","sourceRoot":"","sources":["../../../src/components/ChatHeader.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ChatHeader.d.ts","sourceRoot":"","sources":["../../../src/components/ChatHeader.tsx"],"names":[],"mappings":";AAQA;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAUD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAChC,yCAAyC;IACzC,eAAe,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC9B,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,iBAAiB,EACjB,iBAAoC,EACpC,eAAe,EACf,eAA+B,EAC/B,OAAO,EACP,gBAAgB,GACjB,EAAE,eAAe,2CA4CjB"}
|
|
@@ -5,12 +5,13 @@ import { useComposedCssClasses } from "../hooks/useComposedCssClasses";
|
|
|
5
5
|
import { useCallback, useRef, useState } from "react";
|
|
6
6
|
import { twMerge } from "tailwind-merge";
|
|
7
7
|
import { CrossIcon } from "../icons/Cross";
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
import { withStylelessCssClasses } from "../utils/withStylelessCssClasses";
|
|
9
|
+
const builtInCssClasses = withStylelessCssClasses('Header', {
|
|
10
|
+
container: "w-full px-4 py-3 flex justify-between bg-gradient-to-tr from-blue-600 to-blue-800 rounded-t-3xl",
|
|
10
11
|
title: "text-white text-xl font-medium",
|
|
11
12
|
restartButton: "w-8 text-white stroke-[0.2] ml-auto",
|
|
12
|
-
closeButton: "w-8 text-white hover:scale-110"
|
|
13
|
-
};
|
|
13
|
+
closeButton: "w-8 text-white hover:scale-110",
|
|
14
|
+
});
|
|
14
15
|
/**
|
|
15
16
|
* A component that renders the header of a chat bot panel,
|
|
16
17
|
* including the title and a button to reset the conversation.
|
|
@@ -33,6 +34,6 @@ export function ChatHeader({ title, showRestartButton, restartButtonIcon = _jsx(
|
|
|
33
34
|
}, 1000);
|
|
34
35
|
chat.restartConversation();
|
|
35
36
|
}, [chat]);
|
|
36
|
-
return (_jsxs("div", { className: cssClasses.
|
|
37
|
+
return (_jsxs("div", { className: cssClasses.container, children: [_jsx("h1", { className: cssClasses.title, children: title }), showRestartButton && (_jsx("button", { "aria-label": "Restart Conversation", onClick: onRestart, className: restartButtonCssClasses, children: restartButtonIcon })), showCloseButton && (_jsx("button", { "aria-label": "Close Chat", onClick: onClose, className: cssClasses.closeButton, children: closeButtonIcon }))] }));
|
|
37
38
|
}
|
|
38
39
|
//# sourceMappingURL=ChatHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatHeader.js","sourceRoot":"","sources":["../../../src/components/ChatHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"ChatHeader.js","sourceRoot":"","sources":["../../../src/components/ChatHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAc3E,MAAM,iBAAiB,GAAmC,uBAAuB,CAAC,QAAQ,EAAE;IAC1F,SAAS,EACP,iGAAiG;IACnG,KAAK,EAAE,gCAAgC;IACvC,aAAa,EAAE,qCAAqC;IACpD,WAAW,EAAE,gCAAgC;CAC9C,CAAC,CAAC;AAgCH;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,iBAAiB,EACjB,iBAAiB,GAAG,KAAC,YAAY,KAAG,EACpC,eAAe,EACf,eAAe,GAAG,KAAC,SAAS,KAAG,EAC/B,OAAO,EACP,gBAAgB,GACA;IAChB,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAE9B,MAAM,UAAU,GAAG,qBAAqB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAE9E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,uBAAuB,GAAG,OAAO,CACrC,UAAU,CAAC,aAAa,EACxB,UAAU,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,iBAAiB,CACvE,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,EAAiC,CAAC;IAC9D,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvC,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACtC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACL,eAAK,SAAS,EAAE,UAAU,CAAC,SAAS,aAClC,aAAI,SAAS,EAAE,UAAU,CAAC,KAAK,YAAG,KAAK,GAAM,EAC5C,iBAAiB,IAAI,CACpB,+BACa,sBAAsB,EACjC,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,uBAAuB,YAEjC,iBAAiB,GACX,CACV,EACA,eAAe,IAAI,CAClB,+BACa,YAAY,EACvB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,UAAU,CAAC,WAAW,YAEhC,eAAe,GACT,CACV,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -28,9 +28,8 @@ export interface ChatInputProps {
|
|
|
28
28
|
/** Enable auto focus for the input box. Defaults to false. */
|
|
29
29
|
inputAutoFocus?: boolean;
|
|
30
30
|
/**
|
|
31
|
-
* A function which is called when an error occurs from
|
|
32
|
-
*
|
|
33
|
-
* By default, the error is logged to the console.
|
|
31
|
+
* A function which is called when an error occurs from Chat API while processing the user's message.
|
|
32
|
+
* By default, the error is logged to the console and an error message is added to state.
|
|
34
33
|
*/
|
|
35
34
|
handleError?: (e: unknown) => void;
|
|
36
35
|
/** Custom icon for the send button. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../src/components/ChatInput.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../src/components/ChatInput.tsx"],"names":[],"mappings":";AASA;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAUD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,uCAAuC;IACvC,cAAc,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC7B,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EACxB,WAAiC,EACjC,MAAa,EACb,cAAsB,EACtB,WAAW,EACX,cAA8B,EAC9B,gBAAgB,GACjB,EAAE,cAAc,2CA2DhB"}
|
|
@@ -5,12 +5,13 @@ import { ArrowIcon } from "../icons/Arrow";
|
|
|
5
5
|
import { useComposedCssClasses } from "../hooks";
|
|
6
6
|
import Textarea from "react-expanding-textarea";
|
|
7
7
|
import { twMerge } from "tailwind-merge";
|
|
8
|
-
import {
|
|
9
|
-
|
|
8
|
+
import { useDefaultHandleApiError } from "../hooks/useDefaultHandleApiError";
|
|
9
|
+
import { withStylelessCssClasses } from "../utils/withStylelessCssClasses";
|
|
10
|
+
const builtInCssClasses = withStylelessCssClasses('Input', {
|
|
10
11
|
container: "w-full h-fit flex flex-row relative @container",
|
|
11
12
|
textArea: "w-full p-4 pr-10 border border-slate-300 disabled:bg-slate-50 rounded-3xl resize-none text-[13px] @[480px]:text-base",
|
|
12
|
-
sendButton: "rounded-full p-1.5 w-8 stroke-2 text-white bg-blue-600 disabled:bg-slate-100 hover:bg-blue-800 active:scale-90 transition-all absolute right-7 bottom-2.5 @[480px]:bottom-3.5",
|
|
13
|
-
};
|
|
13
|
+
sendButton: "rounded-full p-1.5 w-8 h-8 stroke-2 text-white bg-blue-600 disabled:bg-slate-100 hover:bg-blue-800 active:scale-90 transition-all absolute right-7 bottom-2.5 @[480px]:bottom-3.5",
|
|
14
|
+
});
|
|
14
15
|
/**
|
|
15
16
|
* A component that allows user to input message and send to Chat API.
|
|
16
17
|
* @public
|
|
@@ -21,6 +22,7 @@ export function ChatInput({ placeholder = "Type a message...", stream = true, in
|
|
|
21
22
|
const chat = useChatActions();
|
|
22
23
|
const [input, setInput] = useState("");
|
|
23
24
|
const canSendMessage = useChatState((state) => state.conversation.canSendMessage);
|
|
25
|
+
const defaultHandleApiError = useDefaultHandleApiError();
|
|
24
26
|
const cssClasses = useComposedCssClasses(builtInCssClasses, customCssClasses);
|
|
25
27
|
const sendButtonClassNames = twMerge(cssClasses.sendButton, input.length === 0 && "opacity-0 invisible");
|
|
26
28
|
const sendMessage = useCallback(async () => {
|
|
@@ -29,7 +31,7 @@ export function ChatInput({ placeholder = "Type a message...", stream = true, in
|
|
|
29
31
|
: chat.getNextMessage(input);
|
|
30
32
|
setInput("");
|
|
31
33
|
res.catch((e) => (handleError ? handleError(e) : defaultHandleApiError(e)));
|
|
32
|
-
}, [chat, input, handleError, stream]);
|
|
34
|
+
}, [chat, input, handleError, defaultHandleApiError, stream]);
|
|
33
35
|
const handleKeyDown = useCallback((e) => {
|
|
34
36
|
if (e.key === "Enter") {
|
|
35
37
|
sendMessage();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatInput.js","sourceRoot":"","sources":["../../../src/components/ChatInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ChatInput.js","sourceRoot":"","sources":["../../../src/components/ChatInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../../src/components/ChatPanel.tsx"],"names":[],"mappings":";AAEA,OAAO,EAEL,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAa,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../../src/components/ChatPanel.tsx"],"names":[],"mappings":";AAEA,OAAO,EAEL,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAa,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAM7E;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;CACnD;AAUD;;;;GAIG;AACH,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAC,EAC9D,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC;IAC1C,kDAAkD;IAClD,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACrB;;OAEG;IACH,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;CACxC;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CAkD9C"}
|
|
@@ -6,12 +6,13 @@ import { MessageBubble, } from "./MessageBubble";
|
|
|
6
6
|
import { ChatInput } from "./ChatInput";
|
|
7
7
|
import { LoadingDots } from "./LoadingDots";
|
|
8
8
|
import { useComposedCssClasses } from "../hooks";
|
|
9
|
-
import {
|
|
10
|
-
|
|
9
|
+
import { useDefaultHandleApiError } from "../hooks/useDefaultHandleApiError";
|
|
10
|
+
import { withStylelessCssClasses } from "../utils/withStylelessCssClasses";
|
|
11
|
+
const builtInCssClasses = withStylelessCssClasses('Panel', {
|
|
11
12
|
container: "h-full w-full flex flex-col relative rounded-3xl shadow-2xl bg-white",
|
|
12
13
|
messagesContainer: "flex flex-col gap-y-1 mt-auto px-4 pb-[85px] overflow-auto",
|
|
13
14
|
inputContainer: "w-full absolute bottom-0 p-4 rounded-b-3xl backdrop-blur-lg",
|
|
14
|
-
};
|
|
15
|
+
});
|
|
15
16
|
/**
|
|
16
17
|
* A component that renders a full panel for chat bot interactions. This includes
|
|
17
18
|
* the message bubbles for the conversation, input box with send button, and header
|
|
@@ -28,6 +29,7 @@ export function ChatPanel(props) {
|
|
|
28
29
|
const loading = useChatState((state) => state.conversation.isLoading);
|
|
29
30
|
const canSendMessage = useChatState((state) => state.conversation.canSendMessage);
|
|
30
31
|
const cssClasses = useComposedCssClasses(builtInCssClasses, customCssClasses);
|
|
32
|
+
const defaultHandleApiError = useDefaultHandleApiError();
|
|
31
33
|
// Fetch the first message on load, if there are no existing messages or a request being processed
|
|
32
34
|
useEffect(() => {
|
|
33
35
|
if (messages.length !== 0 || !canSendMessage) {
|
|
@@ -36,13 +38,13 @@ export function ChatPanel(props) {
|
|
|
36
38
|
const { stream = true, handleError } = props;
|
|
37
39
|
const res = stream ? chat.streamNextMessage() : chat.getNextMessage();
|
|
38
40
|
res.catch((e) => (handleError ? handleError(e) : defaultHandleApiError(e)));
|
|
39
|
-
}, [chat, props, messages, canSendMessage]);
|
|
41
|
+
}, [chat, props, messages, defaultHandleApiError, canSendMessage]);
|
|
40
42
|
const messagesRef = useRef(null);
|
|
41
43
|
// Scroll to the bottom of the chat when the messages change
|
|
42
44
|
useEffect(() => {
|
|
43
45
|
messagesRef.current?.scroll({
|
|
44
46
|
top: messagesRef.current?.scrollHeight,
|
|
45
|
-
behavior:
|
|
47
|
+
behavior: "smooth",
|
|
46
48
|
});
|
|
47
49
|
}, [messages]);
|
|
48
50
|
return (_jsxs("div", { className: cssClasses.container, children: [header, _jsxs("div", { ref: messagesRef, className: cssClasses.messagesContainer, children: [messages.map((message, index) => (_createElement(MessageBubble, { ...props, customCssClasses: cssClasses.messageBubbleCssClasses, key: index, message: message }))), loading && _jsx(LoadingDots, {})] }), _jsx("div", { className: cssClasses.inputContainer, children: _jsx(ChatInput, { ...props, customCssClasses: cssClasses.inputCssClasses }) })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatPanel.js","sourceRoot":"","sources":["../../../src/components/ChatPanel.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EACL,aAAa,GAGd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAuC,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ChatPanel.js","sourceRoot":"","sources":["../../../src/components/ChatPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatPopUp.d.ts","sourceRoot":"","sources":["../../../src/components/ChatPopUp.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAa,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,
|
|
1
|
+
{"version":3,"file":"ChatPopUp.d.ts","sourceRoot":"","sources":["../../../src/components/ChatPopUp.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAa,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAEL,oBAAoB,EACpB,eAAe,EAChB,MAAM,cAAc,CAAC;AAKtB;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACvC;AAgBD;;;;GAIG;AACH,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,eAAe,EAAE,iBAAiB,GAAG,kBAAkB,CAAC,EACnE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,kBAAkB,CAAC;IACrD,0DAA0D;IAC1D,mBAAmB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAClC;;OAEG;IACH,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CAsD9C"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback, useState } from "react";
|
|
3
|
-
import { MessageIcon } from
|
|
3
|
+
import { MessageIcon } from "../icons/Message";
|
|
4
4
|
import { ChatPanel } from "./ChatPanel";
|
|
5
|
-
import { ChatHeader } from "./ChatHeader";
|
|
5
|
+
import { ChatHeader, } from "./ChatHeader";
|
|
6
6
|
import { twMerge } from "tailwind-merge";
|
|
7
7
|
import { useComposedCssClasses } from "../hooks";
|
|
8
|
-
|
|
9
|
-
const
|
|
8
|
+
import { withStylelessCssClasses } from "../utils/withStylelessCssClasses";
|
|
9
|
+
const fixedPosition = "fixed bottom-6 right-4 lg:bottom-14 lg:right-10 z-50 ";
|
|
10
|
+
const builtInCssClasses = withStylelessCssClasses('PopUp', {
|
|
10
11
|
container: "transition-all",
|
|
11
12
|
panel: fixedPosition + "w-80 lg:w-96 h-[75vh]",
|
|
12
13
|
panel__display: "duration-300 translate-y-0",
|
|
13
14
|
panel__hidden: "duration-300 translate-y-[20%] opacity-0 invisible",
|
|
14
|
-
button: fixedPosition +
|
|
15
|
+
button: fixedPosition +
|
|
16
|
+
"p-2 w-12 h-12 lg:w-16 lg:h-16 flex justify-center items-center text-white shadow-xl rounded-full bg-gradient-to-br from-blue-600 to-blue-700 hover:-translate-y-2 duration-150",
|
|
15
17
|
button__display: "duration-300 transform translate-y-0",
|
|
16
18
|
button__hidden: "duration-300 transform translate-y-[20%] opacity-0 invisible",
|
|
17
|
-
};
|
|
19
|
+
});
|
|
18
20
|
/**
|
|
19
21
|
* A component that renders a popup button that displays and hides
|
|
20
22
|
* a panel for chat bot interactions.
|
|
@@ -24,7 +26,7 @@ const builtInCssClasses = {
|
|
|
24
26
|
* @param props - {@link ChatPanelProps}
|
|
25
27
|
*/
|
|
26
28
|
export function ChatPopUp(props) {
|
|
27
|
-
const { openPanelButtonIcon = _jsx(MessageIcon, {}), customCssClasses, showRestartButton = true, onClose: customOnClose, title } = props;
|
|
29
|
+
const { openPanelButtonIcon = _jsx(MessageIcon, {}), customCssClasses, showRestartButton = true, onClose: customOnClose, title, } = props;
|
|
28
30
|
const [showChat, setShowChat] = useState(false);
|
|
29
31
|
const onClick = useCallback(() => {
|
|
30
32
|
setShowChat(!showChat);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatPopUp.js","sourceRoot":"","sources":["../../../src/components/ChatPopUp.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"ChatPopUp.js","sourceRoot":"","sources":["../../../src/components/ChatPopUp.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAuC,MAAM,aAAa,CAAC;AAC7E,OAAO,EACL,UAAU,GAGX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAmB3E,MAAM,aAAa,GAAG,uDAAuD,CAAC;AAC9E,MAAM,iBAAiB,GAAwB,uBAAuB,CAAC,OAAO,EAAE;IAC9E,SAAS,EAAE,gBAAgB;IAC3B,KAAK,EAAE,aAAa,GAAG,uBAAuB;IAC9C,cAAc,EAAE,4BAA4B;IAC5C,aAAa,EAAE,oDAAoD;IACnE,MAAM,EACJ,aAAa;QACb,gLAAgL;IAClL,eAAe,EAAE,sCAAsC;IACvD,cAAc,EACZ,8DAA8D;CACjE,CAAC,CAAC;AAkBH;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EACJ,mBAAmB,GAAG,KAAC,WAAW,KAAG,EACrC,gBAAgB,EAChB,iBAAiB,GAAG,IAAI,EACxB,OAAO,EAAE,aAAa,EACtB,KAAK,GACN,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,aAAa,EAAE,EAAE,CAAC;IACpB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,MAAM,UAAU,GAAG,qBAAqB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAC9E,MAAM,eAAe,GAAG,OAAO,CAC7B,UAAU,CAAC,KAAK,EAChB,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAChE,CAAC;IACF,MAAM,gBAAgB,GAAG,OAAO,CAC9B,UAAU,CAAC,MAAM,EACjB,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAClE,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAE,UAAU,CAAC,SAAS,aAClC,cAAK,SAAS,EAAE,eAAe,gBAAa,kBAAkB,YAC5D,KAAC,SAAS,OACJ,KAAK,EACT,gBAAgB,EAAE,UAAU,CAAC,eAAe,EAC5C,MAAM,EACJ,KAAC,UAAU,IACT,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,IAAI,EACrB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,GAC7C,GAEJ,GACE,EACN,+BACa,mBAAmB,EAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,gBAAgB,YAE1B,mBAAmB,GACb,IACL,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingDots.d.ts","sourceRoot":"","sources":["../../../src/components/LoadingDots.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"LoadingDots.d.ts","sourceRoot":"","sources":["../../../src/components/LoadingDots.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAWhE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingDots.js","sourceRoot":"","sources":["../../../src/components/LoadingDots.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,SAAS,EAA0B;IAC/D,OAAO,CACL,6BACa,mBAAmB,EAC9B,SAAS,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"LoadingDots.js","sourceRoot":"","sources":["../../../src/components/LoadingDots.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,SAAS,EAA0B;IAC/D,OAAO,CACL,6BACa,mBAAmB,EAC9B,SAAS,EAAE,OAAO,CAAC,gCAAgC,EAAE,SAAS,CAAC,aAE/D,cAAK,SAAS,EAAC,gEAAgE,GAAG,EAClF,cAAK,SAAS,EAAC,qEAAqE,GAAG,EACvF,cAAK,SAAS,EAAC,qEAAqE,GAAG,IACnF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -6,7 +6,7 @@ import rehypeSanitize from "rehype-sanitize";
|
|
|
6
6
|
// The Remark and Rehype plugins to use in conjunction with ReactMarkdown.
|
|
7
7
|
const unifiedPlugins = {
|
|
8
8
|
remark: [
|
|
9
|
-
remarkGfm //renders Github-Flavored Markdown
|
|
9
|
+
remarkGfm, //renders Github-Flavored Markdown
|
|
10
10
|
],
|
|
11
11
|
rehype: [
|
|
12
12
|
rehypeRaw,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../src/components/Markdown.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAgC,MAAM,gBAAgB,CAAC;AAC9D,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAE7C,0EAA0E;AAC1E,MAAM,cAAc,GAAsD;IACxE,MAAM,EAAE;QACN,SAAS,
|
|
1
|
+
{"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../src/components/Markdown.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAgC,MAAM,gBAAgB,CAAC;AAC9D,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAE7C,0EAA0E;AAC1E,MAAM,cAAc,GAAsD;IACxE,MAAM,EAAE;QACN,SAAS,EAAE,kCAAkC;KAC9C;IACD,MAAM,EAAE;QACN,SAAS;QACT,cAAc,EAAE,0BAA0B;KAC3C;CACF,CAAC;AAOF;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAE,OAAO,EAAiB;IACjD,OAAO,CACL,KAAC,aAAa,IACZ,QAAQ,EAAE,OAAO,EACjB,aAAa,EAAE,cAAc,CAAC,MAAM,EACpC,aAAa,EAAE,cAAc,CAAC,MAAM,GACpC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/MessageBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/MessageBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,2BAA2B,CAAC;AAMnE;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAmBD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,8BAA8B;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;CAC5C;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,aAAoB,EACpB,gBAAgB,EAChB,eAAwC,GACzC,EAAE,kBAAkB,2CAoCpB"}
|
|
@@ -3,16 +3,19 @@ import { MessageSource } from "@yext/chat-headless-react";
|
|
|
3
3
|
import { useComposedCssClasses } from "../hooks";
|
|
4
4
|
import { twMerge } from "tailwind-merge";
|
|
5
5
|
import { Markdown } from "./Markdown";
|
|
6
|
-
|
|
6
|
+
import { withStylelessCssClasses } from "../utils/withStylelessCssClasses";
|
|
7
|
+
const builtInCssClasses = withStylelessCssClasses('MessageBubble', {
|
|
7
8
|
topContainer: "w-full animate-fade-in @container",
|
|
8
9
|
subContainer: "flex flex-col @lg:flex-row @lg:items-center @lg:gap-x-2 @lg:m-1",
|
|
10
|
+
subContainer__bot: "",
|
|
9
11
|
subContainer__user: "@lg:flex-row-reverse",
|
|
10
12
|
message: "peer rounded-2xl text-[13px] @[480px]:text-base p-4 w-fit max-w-[80%] prose overflow-x-auto",
|
|
11
13
|
message__bot: "text-slate-900 bg-gradient-to-tr from-slate-50 to-slate-100",
|
|
12
14
|
message__user: "ml-auto @lg:ml-0 text-white bg-gradient-to-tr from-blue-600 to-blue-700",
|
|
13
15
|
timestamp: "w-fit my-0.5 text-slate-400 text-[13px] opacity-0 peer-hover:opacity-100 duration-200 whitespace-pre-wrap",
|
|
16
|
+
timestamp__bot: "",
|
|
14
17
|
timestamp__user: "ml-auto",
|
|
15
|
-
};
|
|
18
|
+
});
|
|
16
19
|
/**
|
|
17
20
|
* A component that displays the provided message.
|
|
18
21
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageBubble.js","sourceRoot":"","sources":["../../../src/components/MessageBubble.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageBubble.js","sourceRoot":"","sources":["../../../src/components/MessageBubble.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAoB3E,MAAM,iBAAiB,GAA4B,uBAAuB,CAAC,eAAe,EAAE;IAC1F,YAAY,EAAE,mCAAmC;IACjD,YAAY,EACV,iEAAiE;IACnE,iBAAiB,EAAE,EAAE;IACrB,kBAAkB,EAAE,sBAAsB;IAC1C,OAAO,EACL,6FAA6F;IAC/F,YAAY,EAAE,6DAA6D;IAC3E,aAAa,EACX,yEAAyE;IAC3E,SAAS,EACP,2GAA2G;IAC7G,cAAc,EAAE,EAAE;IAClB,eAAe,EAAE,SAAS;CAC3B,CAAC,CAAC;AAyBH;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,aAAa,GAAG,IAAI,EACpB,gBAAgB,EAChB,eAAe,GAAG,sBAAsB,GACrB;IACnB,MAAM,UAAU,GAAG,qBAAqB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAC9E,MAAM,iBAAiB,GAAG,OAAO,CAC/B,UAAU,CAAC,OAAO,EAClB,OAAO,CAAC,MAAM,KAAK,aAAa,CAAC,IAAI;QACnC,CAAC,CAAC,UAAU,CAAC,aAAa;QAC1B,CAAC,CAAC,UAAU,CAAC,YAAY,CAC5B,CAAC;IACF,MAAM,sBAAsB,GAAG,OAAO,CACpC,UAAU,CAAC,YAAY,EACvB,OAAO,CAAC,MAAM,KAAK,aAAa,CAAC,IAAI;QACnC,CAAC,CAAC,UAAU,CAAC,kBAAkB;QAC/B,CAAC,CAAC,UAAU,CAAC,iBAAiB,CACjC,CAAC;IACF,MAAM,mBAAmB,GAAG,OAAO,CACjC,UAAU,CAAC,SAAS,EACpB,OAAO,CAAC,MAAM,KAAK,aAAa,CAAC,IAAI;QACnC,CAAC,CAAC,UAAU,CAAC,eAAe;QAC5B,CAAC,CAAC,UAAU,CAAC,cAAc,CAC9B,CAAC;IAEF,OAAO,CACL,cAAK,SAAS,EAAE,UAAU,CAAC,YAAY,YACrC,eAAK,SAAS,EAAE,sBAAsB,aACpC,cAAK,SAAS,EAAE,iBAAiB,YAC/B,KAAC,QAAQ,IAAC,OAAO,EAAE,OAAO,CAAC,IAAI,GAAI,GAC/B,EAEL,aAAa,IAAI,CAChB,cAAK,SAAS,EAAE,mBAAmB,YAChC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GACzD,CACP,IACG,GACF,CACP,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,SAAiB;IAC/C,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE;QACnD,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a default handler function for API errors. It will log the error and
|
|
3
|
+
* add a default error message to state.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare function useDefaultHandleApiError(): (e: unknown) => void;
|
|
8
|
+
//# sourceMappingURL=useDefaultHandleApiError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDefaultHandleApiError.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDefaultHandleApiError.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,wBAAgB,wBAAwB,QAKhC,OAAO,UAad"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { MessageSource, useChatActions, useChatState, } from "@yext/chat-headless-react";
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
/**
|
|
4
|
+
* Returns a default handler function for API errors. It will log the error and
|
|
5
|
+
* add a default error message to state.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export function useDefaultHandleApiError() {
|
|
10
|
+
const chat = useChatActions();
|
|
11
|
+
const messages = useChatState((s) => s.conversation.messages);
|
|
12
|
+
return useCallback((e) => {
|
|
13
|
+
console.error(e);
|
|
14
|
+
chat.setMessages([
|
|
15
|
+
...messages,
|
|
16
|
+
{
|
|
17
|
+
text: "Sorry, I'm unable to respond at the moment. Please try again later!",
|
|
18
|
+
source: MessageSource.BOT,
|
|
19
|
+
timestamp: new Date().toISOString(),
|
|
20
|
+
},
|
|
21
|
+
]);
|
|
22
|
+
}, [chat, messages]);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=useDefaultHandleApiError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDefaultHandleApiError.js","sourceRoot":"","sources":["../../../src/hooks/useDefaultHandleApiError.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,cAAc,EACd,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAE9D,OAAO,WAAW,CAChB,CAAC,CAAU,EAAE,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,WAAW,CAAC;YACf,GAAG,QAAQ;YACX;gBACE,IAAI,EAAE,qEAAqE;gBAC3E,MAAM,EAAE,aAAa,CAAC,GAAG;gBACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF,CAAC,CAAC;IACL,CAAC,EACD,CAAC,IAAI,EAAE,QAAQ,CAAC,CACjB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Arrow.d.ts","sourceRoot":"","sources":["../../../src/icons/Arrow.tsx"],"names":[],"mappings":";AAAA,wBAAgB,SAAS,IAAI,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"Arrow.d.ts","sourceRoot":"","sources":["../../../src/icons/Arrow.tsx"],"names":[],"mappings":";AAAA,wBAAgB,SAAS,IAAI,GAAG,CAAC,OAAO,CAevC"}
|
package/lib/esm/icons/Arrow.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
export function ArrowIcon() {
|
|
3
|
-
return (_jsxs("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", fill:
|
|
3
|
+
return (_jsxs("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", fill: "none", stroke: "currentColor", strokeLinecap: "square", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("path", { d: "M10 5V15" }), _jsx("path", { d: "M15 8.84615L10 4L5 8.84615" })] }));
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=Arrow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Arrow.js","sourceRoot":"","sources":["../../../src/icons/Arrow.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,SAAS;IACvB,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"Arrow.js","sourceRoot":"","sources":["../../../src/icons/Arrow.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,SAAS;IACvB,OAAO,CACL,eACE,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,aAAa,EAAC,QAAQ,EACtB,KAAK,EAAC,4BAA4B,aAElC,eAAM,CAAC,EAAC,UAAU,GAAG,EACrB,eAAM,CAAC,EAAC,4BAA4B,GAAG,IACnC,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cross.d.ts","sourceRoot":"","sources":["../../../src/icons/Cross.tsx"],"names":[],"mappings":";AAAA,wBAAgB,SAAS,IAAI,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"Cross.d.ts","sourceRoot":"","sources":["../../../src/icons/Cross.tsx"],"names":[],"mappings":";AAAA,wBAAgB,SAAS,IAAI,GAAG,CAAC,OAAO,CAavC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cross.js","sourceRoot":"","sources":["../../../src/icons/Cross.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,SAAS;IACvB,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"Cross.js","sourceRoot":"","sources":["../../../src/icons/Cross.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,SAAS;IACvB,OAAO,CACL,eACE,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,MAAM,EAAC,cAAc,EACrB,KAAK,EAAC,4BAA4B,aAElC,eAAM,CAAC,EAAC,YAAY,EAAC,aAAa,EAAC,QAAQ,EAAC,cAAc,EAAC,OAAO,GAAG,EACrE,eAAM,CAAC,EAAC,YAAY,EAAC,aAAa,EAAC,QAAQ,EAAC,cAAc,EAAC,OAAO,GAAG,IACjE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DualSync.d.ts","sourceRoot":"","sources":["../../../src/icons/DualSync.tsx"],"names":[],"mappings":";AAAA,wBAAgB,YAAY,IAAI,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"DualSync.d.ts","sourceRoot":"","sources":["../../../src/icons/DualSync.tsx"],"names":[],"mappings":";AAAA,wBAAgB,YAAY,IAAI,GAAG,CAAC,OAAO,CAc1C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
export function DualSyncIcon() {
|
|
3
|
-
return (_jsxs("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", fill:
|
|
3
|
+
return (_jsxs("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", fill: "currentColor", stroke: "currentColor", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("path", { d: "M14.3148 6.47397C14.9074 7.36266 15.2593 8.46858 15.2593 9.63375C15.2593 12.675 12.9259 15.1634 10.0741 15.1634C9.11111 15.1634 8.2037 14.8671 7.42593 14.3734L9.05556 13.8995L8.87037 13.1293L6 13.939L6.75926 17L7.48148 16.8025L7.03704 15.0449C7.92593 15.6176 8.96296 15.9336 10.0741 15.9336C13.3519 15.9336 16 13.1095 16 9.614C16 8.2711 15.6111 7.02693 14.9259 6L14.3148 6.47397Z" }), _jsx("path", { d: "M9.92593 4.68459C10.8889 4.68459 11.7963 4.95341 12.5741 5.40143L10.9444 5.81362L11.1296 6.51254L14 5.77778L13.2407 3L12.5185 3.17921L12.963 4.77419C12.0741 4.25448 11.037 3.96774 9.92593 3.96774C6.64815 3.96774 4 6.53047 4 9.70251C4 10.9211 4.40741 12.0681 5.07407 13L5.68518 12.5878C5.09259 11.7634 4.74074 10.7778 4.74074 9.70251C4.74074 6.94265 7.07407 4.68459 9.92593 4.68459Z" })] }));
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=DualSync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DualSync.js","sourceRoot":"","sources":["../../../src/icons/DualSync.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,YAAY;IAC1B,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"DualSync.js","sourceRoot":"","sources":["../../../src/icons/DualSync.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,YAAY;IAC1B,OAAO,CACL,eACE,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,EACnB,MAAM,EAAC,cAAc,EACrB,KAAK,EAAC,4BAA4B,aAElC,eAAM,CAAC,EAAC,6XAA6X,GAAG,EACxY,eAAM,CAAC,EAAC,+XAA+X,GAAG,IACtY,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../src/icons/Message.tsx"],"names":[],"mappings":";AAAA,wBAAgB,WAAW,IAAI,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../src/icons/Message.tsx"],"names":[],"mappings":";AAAA,wBAAgB,WAAW,IAAI,GAAG,CAAC,OAAO,CAezC"}
|
package/lib/esm/icons/Message.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
export function MessageIcon() {
|
|
3
|
-
return (_jsxs("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", fill:
|
|
3
|
+
return (_jsxs("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("path", { d: "M3.37424 17.1166L6.31902 14.1718H16.6258V4.84663H3.37424V17.1166ZM3.86503 5.33742H16.135V13.681H6.31902H6.11043L5.96319 13.8282L3.85276 15.9386V5.33742H3.86503Z" }), _jsx("path", { d: "M14.4172 9.2638H6.07362V9.7546H14.4172V9.2638Z" }), _jsx("path", { d: "M13.9264 10.7362H6.07362V11.227H13.9264V10.7362Z" }), _jsx("path", { d: "M13.4356 7.79141H6.07362V8.28221H13.4356V7.79141Z" })] }));
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=Message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../src/icons/Message.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,WAAW;IACzB,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../src/icons/Message.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,WAAW;IACzB,OAAO,CACL,eACE,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,EACnB,KAAK,EAAC,4BAA4B,aAElC,eAAM,CAAC,EAAC,kKAAkK,GAAG,EAC7K,eAAM,CAAC,EAAC,gDAAgD,GAAG,EAC3D,eAAM,CAAC,EAAC,kDAAkD,GAAG,EAC7D,eAAM,CAAC,EAAC,mDAAmD,GAAG,IAC1D,CACP,CAAC;AACJ,CAAC"}
|