@yext/chat-ui-react 0.5.6 → 0.6.0-alpha.38

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 (153) hide show
  1. package/README.md +9 -11
  2. package/THIRD-PARTY-NOTICES +1 -1
  3. package/lib/commonjs/package.json.js +141 -0
  4. package/lib/commonjs/package.json.js.map +1 -0
  5. package/lib/commonjs/src/components/ChatHeader.js +21 -20
  6. package/lib/commonjs/src/components/ChatHeader.js.map +1 -1
  7. package/lib/commonjs/src/components/ChatInput.js +24 -26
  8. package/lib/commonjs/src/components/ChatInput.js.map +1 -1
  9. package/lib/commonjs/src/components/ChatPanel.d.ts.map +1 -1
  10. package/lib/commonjs/src/components/ChatPanel.js +28 -28
  11. package/lib/commonjs/src/components/ChatPanel.js.map +1 -1
  12. package/lib/commonjs/src/components/ChatPopUp.d.ts.map +1 -1
  13. package/lib/commonjs/src/components/ChatPopUp.js +24 -23
  14. package/lib/commonjs/src/components/ChatPopUp.js.map +1 -1
  15. package/lib/commonjs/src/components/FeedbackButtons.js +21 -20
  16. package/lib/commonjs/src/components/FeedbackButtons.js.map +1 -1
  17. package/lib/commonjs/src/components/LoadingDots.js +8 -7
  18. package/lib/commonjs/src/components/LoadingDots.js.map +1 -1
  19. package/lib/commonjs/src/components/Markdown.js +19 -21
  20. package/lib/commonjs/src/components/Markdown.js.map +1 -1
  21. package/lib/commonjs/src/components/MessageBubble.js +20 -19
  22. package/lib/commonjs/src/components/MessageBubble.js.map +1 -1
  23. package/lib/commonjs/src/components/index.d.ts +0 -1
  24. package/lib/commonjs/src/components/index.d.ts.map +1 -1
  25. package/lib/commonjs/src/hooks/useComposedCssClasses.js +9 -8
  26. package/lib/commonjs/src/hooks/useComposedCssClasses.js.map +1 -1
  27. package/lib/commonjs/src/hooks/useDefaultHandleApiError.js +10 -9
  28. package/lib/commonjs/src/hooks/useDefaultHandleApiError.js.map +1 -1
  29. package/lib/commonjs/src/hooks/useReportAnalyticsEvent.js +11 -13
  30. package/lib/commonjs/src/hooks/useReportAnalyticsEvent.js.map +1 -1
  31. package/lib/commonjs/src/icons/Arrow.js +7 -6
  32. package/lib/commonjs/src/icons/Arrow.js.map +1 -1
  33. package/lib/commonjs/src/icons/Chat.js +7 -6
  34. package/lib/commonjs/src/icons/Chat.js.map +1 -1
  35. package/lib/commonjs/src/icons/Cross.js +7 -6
  36. package/lib/commonjs/src/icons/Cross.js.map +1 -1
  37. package/lib/commonjs/src/icons/DualSync.js +7 -6
  38. package/lib/commonjs/src/icons/DualSync.js.map +1 -1
  39. package/lib/commonjs/src/icons/ThumbsDown.js +7 -6
  40. package/lib/commonjs/src/icons/ThumbsDown.js.map +1 -1
  41. package/lib/commonjs/src/icons/ThumbsDownFill.js +7 -6
  42. package/lib/commonjs/src/icons/ThumbsDownFill.js.map +1 -1
  43. package/lib/commonjs/src/icons/ThumbsUp.js +7 -6
  44. package/lib/commonjs/src/icons/ThumbsUp.js.map +1 -1
  45. package/lib/commonjs/src/icons/ThumbsUpFill.js +7 -6
  46. package/lib/commonjs/src/icons/ThumbsUpFill.js.map +1 -1
  47. package/lib/commonjs/src/index.js +18 -19
  48. package/lib/commonjs/src/index.js.map +1 -1
  49. package/lib/commonjs/src/utils/withStylelessCssClasses.js +4 -4
  50. package/lib/commonjs/src/utils/withStylelessCssClasses.js.map +1 -1
  51. package/lib/esm/index.d.ts +0 -12
  52. package/lib/esm/package.json.mjs +121 -0
  53. package/lib/esm/package.json.mjs.map +1 -0
  54. package/lib/esm/src/components/{ChatHeader.js → ChatHeader.mjs} +14 -11
  55. package/lib/esm/src/components/ChatHeader.mjs.map +1 -0
  56. package/lib/esm/src/components/{ChatInput.js → ChatInput.mjs} +14 -11
  57. package/lib/esm/src/components/ChatInput.mjs.map +1 -0
  58. package/lib/esm/src/components/ChatPanel.d.ts.map +1 -1
  59. package/lib/esm/src/components/{ChatPanel.js → ChatPanel.mjs} +16 -14
  60. package/lib/esm/src/components/ChatPanel.mjs.map +1 -0
  61. package/lib/esm/src/components/ChatPopUp.d.ts.map +1 -1
  62. package/lib/esm/src/components/{ChatPopUp.js → ChatPopUp.mjs} +15 -12
  63. package/lib/esm/src/components/ChatPopUp.mjs.map +1 -0
  64. package/lib/esm/src/components/{FeedbackButtons.js → FeedbackButtons.mjs} +15 -12
  65. package/lib/esm/src/components/FeedbackButtons.mjs.map +1 -0
  66. package/lib/esm/src/components/LoadingDots.mjs +14 -0
  67. package/lib/esm/src/components/LoadingDots.mjs.map +1 -0
  68. package/lib/esm/src/components/{Markdown.js → Markdown.mjs} +14 -11
  69. package/lib/esm/src/components/Markdown.mjs.map +1 -0
  70. package/lib/esm/src/components/{MessageBubble.js → MessageBubble.mjs} +13 -10
  71. package/lib/esm/src/components/MessageBubble.mjs.map +1 -0
  72. package/lib/esm/src/components/index.d.ts +0 -1
  73. package/lib/esm/src/components/index.d.ts.map +1 -1
  74. package/lib/esm/src/hooks/{useComposedCssClasses.js → useComposedCssClasses.mjs} +7 -4
  75. package/lib/esm/src/hooks/useComposedCssClasses.mjs.map +1 -0
  76. package/lib/esm/src/hooks/{useDefaultHandleApiError.js → useDefaultHandleApiError.mjs} +7 -4
  77. package/lib/esm/src/hooks/useDefaultHandleApiError.mjs.map +1 -0
  78. package/lib/esm/src/hooks/{useReportAnalyticsEvent.js → useReportAnalyticsEvent.mjs} +8 -5
  79. package/lib/esm/src/hooks/useReportAnalyticsEvent.mjs.map +1 -0
  80. package/lib/esm/src/icons/Arrow.mjs +8 -0
  81. package/lib/esm/src/icons/Arrow.mjs.map +1 -0
  82. package/lib/esm/src/icons/Chat.mjs +8 -0
  83. package/lib/esm/src/icons/Chat.mjs.map +1 -0
  84. package/lib/esm/src/icons/Cross.mjs +8 -0
  85. package/lib/esm/src/icons/Cross.mjs.map +1 -0
  86. package/lib/esm/src/icons/DualSync.mjs +8 -0
  87. package/lib/esm/src/icons/DualSync.mjs.map +1 -0
  88. package/lib/esm/src/icons/ThumbsDown.mjs +8 -0
  89. package/lib/esm/src/icons/ThumbsDown.mjs.map +1 -0
  90. package/lib/esm/src/icons/ThumbsDownFill.mjs +8 -0
  91. package/lib/esm/src/icons/ThumbsDownFill.mjs.map +1 -0
  92. package/lib/esm/src/icons/ThumbsUp.mjs +8 -0
  93. package/lib/esm/src/icons/ThumbsUp.mjs.map +1 -0
  94. package/lib/esm/src/icons/ThumbsUpFill.mjs +8 -0
  95. package/lib/esm/src/icons/ThumbsUpFill.mjs.map +1 -0
  96. package/lib/esm/src/index.mjs +7 -0
  97. package/lib/esm/src/index.mjs.map +1 -0
  98. package/lib/esm/src/utils/{withStylelessCssClasses.js → withStylelessCssClasses.mjs} +4 -2
  99. package/lib/esm/src/utils/withStylelessCssClasses.mjs.map +1 -0
  100. package/package.json +9 -6
  101. package/src/components/ChatPanel.tsx +18 -16
  102. package/src/components/ChatPopUp.tsx +26 -22
  103. package/src/components/index.ts +0 -2
  104. package/lib/commonjs/package.json +0 -99
  105. package/lib/commonjs/src/components/ChatStyleProvider.d.ts +0 -13
  106. package/lib/commonjs/src/components/ChatStyleProvider.d.ts.map +0 -1
  107. package/lib/commonjs/src/components/ChatStyleProvider.js +0 -19
  108. package/lib/commonjs/src/components/ChatStyleProvider.js.map +0 -1
  109. package/lib/commonjs/src/components/index.js +0 -16
  110. package/lib/commonjs/src/components/index.js.map +0 -1
  111. package/lib/commonjs/src/hooks/index.js +0 -6
  112. package/lib/commonjs/src/hooks/index.js.map +0 -1
  113. package/lib/esm/package.json +0 -99
  114. package/lib/esm/src/components/ChatHeader.js.map +0 -1
  115. package/lib/esm/src/components/ChatInput.js.map +0 -1
  116. package/lib/esm/src/components/ChatPanel.js.map +0 -1
  117. package/lib/esm/src/components/ChatPopUp.js.map +0 -1
  118. package/lib/esm/src/components/ChatStyleProvider.d.ts +0 -13
  119. package/lib/esm/src/components/ChatStyleProvider.d.ts.map +0 -1
  120. package/lib/esm/src/components/ChatStyleProvider.js +0 -15
  121. package/lib/esm/src/components/ChatStyleProvider.js.map +0 -1
  122. package/lib/esm/src/components/FeedbackButtons.js.map +0 -1
  123. package/lib/esm/src/components/LoadingDots.js +0 -11
  124. package/lib/esm/src/components/LoadingDots.js.map +0 -1
  125. package/lib/esm/src/components/Markdown.js.map +0 -1
  126. package/lib/esm/src/components/MessageBubble.js.map +0 -1
  127. package/lib/esm/src/components/index.js +0 -7
  128. package/lib/esm/src/components/index.js.map +0 -1
  129. package/lib/esm/src/hooks/index.js +0 -2
  130. package/lib/esm/src/hooks/index.js.map +0 -1
  131. package/lib/esm/src/hooks/useComposedCssClasses.js.map +0 -1
  132. package/lib/esm/src/hooks/useDefaultHandleApiError.js.map +0 -1
  133. package/lib/esm/src/hooks/useReportAnalyticsEvent.js.map +0 -1
  134. package/lib/esm/src/icons/Arrow.js +0 -5
  135. package/lib/esm/src/icons/Arrow.js.map +0 -1
  136. package/lib/esm/src/icons/Chat.js +0 -5
  137. package/lib/esm/src/icons/Chat.js.map +0 -1
  138. package/lib/esm/src/icons/Cross.js +0 -5
  139. package/lib/esm/src/icons/Cross.js.map +0 -1
  140. package/lib/esm/src/icons/DualSync.js +0 -5
  141. package/lib/esm/src/icons/DualSync.js.map +0 -1
  142. package/lib/esm/src/icons/ThumbsDown.js +0 -5
  143. package/lib/esm/src/icons/ThumbsDown.js.map +0 -1
  144. package/lib/esm/src/icons/ThumbsDownFill.js +0 -5
  145. package/lib/esm/src/icons/ThumbsDownFill.js.map +0 -1
  146. package/lib/esm/src/icons/ThumbsUp.js +0 -5
  147. package/lib/esm/src/icons/ThumbsUp.js.map +0 -1
  148. package/lib/esm/src/icons/ThumbsUpFill.js +0 -5
  149. package/lib/esm/src/icons/ThumbsUpFill.js.map +0 -1
  150. package/lib/esm/src/index.js +0 -3
  151. package/lib/esm/src/index.js.map +0 -1
  152. package/lib/esm/src/utils/withStylelessCssClasses.js.map +0 -1
  153. package/src/components/ChatStyleProvider.tsx +0 -15
@@ -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,EAEL,oBAAoB,EACpB,eAAe,EAChB,MAAM,cAAc,CAAC;AAMtB;;;;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,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACvC;AA8BD;;;;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,2CA8D9C"}
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;AAMtB;;;;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,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACvC;AA8BD;;;;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,2CAkE9C"}
@@ -1,12 +1,13 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useCallback, useEffect, useState } from "react";
3
- import { ChatIcon } from "../icons/Chat";
4
- import { ChatPanel } from "./ChatPanel";
5
- import { ChatHeader, } from "./ChatHeader";
6
- import { twMerge } from "tailwind-merge";
7
- import { useComposedCssClasses } from "../hooks";
8
- import { withStylelessCssClasses } from "../utils/withStylelessCssClasses";
9
- import { useReportAnalyticsEvent } from "../hooks/useReportAnalyticsEvent";
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { useEffect, useState, useCallback } from 'react';
3
+ import { ChatIcon } from '../icons/Chat.mjs';
4
+ import { ChatPanel } from './ChatPanel.mjs';
5
+ import { ChatHeader } from './ChatHeader.mjs';
6
+ import { twMerge } from 'tailwind-merge';
7
+ import { useComposedCssClasses } from '../hooks/useComposedCssClasses.mjs';
8
+ import { withStylelessCssClasses } from '../utils/withStylelessCssClasses.mjs';
9
+ import { useReportAnalyticsEvent } from '../hooks/useReportAnalyticsEvent.mjs';
10
+
10
11
  const fixedPosition = "fixed bottom-6 right-4 lg:bottom-14 lg:right-10 z-50 ";
11
12
  const builtInCssClasses = withStylelessCssClasses("PopUp", {
12
13
  container: "transition-all",
@@ -36,7 +37,7 @@ const builtInCssClasses = withStylelessCssClasses("PopUp", {
36
37
  *
37
38
  * @param props - {@link ChatPanelProps}
38
39
  */
39
- export function ChatPopUp(props) {
40
+ function ChatPopUp(props) {
40
41
  const { openPanelButtonIcon, customCssClasses, showRestartButton = true, onClose: customOnClose, title, } = props;
41
42
  const reportAnalyticsEvent = useReportAnalyticsEvent();
42
43
  useEffect(() => {
@@ -55,6 +56,8 @@ export function ChatPopUp(props) {
55
56
  const cssClasses = useComposedCssClasses(builtInCssClasses, customCssClasses);
56
57
  const panelCssClasses = twMerge(cssClasses.panel, showChat ? cssClasses.panel__display : cssClasses.panel__hidden);
57
58
  const buttonCssClasses = twMerge(cssClasses.button, showChat ? cssClasses.button__hidden : cssClasses.button__display);
58
- return (_jsxs("div", { className: cssClasses.container, children: [_jsx("div", { className: panelCssClasses, "aria-label": "Chat Popup Panel", children: _jsx(ChatPanel, { ...props, customCssClasses: cssClasses.panelCssClasses, header: _jsx(ChatHeader, { title: title, showRestartButton: showRestartButton, showCloseButton: true, onClose: onClose, customCssClasses: cssClasses.headerCssClasses }) }) }), _jsx("button", { "aria-label": "Chat Popup Button", onClick: onClick, className: buttonCssClasses, children: openPanelButtonIcon ?? _jsx(ChatIcon, { className: cssClasses.buttonIcon }) })] }));
59
+ return (jsx("div", { className: "yext-chat", children: jsxs("div", { className: cssClasses.container, children: [jsx("div", { className: panelCssClasses, "aria-label": "Chat Popup Panel", children: jsx(ChatPanel, { ...props, customCssClasses: cssClasses.panelCssClasses, header: jsx(ChatHeader, { title: title, showRestartButton: showRestartButton, showCloseButton: true, onClose: onClose, customCssClasses: cssClasses.headerCssClasses }) }) }), jsx("button", { "aria-label": "Chat Popup Button", onClick: onClick, className: buttonCssClasses, children: openPanelButtonIcon ?? (jsx(ChatIcon, { className: cssClasses.buttonIcon })) })] }) }));
59
60
  }
60
- //# sourceMappingURL=ChatPopUp.js.map
61
+
62
+ export { ChatPopUp };
63
+ //# sourceMappingURL=ChatPopUp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatPopUp.mjs","sources":["../../../../src/components/ChatPopUp.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from \"react\";\nimport { ChatIcon } from \"../icons/Chat\";\nimport { ChatPanel, ChatPanelCssClasses, ChatPanelProps } from \"./ChatPanel\";\nimport {\n ChatHeader,\n ChatHeaderCssClasses,\n ChatHeaderProps,\n} from \"./ChatHeader\";\nimport { twMerge } from \"tailwind-merge\";\nimport { useComposedCssClasses } from \"../hooks\";\nimport { withStylelessCssClasses } from \"../utils/withStylelessCssClasses\";\nimport { useReportAnalyticsEvent } from \"../hooks/useReportAnalyticsEvent\";\n\n/**\n * The CSS class interface for the {@link ChatPopUp} component.\n *\n * @public\n */\nexport interface ChatPopUpCssClasses {\n container?: string;\n panel?: string;\n panel__display?: string;\n panel__hidden?: string;\n button?: string;\n button__display?: string;\n button__hidden?: string;\n buttonIcon?: string;\n headerCssClasses?: ChatHeaderCssClasses;\n panelCssClasses?: ChatPanelCssClasses;\n}\n\nconst fixedPosition = \"fixed bottom-6 right-4 lg:bottom-14 lg:right-10 z-50 \";\nconst builtInCssClasses: ChatPopUpCssClasses = withStylelessCssClasses(\n \"PopUp\",\n {\n container: \"transition-all\",\n panel:\n fixedPosition +\n \"w-80 max-[480px]:right-0 max-[480px]:bottom-0 max-[480px]:w-full max-[480px]:h-full lg:w-96 h-[75vh]\",\n panel__display: \"duration-300 translate-y-0\",\n panel__hidden: \"duration-300 translate-y-[20%] opacity-0 invisible\",\n button:\n fixedPosition +\n \"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\",\n button__display: \"duration-300 transform translate-y-0\",\n button__hidden:\n \"duration-300 transform translate-y-[20%] opacity-0 invisible\",\n buttonIcon: \"text-blue-600 w-[28px] h-[28px] lg:w-[40px] lg:h-[40px]\",\n headerCssClasses: {\n container: \"max-[480px]:rounded-none rounded-t-3xl\",\n },\n panelCssClasses: {\n container: \"max-[480px]:rounded-none rounded-3xl\",\n inputContainer: \"max-[480px]:rounded-none rounded-b-3xl\",\n messagesScrollContainer: \"rounded-b-3xl\",\n },\n }\n);\n\n/**\n * The props for the {@link ChatPopUp} component.\n *\n * @public\n */\nexport interface ChatPopUpProps\n extends Omit<ChatHeaderProps, \"showCloseButton\" | \"customCssClasses\">,\n Omit<ChatPanelProps, \"header\" | \"customCssClasses\"> {\n /** Custom icon for the popup button to open the panel. */\n openPanelButtonIcon?: JSX.Element;\n /**\n * CSS classes for customizing the component styling.\n */\n customCssClasses?: ChatPopUpCssClasses;\n}\n\n/**\n * A component that renders a popup button that displays and hides\n * a panel for chat bot interactions.\n *\n * @public\n *\n * @param props - {@link ChatPanelProps}\n */\nexport function ChatPopUp(props: ChatPopUpProps) {\n const {\n openPanelButtonIcon,\n customCssClasses,\n showRestartButton = true,\n onClose: customOnClose,\n title,\n } = props;\n const reportAnalyticsEvent = useReportAnalyticsEvent();\n\n useEffect(() => {\n reportAnalyticsEvent({\n action: \"CHAT_IMPRESSION\",\n });\n }, [reportAnalyticsEvent]);\n\n const [showChat, setShowChat] = useState(false);\n const onClick = useCallback(() => {\n setShowChat(!showChat);\n }, [showChat]);\n\n const onClose = useCallback(() => {\n setShowChat(false);\n customOnClose?.();\n }, [customOnClose]);\n\n const cssClasses = useComposedCssClasses(builtInCssClasses, customCssClasses);\n const panelCssClasses = twMerge(\n cssClasses.panel,\n showChat ? cssClasses.panel__display : cssClasses.panel__hidden\n );\n const buttonCssClasses = twMerge(\n cssClasses.button,\n showChat ? cssClasses.button__hidden : cssClasses.button__display\n );\n\n return (\n <div className=\"yext-chat\">\n <div className={cssClasses.container}>\n <div className={panelCssClasses} aria-label=\"Chat Popup Panel\">\n <ChatPanel\n {...props}\n customCssClasses={cssClasses.panelCssClasses}\n header={\n <ChatHeader\n title={title}\n showRestartButton={showRestartButton}\n showCloseButton={true}\n onClose={onClose}\n customCssClasses={cssClasses.headerCssClasses}\n />\n }\n />\n </div>\n <button\n aria-label=\"Chat Popup Button\"\n onClick={onClick}\n className={buttonCssClasses}\n >\n {openPanelButtonIcon ?? (\n <ChatIcon className={cssClasses.buttonIcon} />\n )}\n </button>\n </div>\n </div>\n );\n}\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -1,12 +1,13 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ThumbsDownIcon } from "../icons/ThumbsDown";
3
- import { ThumbsUpIcon } from "../icons/ThumbsUp";
4
- import { useCallback, useState } from "react";
5
- import { ThumbsUpFillIcon } from "../icons/ThumbsUpFill";
6
- import { ThumbsDownFillIcon } from "../icons/ThumbsDownFill";
7
- import { withStylelessCssClasses } from "../utils/withStylelessCssClasses";
8
- import { useComposedCssClasses } from "../hooks";
9
- import { useReportAnalyticsEvent } from "../hooks/useReportAnalyticsEvent";
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { ThumbsDownIcon } from '../icons/ThumbsDown.mjs';
3
+ import { ThumbsUpIcon } from '../icons/ThumbsUp.mjs';
4
+ import { useState, useCallback } from 'react';
5
+ import { ThumbsUpFillIcon } from '../icons/ThumbsUpFill.mjs';
6
+ import { ThumbsDownFillIcon } from '../icons/ThumbsDownFill.mjs';
7
+ import { withStylelessCssClasses } from '../utils/withStylelessCssClasses.mjs';
8
+ import { useComposedCssClasses } from '../hooks/useComposedCssClasses.mjs';
9
+ import { useReportAnalyticsEvent } from '../hooks/useReportAnalyticsEvent.mjs';
10
+
10
11
  const builtInCssClasses = withStylelessCssClasses("FeedbackButtons", {
11
12
  container: "flex gap-x-1 absolute -right-1 -top-3 opacity-0 group-hover:opacity-100 duration-200",
12
13
  thumbsUpButton: "w-6 h-6 bg-gray-700 rounded-md flex justify-center items-center",
@@ -22,7 +23,7 @@ const builtInCssClasses = withStylelessCssClasses("FeedbackButtons", {
22
23
  *
23
24
  * @internal
24
25
  */
25
- export function FeedbackButtons({ customCssClasses, responseId, }) {
26
+ function FeedbackButtons({ customCssClasses, responseId, }) {
26
27
  const reportAnalyticsEvent = useReportAnalyticsEvent();
27
28
  const cssClasses = useComposedCssClasses(builtInCssClasses, customCssClasses);
28
29
  const [selectedThumb, setSelectedThumb] = useState();
@@ -44,6 +45,8 @@ export function FeedbackButtons({ customCssClasses, responseId, }) {
44
45
  },
45
46
  });
46
47
  }, [reportAnalyticsEvent, responseId]);
47
- return (_jsxs("div", { className: cssClasses.container, children: [_jsx("button", { className: cssClasses.thumbsUpButton, onClick: onClickThumbsUp, children: selectedThumb === "UP" ? (_jsx(ThumbsUpFillIcon, { className: cssClasses.thumbsUpFillIcon })) : (_jsx(ThumbsUpIcon, { className: cssClasses.thumbsUpIcon })) }), _jsx("button", { className: cssClasses.thumbsDownButton, onClick: onClickThumbsDown, children: selectedThumb === "DOWN" ? (_jsx(ThumbsDownFillIcon, { className: cssClasses.thumbsDownFillIcon })) : (_jsx(ThumbsDownIcon, { className: cssClasses.thumbsDownIcon })) })] }));
48
+ return (jsxs("div", { className: cssClasses.container, children: [jsx("button", { className: cssClasses.thumbsUpButton, onClick: onClickThumbsUp, children: selectedThumb === "UP" ? (jsx(ThumbsUpFillIcon, { className: cssClasses.thumbsUpFillIcon })) : (jsx(ThumbsUpIcon, { className: cssClasses.thumbsUpIcon })) }), jsx("button", { className: cssClasses.thumbsDownButton, onClick: onClickThumbsDown, children: selectedThumb === "DOWN" ? (jsx(ThumbsDownFillIcon, { className: cssClasses.thumbsDownFillIcon })) : (jsx(ThumbsDownIcon, { className: cssClasses.thumbsDownIcon })) })] }));
48
49
  }
49
- //# sourceMappingURL=FeedbackButtons.js.map
50
+
51
+ export { FeedbackButtons };
52
+ //# sourceMappingURL=FeedbackButtons.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeedbackButtons.mjs","sources":["../../../../src/components/FeedbackButtons.tsx"],"sourcesContent":["import { ThumbsDownIcon } from \"../icons/ThumbsDown\";\nimport { ThumbsUpIcon } from \"../icons/ThumbsUp\";\nimport { useCallback, useState } from \"react\";\nimport { ThumbsUpFillIcon } from \"../icons/ThumbsUpFill\";\nimport { ThumbsDownFillIcon } from \"../icons/ThumbsDownFill\";\nimport { withStylelessCssClasses } from \"../utils/withStylelessCssClasses\";\nimport { useComposedCssClasses } from \"../hooks\";\nimport { useReportAnalyticsEvent } from \"../hooks/useReportAnalyticsEvent\";\n\n/**\n * The CSS class interface for the FeedbackButtons component.\n *\n * @public\n */\nexport interface FeedbackButtonsCssClasses {\n container?: string;\n thumbsUpButton?: string;\n thumbsUpIcon?: string;\n thumbsUpFillIcon?: string;\n thumbsDownButton?: string;\n thumbsDownIcon?: string;\n thumbsDownFillIcon?: string;\n}\n\nconst builtInCssClasses: FeedbackButtonsCssClasses =\n withStylelessCssClasses<FeedbackButtonsCssClasses>(\"FeedbackButtons\", {\n container:\n \"flex gap-x-1 absolute -right-1 -top-3 opacity-0 group-hover:opacity-100 duration-200\",\n thumbsUpButton:\n \"w-6 h-6 bg-gray-700 rounded-md flex justify-center items-center\",\n thumbsUpIcon: \"text-white w-[22px] h-[22px] stroke-[0.2]\",\n thumbsUpFillIcon: \"text-white w-[22px] h-[22px] stroke-[0.2]\",\n thumbsDownButton:\n \"w-6 h-6 bg-gray-700 rounded-md flex justify-center items-center\",\n thumbsDownIcon: \"text-white w-[22px] h-[22px] stroke-[0.2]\",\n thumbsDownFillIcon: \"text-white w-[22px] h-[22px] stroke-[0.2]\",\n });\n\n/**\n * The props for the FeedbackButtons component.\n *\n * @internal\n */\ninterface FeedbackButtonsProps {\n /** The response ID correlates to the current message to give feedback on. */\n responseId?: string;\n /** CSS classes for customizing the component styling. */\n customCssClasses?: FeedbackButtonsCssClasses;\n}\n\n/**\n * Displays feedback buttons (e.g. thumbs up and thumbs down) that will\n * report analytic events on click.\n *\n * @internal\n */\nexport function FeedbackButtons({\n customCssClasses,\n responseId,\n}: FeedbackButtonsProps) {\n const reportAnalyticsEvent = useReportAnalyticsEvent();\n const cssClasses = useComposedCssClasses(builtInCssClasses, customCssClasses);\n const [selectedThumb, setSelectedThumb] = useState<\n \"UP\" | \"DOWN\" | undefined\n >();\n const onClickThumbsUp = useCallback(() => {\n setSelectedThumb(\"UP\");\n reportAnalyticsEvent({\n action: \"THUMBS_UP\",\n chat: {\n responseId,\n },\n });\n }, [reportAnalyticsEvent, responseId]);\n\n const onClickThumbsDown = useCallback(() => {\n setSelectedThumb(\"DOWN\");\n reportAnalyticsEvent({\n action: \"THUMBS_DOWN\",\n chat: {\n responseId,\n },\n });\n }, [reportAnalyticsEvent, responseId]);\n\n return (\n <div className={cssClasses.container}>\n <button className={cssClasses.thumbsUpButton} onClick={onClickThumbsUp}>\n {selectedThumb === \"UP\" ? (\n <ThumbsUpFillIcon className={cssClasses.thumbsUpFillIcon} />\n ) : (\n <ThumbsUpIcon className={cssClasses.thumbsUpIcon} />\n )}\n </button>\n <button\n className={cssClasses.thumbsDownButton}\n onClick={onClickThumbsDown}\n >\n {selectedThumb === \"DOWN\" ? (\n <ThumbsDownFillIcon className={cssClasses.thumbsDownFillIcon} />\n ) : (\n <ThumbsDownIcon className={cssClasses.thumbsDownIcon} />\n )}\n </button>\n </div>\n );\n}\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;AAwBA,MAAM,iBAAiB,GACrB,uBAAuB,CAA4B,iBAAiB,EAAE;AACpE,IAAA,SAAS,EACP,sFAAsF;AACxF,IAAA,cAAc,EACZ,iEAAiE;AACnE,IAAA,YAAY,EAAE,2CAA2C;AACzD,IAAA,gBAAgB,EAAE,2CAA2C;AAC7D,IAAA,gBAAgB,EACd,iEAAiE;AACnE,IAAA,cAAc,EAAE,2CAA2C;AAC3D,IAAA,kBAAkB,EAAE,2CAA2C;AAChE,CAAA,CAAC,CAAC;AAcL;;;;;AAKG;SACa,eAAe,CAAC,EAC9B,gBAAgB,EAChB,UAAU,GACW,EAAA;AACrB,IAAA,MAAM,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;IACvD,MAAM,UAAU,GAAG,qBAAqB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAC9E,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,EAE/C,CAAC;AACJ,IAAA,MAAM,eAAe,GAAG,WAAW,CAAC,MAAK;QACvC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACvB,QAAA,oBAAoB,CAAC;AACnB,YAAA,MAAM,EAAE,WAAW;AACnB,YAAA,IAAI,EAAE;gBACJ,UAAU;AACX,aAAA;AACF,SAAA,CAAC,CAAC;AACL,KAAC,EAAE,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC;AAEvC,IAAA,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAK;QACzC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACzB,QAAA,oBAAoB,CAAC;AACnB,YAAA,MAAM,EAAE,aAAa;AACrB,YAAA,IAAI,EAAE;gBACJ,UAAU;AACX,aAAA;AACF,SAAA,CAAC,CAAC;AACL,KAAC,EAAE,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvC,QACEA,cAAK,SAAS,EAAE,UAAU,CAAC,SAAS,aAClCC,GAAQ,CAAA,QAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,cAAc,EAAE,OAAO,EAAE,eAAe,EAAA,QAAA,EACnE,aAAa,KAAK,IAAI,IACrBA,IAAC,gBAAgB,EAAA,EAAC,SAAS,EAAE,UAAU,CAAC,gBAAgB,EAAA,CAAI,KAE5DA,GAAA,CAAC,YAAY,EAAC,EAAA,SAAS,EAAE,UAAU,CAAC,YAAY,GAAI,CACrD,EAAA,CACM,EACTA,GACE,CAAA,QAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,gBAAgB,EACtC,OAAO,EAAE,iBAAiB,EAAA,QAAA,EAEzB,aAAa,KAAK,MAAM,IACvBA,GAAA,CAAC,kBAAkB,EAAA,EAAC,SAAS,EAAE,UAAU,CAAC,kBAAkB,EAAA,CAAI,KAEhEA,GAAC,CAAA,cAAc,IAAC,SAAS,EAAE,UAAU,CAAC,cAAc,GAAI,CACzD,EAAA,CACM,CACL,EAAA,CAAA,EACN;AACJ;;;;"}
@@ -0,0 +1,14 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { twMerge } from 'tailwind-merge';
3
+
4
+ /**
5
+ * A component that signifies loading status.
6
+ *
7
+ * @internal
8
+ */
9
+ function LoadingDots({ className }) {
10
+ return (jsxs("div", { "aria-label": "Loading Indicator", className: twMerge("flex gap-1 p-2 animate-fade-in", className), children: [jsx("div", { className: "w-2 h-2 bg-slate-500 rounded-full animate-[bounce_1s_infinite]" }), jsx("div", { className: "w-2 h-2 bg-slate-500 rounded-full animate-[bounce_1s_infinite_0.3s]" }), jsx("div", { className: "w-2 h-2 bg-slate-500 rounded-full animate-[bounce_1s_infinite_0.6s]" })] }));
11
+ }
12
+
13
+ export { LoadingDots };
14
+ //# sourceMappingURL=LoadingDots.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingDots.mjs","sources":["../../../../src/components/LoadingDots.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\n\n/**\n * A component that signifies loading status.\n *\n * @internal\n */\nexport function LoadingDots({ className }: { className?: string }) {\n return (\n <div\n aria-label=\"Loading Indicator\"\n className={twMerge(\"flex gap-1 p-2 animate-fade-in\", className)}\n >\n <div className=\"w-2 h-2 bg-slate-500 rounded-full animate-[bounce_1s_infinite]\" />\n <div className=\"w-2 h-2 bg-slate-500 rounded-full animate-[bounce_1s_infinite_0.3s]\" />\n <div className=\"w-2 h-2 bg-slate-500 rounded-full animate-[bounce_1s_infinite_0.6s]\" />\n </div>\n );\n}\n"],"names":["_jsxs","_jsx"],"mappings":";;;AAEA;;;;AAIG;AACa,SAAA,WAAW,CAAC,EAAE,SAAS,EAA0B,EAAA;AAC/D,IAAA,QACEA,IAAA,CAAA,KAAA,EAAA,EAAA,YAAA,EACa,mBAAmB,EAC9B,SAAS,EAAE,OAAO,CAAC,gCAAgC,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,CAE/DC,aAAK,SAAS,EAAC,gEAAgE,EAAA,CAAG,EAClFA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qEAAqE,EAAG,CAAA,EACvFA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,qEAAqE,EAAG,CAAA,CAAA,EAAA,CACnF,EACN;AACJ;;;;"}
@@ -1,10 +1,11 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import ReactMarkdown from "react-markdown";
3
- import remarkGfm from "remark-gfm";
4
- import rehypeRaw from "rehype-raw";
5
- import rehypeSanitize from "rehype-sanitize";
6
- import { useMemo } from "react";
7
- import { useReportAnalyticsEvent } from "../hooks/useReportAnalyticsEvent";
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import ReactMarkdown from 'react-markdown';
3
+ import remarkGfm from 'remark-gfm';
4
+ import rehypeRaw from 'rehype-raw';
5
+ import rehypeSanitize from 'rehype-sanitize';
6
+ import { useMemo } from 'react';
7
+ import { useReportAnalyticsEvent } from '../hooks/useReportAnalyticsEvent.mjs';
8
+
8
9
  // The Remark and Rehype plugins to use in conjunction with ReactMarkdown.
9
10
  const unifiedPlugins = {
10
11
  remark: [
@@ -24,7 +25,7 @@ const unifiedPlugins = {
24
25
  *
25
26
  * @internal
26
27
  */
27
- export function Markdown({ content, responseId, className }) {
28
+ function Markdown({ content, responseId, className }) {
28
29
  const reportAnalyticsEvent = useReportAnalyticsEvent();
29
30
  const components = useMemo(() => {
30
31
  const createClickHandlerFn = (href) => () => {
@@ -38,10 +39,12 @@ export function Markdown({ content, responseId, className }) {
38
39
  };
39
40
  return {
40
41
  a: ({ node: _, children, ...props }) => {
41
- return (_jsx("a", { ...props, onClick: createClickHandlerFn(props.href), target: "_blank", rel: "noopener noreferrer", className: "cursor-pointer", children: children }));
42
+ return (jsx("a", { ...props, onClick: createClickHandlerFn(props.href), target: "_blank", rel: "noopener noreferrer", className: "cursor-pointer", children: children }));
42
43
  },
43
44
  };
44
45
  }, [reportAnalyticsEvent, responseId]);
45
- return (_jsx(ReactMarkdown, { className: className, children: content, remarkPlugins: unifiedPlugins.remark, rehypePlugins: unifiedPlugins.rehype, components: components }));
46
+ return (jsx(ReactMarkdown, { className: className, children: content, remarkPlugins: unifiedPlugins.remark, rehypePlugins: unifiedPlugins.rehype, components: components }));
46
47
  }
47
- //# sourceMappingURL=Markdown.js.map
48
+
49
+ export { Markdown };
50
+ //# sourceMappingURL=Markdown.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Markdown.mjs","sources":["../../../../src/components/Markdown.tsx"],"sourcesContent":["import ReactMarkdown, {\n PluggableList,\n ReactMarkdownOptions,\n} from \"react-markdown\";\nimport remarkGfm from \"remark-gfm\";\nimport rehypeRaw from \"rehype-raw\";\nimport rehypeSanitize from \"rehype-sanitize\";\nimport { useMemo } from \"react\";\nimport { useReportAnalyticsEvent } from \"../hooks/useReportAnalyticsEvent\";\n\n// The Remark and Rehype plugins to use in conjunction with ReactMarkdown.\nconst unifiedPlugins: { remark?: PluggableList; rehype: PluggableList } = {\n remark: [\n remarkGfm, //renders Github-Flavored Markdown\n ],\n rehype: [\n rehypeRaw, //to support HTML embedded in markdown\n rehypeSanitize, //to sanitize HTML content\n ],\n};\n\ninterface MarkdownProps {\n /** Stringified markdown. */\n content: string;\n /** The response ID correlates to the current message. */\n responseId?: string;\n /** Classnames for the container. */\n className?: string;\n}\n\n/**\n * Renders Github-Flavored Markdown from the Knowledge Graph. This Markdown can include\n * arbitrary HTML. Any HTML will be sanitized according to Rehype's default Schema.\n *\n * @remarks\n * A link click will send a CHAT_LINK_CLICK analytics event\n *\n * @internal\n */\nexport function Markdown({ content, responseId, className }: MarkdownProps) {\n const reportAnalyticsEvent = useReportAnalyticsEvent();\n\n const components: ReactMarkdownOptions[\"components\"] = useMemo(() => {\n const createClickHandlerFn = (href?: string) => () => {\n reportAnalyticsEvent({\n action: \"CHAT_LINK_CLICK\",\n destinationUrl: href,\n chat: {\n responseId,\n },\n });\n };\n return {\n a: ({ node: _, children, ...props }) => {\n return (\n <a\n {...props}\n onClick={createClickHandlerFn(props.href)}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"cursor-pointer\"\n >\n {children}\n </a>\n );\n },\n };\n }, [reportAnalyticsEvent, responseId]);\n\n return (\n <ReactMarkdown\n className={className}\n children={content}\n remarkPlugins={unifiedPlugins.remark}\n rehypePlugins={unifiedPlugins.rehype}\n components={components}\n />\n );\n}\n"],"names":["_jsx"],"mappings":";;;;;;;;AAUA;AACA,MAAM,cAAc,GAAsD;AACxE,IAAA,MAAM,EAAE;AACN,QAAA,SAAS;AACV,KAAA;AACD,IAAA,MAAM,EAAE;QACN,SAAS;AACT,QAAA,cAAc;AACf,KAAA;CACF,CAAC;AAWF;;;;;;;;AAQG;AACG,SAAU,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAiB,EAAA;AACxE,IAAA,MAAM,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;AAEvD,IAAA,MAAM,UAAU,GAAuC,OAAO,CAAC,MAAK;QAClE,MAAM,oBAAoB,GAAG,CAAC,IAAa,KAAK,MAAK;AACnD,YAAA,oBAAoB,CAAC;AACnB,gBAAA,MAAM,EAAE,iBAAiB;AACzB,gBAAA,cAAc,EAAE,IAAI;AACpB,gBAAA,IAAI,EAAE;oBACJ,UAAU;AACX,iBAAA;AACF,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QACF,OAAO;AACL,YAAA,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,KAAI;AACrC,gBAAA,QACEA,GAAA,CAAA,GAAA,EAAA,EAAA,GACM,KAAK,EACT,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,EACzC,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,gBAAgB,EAEzB,QAAA,EAAA,QAAQ,EACP,CAAA,EACJ;aACH;SACF,CAAC;AACJ,KAAC,EAAE,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC;AAEvC,IAAA,QACEA,GAAA,CAAC,aAAa,EAAA,EACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,OAAO,EACjB,aAAa,EAAE,cAAc,CAAC,MAAM,EACpC,aAAa,EAAE,cAAc,CAAC,MAAM,EACpC,UAAU,EAAE,UAAU,EAAA,CACtB,EACF;AACJ;;;;"}
@@ -1,10 +1,11 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { MessageSource } from "@yext/chat-headless-react";
3
- import { useComposedCssClasses } from "../hooks";
4
- import { twMerge } from "tailwind-merge";
5
- import { Markdown } from "./Markdown";
6
- import { withStylelessCssClasses } from "../utils/withStylelessCssClasses";
7
- import { FeedbackButtons } from "./FeedbackButtons";
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { MessageSource } from '@yext/chat-headless-react';
3
+ import { useComposedCssClasses } from '../hooks/useComposedCssClasses.mjs';
4
+ import { twMerge } from 'tailwind-merge';
5
+ import { Markdown } from './Markdown.mjs';
6
+ import { withStylelessCssClasses } from '../utils/withStylelessCssClasses.mjs';
7
+ import { FeedbackButtons } from './FeedbackButtons.mjs';
8
+
8
9
  const builtInCssClasses = withStylelessCssClasses("MessageBubble", {
9
10
  topContainer: "w-full animate-fade-in @container",
10
11
  subContainer: "flex flex-col @lg:flex-row @lg:items-center @lg:gap-x-2 @lg:m-1",
@@ -28,7 +29,7 @@ const builtInCssClasses = withStylelessCssClasses("MessageBubble", {
28
29
  *
29
30
  * @param props - {@link MessageBubbleProps}
30
31
  */
31
- export function MessageBubble({ message, showFeedbackButtons = true, showTimestamp = true, customCssClasses, formatTimestamp = defaultFormatTimestamp, }) {
32
+ function MessageBubble({ message, showFeedbackButtons = true, showTimestamp = true, customCssClasses, formatTimestamp = defaultFormatTimestamp, }) {
32
33
  const cssClasses = useComposedCssClasses(builtInCssClasses, customCssClasses);
33
34
  const bubbleCssClasses = twMerge(cssClasses.bubble, message.source === MessageSource.USER
34
35
  ? cssClasses.bubble__user
@@ -42,7 +43,7 @@ export function MessageBubble({ message, showFeedbackButtons = true, showTimesta
42
43
  const timestampCssClasses = twMerge(cssClasses.timestamp, message.source === MessageSource.USER
43
44
  ? cssClasses.timestamp__user
44
45
  : cssClasses.timestamp__bot);
45
- return (_jsx("div", { className: cssClasses.topContainer, children: _jsxs("div", { className: subContainerCssClasses, children: [_jsxs("div", { className: bubbleCssClasses, children: [showFeedbackButtons && message.source === MessageSource.BOT && (_jsx(FeedbackButtons, { customCssClasses: cssClasses.feedbackButtonsCssClasses, responseId: message.responseId })), _jsx(Markdown, { content: message.text, responseId: message.responseId, className: textCssClasses })] }), showTimestamp && (_jsx("div", { className: timestampCssClasses, children: message.timestamp ? formatTimestamp(message.timestamp) : " " }))] }) }));
46
+ return (jsx("div", { className: cssClasses.topContainer, children: jsxs("div", { className: subContainerCssClasses, children: [jsxs("div", { className: bubbleCssClasses, children: [showFeedbackButtons && message.source === MessageSource.BOT && (jsx(FeedbackButtons, { customCssClasses: cssClasses.feedbackButtonsCssClasses, responseId: message.responseId })), jsx(Markdown, { content: message.text, responseId: message.responseId, className: textCssClasses })] }), showTimestamp && (jsx("div", { className: timestampCssClasses, children: message.timestamp ? formatTimestamp(message.timestamp) : " " }))] }) }));
46
47
  }
47
48
  /**
48
49
  * Formats message's timestamp from "2023-05-18T19:33:34.553Z" to "7:33 PM"
@@ -57,4 +58,6 @@ function defaultFormatTimestamp(timestamp) {
57
58
  hour12: true,
58
59
  });
59
60
  }
60
- //# sourceMappingURL=MessageBubble.js.map
61
+
62
+ export { MessageBubble };
63
+ //# sourceMappingURL=MessageBubble.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageBubble.mjs","sources":["../../../../src/components/MessageBubble.tsx"],"sourcesContent":["import { Message, MessageSource } from \"@yext/chat-headless-react\";\nimport { useComposedCssClasses } from \"../hooks\";\nimport { twMerge } from \"tailwind-merge\";\nimport { Markdown } from \"./Markdown\";\nimport { withStylelessCssClasses } from \"../utils/withStylelessCssClasses\";\nimport { FeedbackButtons, FeedbackButtonsCssClasses } from \"./FeedbackButtons\";\n\n/**\n * The CSS class interface for the {@link MessageBubble} component.\n *\n * @public\n */\nexport interface MessageBubbleCssClasses {\n topContainer?: string;\n subContainer?: string;\n subContainer__bot?: string;\n subContainer__user?: string;\n bubble?: string;\n bubble__bot?: string;\n bubble__user?: string;\n text?: string;\n text__bot?: string;\n text__user?: string;\n timestamp?: string;\n timestamp__bot?: string;\n timestamp__user?: string;\n feedbackButtonsCssClasses?: FeedbackButtonsCssClasses;\n}\n\nconst builtInCssClasses: MessageBubbleCssClasses =\n withStylelessCssClasses<MessageBubbleCssClasses>(\"MessageBubble\", {\n topContainer: \"w-full animate-fade-in @container\",\n subContainer:\n \"flex flex-col @lg:flex-row @lg:items-center @lg:gap-x-2 @lg:m-1\",\n subContainer__bot: \"\",\n subContainer__user: \"@lg:flex-row-reverse\",\n bubble: \"relative group peer w-fit max-w-[80%] rounded-2xl p-4\",\n bubble__bot: \"bg-gradient-to-tr from-slate-50 to-slate-100\",\n bubble__user:\n \"ml-auto @lg:ml-0 bg-gradient-to-tr from-blue-600 to-blue-700 text-white\",\n text: \"text-[13px] @[480px]:text-base prose overflow-x-auto\",\n text__bot: \"text-slate-900\",\n text__user: \"text-white break-words\",\n timestamp:\n \"w-fit my-0.5 ml-4 @lg:ml-0 text-slate-400 text-[10px] @[480px]:text-[13px] opacity-0 peer-hover:opacity-100 duration-200 whitespace-pre-wrap\",\n timestamp__bot: \"\",\n timestamp__user: \"ml-auto\",\n feedbackButtonsCssClasses: {},\n });\n\n/**\n * The props for the {@link MessageBubble} component.\n *\n * @public\n */\nexport interface MessageBubbleProps {\n /** The message to display. */\n message: Message;\n /**\n * Whether to show the feedback buttons on the message bubble.\n * Defaults to true.\n */\n showFeedbackButtons?: boolean;\n /**\n * Whether to show the timestamp of the message with the message bubble.\n * Defaults to true.\n */\n showTimestamp?: boolean;\n /**\n * A function which is called to format the message's timestamp given in\n * ISO format (e.g. \"2023-05-18T19:33:34.553Z\").\n * Defaults to \"HH:MM A\" (e.g. \"7:33 PM\").\n */\n formatTimestamp?: (timestamp: string) => string;\n /** CSS classes for customizing the component styling. */\n customCssClasses?: MessageBubbleCssClasses;\n}\n\n/**\n * A component that displays the provided message.\n *\n * @public\n *\n * @param props - {@link MessageBubbleProps}\n */\nexport function MessageBubble({\n message,\n showFeedbackButtons = true,\n showTimestamp = true,\n customCssClasses,\n formatTimestamp = defaultFormatTimestamp,\n}: MessageBubbleProps) {\n const cssClasses = useComposedCssClasses(builtInCssClasses, customCssClasses);\n const bubbleCssClasses = twMerge(\n cssClasses.bubble,\n message.source === MessageSource.USER\n ? cssClasses.bubble__user\n : cssClasses.bubble__bot\n );\n const textCssClasses = twMerge(\n cssClasses.text,\n message.source === MessageSource.USER\n ? cssClasses.text__user\n : cssClasses.text__bot\n );\n const subContainerCssClasses = twMerge(\n cssClasses.subContainer,\n message.source === MessageSource.USER\n ? cssClasses.subContainer__user\n : cssClasses.subContainer__bot\n );\n const timestampCssClasses = twMerge(\n cssClasses.timestamp,\n message.source === MessageSource.USER\n ? cssClasses.timestamp__user\n : cssClasses.timestamp__bot\n );\n\n return (\n <div className={cssClasses.topContainer}>\n <div className={subContainerCssClasses}>\n <div className={bubbleCssClasses}>\n {showFeedbackButtons && message.source === MessageSource.BOT && (\n <FeedbackButtons\n customCssClasses={cssClasses.feedbackButtonsCssClasses}\n responseId={message.responseId}\n />\n )}\n <Markdown\n content={message.text}\n responseId={message.responseId}\n className={textCssClasses}\n />\n </div>\n {/* fallback on empty space here to perserve the height for timestamp div */}\n {showTimestamp && (\n <div className={timestampCssClasses}>\n {message.timestamp ? formatTimestamp(message.timestamp) : \" \"}\n </div>\n )}\n </div>\n </div>\n );\n}\n\n/**\n * Formats message's timestamp from \"2023-05-18T19:33:34.553Z\" to \"7:33 PM\"\n *\n * @param timestamp - the timestamp to convert from\n * @returns formatted timestamp\n */\nfunction defaultFormatTimestamp(timestamp: string): string {\n return new Date(timestamp).toLocaleString(undefined, {\n hour: \"numeric\",\n minute: \"numeric\",\n hour12: true,\n });\n}\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -9,5 +9,4 @@ export { ChatPanel } from "./ChatPanel";
9
9
  export type { ChatPanelCssClasses, ChatPanelProps } from "./ChatPanel";
10
10
  export { ChatPopUp } from "./ChatPopUp";
11
11
  export type { ChatPopUpCssClasses, ChatPopUpProps } from "./ChatPopUp";
12
- export { ChatStyleProvider } from "./ChatStyleProvider";
13
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -1,5 +1,6 @@
1
- import { useMemo } from "react";
2
- import { twMerge } from "tailwind-merge";
1
+ import { useMemo } from 'react';
2
+ import { twMerge } from 'tailwind-merge';
3
+
3
4
  /**
4
5
  * useComposedCssClasses merges a component's built-in tailwind classes with custom tailwind classes.
5
6
  *
@@ -28,7 +29,7 @@ import { twMerge } from "tailwind-merge";
28
29
  * @param customClasses - The custom tailwind classes to merge with the built-in ones
29
30
  * @returns The composed CSS classes
30
31
  */
31
- export function useComposedCssClasses(builtInClasses, customClasses) {
32
+ function useComposedCssClasses(builtInClasses, customClasses) {
32
33
  return useMemo(() => {
33
34
  const mergeCssClasses = (builtInClasses, customClasses) => {
34
35
  const mergedCssClasses = { ...builtInClasses };
@@ -53,4 +54,6 @@ export function useComposedCssClasses(builtInClasses, customClasses) {
53
54
  return mergeCssClasses(builtInClasses, customClasses);
54
55
  }, [builtInClasses, customClasses]);
55
56
  }
56
- //# sourceMappingURL=useComposedCssClasses.js.map
57
+
58
+ export { useComposedCssClasses };
59
+ //# sourceMappingURL=useComposedCssClasses.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useComposedCssClasses.mjs","sources":["../../../../src/hooks/useComposedCssClasses.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\n/**\n * useComposedCssClasses merges a component's built-in tailwind classes with custom tailwind classes.\n *\n * @remarks\n * Tailwind classes will be merged without conflict, with custom classes having higher priority\n * than built-in ones.\n *\n * @example\n * Suppose a component has built-in classes of `{ container: 'px-4 text-slate-700' }`.\n *\n * Passing in the custom classes:\n *\n * ```ts\n * { container: 'text-red-200 mb-3' }\n * ```\n *\n * results in the merged classes of:\n *\n * ```ts\n * { container: 'px-4 text-red-200 mb-3' }\n * ```\n *\n * @public\n *\n * @param builtInClasses - The component's built-in tailwind classes\n * @param customClasses - The custom tailwind classes to merge with the built-in ones\n * @returns The composed CSS classes\n */\nexport function useComposedCssClasses<\n ClassInterface extends Partial<Record<keyof ClassInterface, string | object>>\n>(\n builtInClasses: Readonly<ClassInterface>,\n customClasses?: Partial<ClassInterface>\n): ClassInterface {\n return useMemo(() => {\n const mergeCssClasses = (\n builtInClasses: Readonly<ClassInterface>,\n customClasses?: Partial<ClassInterface>\n ) => {\n const mergedCssClasses = { ...builtInClasses };\n if (!customClasses) {\n return mergedCssClasses;\n }\n Object.keys(customClasses).forEach((key) => {\n const builtIn = builtInClasses[key];\n const custom = customClasses[key];\n if (!builtIn || !custom) {\n mergedCssClasses[key] = custom || builtIn;\n } else if (typeof builtIn === \"object\" && typeof custom === \"object\") {\n mergedCssClasses[key] = mergeCssClasses(builtIn, custom);\n } else if (typeof builtIn === \"string\" && typeof custom === \"string\") {\n mergedCssClasses[key] = twMerge(builtIn, custom);\n }\n });\n return mergedCssClasses;\n };\n return mergeCssClasses(builtInClasses, customClasses);\n }, [builtInClasses, customClasses]);\n}\n"],"names":[],"mappings":";;;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACa,SAAA,qBAAqB,CAGnC,cAAwC,EACxC,aAAuC,EAAA;IAEvC,OAAO,OAAO,CAAC,MAAK;AAClB,QAAA,MAAM,eAAe,GAAG,CACtB,cAAwC,EACxC,aAAuC,KACrC;AACF,YAAA,MAAM,gBAAgB,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,EAAE;AAClB,gBAAA,OAAO,gBAAgB,CAAC;AACzB,aAAA;YACD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACzC,gBAAA,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AACpC,gBAAA,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AAClC,gBAAA,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE;AACvB,oBAAA,gBAAgB,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,OAAO,CAAC;AAC3C,iBAAA;qBAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;oBACpE,gBAAgB,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC1D,iBAAA;qBAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;oBACpE,gBAAgB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAClD,iBAAA;AACH,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,gBAAgB,CAAC;AAC1B,SAAC,CAAC;AACF,QAAA,OAAO,eAAe,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AACxD,KAAC,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;AACtC;;;;"}
@@ -1,12 +1,13 @@
1
- import { MessageSource, useChatActions } from "@yext/chat-headless-react";
2
- import { useCallback } from "react";
1
+ import { useChatActions, MessageSource } from '@yext/chat-headless-react';
2
+ import { useCallback } from 'react';
3
+
3
4
  /**
4
5
  * Returns a default handler function for API errors. It will log the error and
5
6
  * add a default error message to state.
6
7
  *
7
8
  * @internal
8
9
  */
9
- export function useDefaultHandleApiError() {
10
+ function useDefaultHandleApiError() {
10
11
  const chat = useChatActions();
11
12
  return useCallback((e) => {
12
13
  console.error(e);
@@ -17,4 +18,6 @@ export function useDefaultHandleApiError() {
17
18
  });
18
19
  }, [chat]);
19
20
  }
20
- //# sourceMappingURL=useDefaultHandleApiError.js.map
21
+
22
+ export { useDefaultHandleApiError };
23
+ //# sourceMappingURL=useDefaultHandleApiError.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDefaultHandleApiError.mjs","sources":["../../../../src/hooks/useDefaultHandleApiError.ts"],"sourcesContent":["import { MessageSource, useChatActions } from \"@yext/chat-headless-react\";\nimport { useCallback } from \"react\";\n\n/**\n * Returns a default handler function for API errors. It will log the error and\n * add a default error message to state.\n *\n * @internal\n */\nexport function useDefaultHandleApiError() {\n const chat = useChatActions();\n\n return useCallback(\n (e: unknown) => {\n console.error(e);\n chat.addMessage({\n text: \"Sorry, I'm unable to respond at the moment. Please try again later!\",\n source: MessageSource.BOT,\n timestamp: new Date().toISOString(),\n });\n },\n [chat]\n );\n}\n"],"names":[],"mappings":";;;AAGA;;;;;AAKG;SACa,wBAAwB,GAAA;AACtC,IAAA,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;AAE9B,IAAA,OAAO,WAAW,CAChB,CAAC,CAAU,KAAI;AACb,QAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,UAAU,CAAC;AACd,YAAA,IAAI,EAAE,qEAAqE;YAC3E,MAAM,EAAE,aAAa,CAAC,GAAG;AACzB,YAAA,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AACpC,SAAA,CAAC,CAAC;AACL,KAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;AACJ;;;;"}
@@ -1,6 +1,7 @@
1
- import { useChatActions } from "@yext/chat-headless-react";
2
- import packageJson from "../../package.json";
3
- import { useCallback } from "react";
1
+ import { useChatActions } from '@yext/chat-headless-react';
2
+ import packageJson from '../../package.json.mjs';
3
+ import { useCallback } from 'react';
4
+
4
5
  const { version } = packageJson;
5
6
  /**
6
7
  * Returns a function to send requests to Yext Analytics API.
@@ -9,11 +10,13 @@ const { version } = packageJson;
9
10
  *
10
11
  * @internal
11
12
  */
12
- export function useReportAnalyticsEvent() {
13
+ function useReportAnalyticsEvent() {
13
14
  const chat = useChatActions();
14
15
  chat.addClientSdk({
15
16
  CHAT_UI_REACT: version,
16
17
  });
17
18
  return useCallback((payload) => chat.report(payload), [chat]);
18
19
  }
19
- //# sourceMappingURL=useReportAnalyticsEvent.js.map
20
+
21
+ export { useReportAnalyticsEvent };
22
+ //# sourceMappingURL=useReportAnalyticsEvent.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReportAnalyticsEvent.mjs","sources":["../../../../src/hooks/useReportAnalyticsEvent.ts"],"sourcesContent":["import { ChatHeadless, useChatActions } from \"@yext/chat-headless-react\";\nimport packageJson from \"../../package.json\";\nimport { useCallback } from \"react\";\nconst { version } = packageJson;\n\n/**\n * Returns a function to send requests to Yext Analytics API.\n * The payload will automatically includes chat-ui-react's\n * package version for \"clientSdk\" field.\n *\n * @internal\n */\nexport function useReportAnalyticsEvent(): ChatHeadless[\"report\"] {\n const chat = useChatActions();\n chat.addClientSdk({\n CHAT_UI_REACT: version,\n });\n return useCallback((payload) => chat.report(payload), [chat]);\n}\n"],"names":[],"mappings":";;;;AAGA,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;AAEhC;;;;;;AAMG;SACa,uBAAuB,GAAA;AACrC,IAAA,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,IAAI,CAAC,YAAY,CAAC;AAChB,QAAA,aAAa,EAAE,OAAO;AACvB,KAAA,CAAC,CAAC;AACH,IAAA,OAAO,WAAW,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE;;;;"}
@@ -0,0 +1,8 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+
3
+ function ArrowIcon() {
4
+ 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" })] }));
5
+ }
6
+
7
+ export { ArrowIcon };
8
+ //# sourceMappingURL=Arrow.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Arrow.mjs","sources":["../../../../src/icons/Arrow.tsx"],"sourcesContent":["export function ArrowIcon(): JSX.Element {\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"square\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M10 5V15\" />\n <path d=\"M15 8.84615L10 4L5 8.84615\" />\n </svg>\n );\n}\n"],"names":["_jsxs","_jsx"],"mappings":";;SAAgB,SAAS,GAAA;AACvB,IAAA,QACEA,IACE,CAAA,KAAA,EAAA,EAAA,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,EAAA,QAAA,EAAA,CAElCC,cAAM,CAAC,EAAC,UAAU,EAAG,CAAA,EACrBA,cAAM,CAAC,EAAC,4BAA4B,EAAG,CAAA,CAAA,EAAA,CACnC,EACN;AACJ;;;;"}
@@ -0,0 +1,8 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+
3
+ function ChatIcon({ className }) {
4
+ return (jsxs("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", fill: "none", className: className, xmlns: "http://www.w3.org/2000/svg", children: [jsx("path", { d: "M15.3028 12.8082L15.1553 12.9342L15.1729 13.1273L15.3973 15.5959C15.3983 15.6063 15.3964 15.6126 15.3943 15.617C15.3918 15.6223 15.3873 15.6283 15.3805 15.6332C15.3737 15.6382 15.3667 15.6408 15.3608 15.6416C15.356 15.6422 15.3495 15.6422 15.3398 15.6381L12.3578 14.3956L12.245 14.3486L12.1261 14.3771C11.4553 14.5381 10.7412 14.625 10 14.625C5.9718 14.625 2.875 12.099 2.875 9.16667C2.875 6.23436 5.9718 3.70834 10 3.70834C14.0282 3.70834 17.125 6.23436 17.125 9.16667C17.125 10.5493 16.4496 11.8289 15.3028 12.8082Z", fill: "white", stroke: "white", strokeWidth: "0.75" }), jsx("path", { d: "M7 7.54584C7 7.38015 7.13431 7.24584 7.3 7.24584H8.725C8.89069 7.24584 9.025 7.38015 9.025 7.54584C9.025 7.71152 8.89069 7.84584 8.725 7.84584H7.3C7.13431 7.84584 7 7.71152 7 7.54584Z", fill: "currentColor" }), jsx("path", { d: "M9.625 7.54584C9.625 7.15233 9.944 6.83334 10.3375 6.83334H12.2875C12.681 6.83334 13 7.15233 13 7.54584C13 7.93934 12.681 8.25834 12.2875 8.25834H10.3375C9.944 8.25834 9.625 7.93934 9.625 7.54584Z", fill: "currentColor" }), jsx("path", { d: "M7 9.30834C7 9.14265 7.13431 9.00834 7.3 9.00834H12.7C12.8657 9.00834 13 9.14265 13 9.30834C13 9.47402 12.8657 9.60834 12.7 9.60834H7.3C7.13431 9.60834 7 9.47402 7 9.30834Z", fill: "currentColor" }), jsx("path", { d: "M7 11.0708C7 10.6773 7.319 10.3583 7.7125 10.3583H8.1625C8.556 10.3583 8.875 10.6773 8.875 11.0708C8.875 11.4643 8.556 11.7833 8.1625 11.7833H7.7125C7.319 11.7833 7 11.4643 7 11.0708Z", fill: "currentColor" }), jsx("path", { d: "M9.475 11.0708C9.475 10.9052 9.60931 10.7708 9.775 10.7708H12.7C12.8657 10.7708 13 10.9052 13 11.0708C13 11.2365 12.8657 11.3708 12.7 11.3708H9.775C9.60931 11.3708 9.475 11.2365 9.475 11.0708Z", fill: "currentColor" })] }));
5
+ }
6
+
7
+ export { ChatIcon };
8
+ //# sourceMappingURL=Chat.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chat.mjs","sources":["../../../../src/icons/Chat.tsx"],"sourcesContent":["export function ChatIcon({ className }: { className?: string }): JSX.Element {\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n className={className}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15.3028 12.8082L15.1553 12.9342L15.1729 13.1273L15.3973 15.5959C15.3983 15.6063 15.3964 15.6126 15.3943 15.617C15.3918 15.6223 15.3873 15.6283 15.3805 15.6332C15.3737 15.6382 15.3667 15.6408 15.3608 15.6416C15.356 15.6422 15.3495 15.6422 15.3398 15.6381L12.3578 14.3956L12.245 14.3486L12.1261 14.3771C11.4553 14.5381 10.7412 14.625 10 14.625C5.9718 14.625 2.875 12.099 2.875 9.16667C2.875 6.23436 5.9718 3.70834 10 3.70834C14.0282 3.70834 17.125 6.23436 17.125 9.16667C17.125 10.5493 16.4496 11.8289 15.3028 12.8082Z\"\n fill=\"white\"\n stroke=\"white\"\n strokeWidth=\"0.75\"\n />\n <path\n d=\"M7 7.54584C7 7.38015 7.13431 7.24584 7.3 7.24584H8.725C8.89069 7.24584 9.025 7.38015 9.025 7.54584C9.025 7.71152 8.89069 7.84584 8.725 7.84584H7.3C7.13431 7.84584 7 7.71152 7 7.54584Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M9.625 7.54584C9.625 7.15233 9.944 6.83334 10.3375 6.83334H12.2875C12.681 6.83334 13 7.15233 13 7.54584C13 7.93934 12.681 8.25834 12.2875 8.25834H10.3375C9.944 8.25834 9.625 7.93934 9.625 7.54584Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M7 9.30834C7 9.14265 7.13431 9.00834 7.3 9.00834H12.7C12.8657 9.00834 13 9.14265 13 9.30834C13 9.47402 12.8657 9.60834 12.7 9.60834H7.3C7.13431 9.60834 7 9.47402 7 9.30834Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M7 11.0708C7 10.6773 7.319 10.3583 7.7125 10.3583H8.1625C8.556 10.3583 8.875 10.6773 8.875 11.0708C8.875 11.4643 8.556 11.7833 8.1625 11.7833H7.7125C7.319 11.7833 7 11.4643 7 11.0708Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M9.475 11.0708C9.475 10.9052 9.60931 10.7708 9.775 10.7708H12.7C12.8657 10.7708 13 10.9052 13 11.0708C13 11.2365 12.8657 11.3708 12.7 11.3708H9.775C9.60931 11.3708 9.475 11.2365 9.475 11.0708Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n"],"names":["_jsxs","_jsx"],"mappings":";;AAAgB,SAAA,QAAQ,CAAC,EAAE,SAAS,EAA0B,EAAA;IAC5D,QACEA,cACE,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,4BAA4B,aAElCC,GACE,CAAA,MAAA,EAAA,EAAA,CAAC,EAAC,ugBAAugB,EACzgB,IAAI,EAAC,OAAO,EACZ,MAAM,EAAC,OAAO,EACd,WAAW,EAAC,MAAM,EAAA,CAClB,EACFA,GAAA,CAAA,MAAA,EAAA,EACE,CAAC,EAAC,yLAAyL,EAC3L,IAAI,EAAC,cAAc,EAAA,CACnB,EACFA,GACE,CAAA,MAAA,EAAA,EAAA,CAAC,EAAC,sMAAsM,EACxM,IAAI,EAAC,cAAc,GACnB,EACFA,GAAA,CAAA,MAAA,EAAA,EACE,CAAC,EAAC,8KAA8K,EAChL,IAAI,EAAC,cAAc,GACnB,EACFA,GAAA,CAAA,MAAA,EAAA,EACE,CAAC,EAAC,yLAAyL,EAC3L,IAAI,EAAC,cAAc,EACnB,CAAA,EACFA,cACE,CAAC,EAAC,kMAAkM,EACpM,IAAI,EAAC,cAAc,EAAA,CACnB,CACE,EAAA,CAAA,EACN;AACJ;;;;"}
@@ -0,0 +1,8 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+
3
+ function CrossIcon({ className }) {
4
+ return (jsxs("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", stroke: "currentColor", className: className, xmlns: "http://www.w3.org/2000/svg", children: [jsx("path", { d: "M14 14L6 6", strokeLinecap: "square", strokeLinejoin: "round" }), jsx("path", { d: "M14 6L6 14", strokeLinecap: "square", strokeLinejoin: "round" })] }));
5
+ }
6
+
7
+ export { CrossIcon };
8
+ //# sourceMappingURL=Cross.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cross.mjs","sources":["../../../../src/icons/Cross.tsx"],"sourcesContent":["export function CrossIcon({ className }: { className?: string }): JSX.Element {\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 20 20\"\n stroke=\"currentColor\"\n className={className}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M14 14L6 6\" strokeLinecap=\"square\" strokeLinejoin=\"round\" />\n <path d=\"M14 6L6 14\" strokeLinecap=\"square\" strokeLinejoin=\"round\" />\n </svg>\n );\n}\n"],"names":["_jsxs","_jsx"],"mappings":";;AAAgB,SAAA,SAAS,CAAC,EAAE,SAAS,EAA0B,EAAA;IAC7D,QACEA,IACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,MAAM,EAAC,cAAc,EACrB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,4BAA4B,EAElC,QAAA,EAAA,CAAAC,GAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,YAAY,EAAC,aAAa,EAAC,QAAQ,EAAC,cAAc,EAAC,OAAO,EAAG,CAAA,EACrEA,GAAM,CAAA,MAAA,EAAA,EAAA,CAAC,EAAC,YAAY,EAAC,aAAa,EAAC,QAAQ,EAAC,cAAc,EAAC,OAAO,EAAA,CAAG,CACjE,EAAA,CAAA,EACN;AACJ;;;;"}
@@ -0,0 +1,8 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+
3
+ function DualSyncIcon({ className, }) {
4
+ return (jsxs("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", fill: "currentColor", stroke: "currentColor", className: className, 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" })] }));
5
+ }
6
+
7
+ export { DualSyncIcon };
8
+ //# sourceMappingURL=DualSync.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DualSync.mjs","sources":["../../../../src/icons/DualSync.tsx"],"sourcesContent":["export function DualSyncIcon({\n className,\n}: {\n className?: string;\n}): JSX.Element {\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n className={className}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <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\" />\n <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\" />\n </svg>\n );\n}\n"],"names":["_jsxs","_jsx"],"mappings":";;AAAgB,SAAA,YAAY,CAAC,EAC3B,SAAS,GAGV,EAAA;AACC,IAAA,QACEA,IACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,EACnB,MAAM,EAAC,cAAc,EACrB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,4BAA4B,EAAA,QAAA,EAAA,CAElCC,cAAM,CAAC,EAAC,6XAA6X,EAAG,CAAA,EACxYA,cAAM,CAAC,EAAC,+XAA+X,EAAG,CAAA,CAAA,EAAA,CACtY,EACN;AACJ;;;;"}
@@ -0,0 +1,8 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+
3
+ function ThumbsDownIcon({ className, }) {
4
+ return (jsx("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", stroke: "currentColor", className: className, xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M5 6.09088C5.13887 5.73089 5.65964 5.14181 6.9789 4.48727C6.9789 4.48727 7.63854 4.12727 8.61063 4.02909C8.61063 4.02909 9.68687 3.96364 10.6242 4.02909C10.6242 4.02909 12.2907 3.96364 12.3601 5.69816C12.3601 5.69816 13.4711 6.25452 13.1934 7.49814C13.1934 7.49814 14.4779 8.15268 13.9919 9.49448C13.9919 9.49448 14.9639 9.85447 14.9987 10.9672C14.9987 10.9672 15.1028 12.2763 13.4711 12.5708H10.3465C10.3465 12.5708 10.8673 13.6835 10.8673 14.4035C10.8673 14.4035 10.8673 16.2362 8.68007 15.9744C8.68007 15.9744 7.84684 15.8762 7.49967 14.7308C7.49967 14.7308 7.01362 13.3563 6.45814 12.8326C6.45814 12.8326 5.69435 12.0472 5.20831 11.6545C5.20831 11.6545 4.82641 11.2945 5.17359 10.9672C5.17359 10.9672 5.48605 10.7381 5.76379 10.9672C6.11096 11.2945 7.11777 12.2108 7.11777 12.2108C7.11777 12.2108 7.81212 12.8981 8.02043 13.4872L8.40233 14.5017C8.40233 14.5017 8.50648 15.2871 9.3397 15.0908C9.3397 15.0908 10.0688 14.9926 9.96462 14.2071C9.96462 14.2071 9.72159 13.2581 9.54801 12.8981C9.54801 12.8981 9.37442 12.5708 9.30498 12.3744C9.30498 12.3744 9.13139 12.1781 9.23555 11.949C9.23555 11.949 9.27026 11.6217 9.79103 11.6872H13.2975C13.2975 11.6872 14.339 11.5563 14.0266 10.6399C14.0266 10.6399 13.8877 10.2799 13.4364 10.149C13.4364 10.149 12.985 10.1163 12.9156 9.85448C12.9156 9.85448 12.7767 9.62539 13.0545 9.36357C13.0545 9.36357 13.4364 9.00358 13.1239 8.44722C13.1239 8.44722 12.985 8.15268 12.5337 8.08722C12.5337 8.08722 11.9782 7.92359 12.2907 7.43269C12.2907 7.43269 12.6032 6.97451 12.1865 6.54906C12.1865 6.54906 11.7699 6.28725 11.6658 6.25452C11.6658 6.25452 11.388 6.05816 11.5269 5.79634C11.5269 5.79634 11.6658 5.37089 11.2839 5.07635C11.2839 5.07635 11.0756 4.87999 10.7284 4.84726C10.7284 4.84726 8.78422 4.84726 8.40233 4.91272C8.40233 4.91272 7.49967 4.91272 6.28455 6.02543C6.28455 6.02543 5.69435 6.7127 5.3819 6.54906C5.3819 6.54906 5 6.41815 5.06944 6.05816L5 6.09088Z", fill: "currentColor" }) }));
5
+ }
6
+
7
+ export { ThumbsDownIcon };
8
+ //# sourceMappingURL=ThumbsDown.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThumbsDown.mjs","sources":["../../../../src/icons/ThumbsDown.tsx"],"sourcesContent":["export function ThumbsDownIcon({\n className,\n}: {\n className?: string;\n}): JSX.Element {\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 20 20\"\n stroke=\"currentColor\"\n className={className}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M5 6.09088C5.13887 5.73089 5.65964 5.14181 6.9789 4.48727C6.9789 4.48727 7.63854 4.12727 8.61063 4.02909C8.61063 4.02909 9.68687 3.96364 10.6242 4.02909C10.6242 4.02909 12.2907 3.96364 12.3601 5.69816C12.3601 5.69816 13.4711 6.25452 13.1934 7.49814C13.1934 7.49814 14.4779 8.15268 13.9919 9.49448C13.9919 9.49448 14.9639 9.85447 14.9987 10.9672C14.9987 10.9672 15.1028 12.2763 13.4711 12.5708H10.3465C10.3465 12.5708 10.8673 13.6835 10.8673 14.4035C10.8673 14.4035 10.8673 16.2362 8.68007 15.9744C8.68007 15.9744 7.84684 15.8762 7.49967 14.7308C7.49967 14.7308 7.01362 13.3563 6.45814 12.8326C6.45814 12.8326 5.69435 12.0472 5.20831 11.6545C5.20831 11.6545 4.82641 11.2945 5.17359 10.9672C5.17359 10.9672 5.48605 10.7381 5.76379 10.9672C6.11096 11.2945 7.11777 12.2108 7.11777 12.2108C7.11777 12.2108 7.81212 12.8981 8.02043 13.4872L8.40233 14.5017C8.40233 14.5017 8.50648 15.2871 9.3397 15.0908C9.3397 15.0908 10.0688 14.9926 9.96462 14.2071C9.96462 14.2071 9.72159 13.2581 9.54801 12.8981C9.54801 12.8981 9.37442 12.5708 9.30498 12.3744C9.30498 12.3744 9.13139 12.1781 9.23555 11.949C9.23555 11.949 9.27026 11.6217 9.79103 11.6872H13.2975C13.2975 11.6872 14.339 11.5563 14.0266 10.6399C14.0266 10.6399 13.8877 10.2799 13.4364 10.149C13.4364 10.149 12.985 10.1163 12.9156 9.85448C12.9156 9.85448 12.7767 9.62539 13.0545 9.36357C13.0545 9.36357 13.4364 9.00358 13.1239 8.44722C13.1239 8.44722 12.985 8.15268 12.5337 8.08722C12.5337 8.08722 11.9782 7.92359 12.2907 7.43269C12.2907 7.43269 12.6032 6.97451 12.1865 6.54906C12.1865 6.54906 11.7699 6.28725 11.6658 6.25452C11.6658 6.25452 11.388 6.05816 11.5269 5.79634C11.5269 5.79634 11.6658 5.37089 11.2839 5.07635C11.2839 5.07635 11.0756 4.87999 10.7284 4.84726C10.7284 4.84726 8.78422 4.84726 8.40233 4.91272C8.40233 4.91272 7.49967 4.91272 6.28455 6.02543C6.28455 6.02543 5.69435 6.7127 5.3819 6.54906C5.3819 6.54906 5 6.41815 5.06944 6.05816L5 6.09088Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n"],"names":["_jsx"],"mappings":";;AAAgB,SAAA,cAAc,CAAC,EAC7B,SAAS,GAGV,EAAA;AACC,IAAA,QACEA,GACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,MAAM,EAAC,cAAc,EACrB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,4BAA4B,YAElCA,GACE,CAAA,MAAA,EAAA,EAAA,CAAC,EAAC,k3DAAk3D,EACp3D,IAAI,EAAC,cAAc,EACnB,CAAA,EAAA,CACE,EACN;AACJ;;;;"}
@@ -0,0 +1,8 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+
3
+ function ThumbsDownFillIcon({ className, }) {
4
+ return (jsx("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", fill: "none", className: className, xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M14.059 9.49387C14.5293 8.11226 13.2864 7.48724 13.2864 7.48724C13.5887 6.27011 12.4802 5.67799 12.4802 5.67799C12.413 3.93453 10.8006 4.00032 10.8006 4.00032C9.89359 4.00032 8.85223 4.00032 8.85223 4.00032C7.91166 4.09901 7.27341 4.46086 7.27341 4.46086C6.29924 4.95429 5.79536 5.41483 5.52663 5.77668C5.52663 5.77668 4.51887 8.30963 5.29148 11.1057C5.33673 11.2695 5.35867 11.3031 5.39226 11.3689C5.45944 11.5663 5.52663 11.6321 5.52663 11.6321C6.0641 11.9939 6.73594 12.8163 6.73594 12.8163C7.27341 13.3097 7.7437 14.7242 7.7437 14.7242C8.07962 15.8756 8.88583 15.9743 8.88583 15.9743C11.0357 16.2374 11.0021 14.3953 11.0021 14.3953C11.0021 13.6716 10.4982 12.586 10.4982 12.586H13.5215C15.0668 12.29 14.9996 10.9413 14.9996 10.9413C14.9996 9.82282 14.0254 9.46097 14.0254 9.46097L14.059 9.49387Z", fill: "currentColor" }) }));
5
+ }
6
+
7
+ export { ThumbsDownFillIcon };
8
+ //# sourceMappingURL=ThumbsDownFill.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThumbsDownFill.mjs","sources":["../../../../src/icons/ThumbsDownFill.tsx"],"sourcesContent":["export function ThumbsDownFillIcon({\n className,\n}: {\n className?: string;\n}): JSX.Element {\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n className={className}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.059 9.49387C14.5293 8.11226 13.2864 7.48724 13.2864 7.48724C13.5887 6.27011 12.4802 5.67799 12.4802 5.67799C12.413 3.93453 10.8006 4.00032 10.8006 4.00032C9.89359 4.00032 8.85223 4.00032 8.85223 4.00032C7.91166 4.09901 7.27341 4.46086 7.27341 4.46086C6.29924 4.95429 5.79536 5.41483 5.52663 5.77668C5.52663 5.77668 4.51887 8.30963 5.29148 11.1057C5.33673 11.2695 5.35867 11.3031 5.39226 11.3689C5.45944 11.5663 5.52663 11.6321 5.52663 11.6321C6.0641 11.9939 6.73594 12.8163 6.73594 12.8163C7.27341 13.3097 7.7437 14.7242 7.7437 14.7242C8.07962 15.8756 8.88583 15.9743 8.88583 15.9743C11.0357 16.2374 11.0021 14.3953 11.0021 14.3953C11.0021 13.6716 10.4982 12.586 10.4982 12.586H13.5215C15.0668 12.29 14.9996 10.9413 14.9996 10.9413C14.9996 9.82282 14.0254 9.46097 14.0254 9.46097L14.059 9.49387Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n"],"names":["_jsx"],"mappings":";;AAAgB,SAAA,kBAAkB,CAAC,EACjC,SAAS,GAGV,EAAA;AACC,IAAA,QACEA,GACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,4BAA4B,YAElCA,GACE,CAAA,MAAA,EAAA,EAAA,CAAC,EAAC,iyBAAiyB,EACnyB,IAAI,EAAC,cAAc,EACnB,CAAA,EAAA,CACE,EACN;AACJ;;;;"}
@@ -0,0 +1,8 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+
3
+ function ThumbsUpIcon({ className, }) {
4
+ return (jsx("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", stroke: "currentColor", className: className, xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M5 13.9091C5.13887 14.2691 5.65964 14.8582 6.9789 15.5127C6.9789 15.5127 7.63854 15.8727 8.61063 15.9709C8.61063 15.9709 9.68687 16.0364 10.6242 15.9709C10.6242 15.9709 12.2907 16.0364 12.3601 14.3018C12.3601 14.3018 13.4711 13.7455 13.1934 12.5019C13.1934 12.5019 14.4779 11.8473 13.9919 10.5055C13.9919 10.5055 14.9639 10.1455 14.9987 9.03281C14.9987 9.03281 15.1028 7.72374 13.4711 7.42919H10.3465C10.3465 7.42919 10.8673 6.31648 10.8673 5.59649C10.8673 5.59649 10.8673 3.76378 8.68007 4.0256C8.68007 4.0256 7.84684 4.12378 7.49967 5.26922C7.49967 5.26922 7.01362 6.64375 6.45814 7.16738C6.45814 7.16738 5.69435 7.95283 5.20831 8.34555C5.20831 8.34555 4.82641 8.70554 5.17359 9.03281C5.17359 9.03281 5.48605 9.2619 5.76379 9.03281C6.11096 8.70554 7.11777 7.78919 7.11777 7.78919C7.11777 7.78919 7.81212 7.10193 8.02043 6.51284L8.40233 5.49831C8.40233 5.49831 8.50648 4.71286 9.3397 4.90923C9.3397 4.90923 10.0688 5.00741 9.96462 5.79285C9.96462 5.79285 9.72159 6.74193 9.54801 7.10193C9.54801 7.10193 9.37442 7.4292 9.30498 7.62556C9.30498 7.62556 9.13139 7.82192 9.23555 8.05101C9.23555 8.05101 9.27026 8.37827 9.79103 8.31282H13.2975C13.2975 8.31282 14.339 8.44373 14.0266 9.36008C14.0266 9.36008 13.8877 9.72008 13.4364 9.85098C13.4364 9.85098 12.985 9.88371 12.9156 10.1455C12.9156 10.1455 12.7767 10.3746 13.0545 10.6364C13.0545 10.6364 13.4364 10.9964 13.1239 11.5528C13.1239 11.5528 12.985 11.8473 12.5337 11.9128C12.5337 11.9128 11.9782 12.0764 12.2907 12.5673C12.2907 12.5673 12.6032 13.0255 12.1865 13.4509C12.1865 13.4509 11.7699 13.7128 11.6658 13.7455C11.6658 13.7455 11.388 13.9418 11.5269 14.2037C11.5269 14.2037 11.6658 14.6291 11.2839 14.9236C11.2839 14.9236 11.0756 15.12 10.7284 15.1527C10.7284 15.1527 8.78422 15.1527 8.40233 15.0873C8.40233 15.0873 7.49967 15.0873 6.28455 13.9746C6.28455 13.9746 5.69435 13.2873 5.3819 13.4509C5.3819 13.4509 5 13.5818 5.06944 13.9418L5 13.9091Z", fill: "currentColor" }) }));
5
+ }
6
+
7
+ export { ThumbsUpIcon };
8
+ //# sourceMappingURL=ThumbsUp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThumbsUp.mjs","sources":["../../../../src/icons/ThumbsUp.tsx"],"sourcesContent":["export function ThumbsUpIcon({\n className,\n}: {\n className?: string;\n}): JSX.Element {\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 20 20\"\n stroke=\"currentColor\"\n className={className}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M5 13.9091C5.13887 14.2691 5.65964 14.8582 6.9789 15.5127C6.9789 15.5127 7.63854 15.8727 8.61063 15.9709C8.61063 15.9709 9.68687 16.0364 10.6242 15.9709C10.6242 15.9709 12.2907 16.0364 12.3601 14.3018C12.3601 14.3018 13.4711 13.7455 13.1934 12.5019C13.1934 12.5019 14.4779 11.8473 13.9919 10.5055C13.9919 10.5055 14.9639 10.1455 14.9987 9.03281C14.9987 9.03281 15.1028 7.72374 13.4711 7.42919H10.3465C10.3465 7.42919 10.8673 6.31648 10.8673 5.59649C10.8673 5.59649 10.8673 3.76378 8.68007 4.0256C8.68007 4.0256 7.84684 4.12378 7.49967 5.26922C7.49967 5.26922 7.01362 6.64375 6.45814 7.16738C6.45814 7.16738 5.69435 7.95283 5.20831 8.34555C5.20831 8.34555 4.82641 8.70554 5.17359 9.03281C5.17359 9.03281 5.48605 9.2619 5.76379 9.03281C6.11096 8.70554 7.11777 7.78919 7.11777 7.78919C7.11777 7.78919 7.81212 7.10193 8.02043 6.51284L8.40233 5.49831C8.40233 5.49831 8.50648 4.71286 9.3397 4.90923C9.3397 4.90923 10.0688 5.00741 9.96462 5.79285C9.96462 5.79285 9.72159 6.74193 9.54801 7.10193C9.54801 7.10193 9.37442 7.4292 9.30498 7.62556C9.30498 7.62556 9.13139 7.82192 9.23555 8.05101C9.23555 8.05101 9.27026 8.37827 9.79103 8.31282H13.2975C13.2975 8.31282 14.339 8.44373 14.0266 9.36008C14.0266 9.36008 13.8877 9.72008 13.4364 9.85098C13.4364 9.85098 12.985 9.88371 12.9156 10.1455C12.9156 10.1455 12.7767 10.3746 13.0545 10.6364C13.0545 10.6364 13.4364 10.9964 13.1239 11.5528C13.1239 11.5528 12.985 11.8473 12.5337 11.9128C12.5337 11.9128 11.9782 12.0764 12.2907 12.5673C12.2907 12.5673 12.6032 13.0255 12.1865 13.4509C12.1865 13.4509 11.7699 13.7128 11.6658 13.7455C11.6658 13.7455 11.388 13.9418 11.5269 14.2037C11.5269 14.2037 11.6658 14.6291 11.2839 14.9236C11.2839 14.9236 11.0756 15.12 10.7284 15.1527C10.7284 15.1527 8.78422 15.1527 8.40233 15.0873C8.40233 15.0873 7.49967 15.0873 6.28455 13.9746C6.28455 13.9746 5.69435 13.2873 5.3819 13.4509C5.3819 13.4509 5 13.5818 5.06944 13.9418L5 13.9091Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n"],"names":["_jsx"],"mappings":";;AAAgB,SAAA,YAAY,CAAC,EAC3B,SAAS,GAGV,EAAA;AACC,IAAA,QACEA,GACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,MAAM,EAAC,cAAc,EACrB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,4BAA4B,YAElCA,GACE,CAAA,MAAA,EAAA,EAAA,CAAC,EAAC,i3DAAi3D,EACn3D,IAAI,EAAC,cAAc,EACnB,CAAA,EAAA,CACE,EACN;AACJ;;;;"}
@@ -0,0 +1,8 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+
3
+ function ThumbsUpFillIcon({ className, }) {
4
+ return (jsx("svg", { width: "100%", height: "100%", viewBox: "0 0 20 20", fill: "none", className: className, xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M14.059 10.5061C14.5293 11.8877 13.2864 12.5128 13.2864 12.5128C13.5887 13.7299 12.4802 14.322 12.4802 14.322C12.413 16.0655 10.8006 15.9997 10.8006 15.9997C9.89359 15.9997 8.85223 15.9997 8.85223 15.9997C7.91166 15.901 7.27341 15.5391 7.27341 15.5391C6.29924 15.0457 5.79536 14.5852 5.52663 14.2233C5.52663 14.2233 4.51887 11.6904 5.29148 8.89426C5.33673 8.73052 5.35867 8.69688 5.39226 8.63109C5.45944 8.43372 5.52663 8.36793 5.52663 8.36793C6.0641 8.00608 6.73594 7.18369 6.73594 7.18369C7.27341 6.69026 7.7437 5.27576 7.7437 5.27576C8.07962 4.12442 8.88583 4.02573 8.88583 4.02573C11.0357 3.76257 11.0021 5.60471 11.0021 5.60471C11.0021 6.32841 10.4982 7.41396 10.4982 7.41396H13.5215C15.0668 7.71002 14.9996 9.05873 14.9996 9.05873C14.9996 10.1772 14.0254 10.539 14.0254 10.539L14.059 10.5061Z", fill: "currentColor" }) }));
5
+ }
6
+
7
+ export { ThumbsUpFillIcon };
8
+ //# sourceMappingURL=ThumbsUpFill.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThumbsUpFill.mjs","sources":["../../../../src/icons/ThumbsUpFill.tsx"],"sourcesContent":["export function ThumbsUpFillIcon({\n className,\n}: {\n className?: string;\n}): JSX.Element {\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n className={className}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.059 10.5061C14.5293 11.8877 13.2864 12.5128 13.2864 12.5128C13.5887 13.7299 12.4802 14.322 12.4802 14.322C12.413 16.0655 10.8006 15.9997 10.8006 15.9997C9.89359 15.9997 8.85223 15.9997 8.85223 15.9997C7.91166 15.901 7.27341 15.5391 7.27341 15.5391C6.29924 15.0457 5.79536 14.5852 5.52663 14.2233C5.52663 14.2233 4.51887 11.6904 5.29148 8.89426C5.33673 8.73052 5.35867 8.69688 5.39226 8.63109C5.45944 8.43372 5.52663 8.36793 5.52663 8.36793C6.0641 8.00608 6.73594 7.18369 6.73594 7.18369C7.27341 6.69026 7.7437 5.27576 7.7437 5.27576C8.07962 4.12442 8.88583 4.02573 8.88583 4.02573C11.0357 3.76257 11.0021 5.60471 11.0021 5.60471C11.0021 6.32841 10.4982 7.41396 10.4982 7.41396H13.5215C15.0668 7.71002 14.9996 9.05873 14.9996 9.05873C14.9996 10.1772 14.0254 10.539 14.0254 10.539L14.059 10.5061Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n"],"names":["_jsx"],"mappings":";;AAAgB,SAAA,gBAAgB,CAAC,EAC/B,SAAS,GAGV,EAAA;AACC,IAAA,QACEA,GACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,4BAA4B,YAElCA,GACE,CAAA,MAAA,EAAA,EAAA,CAAC,EAAC,gyBAAgyB,EAClyB,IAAI,EAAC,cAAc,EACnB,CAAA,EAAA,CACE,EACN;AACJ;;;;"}
@@ -0,0 +1,7 @@
1
+ export { ChatInput } from './components/ChatInput.mjs';
2
+ export { ChatHeader } from './components/ChatHeader.mjs';
3
+ export { MessageBubble } from './components/MessageBubble.mjs';
4
+ export { ChatPanel } from './components/ChatPanel.mjs';
5
+ export { ChatPopUp } from './components/ChatPopUp.mjs';
6
+ export { useComposedCssClasses } from './hooks/useComposedCssClasses.mjs';
7
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * @returns builtInClasses with styleless css classnames
15
15
  */
16
- export function withStylelessCssClasses(componentName, builtInClasses) {
16
+ function withStylelessCssClasses(componentName, builtInClasses) {
17
17
  const formatString = (str) => str.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);
18
18
  const classes = { ...builtInClasses };
19
19
  Object.keys(builtInClasses).forEach((key) => {
@@ -23,4 +23,6 @@ export function withStylelessCssClasses(componentName, builtInClasses) {
23
23
  });
24
24
  return classes;
25
25
  }
26
- //# sourceMappingURL=withStylelessCssClasses.js.map
26
+
27
+ export { withStylelessCssClasses };
28
+ //# sourceMappingURL=withStylelessCssClasses.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withStylelessCssClasses.mjs","sources":["../../../../src/utils/withStylelessCssClasses.ts"],"sourcesContent":["/**\n * Append styleless css classnames that user can target to add custom styling to components.\n * The classes follows a format of \"yext-chat-component-name__css-interface-field-name\".\n *\n * @example\n * the styleless css class name for {@link MessageBubble}'s \"message__bot\" field defined\n * in its {@link MessageBubbleCssClasses} interface is \"yext-chat-message-bubble__message__bot\"\n *\n * @internal\n *\n * @param componentName - the component name\n * @param builtInClasses - built in css classnames of the component\n *\n * @returns builtInClasses with styleless css classnames\n */\nexport function withStylelessCssClasses<\n ClassInterface extends Partial<Record<keyof ClassInterface, string | object>>\n>(\n componentName: string,\n builtInClasses: Readonly<Required<ClassInterface>>\n): ClassInterface {\n const formatString = (str: string) =>\n str.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\n const classes = { ...builtInClasses };\n Object.keys(builtInClasses).forEach((key) => {\n if (typeof classes[key] === \"string\") {\n classes[key] = `${classes[key]} yext-chat${formatString(\n componentName\n )}__${formatString(key)}`;\n }\n });\n return classes;\n}\n"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;AAcG;AACa,SAAA,uBAAuB,CAGrC,aAAqB,EACrB,cAAkD,EAAA;IAElD,MAAM,YAAY,GAAG,CAAC,GAAW,KAC/B,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAK,CAAA,CAAA,EAAI,KAAK,CAAC,WAAW,EAAE,CAAE,CAAA,CAAC,CAAC;AAC9D,IAAA,MAAM,OAAO,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;IACtC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AAC1C,QAAA,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;YACpC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA,UAAA,EAAa,YAAY,CACrD,aAAa,CACd,CAAK,EAAA,EAAA,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;AAC3B,SAAA;AACH,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,OAAO,CAAC;AACjB;;;;"}