@yext/chat-ui-react 0.12.0 → 0.12.2

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 (217) hide show
  1. package/THIRD-PARTY-NOTICES +39 -10
  2. package/package.json +16 -5
  3. package/lib/bundle.css +0 -1
  4. package/lib/commonjs/package.json.js +0 -6
  5. package/lib/commonjs/package.json.js.map +0 -1
  6. package/lib/commonjs/src/components/ChatHeader.d.ts +0 -53
  7. package/lib/commonjs/src/components/ChatHeader.d.ts.map +0 -1
  8. package/lib/commonjs/src/components/ChatHeader.js +0 -52
  9. package/lib/commonjs/src/components/ChatHeader.js.map +0 -1
  10. package/lib/commonjs/src/components/ChatInput.d.ts +0 -60
  11. package/lib/commonjs/src/components/ChatInput.d.ts.map +0 -1
  12. package/lib/commonjs/src/components/ChatInput.js +0 -76
  13. package/lib/commonjs/src/components/ChatInput.js.map +0 -1
  14. package/lib/commonjs/src/components/ChatPanel.d.ts +0 -74
  15. package/lib/commonjs/src/components/ChatPanel.d.ts.map +0 -1
  16. package/lib/commonjs/src/components/ChatPanel.js +0 -178
  17. package/lib/commonjs/src/components/ChatPanel.js.map +0 -1
  18. package/lib/commonjs/src/components/ChatPopUp.d.ts +0 -76
  19. package/lib/commonjs/src/components/ChatPopUp.d.ts.map +0 -1
  20. package/lib/commonjs/src/components/ChatPopUp.js +0 -160
  21. package/lib/commonjs/src/components/ChatPopUp.js.map +0 -1
  22. package/lib/commonjs/src/components/FeedbackButtons.d.ts +0 -35
  23. package/lib/commonjs/src/components/FeedbackButtons.d.ts.map +0 -1
  24. package/lib/commonjs/src/components/FeedbackButtons.js +0 -59
  25. package/lib/commonjs/src/components/FeedbackButtons.js.map +0 -1
  26. package/lib/commonjs/src/components/InitialMessagePopUp.d.ts +0 -33
  27. package/lib/commonjs/src/components/InitialMessagePopUp.d.ts.map +0 -1
  28. package/lib/commonjs/src/components/InitialMessagePopUp.js +0 -44
  29. package/lib/commonjs/src/components/InitialMessagePopUp.js.map +0 -1
  30. package/lib/commonjs/src/components/LoadingDots.d.ts +0 -10
  31. package/lib/commonjs/src/components/LoadingDots.d.ts.map +0 -1
  32. package/lib/commonjs/src/components/LoadingDots.js +0 -23
  33. package/lib/commonjs/src/components/LoadingDots.js.map +0 -1
  34. package/lib/commonjs/src/components/Markdown.d.ts +0 -39
  35. package/lib/commonjs/src/components/Markdown.d.ts.map +0 -1
  36. package/lib/commonjs/src/components/Markdown.js +0 -72
  37. package/lib/commonjs/src/components/Markdown.js.map +0 -1
  38. package/lib/commonjs/src/components/MessageBubble.d.ts +0 -64
  39. package/lib/commonjs/src/components/MessageBubble.d.ts.map +0 -1
  40. package/lib/commonjs/src/components/MessageBubble.js +0 -77
  41. package/lib/commonjs/src/components/MessageBubble.js.map +0 -1
  42. package/lib/commonjs/src/components/MessageSuggestions.d.ts +0 -37
  43. package/lib/commonjs/src/components/MessageSuggestions.d.ts.map +0 -1
  44. package/lib/commonjs/src/components/MessageSuggestions.js +0 -55
  45. package/lib/commonjs/src/components/MessageSuggestions.js.map +0 -1
  46. package/lib/commonjs/src/components/index.d.ts +0 -14
  47. package/lib/commonjs/src/components/index.d.ts.map +0 -1
  48. package/lib/commonjs/src/hooks/index.d.ts +0 -3
  49. package/lib/commonjs/src/hooks/index.d.ts.map +0 -1
  50. package/lib/commonjs/src/hooks/useComposedCssClasses.d.ts +0 -30
  51. package/lib/commonjs/src/hooks/useComposedCssClasses.d.ts.map +0 -1
  52. package/lib/commonjs/src/hooks/useComposedCssClasses.js +0 -61
  53. package/lib/commonjs/src/hooks/useComposedCssClasses.js.map +0 -1
  54. package/lib/commonjs/src/hooks/useDefaultHandleApiError.d.ts +0 -8
  55. package/lib/commonjs/src/hooks/useDefaultHandleApiError.d.ts.map +0 -1
  56. package/lib/commonjs/src/hooks/useDefaultHandleApiError.js +0 -25
  57. package/lib/commonjs/src/hooks/useDefaultHandleApiError.js.map +0 -1
  58. package/lib/commonjs/src/hooks/useFetchInitialMessage.d.ts +0 -13
  59. package/lib/commonjs/src/hooks/useFetchInitialMessage.d.ts.map +0 -1
  60. package/lib/commonjs/src/hooks/useFetchInitialMessage.js +0 -41
  61. package/lib/commonjs/src/hooks/useFetchInitialMessage.js.map +0 -1
  62. package/lib/commonjs/src/hooks/useReportAnalyticsEvent.d.ts +0 -8
  63. package/lib/commonjs/src/hooks/useReportAnalyticsEvent.d.ts.map +0 -1
  64. package/lib/commonjs/src/hooks/useReportAnalyticsEvent.js +0 -21
  65. package/lib/commonjs/src/hooks/useReportAnalyticsEvent.js.map +0 -1
  66. package/lib/commonjs/src/hooks/useSendMessageWithRetries.d.ts +0 -17
  67. package/lib/commonjs/src/hooks/useSendMessageWithRetries.d.ts.map +0 -1
  68. package/lib/commonjs/src/hooks/useSendMessageWithRetries.js +0 -54
  69. package/lib/commonjs/src/hooks/useSendMessageWithRetries.js.map +0 -1
  70. package/lib/commonjs/src/icons/Arrow.d.ts +0 -3
  71. package/lib/commonjs/src/icons/Arrow.d.ts.map +0 -1
  72. package/lib/commonjs/src/icons/Arrow.js +0 -16
  73. package/lib/commonjs/src/icons/Arrow.js.map +0 -1
  74. package/lib/commonjs/src/icons/Chat.d.ts +0 -5
  75. package/lib/commonjs/src/icons/Chat.d.ts.map +0 -1
  76. package/lib/commonjs/src/icons/Chat.js +0 -20
  77. package/lib/commonjs/src/icons/Chat.js.map +0 -1
  78. package/lib/commonjs/src/icons/Cross.d.ts +0 -5
  79. package/lib/commonjs/src/icons/Cross.d.ts.map +0 -1
  80. package/lib/commonjs/src/icons/Cross.js +0 -16
  81. package/lib/commonjs/src/icons/Cross.js.map +0 -1
  82. package/lib/commonjs/src/icons/DualSync.d.ts +0 -5
  83. package/lib/commonjs/src/icons/DualSync.d.ts.map +0 -1
  84. package/lib/commonjs/src/icons/DualSync.js +0 -16
  85. package/lib/commonjs/src/icons/DualSync.js.map +0 -1
  86. package/lib/commonjs/src/icons/ThumbsDown.d.ts +0 -5
  87. package/lib/commonjs/src/icons/ThumbsDown.d.ts.map +0 -1
  88. package/lib/commonjs/src/icons/ThumbsDown.js +0 -15
  89. package/lib/commonjs/src/icons/ThumbsDown.js.map +0 -1
  90. package/lib/commonjs/src/icons/ThumbsDownFill.d.ts +0 -5
  91. package/lib/commonjs/src/icons/ThumbsDownFill.d.ts.map +0 -1
  92. package/lib/commonjs/src/icons/ThumbsDownFill.js +0 -15
  93. package/lib/commonjs/src/icons/ThumbsDownFill.js.map +0 -1
  94. package/lib/commonjs/src/icons/ThumbsUp.d.ts +0 -5
  95. package/lib/commonjs/src/icons/ThumbsUp.d.ts.map +0 -1
  96. package/lib/commonjs/src/icons/ThumbsUp.js +0 -15
  97. package/lib/commonjs/src/icons/ThumbsUp.js.map +0 -1
  98. package/lib/commonjs/src/icons/ThumbsUpFill.d.ts +0 -5
  99. package/lib/commonjs/src/icons/ThumbsUpFill.d.ts.map +0 -1
  100. package/lib/commonjs/src/icons/ThumbsUpFill.js +0 -15
  101. package/lib/commonjs/src/icons/ThumbsUpFill.js.map +0 -1
  102. package/lib/commonjs/src/index.d.ts +0 -3
  103. package/lib/commonjs/src/index.d.ts.map +0 -1
  104. package/lib/commonjs/src/index.js +0 -20
  105. package/lib/commonjs/src/index.js.map +0 -1
  106. package/lib/commonjs/src/tsdoc-metadata.json +0 -11
  107. package/lib/commonjs/src/utils/withStylelessCssClasses.d.ts +0 -17
  108. package/lib/commonjs/src/utils/withStylelessCssClasses.d.ts.map +0 -1
  109. package/lib/commonjs/src/utils/withStylelessCssClasses.js +0 -30
  110. package/lib/commonjs/src/utils/withStylelessCssClasses.js.map +0 -1
  111. package/lib/esm/index.d.ts +0 -411
  112. package/lib/esm/package.json.mjs +0 -4
  113. package/lib/esm/package.json.mjs.map +0 -1
  114. package/lib/esm/src/components/ChatHeader.d.ts +0 -53
  115. package/lib/esm/src/components/ChatHeader.d.ts.map +0 -1
  116. package/lib/esm/src/components/ChatHeader.mjs +0 -46
  117. package/lib/esm/src/components/ChatHeader.mjs.map +0 -1
  118. package/lib/esm/src/components/ChatInput.d.ts +0 -60
  119. package/lib/esm/src/components/ChatInput.d.ts.map +0 -1
  120. package/lib/esm/src/components/ChatInput.mjs +0 -69
  121. package/lib/esm/src/components/ChatInput.mjs.map +0 -1
  122. package/lib/esm/src/components/ChatPanel.d.ts +0 -74
  123. package/lib/esm/src/components/ChatPanel.d.ts.map +0 -1
  124. package/lib/esm/src/components/ChatPanel.mjs +0 -169
  125. package/lib/esm/src/components/ChatPanel.mjs.map +0 -1
  126. package/lib/esm/src/components/ChatPopUp.d.ts +0 -76
  127. package/lib/esm/src/components/ChatPopUp.d.ts.map +0 -1
  128. package/lib/esm/src/components/ChatPopUp.mjs +0 -154
  129. package/lib/esm/src/components/ChatPopUp.mjs.map +0 -1
  130. package/lib/esm/src/components/FeedbackButtons.d.ts +0 -35
  131. package/lib/esm/src/components/FeedbackButtons.d.ts.map +0 -1
  132. package/lib/esm/src/components/FeedbackButtons.mjs +0 -53
  133. package/lib/esm/src/components/FeedbackButtons.mjs.map +0 -1
  134. package/lib/esm/src/components/InitialMessagePopUp.d.ts +0 -33
  135. package/lib/esm/src/components/InitialMessagePopUp.d.ts.map +0 -1
  136. package/lib/esm/src/components/InitialMessagePopUp.mjs +0 -38
  137. package/lib/esm/src/components/InitialMessagePopUp.mjs.map +0 -1
  138. package/lib/esm/src/components/LoadingDots.d.ts +0 -10
  139. package/lib/esm/src/components/LoadingDots.d.ts.map +0 -1
  140. package/lib/esm/src/components/LoadingDots.mjs +0 -17
  141. package/lib/esm/src/components/LoadingDots.mjs.map +0 -1
  142. package/lib/esm/src/components/Markdown.d.ts +0 -39
  143. package/lib/esm/src/components/Markdown.d.ts.map +0 -1
  144. package/lib/esm/src/components/Markdown.mjs +0 -62
  145. package/lib/esm/src/components/Markdown.mjs.map +0 -1
  146. package/lib/esm/src/components/MessageBubble.d.ts +0 -64
  147. package/lib/esm/src/components/MessageBubble.d.ts.map +0 -1
  148. package/lib/esm/src/components/MessageBubble.mjs +0 -71
  149. package/lib/esm/src/components/MessageBubble.mjs.map +0 -1
  150. package/lib/esm/src/components/MessageSuggestions.d.ts +0 -37
  151. package/lib/esm/src/components/MessageSuggestions.d.ts.map +0 -1
  152. package/lib/esm/src/components/MessageSuggestions.mjs +0 -49
  153. package/lib/esm/src/components/MessageSuggestions.mjs.map +0 -1
  154. package/lib/esm/src/components/index.d.ts +0 -14
  155. package/lib/esm/src/components/index.d.ts.map +0 -1
  156. package/lib/esm/src/hooks/index.d.ts +0 -3
  157. package/lib/esm/src/hooks/index.d.ts.map +0 -1
  158. package/lib/esm/src/hooks/useComposedCssClasses.d.ts +0 -30
  159. package/lib/esm/src/hooks/useComposedCssClasses.d.ts.map +0 -1
  160. package/lib/esm/src/hooks/useComposedCssClasses.mjs +0 -59
  161. package/lib/esm/src/hooks/useComposedCssClasses.mjs.map +0 -1
  162. package/lib/esm/src/hooks/useDefaultHandleApiError.d.ts +0 -8
  163. package/lib/esm/src/hooks/useDefaultHandleApiError.d.ts.map +0 -1
  164. package/lib/esm/src/hooks/useDefaultHandleApiError.mjs +0 -23
  165. package/lib/esm/src/hooks/useDefaultHandleApiError.mjs.map +0 -1
  166. package/lib/esm/src/hooks/useFetchInitialMessage.d.ts +0 -13
  167. package/lib/esm/src/hooks/useFetchInitialMessage.d.ts.map +0 -1
  168. package/lib/esm/src/hooks/useFetchInitialMessage.mjs +0 -39
  169. package/lib/esm/src/hooks/useFetchInitialMessage.mjs.map +0 -1
  170. package/lib/esm/src/hooks/useReportAnalyticsEvent.d.ts +0 -8
  171. package/lib/esm/src/hooks/useReportAnalyticsEvent.d.ts.map +0 -1
  172. package/lib/esm/src/hooks/useReportAnalyticsEvent.mjs +0 -19
  173. package/lib/esm/src/hooks/useReportAnalyticsEvent.mjs.map +0 -1
  174. package/lib/esm/src/hooks/useSendMessageWithRetries.d.ts +0 -17
  175. package/lib/esm/src/hooks/useSendMessageWithRetries.d.ts.map +0 -1
  176. package/lib/esm/src/hooks/useSendMessageWithRetries.mjs +0 -52
  177. package/lib/esm/src/hooks/useSendMessageWithRetries.mjs.map +0 -1
  178. package/lib/esm/src/icons/Arrow.d.ts +0 -3
  179. package/lib/esm/src/icons/Arrow.d.ts.map +0 -1
  180. package/lib/esm/src/icons/Arrow.mjs +0 -10
  181. package/lib/esm/src/icons/Arrow.mjs.map +0 -1
  182. package/lib/esm/src/icons/Chat.d.ts +0 -5
  183. package/lib/esm/src/icons/Chat.d.ts.map +0 -1
  184. package/lib/esm/src/icons/Chat.mjs +0 -14
  185. package/lib/esm/src/icons/Chat.mjs.map +0 -1
  186. package/lib/esm/src/icons/Cross.d.ts +0 -5
  187. package/lib/esm/src/icons/Cross.d.ts.map +0 -1
  188. package/lib/esm/src/icons/Cross.mjs +0 -10
  189. package/lib/esm/src/icons/Cross.mjs.map +0 -1
  190. package/lib/esm/src/icons/DualSync.d.ts +0 -5
  191. package/lib/esm/src/icons/DualSync.d.ts.map +0 -1
  192. package/lib/esm/src/icons/DualSync.mjs +0 -10
  193. package/lib/esm/src/icons/DualSync.mjs.map +0 -1
  194. package/lib/esm/src/icons/ThumbsDown.d.ts +0 -5
  195. package/lib/esm/src/icons/ThumbsDown.d.ts.map +0 -1
  196. package/lib/esm/src/icons/ThumbsDown.mjs +0 -9
  197. package/lib/esm/src/icons/ThumbsDown.mjs.map +0 -1
  198. package/lib/esm/src/icons/ThumbsDownFill.d.ts +0 -5
  199. package/lib/esm/src/icons/ThumbsDownFill.d.ts.map +0 -1
  200. package/lib/esm/src/icons/ThumbsDownFill.mjs +0 -9
  201. package/lib/esm/src/icons/ThumbsDownFill.mjs.map +0 -1
  202. package/lib/esm/src/icons/ThumbsUp.d.ts +0 -5
  203. package/lib/esm/src/icons/ThumbsUp.d.ts.map +0 -1
  204. package/lib/esm/src/icons/ThumbsUp.mjs +0 -9
  205. package/lib/esm/src/icons/ThumbsUp.mjs.map +0 -1
  206. package/lib/esm/src/icons/ThumbsUpFill.d.ts +0 -5
  207. package/lib/esm/src/icons/ThumbsUpFill.d.ts.map +0 -1
  208. package/lib/esm/src/icons/ThumbsUpFill.mjs +0 -9
  209. package/lib/esm/src/icons/ThumbsUpFill.mjs.map +0 -1
  210. package/lib/esm/src/index.d.ts +0 -3
  211. package/lib/esm/src/index.d.ts.map +0 -1
  212. package/lib/esm/src/index.mjs +0 -8
  213. package/lib/esm/src/index.mjs.map +0 -1
  214. package/lib/esm/src/utils/withStylelessCssClasses.d.ts +0 -17
  215. package/lib/esm/src/utils/withStylelessCssClasses.d.ts.map +0 -1
  216. package/lib/esm/src/utils/withStylelessCssClasses.mjs +0 -28
  217. package/lib/esm/src/utils/withStylelessCssClasses.mjs.map +0 -1
@@ -62,7 +62,7 @@ SOFTWARE.
62
62
  The following NPM packages may be included in this product:
63
63
 
64
64
  - @types/hast@2.3.4
65
- - @types/hoist-non-react-statics@3.3.5
65
+ - @types/hoist-non-react-statics@3.3.6
66
66
  - @types/mdast@3.0.11
67
67
  - @types/parse5@5.0.3
68
68
  - @types/prop-types@15.7.5
@@ -100,7 +100,7 @@ MIT License
100
100
 
101
101
  The following NPM package may be included in this product:
102
102
 
103
- - @yext/analytics@0.6.6
103
+ - @yext/analytics@1.0.1
104
104
 
105
105
  This package contains the following license and notice below:
106
106
 
@@ -141,9 +141,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
141
141
 
142
142
  The following NPM packages may be included in this product:
143
143
 
144
- - @yext/chat-core@0.8.2
145
- - @yext/chat-headless-react@0.9.1
146
- - @yext/chat-headless@0.10.1
144
+ - @yext/chat-core@0.9.1
145
+ - @yext/chat-headless-react@0.9.5
146
+ - @yext/chat-headless@0.12.2
147
147
 
148
148
  These packages each contain the following license and notice below:
149
149
 
@@ -277,7 +277,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
277
277
 
278
278
  The following NPM package may be included in this product:
279
279
 
280
- - cross-fetch@3.1.8
280
+ - cross-fetch@3.2.0
281
281
 
282
282
  This package contains the following license and notice below:
283
283
 
@@ -798,7 +798,7 @@ THE SOFTWARE.
798
798
 
799
799
  The following NPM package may be included in this product:
800
800
 
801
- - layerr@2.1.0
801
+ - layerr@3.0.0
802
802
 
803
803
  This package contains the following license and notice below:
804
804
 
@@ -1083,7 +1083,7 @@ SOFTWARE.
1083
1083
 
1084
1084
  The following NPM package may be included in this product:
1085
1085
 
1086
- - node-fetch@2.6.12
1086
+ - node-fetch@2.7.0
1087
1087
 
1088
1088
  This package contains the following license and notice below:
1089
1089
 
@@ -1207,7 +1207,6 @@ The following NPM packages may be included in this product:
1207
1207
  - react-is@18.2.0
1208
1208
  - react@18.2.0
1209
1209
  - scheduler@0.23.0
1210
- - use-sync-external-store@1.2.2
1211
1210
 
1212
1211
  These packages each contain the following license and notice below:
1213
1212
 
@@ -1754,7 +1753,7 @@ THE SOFTWARE.
1754
1753
 
1755
1754
  The following NPM package may be included in this product:
1756
1755
 
1757
- - ulidx@2.3.0
1756
+ - ulidx@2.4.1
1758
1757
 
1759
1758
  This package contains the following license and notice below:
1760
1759
 
@@ -1928,6 +1927,36 @@ A React helper hook for storing latest value in ref object (updated in useEffect
1928
1927
 
1929
1928
  -----------
1930
1929
 
1930
+ The following NPM package may be included in this product:
1931
+
1932
+ - use-sync-external-store@1.4.0
1933
+
1934
+ This package contains the following license and notice below:
1935
+
1936
+ MIT License
1937
+
1938
+ Copyright (c) Meta Platforms, Inc. and affiliates.
1939
+
1940
+ Permission is hereby granted, free of charge, to any person obtaining a copy
1941
+ of this software and associated documentation files (the "Software"), to deal
1942
+ in the Software without restriction, including without limitation the rights
1943
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1944
+ copies of the Software, and to permit persons to whom the Software is
1945
+ furnished to do so, subject to the following conditions:
1946
+
1947
+ The above copyright notice and this permission notice shall be included in all
1948
+ copies or substantial portions of the Software.
1949
+
1950
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1951
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1952
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1953
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1954
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1955
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1956
+ SOFTWARE.
1957
+
1958
+ -----------
1959
+
1931
1960
  The following NPM package may be included in this product:
1932
1961
 
1933
1962
  - vfile-message@2.0.4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yext/chat-ui-react",
3
- "version": "0.12.0",
3
+ "version": "0.12.2",
4
4
  "description": "A library of React Components for powering Yext Chat integrations.",
5
5
  "author": "clippy@yext.com",
6
6
  "main": "./lib/commonjs/src/index.js",
@@ -48,6 +48,14 @@
48
48
  "build": "rm -rf lib/** && npm run build:js && npm run build:css && npm run generate-docs && npm run generate-notices",
49
49
  "build-storybook": "storybook build"
50
50
  },
51
+ "repository": {
52
+ "type": "git",
53
+ "url": "https://github.com/yext/chat-ui-react.git"
54
+ },
55
+ "bugs": {
56
+ "url": "https://github.com/yext/chat-ui-react/issues"
57
+ },
58
+ "homepage": "https://github.com/yext/chat-ui-react#readme",
51
59
  "devDependencies": {
52
60
  "@babel/core": "^7.21.8",
53
61
  "@babel/preset-env": "^7.21.5",
@@ -69,7 +77,7 @@
69
77
  "@testing-library/user-event": "^14.4.3",
70
78
  "@types/jest": "^29.5.1",
71
79
  "@types/react": "^18.2.7",
72
- "@yext/chat-headless-react": "^0.9.1",
80
+ "@yext/chat-headless-react": "^0.9.5",
73
81
  "@yext/eslint-config": "^1.0.2",
74
82
  "babel-jest": "^29.5.0",
75
83
  "eslint": "^8.39.0",
@@ -84,14 +92,14 @@
84
92
  "prettier": "^2.8.8",
85
93
  "react": "^18.2.0",
86
94
  "react-dom": "^18.2.0",
87
- "rollup": "^3.29.5",
95
+ "rollup": "^3.30.0",
88
96
  "rollup-plugin-typescript2": "^0.35.0",
89
- "storybook": "^7.5.2",
97
+ "storybook": "^7.6.21",
90
98
  "tailwindcss": "^3.3.2",
91
99
  "typescript": "^5.0.4"
92
100
  },
93
101
  "peerDependencies": {
94
- "@yext/chat-headless-react": "^0.9.1",
102
+ "@yext/chat-headless-react": "^0.9.5",
95
103
  "react": "^16.14 || ^17 || ^18",
96
104
  "react-dom": "^16.14 || ^17 || || ^18"
97
105
  },
@@ -102,5 +110,8 @@
102
110
  "rehype-sanitize": "^4.0.0",
103
111
  "remark-gfm": "^1.0.0",
104
112
  "tailwind-merge": "^1.12.0"
113
+ },
114
+ "overrides": {
115
+ "handlebars": "^4.7.9"
105
116
  }
106
117
  }
package/lib/bundle.css DELETED
@@ -1 +0,0 @@
1
- .yext-chat { width: 100%; height: 100%; } /*! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/.yext-chat *,.yext-chat :after,.yext-chat :before{box-sizing:border-box;border:0 solid #e5e7eb}.yext-chat :after,.yext-chat :before{--tw-content:""}.yext-chat {line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}.yext-chat {margin:0;line-height:inherit}.yext-chat hr{height:0;color:inherit;border-top-width:1px}.yext-chat abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.yext-chat h1,.yext-chat h2,.yext-chat h3,.yext-chat h4,.yext-chat h5,.yext-chat h6{font-size:inherit;font-weight:inherit}.yext-chat a{color:inherit;text-decoration:inherit}.yext-chat b,.yext-chat strong{font-weight:bolder}.yext-chat code,.yext-chat kbd,.yext-chat pre,.yext-chat samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}.yext-chat small{font-size:80%}.yext-chat sub,.yext-chat sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}.yext-chat sub{bottom:-.25em}.yext-chat sup{top:-.5em}.yext-chat table{text-indent:0;border-color:inherit;border-collapse:collapse}.yext-chat button,.yext-chat input,.yext-chat optgroup,.yext-chat select,.yext-chat textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}.yext-chat button,.yext-chat select{text-transform:none}.yext-chat [type=button],.yext-chat [type=reset],.yext-chat [type=submit],.yext-chat button{-webkit-appearance:button;background-color:initial;background-image:none}.yext-chat :-moz-focusring{outline:auto}.yext-chat :-moz-ui-invalid{box-shadow:none}.yext-chat progress{vertical-align:initial}.yext-chat ::-webkit-inner-spin-button,.yext-chat ::-webkit-outer-spin-button{height:auto}.yext-chat [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.yext-chat ::-webkit-search-decoration{-webkit-appearance:none}.yext-chat ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.yext-chat summary{display:list-item}.yext-chat blockquote,.yext-chat dd,.yext-chat dl,.yext-chat figure,.yext-chat h1,.yext-chat h2,.yext-chat h3,.yext-chat h4,.yext-chat h5,.yext-chat h6,.yext-chat hr,.yext-chat p,.yext-chat pre{margin:0}.yext-chat fieldset{margin:0}.yext-chat fieldset,.yext-chat legend{padding:0}.yext-chat menu,.yext-chat ol,.yext-chat ul{list-style:none;margin:0;padding:0}.yext-chat textarea{resize:vertical}.yext-chat input::-moz-placeholder,.yext-chat textarea::-moz-placeholder{opacity:1;color:#9ca3af}.yext-chat input::placeholder,.yext-chat textarea::placeholder{opacity:1;color:#9ca3af}.yext-chat [role=button],.yext-chat button{cursor:pointer}.yext-chat :disabled{cursor:default}.yext-chat audio,.yext-chat canvas,.yext-chat embed,.yext-chat iframe,.yext-chat img,.yext-chat object,.yext-chat svg,.yext-chat video{display:block;vertical-align:middle}.yext-chat img,.yext-chat video{max-width:100%;height:auto}.yext-chat [hidden]{display:none}.yext-chat *,.yext-chat ::backdrop,.yext-chat :after,.yext-chat :before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.yext-chat .container{width:100%}@media (min-width:640px){.yext-chat .container{max-width:640px}}@media (min-width:768px){.yext-chat .container{max-width:768px}}@media (min-width:1024px){.yext-chat .container{max-width:1024px}}@media (min-width:1280px){.yext-chat .container{max-width:1280px}}@media (min-width:1536px){.yext-chat .container{max-width:1536px}}.yext-chat .prose{color:var(--tw-prose-body);max-width:65ch}.yext-chat .prose :where(p):not(:where([class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.yext-chat .prose :where([class~=lead]):not(:where([class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.yext-chat .prose :where(a):not(:where([class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.yext-chat .prose :where(strong):not(:where([class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.yext-chat .prose :where(a strong):not(:where([class~=not-prose] *)){color:inherit}.yext-chat .prose :where(blockquote strong):not(:where([class~=not-prose] *)){color:inherit}.yext-chat .prose :where(thead th strong):not(:where([class~=not-prose] *)){color:inherit}.yext-chat .prose :where(ol):not(:where([class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.yext-chat .prose :where(ol[type=A]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.yext-chat .prose :where(ol[type=a]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.yext-chat .prose :where(ol[type=A s]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.yext-chat .prose :where(ol[type=a s]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.yext-chat .prose :where(ol[type=I]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.yext-chat .prose :where(ol[type=i]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.yext-chat .prose :where(ol[type=I s]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.yext-chat .prose :where(ol[type=i s]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.yext-chat .prose :where(ol[type="1"]):not(:where([class~=not-prose] *)){list-style-type:decimal}.yext-chat .prose :where(ul):not(:where([class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.yext-chat .prose :where(ol>li):not(:where([class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.yext-chat .prose :where(ul>li):not(:where([class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.yext-chat .prose :where(hr):not(:where([class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.yext-chat .prose :where(blockquote):not(:where([class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-left-width:.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.yext-chat .prose :where(blockquote p:first-of-type):not(:where([class~=not-prose] *)):before{content:open-quote}.yext-chat .prose :where(blockquote p:last-of-type):not(:where([class~=not-prose] *)):after{content:close-quote}.yext-chat .prose :where(h1):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.yext-chat .prose :where(h1 strong):not(:where([class~=not-prose] *)){font-weight:900;color:inherit}.yext-chat .prose :where(h2):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.yext-chat .prose :where(h2 strong):not(:where([class~=not-prose] *)){font-weight:800;color:inherit}.yext-chat .prose :where(h3):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.yext-chat .prose :where(h3 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}.yext-chat .prose :where(h4):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.yext-chat .prose :where(h4 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}.yext-chat .prose :where(img):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.yext-chat .prose :where(figure>*):not(:where([class~=not-prose] *)){margin-top:0;margin-bottom:0}.yext-chat .prose :where(figcaption):not(:where([class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.yext-chat .prose :where(code):not(:where([class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.yext-chat .prose :where(code):not(:where([class~=not-prose] *)):before{content:"`"}.yext-chat .prose :where(code):not(:where([class~=not-prose] *)):after{content:"`"}.yext-chat .prose :where(a code):not(:where([class~=not-prose] *)){color:inherit}.yext-chat .prose :where(h1 code):not(:where([class~=not-prose] *)){color:inherit}.yext-chat .prose :where(h2 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.875em}.yext-chat .prose :where(h3 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.9em}.yext-chat .prose :where(h4 code):not(:where([class~=not-prose] *)){color:inherit}.yext-chat .prose :where(blockquote code):not(:where([class~=not-prose] *)){color:inherit}.yext-chat .prose :where(thead th code):not(:where([class~=not-prose] *)){color:inherit}.yext-chat .prose :where(pre):not(:where([class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.yext-chat .prose :where(pre code):not(:where([class~=not-prose] *)){background-color:initial;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.yext-chat .prose :where(pre code):not(:where([class~=not-prose] *)):before{content:none}.yext-chat .prose :where(pre code):not(:where([class~=not-prose] *)):after{content:none}.yext-chat .prose :where(table):not(:where([class~=not-prose] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.yext-chat .prose :where(thead):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.yext-chat .prose :where(thead th):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.yext-chat .prose :where(tbody tr):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.yext-chat .prose :where(tbody tr:last-child):not(:where([class~=not-prose] *)){border-bottom-width:0}.yext-chat .prose :where(tbody td):not(:where([class~=not-prose] *)){vertical-align:initial}.yext-chat .prose :where(tfoot):not(:where([class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.yext-chat .prose :where(tfoot td):not(:where([class~=not-prose] *)){vertical-align:top}.yext-chat .prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.yext-chat .prose :where(video):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.yext-chat .prose :where(figure):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.yext-chat .prose :where(li):not(:where([class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.yext-chat .prose :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.375em}.yext-chat .prose :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.375em}.yext-chat .prose :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.yext-chat .prose :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.yext-chat .prose :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.yext-chat .prose :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.yext-chat .prose :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.yext-chat .prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.yext-chat .prose :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.yext-chat .prose :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.yext-chat .prose :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.yext-chat .prose :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.yext-chat .prose :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.yext-chat .prose :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.yext-chat .prose :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding:.5714286em}.yext-chat .prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.yext-chat .prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.yext-chat .prose :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.yext-chat .prose :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.yext-chat .invisible{visibility:hidden}.yext-chat .fixed{position:fixed}.yext-chat .absolute{position:absolute}.yext-chat .relative{position:relative}.yext-chat .-right-1{right:-.25rem}.yext-chat .-top-3{top:-.75rem}.yext-chat .bottom-2{bottom:.5rem}.yext-chat .bottom-2\.5{bottom:.625rem}.yext-chat .bottom-6{bottom:1.5rem}.yext-chat .right-4{right:1rem}.yext-chat .top-0{top:0}.yext-chat .z-50{z-index:50}.yext-chat .-mr-8{margin-right:-2rem}.yext-chat .mb-3{margin-bottom:.75rem}.yext-chat .mb-4{margin-bottom:1rem}.yext-chat .ml-4{margin-left:1rem}.yext-chat .ml-auto{margin-left:auto}.yext-chat .mt-1{margin-top:.25rem}.yext-chat .mt-auto{margin-top:auto}.yext-chat .line-clamp-1{-webkit-line-clamp:1}.yext-chat .line-clamp-1,.yext-chat .line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.yext-chat .line-clamp-2{-webkit-line-clamp:2}.yext-chat .flex{display:flex}.yext-chat .hidden{display:none}.yext-chat .h-10{height:2.5rem}.yext-chat .h-12{height:3rem}.yext-chat .h-2{height:.5rem}.yext-chat .h-4{height:1rem}.yext-chat .h-5{height:1.25rem}.yext-chat .h-6{height:1.5rem}.yext-chat .h-8{height:2rem}.yext-chat .h-\[22px\]{height:22px}.yext-chat .h-\[26px\]{height:26px}.yext-chat .h-\[28px\]{height:28px}.yext-chat .h-\[75vh\]{height:75vh}.yext-chat .h-fit{height:-moz-fit-content;height:fit-content}.yext-chat .h-full{height:100%}.yext-chat .w-12{width:3rem}.yext-chat .w-2{width:.5rem}.yext-chat .w-4{width:1rem}.yext-chat .w-5{width:1.25rem}.yext-chat .w-6{width:1.5rem}.yext-chat .w-60{width:15rem}.yext-chat .w-8{width:2rem}.yext-chat .w-80{width:20rem}.yext-chat .w-\[22px\]{width:22px}.yext-chat .w-\[26px\]{width:26px}.yext-chat .w-\[28px\]{width:28px}.yext-chat .w-fit{width:-moz-fit-content;width:fit-content}.yext-chat .w-full{width:100%}.yext-chat .max-w-\[80\%\]{max-width:80%}.yext-chat .shrink-0{flex-shrink:0}.yext-chat .translate-y-0{--tw-translate-y:0px}.yext-chat .translate-y-0,.yext-chat .translate-y-\[20\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yext-chat .translate-y-\[20\%\]{--tw-translate-y:20%}.yext-chat .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yext-chat .animate-\[bounce_1s_infinite\]{animation:bounce 1s infinite}.yext-chat .animate-\[bounce_1s_infinite_0\.3s\]{animation:bounce 1s .3s infinite}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.yext-chat .animate-\[bounce_1s_infinite_0\.6s\]{animation:bounce 1s .6s infinite}@keyframes spin{to{transform:rotate(1turn)}}.yext-chat .animate-\[spin_0\.3s_linear\]{animation:spin .3s linear}@keyframes expand-left{0%{margin-left:100%}to{margin-left:0}}.yext-chat .animate-expand-left{animation:expand-left .5s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.yext-chat .animate-fade-in{animation:fade-in .4s}@keyframes heartbeat{0%{transform:scale(1)}80%{transform:scale(1)}90%{transform:scale(1.1)}to{transform:scale(1)}}.yext-chat .animate-heartbeat{animation:heartbeat 2s ease-out infinite}.yext-chat .cursor-pointer{cursor:pointer}.yext-chat .resize-none{resize:none}.yext-chat .flex-row{flex-direction:row}.yext-chat .flex-col{flex-direction:column}.yext-chat .flex-wrap{flex-wrap:wrap}.yext-chat .items-center{align-items:center}.yext-chat .justify-center{justify-content:center}.yext-chat .justify-between{justify-content:space-between}.yext-chat .gap-1{gap:.25rem}.yext-chat .gap-2{gap:.5rem}.yext-chat .gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.yext-chat .gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.yext-chat .gap-x-2\.5{-moz-column-gap:.625rem;column-gap:.625rem}.yext-chat .gap-y-1{row-gap:.25rem}.yext-chat .overflow-auto{overflow:auto}.yext-chat .overflow-hidden{overflow:hidden}.yext-chat .overflow-x-auto{overflow-x:auto}.yext-chat .truncate{overflow:hidden;text-overflow:ellipsis}.yext-chat .truncate,.yext-chat .whitespace-nowrap{white-space:nowrap}.yext-chat .whitespace-pre-wrap{white-space:pre-wrap}.yext-chat .break-words{overflow-wrap:break-word}.yext-chat .rounded-2xl{border-radius:1rem}.yext-chat .rounded-3xl{border-radius:1.5rem}.yext-chat .rounded-full{border-radius:9999px}.yext-chat .rounded-md{border-radius:.375rem}.yext-chat .rounded-xl{border-radius:.75rem}.yext-chat .rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.yext-chat .rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.yext-chat .rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.yext-chat .border{border-width:1px}.yext-chat .border-blue-700{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity))}.yext-chat .border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.yext-chat .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.yext-chat .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.yext-chat .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.yext-chat .bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity))}.yext-chat .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.yext-chat .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.yext-chat .bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.yext-chat .from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:#2563eb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.yext-chat .from-slate-50{--tw-gradient-from:#f8fafc var(--tw-gradient-from-position);--tw-gradient-to:#f8fafc00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.yext-chat .to-blue-700{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.yext-chat .to-blue-800{--tw-gradient-to:#1e40af var(--tw-gradient-to-position)}.yext-chat .to-slate-100{--tw-gradient-to:#f1f5f9 var(--tw-gradient-to-position)}.yext-chat .stroke-2{stroke-width:2}.yext-chat .stroke-\[0\.2\]{stroke-width:.2}.yext-chat .p-1{padding:.25rem}.yext-chat .p-1\.5{padding:.375rem}.yext-chat .p-2{padding:.5rem}.yext-chat .p-2\.5{padding:.625rem}.yext-chat .p-3{padding:.75rem}.yext-chat .p-4{padding:1rem}.yext-chat .px-2{padding-left:.5rem;padding-right:.5rem}.yext-chat .px-4{padding-left:1rem;padding-right:1rem}.yext-chat .py-1{padding-top:.25rem;padding-bottom:.25rem}.yext-chat .py-3{padding-top:.75rem;padding-bottom:.75rem}.yext-chat .pb-4{padding-bottom:1rem}.yext-chat .pl-4{padding-left:1rem}.yext-chat .pr-1{padding-right:.25rem}.yext-chat .pr-12{padding-right:3rem}.yext-chat .pr-3{padding-right:.75rem}.yext-chat .pr-8{padding-right:2rem}.yext-chat .text-center{text-align:center}.yext-chat .text-\[10px\]{font-size:10px}.yext-chat .text-\[12px\]{font-size:12px}.yext-chat .text-\[13px\]{font-size:13px}.yext-chat .text-sm{font-size:.875rem;line-height:1.25rem}.yext-chat .text-xl{font-size:1.25rem;line-height:1.75rem}.yext-chat .font-bold{font-weight:700}.yext-chat .font-medium{font-weight:500}.yext-chat .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.yext-chat .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.yext-chat .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity))}.yext-chat .text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.yext-chat .text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.yext-chat .text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.yext-chat .text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.yext-chat .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.yext-chat .opacity-0{opacity:0}.yext-chat .shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.yext-chat .shadow-2xl,.yext-chat .shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.yext-chat .shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.yext-chat .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.yext-chat .duration-150,.yext-chat .transition-all{transition-duration:.15s}.yext-chat .duration-200{transition-duration:.2s}.yext-chat .duration-300{transition-duration:.3s}.yext-chat .\@container{container-type:inline-size}.yext-chat .placeholder\:text-\[13px\]::-moz-placeholder{font-size:13px}.yext-chat .placeholder\:text-\[13px\]::placeholder{font-size:13px}@media (hover:hover) and (pointer:fine){.yext-chat .hover\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.yext-chat .hover\:-translate-y-2:hover,.yext-chat .hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yext-chat .hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.yext-chat .hover\:cursor-pointer:hover{cursor:pointer}.yext-chat .hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.yext-chat .hover\:bg-slate-300:hover{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.yext-chat .hover\:underline:hover{text-decoration-line:underline}}.yext-chat .active\:scale-90:active{--tw-scale-x:.9;--tw-scale-y:.9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.yext-chat .disabled\:bg-slate-200:disabled{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}@media (hover:hover) and (pointer:fine){.yext-chat .group:hover .group-hover\:opacity-100,.yext-chat .peer:hover~.peer-hover\:opacity-100{opacity:1}}@container (min-width: 32rem){.yext-chat .\@lg\:m-1{margin:.25rem}.yext-chat .\@lg\:ml-0{margin-left:0}.yext-chat .\@lg\:flex-row{flex-direction:row}.yext-chat .\@lg\:flex-row-reverse{flex-direction:row-reverse}.yext-chat .\@lg\:items-center{align-items:center}.yext-chat .\@lg\:gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}}@container (min-width: 480px){.yext-chat .\@\[480px\]\:bottom-3\.5{bottom:.875rem}.yext-chat .\@\[480px\]\:text-\[13px\]{font-size:13px}.yext-chat .\@\[480px\]\:text-base{font-size:1rem;line-height:1.5rem}.yext-chat .placeholder\:\@\[480px\]\:text-base::-moz-placeholder{font-size:1rem;line-height:1.5rem}.yext-chat .placeholder\:\@\[480px\]\:text-base::placeholder{font-size:1rem;line-height:1.5rem}}@media (max-width:480px){.yext-chat .max-\[480px\]\:bottom-0{bottom:0}.yext-chat .max-\[480px\]\:right-0{right:0}.yext-chat .max-\[480px\]\:h-full{height:100%}.yext-chat .max-\[480px\]\:w-full{width:100%}.yext-chat .max-\[480px\]\:rounded-none{border-radius:0}}@media (min-width:1024px){.yext-chat .lg\:bottom-14{bottom:3.5rem}.yext-chat .lg\:right-10{right:2.5rem}.yext-chat .lg\:h-14{height:3.5rem}.yext-chat .lg\:h-16{height:4rem}.yext-chat .lg\:h-6{height:1.5rem}.yext-chat .lg\:h-\[40px\]{height:40px}.yext-chat .lg\:w-16{width:4rem}.yext-chat .lg\:w-6{width:1.5rem}.yext-chat .lg\:w-96{width:24rem}.yext-chat .lg\:w-\[40px\]{width:40px}.yext-chat .lg\:text-base{font-size:1rem;line-height:1.5rem}}.yext-chat .\[\&\>\*\:first-child\]\:mt-3>:first-child{margin-top:.75rem}@media (hover:hover){.yext-chat .\[\@media\(hover\:hover\)\]\:opacity-0{opacity:0}}
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var version = "0.12.0";
4
-
5
- exports.version = version;
6
- //# sourceMappingURL=package.json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,53 +0,0 @@
1
- import React from "react";
2
- /**
3
- * The CSS class interface for the {@link ChatHeader} component.
4
- *
5
- * @public
6
- */
7
- export interface ChatHeaderCssClasses {
8
- container?: string;
9
- title?: string;
10
- restartButton?: string;
11
- restartButtonIcon?: string;
12
- closeButton?: string;
13
- closeButtonIcon?: string;
14
- }
15
- /**
16
- * The props for the {@link ChatHeader} component.
17
- *
18
- * @public
19
- */
20
- export interface ChatHeaderProps {
21
- /**
22
- * The headers's title text, essentially how the chat window identifies itself to the user.
23
- */
24
- title: string;
25
- /**
26
- * Displays a restart button which allows the user to restart the conversation.
27
- * Defaults to false.
28
- */
29
- showRestartButton?: boolean;
30
- /**
31
- * Displays a close button which will invoke {@link ChatHeaderProps.onClose} on click.
32
- * Default to false.
33
- */
34
- showCloseButton?: boolean;
35
- /** A function which is called when the close button is clicked. */
36
- onClose?: () => void;
37
- /** Custom icon for for restart button. */
38
- restartButtonIcon?: JSX.Element;
39
- /** Custom icon for for close button. */
40
- closeButtonIcon?: JSX.Element;
41
- /** CSS classes for customizing the component styling. */
42
- customCssClasses?: ChatHeaderCssClasses;
43
- }
44
- /**
45
- * A component that renders the header of a chat bot panel,
46
- * including the title and a button to reset the conversation.
47
- *
48
- * @public
49
- *
50
- * @param props - {@link ChatHeaderProps}
51
- */
52
- export declare function ChatHeader({ title, showRestartButton, restartButtonIcon, showCloseButton, closeButtonIcon, onClose, customCssClasses, }: ChatHeaderProps): React.JSX.Element;
53
- //# sourceMappingURL=ChatHeader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/ChatHeader.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAK7D;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAcD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAChC,yCAAyC;IACzC,eAAe,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC9B,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,OAAO,EACP,gBAAgB,GACjB,EAAE,eAAe,qBAgDjB"}
@@ -1,52 +0,0 @@
1
- 'use strict';
2
-
3
- var chatHeadlessReact = require('@yext/chat-headless-react');
4
- var DualSync = require('../icons/DualSync.js');
5
- var useComposedCssClasses = require('../hooks/useComposedCssClasses.js');
6
- var React = require('react');
7
- var tailwindMerge = require('tailwind-merge');
8
- var Cross = require('../icons/Cross.js');
9
- var withStylelessCssClasses = require('../utils/withStylelessCssClasses.js');
10
-
11
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
-
13
- var React__default = /*#__PURE__*/_interopDefault(React);
14
-
15
- const builtInCssClasses = withStylelessCssClasses.withStylelessCssClasses("Header", {
16
- container: "w-full pl-4 pr-3 py-3 flex justify-between bg-gradient-to-tr from-blue-600 to-blue-800",
17
- title: "text-white text-xl font-medium truncate pr-1",
18
- restartButton: "w-8 h-8 ml-auto shrink-0 flex justify-center items-center",
19
- restartButtonIcon: "text-white stroke-[0.2] w-[26px] h-[26px]",
20
- closeButton: "w-8 h-8 hover:scale-110 shrink-0 flex justify-center items-center",
21
- closeButtonIcon: "text-white w-[26px] h-[26px]",
22
- });
23
- /**
24
- * A component that renders the header of a chat bot panel,
25
- * including the title and a button to reset the conversation.
26
- *
27
- * @public
28
- *
29
- * @param props - {@link ChatHeaderProps}
30
- */
31
- function ChatHeader({ title, showRestartButton, restartButtonIcon, showCloseButton, closeButtonIcon, onClose, customCssClasses, }) {
32
- const chat = chatHeadlessReact.useChatActions();
33
- const cssClasses = useComposedCssClasses.useComposedCssClasses(builtInCssClasses, customCssClasses);
34
- const [isSpinning, setIsSpinning] = React.useState(false);
35
- const restartButtonCssClasses = tailwindMerge.twMerge(cssClasses.restartButton, isSpinning ? "animate-[spin_0.3s_linear]" : "hover:scale-110");
36
- const clearTimerRef = React.useRef();
37
- const onRestart = React.useCallback(async () => {
38
- clearTimeout(clearTimerRef.current);
39
- setIsSpinning(true);
40
- clearTimerRef.current = setTimeout(() => {
41
- setIsSpinning(false);
42
- }, 1000);
43
- chat.restartConversation();
44
- }, [chat]);
45
- return (React__default.default.createElement("div", { className: cssClasses.container },
46
- React__default.default.createElement("h1", { className: cssClasses.title }, title),
47
- showRestartButton && (React__default.default.createElement("button", { "aria-label": "Restart Conversation", onClick: onRestart, className: restartButtonCssClasses }, restartButtonIcon ?? (React__default.default.createElement(DualSync.DualSyncIcon, { className: cssClasses.restartButtonIcon })))),
48
- showCloseButton && (React__default.default.createElement("button", { "aria-label": "Close Chat", onClick: onClose, className: cssClasses.closeButton }, closeButtonIcon ?? (React__default.default.createElement(Cross.CrossIcon, { className: cssClasses.closeButtonIcon }))))));
49
- }
50
-
51
- exports.ChatHeader = ChatHeader;
52
- //# sourceMappingURL=ChatHeader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatHeader.js","sources":["../../../../src/components/ChatHeader.tsx"],"sourcesContent":["import { useChatActions } from \"@yext/chat-headless-react\";\nimport { DualSyncIcon } from \"../icons/DualSync\";\nimport { useComposedCssClasses } from \"../hooks/useComposedCssClasses\";\nimport React, { useCallback, useRef, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { CrossIcon } from \"../icons/Cross\";\nimport { withStylelessCssClasses } from \"../utils/withStylelessCssClasses\";\n\n/**\n * The CSS class interface for the {@link ChatHeader} component.\n *\n * @public\n */\nexport interface ChatHeaderCssClasses {\n container?: string;\n title?: string;\n restartButton?: string;\n restartButtonIcon?: string;\n closeButton?: string;\n closeButtonIcon?: string;\n}\n\nconst builtInCssClasses: Readonly<ChatHeaderCssClasses> =\n withStylelessCssClasses(\"Header\", {\n container:\n \"w-full pl-4 pr-3 py-3 flex justify-between bg-gradient-to-tr from-blue-600 to-blue-800\",\n title: \"text-white text-xl font-medium truncate pr-1\",\n restartButton: \"w-8 h-8 ml-auto shrink-0 flex justify-center items-center\",\n restartButtonIcon: \"text-white stroke-[0.2] w-[26px] h-[26px]\",\n closeButton:\n \"w-8 h-8 hover:scale-110 shrink-0 flex justify-center items-center\",\n closeButtonIcon: \"text-white w-[26px] h-[26px]\",\n });\n\n/**\n * The props for the {@link ChatHeader} component.\n *\n * @public\n */\nexport interface ChatHeaderProps {\n /**\n * The headers's title text, essentially how the chat window identifies itself to the user.\n */\n title: string;\n /**\n * Displays a restart button which allows the user to restart the conversation.\n * Defaults to false.\n */\n showRestartButton?: boolean;\n /**\n * Displays a close button which will invoke {@link ChatHeaderProps.onClose} on click.\n * Default to false.\n */\n showCloseButton?: boolean;\n /** A function which is called when the close button is clicked. */\n onClose?: () => void;\n /** Custom icon for for restart button. */\n restartButtonIcon?: JSX.Element;\n /** Custom icon for for close button. */\n closeButtonIcon?: JSX.Element;\n /** CSS classes for customizing the component styling. */\n customCssClasses?: ChatHeaderCssClasses;\n}\n\n/**\n * A component that renders the header of a chat bot panel,\n * including the title and a button to reset the conversation.\n *\n * @public\n *\n * @param props - {@link ChatHeaderProps}\n */\nexport function ChatHeader({\n title,\n showRestartButton,\n restartButtonIcon,\n showCloseButton,\n closeButtonIcon,\n onClose,\n customCssClasses,\n}: ChatHeaderProps) {\n const chat = useChatActions();\n\n const cssClasses = useComposedCssClasses(builtInCssClasses, customCssClasses);\n\n const [isSpinning, setIsSpinning] = useState(false);\n const restartButtonCssClasses = twMerge(\n cssClasses.restartButton,\n isSpinning ? \"animate-[spin_0.3s_linear]\" : \"hover:scale-110\"\n );\n\n const clearTimerRef = useRef<ReturnType<typeof setTimeout>>();\n const onRestart = useCallback(async () => {\n clearTimeout(clearTimerRef.current);\n setIsSpinning(true);\n clearTimerRef.current = setTimeout(() => {\n setIsSpinning(false);\n }, 1000);\n chat.restartConversation();\n }, [chat]);\n\n return (\n <div className={cssClasses.container}>\n <h1 className={cssClasses.title}>{title}</h1>\n {showRestartButton && (\n <button\n aria-label=\"Restart Conversation\"\n onClick={onRestart}\n className={restartButtonCssClasses}\n >\n {restartButtonIcon ?? (\n <DualSyncIcon className={cssClasses.restartButtonIcon} />\n )}\n </button>\n )}\n {showCloseButton && (\n <button\n aria-label=\"Close Chat\"\n onClick={onClose}\n className={cssClasses.closeButton}\n >\n {closeButtonIcon ?? (\n <CrossIcon className={cssClasses.closeButtonIcon} />\n )}\n </button>\n )}\n </div>\n );\n}\n"],"names":["withStylelessCssClasses","useChatActions","useComposedCssClasses","useState","twMerge","useRef","useCallback","React","DualSyncIcon","CrossIcon"],"mappings":";;;;;;;;;;;;;;AAsBA,MAAM,iBAAiB,GACrBA,+CAAuB,CAAC,QAAQ,EAAE;AAChC,IAAA,SAAS,EACP,wFAAwF;AAC1F,IAAA,KAAK,EAAE,8CAA8C;AACrD,IAAA,aAAa,EAAE,2DAA2D;AAC1E,IAAA,iBAAiB,EAAE,2CAA2C;AAC9D,IAAA,WAAW,EACT,mEAAmE;AACrE,IAAA,eAAe,EAAE,8BAA8B;AAChD,CAAA,CAAC,CAAC;AAgCL;;;;;;;AAOG;SACa,UAAU,CAAC,EACzB,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,OAAO,EACP,gBAAgB,GACA,EAAA;AAChB,IAAA,MAAM,IAAI,GAAGC,gCAAc,EAAE,CAAC;IAE9B,MAAM,UAAU,GAAGC,2CAAqB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAE9E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC,CAAC;AACpD,IAAA,MAAM,uBAAuB,GAAGC,qBAAO,CACrC,UAAU,CAAC,aAAa,EACxB,UAAU,GAAG,4BAA4B,GAAG,iBAAiB,CAC9D,CAAC;AAEF,IAAA,MAAM,aAAa,GAAGC,YAAM,EAAiC,CAAC;AAC9D,IAAA,MAAM,SAAS,GAAGC,iBAAW,CAAC,YAAW;AACvC,QAAA,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,aAAa,CAAC,IAAI,CAAC,CAAC;AACpB,QAAA,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC,MAAK;YACtC,aAAa,CAAC,KAAK,CAAC,CAAC;SACtB,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC7B,KAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAEX,IAAA,QACEC,sBAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,SAAS,EAAA;AAClC,QAAAA,sBAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAE,UAAU,CAAC,KAAK,EAAA,EAAG,KAAK,CAAM;QAC5C,iBAAiB,KAChBA,sBAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAA,YAAA,EACa,sBAAsB,EACjC,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,uBAAuB,EAAA,EAEjC,iBAAiB,KAChBA,sBAAA,CAAA,aAAA,CAACC,qBAAY,EAAA,EAAC,SAAS,EAAE,UAAU,CAAC,iBAAiB,EAAA,CAAI,CAC1D,CACM,CACV;AACA,QAAA,eAAe,KACdD,sBACa,CAAA,aAAA,CAAA,QAAA,EAAA,EAAA,YAAA,EAAA,YAAY,EACvB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,UAAU,CAAC,WAAW,EAEhC,EAAA,eAAe,KACdA,sBAAC,CAAA,aAAA,CAAAE,eAAS,EAAC,EAAA,SAAS,EAAE,UAAU,CAAC,eAAe,EAAA,CAAI,CACrD,CACM,CACV,CACG,EACN;AACJ;;;;"}
@@ -1,60 +0,0 @@
1
- import React from "react";
2
- /**
3
- * The CSS class interface for the {@link ChatInput} component.
4
- *
5
- * @public
6
- */
7
- export interface ChatInputCssClasses {
8
- container?: string;
9
- textArea?: string;
10
- sendButton?: string;
11
- }
12
- /**
13
- * The props for the {@link ChatInput} component.
14
- *
15
- * @public
16
- */
17
- export interface ChatInputProps {
18
- /**
19
- * The input's placeholder text when no text has been entered by the user.
20
- * Defaults to "Type a message...".
21
- */
22
- placeholder?: string;
23
- /**
24
- * Enable streaming behavior by making a request to Chat Streaming API.
25
- * This feature is experimental, and is subject to change.
26
- * Defaults to false.
27
- */
28
- stream?: boolean;
29
- /** Enable auto focus for the input box. Defaults to false. */
30
- inputAutoFocus?: boolean;
31
- /**
32
- * A function which is called when an error occurs from Chat API while processing the user's message.
33
- * By default, the error is logged to the console and an error message is added to state.
34
- */
35
- handleError?: (e: unknown) => void;
36
- /** Custom icon for the send button. */
37
- sendButtonIcon?: JSX.Element;
38
- /** CSS classes for customizing the component styling. */
39
- customCssClasses?: ChatInputCssClasses;
40
- /** A callback which is called when user sends a message. */
41
- onSend?: (message: string) => void;
42
- /**
43
- * A function which is called when a retryable error occurs from
44
- * Chat API while processing the user's message.
45
- */
46
- onRetry?: (e: unknown) => void;
47
- }
48
- /**
49
- * A component that allows user to input message and send to Chat API.
50
- *
51
- * @remarks
52
- * Pressing "Enter" key will send the current message.
53
- * To add a newline, press "Shift" and "Enter".
54
- *
55
- * @public
56
- *
57
- * @param props - {@link ChatInputProps}
58
- */
59
- export declare function ChatInput({ placeholder, stream, inputAutoFocus, handleError, sendButtonIcon, customCssClasses, onSend, onRetry, }: ChatInputProps): React.JSX.Element;
60
- //# sourceMappingURL=ChatInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../../src/components/ChatInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AASrD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAaD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,uCAAuC;IACvC,cAAc,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC7B,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC,4DAA4D;IAC5D,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAChC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,EACxB,WAAiC,EACjC,MAAc,EACd,cAAqB,EACrB,WAAW,EACX,cAA8B,EAC9B,gBAAgB,EAChB,MAAM,EACN,OAAO,GACR,EAAE,cAAc,qBAuEhB"}
@@ -1,76 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var chatHeadlessReact = require('@yext/chat-headless-react');
5
- var Arrow = require('../icons/Arrow.js');
6
- var useComposedCssClasses = require('../hooks/useComposedCssClasses.js');
7
- var TextareaAutosize = require('react-textarea-autosize');
8
- var useDefaultHandleApiError = require('../hooks/useDefaultHandleApiError.js');
9
- var withStylelessCssClasses = require('../utils/withStylelessCssClasses.js');
10
- var useSendMessageWithRetries = require('../hooks/useSendMessageWithRetries.js');
11
-
12
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
-
14
- var React__default = /*#__PURE__*/_interopDefault(React);
15
- var TextareaAutosize__default = /*#__PURE__*/_interopDefault(TextareaAutosize);
16
-
17
- const builtInCssClasses = withStylelessCssClasses.withStylelessCssClasses("Input", {
18
- container: "w-full h-fit flex flex-row relative @container",
19
- textArea: "w-full p-4 pr-12 border border-slate-300 rounded-3xl resize-none text-[13px] @[480px]:text-base placeholder:text-[13px] placeholder:@[480px]:text-base text-slate-900",
20
- sendButton: "rounded-full p-1.5 w-8 h-8 stroke-2 text-white bg-blue-600 disabled:bg-slate-200 hover:bg-blue-800 active:scale-90 transition-all absolute right-4 bottom-2.5 @[480px]:bottom-3.5",
21
- });
22
- /**
23
- * A component that allows user to input message and send to Chat API.
24
- *
25
- * @remarks
26
- * Pressing "Enter" key will send the current message.
27
- * To add a newline, press "Shift" and "Enter".
28
- *
29
- * @public
30
- *
31
- * @param props - {@link ChatInputProps}
32
- */
33
- function ChatInput({ placeholder = "Type a message...", stream = false, inputAutoFocus = true, handleError, sendButtonIcon = React__default.default.createElement(Arrow.ArrowIcon, null), customCssClasses, onSend, onRetry, }) {
34
- const [input, setInput] = React.useState("");
35
- const canSendMessage = chatHeadlessReact.useChatState((state) => state.conversation.canSendMessage);
36
- const defaultHandleApiError = useDefaultHandleApiError.useDefaultHandleApiError();
37
- const sendMessageWithRetries = useSendMessageWithRetries.useSendMessageWithRetries(stream, 1, onRetry);
38
- const cssClasses = useComposedCssClasses.useComposedCssClasses(builtInCssClasses, customCssClasses);
39
- const sendMessage = React.useCallback(async () => {
40
- setInput("");
41
- sendMessageWithRetries(input)
42
- .catch(handleError ?? defaultHandleApiError)
43
- .finally(() => {
44
- onSend?.(input);
45
- });
46
- }, [
47
- sendMessageWithRetries,
48
- input,
49
- handleError,
50
- defaultHandleApiError,
51
- onSend,
52
- ]);
53
- const handleKeyDown = React.useCallback((e) => {
54
- if (!e.shiftKey &&
55
- e.key === "Enter" &&
56
- // The Japanese Keyboard uses "Enter" key to convert from Hiragana to Kanji.
57
- // "isComposing" is a flag that indicates whether the event is part of an ongoing composition session.
58
- // Safari does not support `isComposing` with the Japanese IME event,
59
- // so we have to additionally check for the keyCode to handle that edge case.
60
- !(e.nativeEvent.isComposing || e.keyCode === 229)) {
61
- e.preventDefault();
62
- if (canSendMessage && input.trim().length !== 0) {
63
- sendMessage();
64
- }
65
- }
66
- }, [sendMessage, canSendMessage, input]);
67
- const onInputChange = React.useCallback((e) => {
68
- setInput(e.target.value);
69
- }, []);
70
- return (React__default.default.createElement("div", { className: cssClasses.container },
71
- React__default.default.createElement(TextareaAutosize__default.default, { autoFocus: inputAutoFocus, onKeyDown: handleKeyDown, value: input, onChange: onInputChange, className: cssClasses.textArea, placeholder: placeholder }),
72
- React__default.default.createElement("button", { "aria-label": "Send Message", disabled: !canSendMessage || input.trim().length === 0, onClick: sendMessage, className: cssClasses.sendButton }, sendButtonIcon)));
73
- }
74
-
75
- exports.ChatInput = ChatInput;
76
- //# sourceMappingURL=ChatInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatInput.js","sources":["../../../../src/components/ChatInput.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { useChatState } from \"@yext/chat-headless-react\";\nimport { ArrowIcon } from \"../icons/Arrow\";\nimport { useComposedCssClasses } from \"../hooks\";\nimport TextareaAutosize from \"react-textarea-autosize\";\nimport { useDefaultHandleApiError } from \"../hooks/useDefaultHandleApiError\";\nimport { withStylelessCssClasses } from \"../utils/withStylelessCssClasses\";\nimport { useSendMessageWithRetries } from \"../hooks/useSendMessageWithRetries\";\n\n/**\n * The CSS class interface for the {@link ChatInput} component.\n *\n * @public\n */\nexport interface ChatInputCssClasses {\n container?: string;\n textArea?: string;\n sendButton?: string;\n}\n\nconst builtInCssClasses: ChatInputCssClasses = withStylelessCssClasses(\n \"Input\",\n {\n container: \"w-full h-fit flex flex-row relative @container\",\n textArea:\n \"w-full p-4 pr-12 border border-slate-300 rounded-3xl resize-none text-[13px] @[480px]:text-base placeholder:text-[13px] placeholder:@[480px]:text-base text-slate-900\",\n sendButton:\n \"rounded-full p-1.5 w-8 h-8 stroke-2 text-white bg-blue-600 disabled:bg-slate-200 hover:bg-blue-800 active:scale-90 transition-all absolute right-4 bottom-2.5 @[480px]:bottom-3.5\",\n }\n);\n\n/**\n * The props for the {@link ChatInput} component.\n *\n * @public\n */\nexport interface ChatInputProps {\n /**\n * The input's placeholder text when no text has been entered by the user.\n * Defaults to \"Type a message...\".\n */\n placeholder?: string;\n /**\n * Enable streaming behavior by making a request to Chat Streaming API.\n * This feature is experimental, and is subject to change.\n * Defaults to false.\n */\n stream?: boolean;\n /** Enable auto focus for the input box. Defaults to false. */\n inputAutoFocus?: boolean;\n /**\n * A function which is called when an error occurs from Chat API while processing the user's message.\n * By default, the error is logged to the console and an error message is added to state.\n */\n handleError?: (e: unknown) => void;\n /** Custom icon for the send button. */\n sendButtonIcon?: JSX.Element;\n /** CSS classes for customizing the component styling. */\n customCssClasses?: ChatInputCssClasses;\n /** A callback which is called when user sends a message. */\n onSend?: (message: string) => void;\n /**\n * A function which is called when a retryable error occurs from\n * Chat API while processing the user's message.\n */\n onRetry?: (e: unknown) => void;\n}\n\n/**\n * A component that allows user to input message and send to Chat API.\n *\n * @remarks\n * Pressing \"Enter\" key will send the current message.\n * To add a newline, press \"Shift\" and \"Enter\".\n *\n * @public\n *\n * @param props - {@link ChatInputProps}\n */\nexport function ChatInput({\n placeholder = \"Type a message...\",\n stream = false,\n inputAutoFocus = true,\n handleError,\n sendButtonIcon = <ArrowIcon />,\n customCssClasses,\n onSend,\n onRetry,\n}: ChatInputProps) {\n const [input, setInput] = useState(\"\");\n const canSendMessage = useChatState(\n (state) => state.conversation.canSendMessage\n );\n const defaultHandleApiError = useDefaultHandleApiError();\n const sendMessageWithRetries = useSendMessageWithRetries(stream, 1, onRetry);\n const cssClasses = useComposedCssClasses(builtInCssClasses, customCssClasses);\n\n const sendMessage = useCallback(async () => {\n setInput(\"\");\n sendMessageWithRetries(input)\n .catch(handleError ?? defaultHandleApiError)\n .finally(() => {\n onSend?.(input);\n });\n }, [\n sendMessageWithRetries,\n input,\n handleError,\n defaultHandleApiError,\n onSend,\n ]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (\n !e.shiftKey &&\n e.key === \"Enter\" &&\n // The Japanese Keyboard uses \"Enter\" key to convert from Hiragana to Kanji.\n // \"isComposing\" is a flag that indicates whether the event is part of an ongoing composition session.\n // Safari does not support `isComposing` with the Japanese IME event,\n // so we have to additionally check for the keyCode to handle that edge case.\n !(e.nativeEvent.isComposing || e.keyCode === 229)\n ) {\n e.preventDefault();\n if (canSendMessage && input.trim().length !== 0) {\n sendMessage();\n }\n }\n },\n [sendMessage, canSendMessage, input]\n );\n\n const onInputChange = useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n setInput(e.target.value);\n },\n []\n );\n\n return (\n <div className={cssClasses.container}>\n <TextareaAutosize\n autoFocus={inputAutoFocus}\n onKeyDown={handleKeyDown}\n value={input}\n onChange={onInputChange}\n className={cssClasses.textArea}\n placeholder={placeholder}\n />\n <button\n aria-label=\"Send Message\"\n disabled={!canSendMessage || input.trim().length === 0}\n onClick={sendMessage}\n className={cssClasses.sendButton}\n >\n {sendButtonIcon}\n </button>\n </div>\n );\n}\n"],"names":["withStylelessCssClasses","React","ArrowIcon","useState","useChatState","useDefaultHandleApiError","useSendMessageWithRetries","useComposedCssClasses","useCallback","TextareaAutosize"],"mappings":";;;;;;;;;;;;;;;;AAoBA,MAAM,iBAAiB,GAAwBA,+CAAuB,CACpE,OAAO,EACP;AACE,IAAA,SAAS,EAAE,gDAAgD;AAC3D,IAAA,QAAQ,EACN,uKAAuK;AACzK,IAAA,UAAU,EACR,mLAAmL;AACtL,CAAA,CACF,CAAC;AAuCF;;;;;;;;;;AAUG;AACa,SAAA,SAAS,CAAC,EACxB,WAAW,GAAG,mBAAmB,EACjC,MAAM,GAAG,KAAK,EACd,cAAc,GAAG,IAAI,EACrB,WAAW,EACX,cAAc,GAAGC,sBAAC,CAAA,aAAA,CAAAC,eAAS,EAAG,IAAA,CAAA,EAC9B,gBAAgB,EAChB,MAAM,EACN,OAAO,GACQ,EAAA;IACf,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGC,cAAQ,CAAC,EAAE,CAAC,CAAC;AACvC,IAAA,MAAM,cAAc,GAAGC,8BAAY,CACjC,CAAC,KAAK,KAAK,KAAK,CAAC,YAAY,CAAC,cAAc,CAC7C,CAAC;AACF,IAAA,MAAM,qBAAqB,GAAGC,iDAAwB,EAAE,CAAC;IACzD,MAAM,sBAAsB,GAAGC,mDAAyB,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAGC,2CAAqB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;AAE9E,IAAA,MAAM,WAAW,GAAGC,iBAAW,CAAC,YAAW;QACzC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,sBAAsB,CAAC,KAAK,CAAC;AAC1B,aAAA,KAAK,CAAC,WAAW,IAAI,qBAAqB,CAAC;aAC3C,OAAO,CAAC,MAAK;AACZ,YAAA,MAAM,GAAG,KAAK,CAAC,CAAC;AAClB,SAAC,CAAC,CAAC;AACP,KAAC,EAAE;QACD,sBAAsB;QACtB,KAAK;QACL,WAAW;QACX,qBAAqB;QACrB,MAAM;AACP,KAAA,CAAC,CAAC;AAEH,IAAA,MAAM,aAAa,GAAGA,iBAAW,CAC/B,CAAC,CAA2C,KAAI;QAC9C,IACE,CAAC,CAAC,CAAC,QAAQ;YACX,CAAC,CAAC,GAAG,KAAK,OAAO;;;;;AAKjB,YAAA,EAAE,CAAC,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,EACjD;YACA,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,cAAc,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;AAC/C,gBAAA,WAAW,EAAE,CAAC;AACf,aAAA;AACF,SAAA;KACF,EACD,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC,CACrC,CAAC;AAEF,IAAA,MAAM,aAAa,GAAGA,iBAAW,CAC/B,CAAC,CAAyC,KAAI;AAC5C,QAAA,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC1B,EACD,EAAE,CACH,CAAC;AAEF,IAAA,QACEP,sBAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,SAAS,EAAA;QAClCA,sBAAC,CAAA,aAAA,CAAAQ,iCAAgB,EACf,EAAA,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,UAAU,CAAC,QAAQ,EAC9B,WAAW,EAAE,WAAW,EACxB,CAAA;AACF,QAAAR,sBAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAA,YAAA,EACa,cAAc,EACzB,QAAQ,EAAE,CAAC,cAAc,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EACtD,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,UAAU,CAAC,UAAU,EAE/B,EAAA,cAAc,CACR,CACL,EACN;AACJ;;;;"}
@@ -1,74 +0,0 @@
1
- import React, { ReactNode } from "react";
2
- import { MessageBubbleCssClasses, MessageBubbleProps } from "./MessageBubble";
3
- import { ChatInputCssClasses, ChatInputProps } from "./ChatInput";
4
- import { MessageSuggestionCssClasses } from "./MessageSuggestions";
5
- /**
6
- * The CSS class interface for the {@link ChatPanel} component.
7
- *
8
- * @public
9
- */
10
- export interface ChatPanelCssClasses {
11
- container?: string;
12
- messagesContainer?: string;
13
- messagesScrollContainer?: string;
14
- inputContainer?: string;
15
- inputCssClasses?: ChatInputCssClasses;
16
- messageBubbleCssClasses?: MessageBubbleCssClasses;
17
- messageSuggestionClasses?: MessageSuggestionCssClasses;
18
- footer?: string;
19
- }
20
- /**
21
- * The props for the {@link ChatPanel} component.
22
- *
23
- * @public
24
- */
25
- export interface ChatPanelProps extends Omit<MessageBubbleProps, "customCssClasses" | "message">, Omit<ChatInputProps, "customCssClasses"> {
26
- /** A header to render at the top of the panel. */
27
- header?: ReactNode;
28
- /** A footer markdown string to render at the bottom of the panel. */
29
- footer?: string;
30
- /**
31
- * CSS classes for customizing the component styling.
32
- */
33
- customCssClasses?: ChatPanelCssClasses;
34
- /**
35
- * A set of pre-written initial messages that the user
36
- * can click on instead of typing their own.
37
- */
38
- messageSuggestions?: string[];
39
- /** Link target open behavior on click.
40
- * Defaults to "_blank".
41
- */
42
- linkTarget?: string;
43
- /** A callback which is called when user clicks a link. */
44
- onLinkClick?: (href?: string) => void;
45
- /**
46
- * Text to display when retrying.
47
- * Defaults to "Error occurred. Retrying".
48
- */
49
- retryText?: string;
50
- }
51
- /**
52
- * A component that renders a full panel for chat bot interactions. This includes
53
- * the message bubbles for the conversation, input box with send button, and header
54
- * (if provided).
55
- *
56
- * @public
57
- *
58
- * @param props - {@link ChatPanelProps}
59
- */
60
- export declare function ChatPanel(props: ChatPanelProps): React.JSX.Element;
61
- export declare function getStateLocalStorageKey(hostname: string, conversationId: string): string;
62
- /**
63
- * Maintains the panel state of the session.
64
- */
65
- export interface PanelState {
66
- /** The scroll position of the panel. */
67
- scrollPosition?: number;
68
- }
69
- /**
70
- * Loads the {@link PanelState} from local storage.
71
- */
72
- export declare const loadSessionState: (conversationId: string) => PanelState;
73
- export declare const saveSessionState: (conversationId: string, state: PanelState) => void;
74
- //# sourceMappingURL=ChatPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/ChatPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,SAAS,EAOV,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAa,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAM7E,OAAO,EACL,2BAA2B,EAE5B,MAAM,sBAAsB,CAAC;AAG9B;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,wBAAwB,CAAC,EAAE,2BAA2B,CAAC;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiBD;;;;GAIG;AACH,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAC,EAC9D,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC;IAC1C,kDAAkD;IAClD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,qBA6L9C;AAID,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,MAAM,CAER;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,mBAAoB,MAAM,KAAG,UAsBzD,CAAC;AAEF,eAAO,MAAM,gBAAgB,mBAAoB,MAAM,SAAS,UAAU,SASzE,CAAC"}