@yext/chat-ui-react 0.8.1-alpha → 0.8.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.
Files changed (79) hide show
  1. package/lib/commonjs/package.json.js +1 -1
  2. package/lib/commonjs/src/components/ChatInput.js +1 -1
  3. package/lib/commonjs/src/components/ChatPanel.d.ts.map +1 -1
  4. package/lib/commonjs/src/components/ChatPanel.js +27 -5
  5. package/lib/commonjs/src/components/ChatPanel.js.map +1 -1
  6. package/lib/commonjs/src/components/ChatPopUp.js +2 -2
  7. package/lib/commonjs/src/components/FeedbackButtons.d.ts +4 -3
  8. package/lib/commonjs/src/components/FeedbackButtons.d.ts.map +1 -1
  9. package/lib/commonjs/src/components/FeedbackButtons.js +1 -2
  10. package/lib/commonjs/src/components/FeedbackButtons.js.map +1 -1
  11. package/lib/commonjs/src/components/Markdown.d.ts +3 -7
  12. package/lib/commonjs/src/components/Markdown.d.ts.map +1 -1
  13. package/lib/commonjs/src/components/Markdown.js +1 -1
  14. package/lib/commonjs/src/components/Markdown.js.map +1 -1
  15. package/lib/commonjs/src/components/index.d.ts +1 -4
  16. package/lib/commonjs/src/components/index.d.ts.map +1 -1
  17. package/lib/commonjs/src/hooks/index.d.ts +0 -3
  18. package/lib/commonjs/src/hooks/index.d.ts.map +1 -1
  19. package/lib/commonjs/src/hooks/useDefaultHandleApiError.d.ts +1 -1
  20. package/lib/commonjs/src/hooks/useDefaultHandleApiError.js +1 -1
  21. package/lib/commonjs/src/hooks/useDefaultHandleApiError.js.map +1 -1
  22. package/lib/commonjs/src/hooks/useFetchInitialMessage.d.ts +1 -1
  23. package/lib/commonjs/src/hooks/useFetchInitialMessage.js +1 -1
  24. package/lib/commonjs/src/hooks/useFetchInitialMessage.js.map +1 -1
  25. package/lib/commonjs/src/hooks/useReportAnalyticsEvent.d.ts +0 -2
  26. package/lib/commonjs/src/hooks/useReportAnalyticsEvent.d.ts.map +1 -1
  27. package/lib/commonjs/src/hooks/useReportAnalyticsEvent.js +0 -2
  28. package/lib/commonjs/src/hooks/useReportAnalyticsEvent.js.map +1 -1
  29. package/lib/commonjs/src/index.js +0 -10
  30. package/lib/commonjs/src/index.js.map +1 -1
  31. package/lib/esm/index.d.ts +0 -82
  32. package/lib/esm/package.json.mjs +1 -1
  33. package/lib/esm/src/components/ChatInput.mjs +1 -1
  34. package/lib/esm/src/components/ChatPanel.d.ts.map +1 -1
  35. package/lib/esm/src/components/ChatPanel.mjs +28 -6
  36. package/lib/esm/src/components/ChatPanel.mjs.map +1 -1
  37. package/lib/esm/src/components/ChatPopUp.mjs +2 -2
  38. package/lib/esm/src/components/FeedbackButtons.d.ts +4 -3
  39. package/lib/esm/src/components/FeedbackButtons.d.ts.map +1 -1
  40. package/lib/esm/src/components/FeedbackButtons.mjs +1 -2
  41. package/lib/esm/src/components/FeedbackButtons.mjs.map +1 -1
  42. package/lib/esm/src/components/Markdown.d.ts +3 -7
  43. package/lib/esm/src/components/Markdown.d.ts.map +1 -1
  44. package/lib/esm/src/components/Markdown.mjs +1 -1
  45. package/lib/esm/src/components/Markdown.mjs.map +1 -1
  46. package/lib/esm/src/components/index.d.ts +1 -4
  47. package/lib/esm/src/components/index.d.ts.map +1 -1
  48. package/lib/esm/src/hooks/index.d.ts +0 -3
  49. package/lib/esm/src/hooks/index.d.ts.map +1 -1
  50. package/lib/esm/src/hooks/useDefaultHandleApiError.d.ts +1 -1
  51. package/lib/esm/src/hooks/useDefaultHandleApiError.mjs +1 -1
  52. package/lib/esm/src/hooks/useDefaultHandleApiError.mjs.map +1 -1
  53. package/lib/esm/src/hooks/useFetchInitialMessage.d.ts +1 -1
  54. package/lib/esm/src/hooks/useFetchInitialMessage.mjs +1 -1
  55. package/lib/esm/src/hooks/useFetchInitialMessage.mjs.map +1 -1
  56. package/lib/esm/src/hooks/useReportAnalyticsEvent.d.ts +0 -2
  57. package/lib/esm/src/hooks/useReportAnalyticsEvent.d.ts.map +1 -1
  58. package/lib/esm/src/hooks/useReportAnalyticsEvent.mjs +0 -2
  59. package/lib/esm/src/hooks/useReportAnalyticsEvent.mjs.map +1 -1
  60. package/lib/esm/src/index.mjs +0 -5
  61. package/lib/esm/src/index.mjs.map +1 -1
  62. package/package.json +1 -1
  63. package/src/components/ChatPanel.tsx +34 -10
  64. package/src/components/FeedbackButtons.tsx +3 -3
  65. package/src/components/Markdown.tsx +2 -7
  66. package/src/components/index.ts +1 -6
  67. package/src/hooks/index.ts +1 -4
  68. package/src/hooks/useDefaultHandleApiError.ts +1 -1
  69. package/src/hooks/useFetchInitialMessage.ts +1 -1
  70. package/src/hooks/useReportAnalyticsEvent.ts +0 -2
  71. package/lib/commonjs/src/hooks/useScrollToLastMessage.d.ts +0 -15
  72. package/lib/commonjs/src/hooks/useScrollToLastMessage.d.ts.map +0 -1
  73. package/lib/commonjs/src/hooks/useScrollToLastMessage.js +0 -45
  74. package/lib/commonjs/src/hooks/useScrollToLastMessage.js.map +0 -1
  75. package/lib/esm/src/hooks/useScrollToLastMessage.d.ts +0 -15
  76. package/lib/esm/src/hooks/useScrollToLastMessage.d.ts.map +0 -1
  77. package/lib/esm/src/hooks/useScrollToLastMessage.mjs +0 -43
  78. package/lib/esm/src/hooks/useScrollToLastMessage.mjs.map +0 -1
  79. package/src/hooks/useScrollToLastMessage.ts +0 -47
@@ -1,45 +0,0 @@
1
- 'use strict';
2
-
3
- var chatHeadlessReact = require('@yext/chat-headless-react');
4
- var React = require('react');
5
-
6
- /**
7
- * Scroll the messsages container to the top of the last message whenever there's
8
- * an update to the messages state.
9
- *
10
- * @public
11
- *
12
- * @returns a ref to set on the messages container element and
13
- * a function to set ref on individual message element
14
- */
15
- function useScrollToLastMessage() {
16
- const messagesRef = React.useRef([]);
17
- const messagesContainerRef = React.useRef(null);
18
- const messages = chatHeadlessReact.useChatState((state) => state.conversation.messages);
19
- // Handle scrolling when messages change
20
- React.useEffect(() => {
21
- let scrollTop = 0;
22
- messagesRef.current = messagesRef.current.slice(0, messages.length);
23
- // Sums up scroll heights of all messages except the last one
24
- if (messagesRef?.current.length > 1) {
25
- scrollTop = messagesRef.current
26
- .slice(0, -1)
27
- .map((elem, _) => elem?.scrollHeight ?? 0)
28
- .reduce((total, height) => total + height);
29
- }
30
- // Scroll to the top of the last message
31
- messagesContainerRef.current?.scroll({
32
- top: scrollTop,
33
- behavior: "smooth",
34
- });
35
- }, [messages]);
36
- const setMessageRef = React.useCallback((index) => {
37
- if (!messagesRef?.current)
38
- return undefined;
39
- return (message) => (messagesRef.current[index] = message);
40
- }, []);
41
- return [messagesContainerRef, setMessageRef];
42
- }
43
-
44
- exports.useScrollToLastMessage = useScrollToLastMessage;
45
- //# sourceMappingURL=useScrollToLastMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useScrollToLastMessage.js","sources":["../../../../src/hooks/useScrollToLastMessage.ts"],"sourcesContent":["import { useChatState } from \"@yext/chat-headless-react\";\nimport React, { useCallback, useEffect, useRef } from \"react\";\n\n/**\n * Scroll the messsages container to the top of the last message whenever there's\n * an update to the messages state.\n * \n * @public\n * \n * @returns a ref to set on the messages container element and\n * a function to set ref on individual message element\n */\nexport function useScrollToLastMessage(): [\n React.RefObject<HTMLDivElement>,\n (index: number) => ((message: HTMLDivElement) => void) | undefined\n] {\n const messagesRef = useRef<Array<HTMLDivElement | null>>([]);\n const messagesContainerRef = useRef<HTMLDivElement>(null);\n const messages = useChatState((state) => state.conversation.messages);\n\n // Handle scrolling when messages change\n useEffect(() => {\n let scrollTop = 0;\n messagesRef.current = messagesRef.current.slice(0, messages.length);\n\n // Sums up scroll heights of all messages except the last one\n if (messagesRef?.current.length > 1) {\n scrollTop = messagesRef.current\n .slice(0, -1)\n .map((elem, _) => elem?.scrollHeight ?? 0)\n .reduce((total, height) => total + height);\n }\n\n // Scroll to the top of the last message\n messagesContainerRef.current?.scroll({\n top: scrollTop,\n behavior: \"smooth\",\n });\n }, [messages]);\n\n const setMessageRef = useCallback((index) => {\n if (!messagesRef?.current) return undefined;\n return (message: HTMLDivElement) => (messagesRef.current[index] = message);\n }, []);\n\n return [messagesContainerRef, setMessageRef]\n}"],"names":["useRef","useChatState","useEffect","useCallback"],"mappings":";;;;;AAGA;;;;;;;;AAQG;SACa,sBAAsB,GAAA;AAIpC,IAAA,MAAM,WAAW,GAAGA,YAAM,CAA+B,EAAE,CAAC,CAAC;AAC7D,IAAA,MAAM,oBAAoB,GAAGA,YAAM,CAAiB,IAAI,CAAC,CAAC;AAC1D,IAAA,MAAM,QAAQ,GAAGC,8BAAY,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;;IAGtEC,eAAS,CAAC,MAAK;QACb,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,QAAA,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;;AAGpE,QAAA,IAAI,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,SAAS,GAAG,WAAW,CAAC,OAAO;AAC5B,iBAAA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACZ,iBAAA,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,YAAY,IAAI,CAAC,CAAC;AACzC,iBAAA,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,GAAG,MAAM,CAAC,CAAC;AAC9C,SAAA;;AAGD,QAAA,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC;AACnC,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,QAAQ,EAAE,QAAQ;AACnB,SAAA,CAAC,CAAC;AACL,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEf,IAAA,MAAM,aAAa,GAAGC,iBAAW,CAAC,CAAC,KAAK,KAAI;QAC1C,IAAI,CAAC,WAAW,EAAE,OAAO;AAAE,YAAA,OAAO,SAAS,CAAC;AAC5C,QAAA,OAAO,CAAC,OAAuB,MAAM,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC;KAC5E,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,OAAO,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAA;AAC9C;;;;"}
@@ -1,15 +0,0 @@
1
- import React from "react";
2
- /**
3
- * Scroll the messsages container to the top of the last message whenever there's
4
- * an update to the messages state.
5
- *
6
- * @public
7
- *
8
- * @returns a ref to set on the messages container element and
9
- * a function to set ref on individual message element
10
- */
11
- export declare function useScrollToLastMessage(): [
12
- React.RefObject<HTMLDivElement>,
13
- (index: number) => ((message: HTMLDivElement) => void) | undefined
14
- ];
15
- //# sourceMappingURL=useScrollToLastMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useScrollToLastMessage.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useScrollToLastMessage.ts"],"names":[],"mappings":"AACA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,IAAI;IACxC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC;IAC/B,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC,GAAG,SAAS;CACnE,CA+BA"}
@@ -1,43 +0,0 @@
1
- import { useChatState } from '@yext/chat-headless-react';
2
- import { useRef, useEffect, useCallback } from 'react';
3
-
4
- /**
5
- * Scroll the messsages container to the top of the last message whenever there's
6
- * an update to the messages state.
7
- *
8
- * @public
9
- *
10
- * @returns a ref to set on the messages container element and
11
- * a function to set ref on individual message element
12
- */
13
- function useScrollToLastMessage() {
14
- const messagesRef = useRef([]);
15
- const messagesContainerRef = useRef(null);
16
- const messages = useChatState((state) => state.conversation.messages);
17
- // Handle scrolling when messages change
18
- useEffect(() => {
19
- let scrollTop = 0;
20
- messagesRef.current = messagesRef.current.slice(0, messages.length);
21
- // Sums up scroll heights of all messages except the last one
22
- if (messagesRef?.current.length > 1) {
23
- scrollTop = messagesRef.current
24
- .slice(0, -1)
25
- .map((elem, _) => elem?.scrollHeight ?? 0)
26
- .reduce((total, height) => total + height);
27
- }
28
- // Scroll to the top of the last message
29
- messagesContainerRef.current?.scroll({
30
- top: scrollTop,
31
- behavior: "smooth",
32
- });
33
- }, [messages]);
34
- const setMessageRef = useCallback((index) => {
35
- if (!messagesRef?.current)
36
- return undefined;
37
- return (message) => (messagesRef.current[index] = message);
38
- }, []);
39
- return [messagesContainerRef, setMessageRef];
40
- }
41
-
42
- export { useScrollToLastMessage };
43
- //# sourceMappingURL=useScrollToLastMessage.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useScrollToLastMessage.mjs","sources":["../../../../src/hooks/useScrollToLastMessage.ts"],"sourcesContent":["import { useChatState } from \"@yext/chat-headless-react\";\nimport React, { useCallback, useEffect, useRef } from \"react\";\n\n/**\n * Scroll the messsages container to the top of the last message whenever there's\n * an update to the messages state.\n * \n * @public\n * \n * @returns a ref to set on the messages container element and\n * a function to set ref on individual message element\n */\nexport function useScrollToLastMessage(): [\n React.RefObject<HTMLDivElement>,\n (index: number) => ((message: HTMLDivElement) => void) | undefined\n] {\n const messagesRef = useRef<Array<HTMLDivElement | null>>([]);\n const messagesContainerRef = useRef<HTMLDivElement>(null);\n const messages = useChatState((state) => state.conversation.messages);\n\n // Handle scrolling when messages change\n useEffect(() => {\n let scrollTop = 0;\n messagesRef.current = messagesRef.current.slice(0, messages.length);\n\n // Sums up scroll heights of all messages except the last one\n if (messagesRef?.current.length > 1) {\n scrollTop = messagesRef.current\n .slice(0, -1)\n .map((elem, _) => elem?.scrollHeight ?? 0)\n .reduce((total, height) => total + height);\n }\n\n // Scroll to the top of the last message\n messagesContainerRef.current?.scroll({\n top: scrollTop,\n behavior: \"smooth\",\n });\n }, [messages]);\n\n const setMessageRef = useCallback((index) => {\n if (!messagesRef?.current) return undefined;\n return (message: HTMLDivElement) => (messagesRef.current[index] = message);\n }, []);\n\n return [messagesContainerRef, setMessageRef]\n}"],"names":[],"mappings":";;;AAGA;;;;;;;;AAQG;SACa,sBAAsB,GAAA;AAIpC,IAAA,MAAM,WAAW,GAAG,MAAM,CAA+B,EAAE,CAAC,CAAC;AAC7D,IAAA,MAAM,oBAAoB,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;AAC1D,IAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;;IAGtE,SAAS,CAAC,MAAK;QACb,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,QAAA,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;;AAGpE,QAAA,IAAI,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,SAAS,GAAG,WAAW,CAAC,OAAO;AAC5B,iBAAA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACZ,iBAAA,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,YAAY,IAAI,CAAC,CAAC;AACzC,iBAAA,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,GAAG,MAAM,CAAC,CAAC;AAC9C,SAAA;;AAGD,QAAA,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC;AACnC,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,QAAQ,EAAE,QAAQ;AACnB,SAAA,CAAC,CAAC;AACL,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEf,IAAA,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,KAAK,KAAI;QAC1C,IAAI,CAAC,WAAW,EAAE,OAAO;AAAE,YAAA,OAAO,SAAS,CAAC;AAC5C,QAAA,OAAO,CAAC,OAAuB,MAAM,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC;KAC5E,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,OAAO,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAA;AAC9C;;;;"}
@@ -1,47 +0,0 @@
1
- import { useChatState } from "@yext/chat-headless-react";
2
- import React, { useCallback, useEffect, useRef } from "react";
3
-
4
- /**
5
- * Scroll the messsages container to the top of the last message whenever there's
6
- * an update to the messages state.
7
- *
8
- * @public
9
- *
10
- * @returns a ref to set on the messages container element and
11
- * a function to set ref on individual message element
12
- */
13
- export function useScrollToLastMessage(): [
14
- React.RefObject<HTMLDivElement>,
15
- (index: number) => ((message: HTMLDivElement) => void) | undefined
16
- ] {
17
- const messagesRef = useRef<Array<HTMLDivElement | null>>([]);
18
- const messagesContainerRef = useRef<HTMLDivElement>(null);
19
- const messages = useChatState((state) => state.conversation.messages);
20
-
21
- // Handle scrolling when messages change
22
- useEffect(() => {
23
- let scrollTop = 0;
24
- messagesRef.current = messagesRef.current.slice(0, messages.length);
25
-
26
- // Sums up scroll heights of all messages except the last one
27
- if (messagesRef?.current.length > 1) {
28
- scrollTop = messagesRef.current
29
- .slice(0, -1)
30
- .map((elem, _) => elem?.scrollHeight ?? 0)
31
- .reduce((total, height) => total + height);
32
- }
33
-
34
- // Scroll to the top of the last message
35
- messagesContainerRef.current?.scroll({
36
- top: scrollTop,
37
- behavior: "smooth",
38
- });
39
- }, [messages]);
40
-
41
- const setMessageRef = useCallback((index) => {
42
- if (!messagesRef?.current) return undefined;
43
- return (message: HTMLDivElement) => (messagesRef.current[index] = message);
44
- }, []);
45
-
46
- return [messagesContainerRef, setMessageRef]
47
- }