@athoscommerce/snap-preact 1.13.2 → 1.13.3-beta.187

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 (403) hide show
  1. package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +99 -0
  2. package/dist/cjs/components/src/components/Atoms/ChatLoadingIndicator/index.js +17 -0
  3. package/dist/cjs/components/src/components/Atoms/Dropdown/Dropdown.js +56 -11
  4. package/dist/cjs/components/src/components/Atoms/Icon/paths.js +13 -0
  5. package/dist/cjs/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.js +221 -0
  6. package/dist/cjs/components/src/components/Molecules/ChatAttachmentContext/index.js +17 -0
  7. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +211 -0
  8. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/index.js +17 -0
  9. package/dist/cjs/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +259 -0
  10. package/dist/cjs/components/src/components/Molecules/ChatMessageText/index.js +17 -0
  11. package/dist/cjs/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +286 -0
  12. package/dist/cjs/components/src/components/Molecules/ChatMessageUser/index.js +17 -0
  13. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +174 -0
  14. package/dist/cjs/components/src/components/Molecules/ChatProductComparisonMessage/index.js +17 -0
  15. package/dist/cjs/components/src/components/Molecules/ChatQuickview/ChatQuickview.js +514 -0
  16. package/dist/cjs/components/src/components/Molecules/ChatQuickview/index.js +17 -0
  17. package/dist/cjs/components/src/components/Molecules/ChatResult/ChatResult.js +252 -0
  18. package/dist/cjs/components/src/components/Molecules/ChatResult/index.js +17 -0
  19. package/dist/cjs/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.js +113 -0
  20. package/dist/cjs/components/src/components/Molecules/ChatResultsDisplay/index.js +17 -0
  21. package/dist/cjs/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.js +107 -0
  22. package/dist/cjs/components/src/components/Molecules/ChatSuggestedQuestions/index.js +17 -0
  23. package/dist/cjs/components/src/components/Molecules/Result/Result.js +51 -4
  24. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.js +28 -2
  25. package/dist/cjs/components/src/components/Molecules/Slideout/Slideout.js +24 -28
  26. package/dist/cjs/components/src/components/Molecules/Slideshow/Slideshow.js +88 -47
  27. package/dist/cjs/components/src/components/Molecules/TabSelection/TabSelection.js +5 -3
  28. package/dist/cjs/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +8 -1
  29. package/dist/cjs/components/src/components/Organisms/Chat/Chat.js +628 -0
  30. package/dist/cjs/components/src/components/Organisms/Chat/Chat.lang.js +110 -0
  31. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatAttachments.js +105 -0
  32. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatComparisonsTray.js +161 -0
  33. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatComposer.js +166 -0
  34. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatFacetsBar.js +369 -0
  35. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatHistory.js +130 -0
  36. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatMessages.js +218 -0
  37. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatSessionFeedback.js +123 -0
  38. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatSideChat.js +173 -0
  39. package/dist/cjs/components/src/components/Organisms/Chat/components/ChatTopicDrift.js +149 -0
  40. package/dist/cjs/components/src/components/Organisms/Chat/components/chatAccentTheme.js +62 -0
  41. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatFileUpload.js +66 -0
  42. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatGestures.js +96 -0
  43. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatOverflow.js +113 -0
  44. package/dist/cjs/components/src/components/Organisms/Chat/hooks/useChatScrollLock.js +135 -0
  45. package/dist/cjs/components/src/components/Organisms/Chat/index.js +18 -0
  46. package/dist/cjs/components/src/components/Organisms/ChatButton/ChatButton.js +94 -0
  47. package/dist/cjs/components/src/components/Organisms/ChatButton/ChatButton.lang.js +11 -0
  48. package/dist/cjs/components/src/components/Organisms/ChatButton/index.js +18 -0
  49. package/dist/cjs/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +44 -11
  50. package/dist/cjs/components/src/components/Organisms/Results/Results.js +1 -1
  51. package/dist/cjs/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +5 -0
  52. package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +5 -0
  53. package/dist/cjs/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +5 -0
  54. package/dist/cjs/components/src/components/Templates/Chat/Chat.js +47 -0
  55. package/dist/cjs/components/src/components/Templates/Chat/index.js +17 -0
  56. package/dist/cjs/components/src/components/Templates/ChatButton/ChatButton.js +47 -0
  57. package/dist/cjs/components/src/components/Templates/ChatButton/index.js +17 -0
  58. package/dist/cjs/components/src/components/Templates/Search/Search.js +9 -1
  59. package/dist/cjs/components/src/index.js +17 -1
  60. package/dist/cjs/components/src/providers/themeComponents.js +20 -0
  61. package/dist/cjs/components/src/themes/base/components/templates/chat.js +6 -0
  62. package/dist/cjs/components/src/themes/base/components/templates/chatButton.js +6 -0
  63. package/dist/cjs/components/src/themes/base/components/templates/index.js +10 -0
  64. package/dist/cjs/components/src/themes/bocachica/components/templates/chat.js +6 -0
  65. package/dist/cjs/components/src/themes/bocachica/components/templates/chatButton.js +6 -0
  66. package/dist/cjs/components/src/themes/bocachica/components/templates/index.js +10 -0
  67. package/dist/cjs/components/src/themes/pike/components/templates/chat.js +6 -0
  68. package/dist/cjs/components/src/themes/pike/components/templates/chatButton.js +6 -0
  69. package/dist/cjs/components/src/themes/pike/components/templates/index.js +10 -0
  70. package/dist/cjs/components/src/themes/snapnco/components/templates/chat.js +6 -0
  71. package/dist/cjs/components/src/themes/snapnco/components/templates/chatButton.js +6 -0
  72. package/dist/cjs/components/src/themes/snapnco/components/templates/index.js +10 -0
  73. package/dist/cjs/components/src/themes/snappy/components/templates/chat.js +6 -0
  74. package/dist/cjs/components/src/themes/snappy/components/templates/chatButton.js +6 -0
  75. package/dist/cjs/components/src/themes/snappy/components/templates/index.js +10 -0
  76. package/dist/cjs/components/src/themes/themeComponents/chat.js +14 -0
  77. package/dist/cjs/components/src/themes/themeComponents/chatButton.js +9 -0
  78. package/dist/cjs/components/src/utilities/Colour/Colour.js +41 -0
  79. package/dist/cjs/components/src/utilities/snapify.js +27 -0
  80. package/dist/cjs/src/Instantiators/RecommendationInstantiator.js +4 -1
  81. package/dist/cjs/src/Snap.js +83 -1
  82. package/dist/cjs/src/Templates/SnapTemplates.js +55 -5
  83. package/dist/cjs/src/Templates/Stores/LibraryStore.js +51 -1
  84. package/dist/cjs/src/Templates/Stores/TemplateStore.js +3 -3
  85. package/dist/cjs/src/Templates/Stores/library/components/Chat.js +5 -0
  86. package/dist/cjs/src/Templates/Stores/library/components/ChatButton.js +5 -0
  87. package/dist/cjs/src/Templates/Stores/library/languages/ar.js +485 -0
  88. package/dist/cjs/src/Templates/Stores/library/languages/de.js +485 -0
  89. package/dist/cjs/src/Templates/Stores/library/languages/es.js +490 -0
  90. package/dist/cjs/src/Templates/Stores/library/languages/fr.js +490 -0
  91. package/dist/cjs/src/Templates/Stores/library/languages/hi.js +485 -0
  92. package/dist/cjs/src/Templates/Stores/library/languages/it.js +485 -0
  93. package/dist/cjs/src/Templates/Stores/library/languages/ja.js +485 -0
  94. package/dist/cjs/src/Templates/Stores/library/languages/ko.js +485 -0
  95. package/dist/cjs/src/Templates/Stores/library/languages/nl.js +485 -0
  96. package/dist/cjs/src/Templates/Stores/library/languages/pt.js +485 -0
  97. package/dist/cjs/src/Templates/Stores/library/languages/ru.js +485 -0
  98. package/dist/cjs/src/Templates/Stores/library/languages/tr.js +485 -0
  99. package/dist/cjs/src/Templates/Stores/library/languages/vi.js +485 -0
  100. package/dist/cjs/src/Templates/Stores/library/languages/zh.js +485 -0
  101. package/dist/cjs/src/create/createChatController.js +31 -0
  102. package/dist/cjs/src/create/index.js +3 -1
  103. package/dist/cjs/src/setupEvents.js +44 -0
  104. package/dist/cjs/src/utils/applyChatTargetInject.js +25 -0
  105. package/dist/cjs/src/utils/index.js +3 -1
  106. package/dist/esm/components/src/components/Atoms/Button/Button.d.ts +3 -1
  107. package/dist/esm/components/src/components/Atoms/Button/Button.d.ts.map +1 -1
  108. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts +17 -0
  109. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.d.ts.map +1 -0
  110. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/ChatLoadingIndicator.js +92 -0
  111. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts +2 -0
  112. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.d.ts.map +1 -0
  113. package/dist/esm/components/src/components/Atoms/ChatLoadingIndicator/index.js +1 -0
  114. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts +6 -1
  115. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.d.ts.map +1 -1
  116. package/dist/esm/components/src/components/Atoms/Dropdown/Dropdown.js +57 -12
  117. package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts +13 -0
  118. package/dist/esm/components/src/components/Atoms/Icon/paths.d.ts.map +1 -1
  119. package/dist/esm/components/src/components/Atoms/Icon/paths.js +13 -0
  120. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.d.ts +37 -0
  121. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.d.ts.map +1 -0
  122. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/ChatAttachmentContext.js +215 -0
  123. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.d.ts +2 -0
  124. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.d.ts.map +1 -0
  125. package/dist/esm/components/src/components/Molecules/ChatAttachmentContext/index.js +1 -0
  126. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts +30 -0
  127. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts.map +1 -0
  128. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +205 -0
  129. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts +2 -0
  130. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.d.ts.map +1 -0
  131. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/index.js +1 -0
  132. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.d.ts +36 -0
  133. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.d.ts.map +1 -0
  134. package/dist/esm/components/src/components/Molecules/ChatMessageText/ChatMessageText.js +253 -0
  135. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.d.ts +2 -0
  136. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.d.ts.map +1 -0
  137. package/dist/esm/components/src/components/Molecules/ChatMessageText/index.js +1 -0
  138. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.d.ts +52 -0
  139. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.d.ts.map +1 -0
  140. package/dist/esm/components/src/components/Molecules/ChatMessageUser/ChatMessageUser.js +280 -0
  141. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.d.ts +2 -0
  142. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.d.ts.map +1 -0
  143. package/dist/esm/components/src/components/Molecules/ChatMessageUser/index.js +1 -0
  144. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts +25 -0
  145. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.d.ts.map +1 -0
  146. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/ChatProductComparisonMessage.js +168 -0
  147. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts +2 -0
  148. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.d.ts.map +1 -0
  149. package/dist/esm/components/src/components/Molecules/ChatProductComparisonMessage/index.js +1 -0
  150. package/dist/esm/components/src/components/Molecules/ChatQuickview/ChatQuickview.d.ts +30 -0
  151. package/dist/esm/components/src/components/Molecules/ChatQuickview/ChatQuickview.d.ts.map +1 -0
  152. package/dist/esm/components/src/components/Molecules/ChatQuickview/ChatQuickview.js +508 -0
  153. package/dist/esm/components/src/components/Molecules/ChatQuickview/index.d.ts +2 -0
  154. package/dist/esm/components/src/components/Molecules/ChatQuickview/index.d.ts.map +1 -0
  155. package/dist/esm/components/src/components/Molecules/ChatQuickview/index.js +1 -0
  156. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.d.ts +35 -0
  157. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.d.ts.map +1 -0
  158. package/dist/esm/components/src/components/Molecules/ChatResult/ChatResult.js +246 -0
  159. package/dist/esm/components/src/components/Molecules/ChatResult/index.d.ts +2 -0
  160. package/dist/esm/components/src/components/Molecules/ChatResult/index.d.ts.map +1 -0
  161. package/dist/esm/components/src/components/Molecules/ChatResult/index.js +1 -0
  162. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.d.ts +24 -0
  163. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.d.ts.map +1 -0
  164. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/ChatResultsDisplay.js +107 -0
  165. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.d.ts +2 -0
  166. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.d.ts.map +1 -0
  167. package/dist/esm/components/src/components/Molecules/ChatResultsDisplay/index.js +1 -0
  168. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.d.ts +16 -0
  169. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.d.ts.map +1 -0
  170. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/ChatSuggestedQuestions.js +101 -0
  171. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.d.ts +2 -0
  172. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.d.ts.map +1 -0
  173. package/dist/esm/components/src/components/Molecules/ChatSuggestedQuestions/index.js +1 -0
  174. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts +2 -2
  175. package/dist/esm/components/src/components/Molecules/OverlayBadge/OverlayBadge.d.ts.map +1 -1
  176. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts +7 -3
  177. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
  178. package/dist/esm/components/src/components/Molecules/Result/Result.js +51 -4
  179. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts +3 -0
  180. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
  181. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.js +28 -2
  182. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.d.ts.map +1 -1
  183. package/dist/esm/components/src/components/Molecules/Slideout/Slideout.js +25 -29
  184. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts.map +1 -1
  185. package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.js +88 -47
  186. package/dist/esm/components/src/components/Molecules/TabSelection/TabSelection.d.ts.map +1 -1
  187. package/dist/esm/components/src/components/Molecules/TabSelection/TabSelection.js +5 -3
  188. package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts.map +1 -1
  189. package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +8 -1
  190. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts +41 -0
  191. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts.map +1 -0
  192. package/dist/esm/components/src/components/Organisms/Chat/Chat.js +622 -0
  193. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts +79 -0
  194. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.d.ts.map +1 -0
  195. package/dist/esm/components/src/components/Organisms/Chat/Chat.lang.js +105 -0
  196. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.d.ts +26 -0
  197. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.d.ts.map +1 -0
  198. package/dist/esm/components/src/components/Organisms/Chat/components/ChatAttachments.js +99 -0
  199. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.d.ts +13 -0
  200. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.d.ts.map +1 -0
  201. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComparisonsTray.js +155 -0
  202. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.d.ts +19 -0
  203. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.d.ts.map +1 -0
  204. package/dist/esm/components/src/components/Organisms/Chat/components/ChatComposer.js +160 -0
  205. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.d.ts +18 -0
  206. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.d.ts.map +1 -0
  207. package/dist/esm/components/src/components/Organisms/Chat/components/ChatFacetsBar.js +363 -0
  208. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.d.ts +11 -0
  209. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.d.ts.map +1 -0
  210. package/dist/esm/components/src/components/Organisms/Chat/components/ChatHistory.js +124 -0
  211. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.d.ts +30 -0
  212. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.d.ts.map +1 -0
  213. package/dist/esm/components/src/components/Organisms/Chat/components/ChatMessages.js +212 -0
  214. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.d.ts +13 -0
  215. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.d.ts.map +1 -0
  216. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSessionFeedback.js +117 -0
  217. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.d.ts +19 -0
  218. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.d.ts.map +1 -0
  219. package/dist/esm/components/src/components/Organisms/Chat/components/ChatSideChat.js +167 -0
  220. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.d.ts +14 -0
  221. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.d.ts.map +1 -0
  222. package/dist/esm/components/src/components/Organisms/Chat/components/ChatTopicDrift.js +143 -0
  223. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.d.ts +15 -0
  224. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.d.ts.map +1 -0
  225. package/dist/esm/components/src/components/Organisms/Chat/components/chatAccentTheme.js +58 -0
  226. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.d.ts +32 -0
  227. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.d.ts.map +1 -0
  228. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatFileUpload.js +62 -0
  229. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.d.ts +40 -0
  230. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.d.ts.map +1 -0
  231. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatGestures.js +92 -0
  232. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.d.ts +43 -0
  233. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.d.ts.map +1 -0
  234. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatOverflow.js +109 -0
  235. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.d.ts +26 -0
  236. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.d.ts.map +1 -0
  237. package/dist/esm/components/src/components/Organisms/Chat/hooks/useChatScrollLock.js +131 -0
  238. package/dist/esm/components/src/components/Organisms/Chat/index.d.ts +3 -0
  239. package/dist/esm/components/src/components/Organisms/Chat/index.d.ts.map +1 -0
  240. package/dist/esm/components/src/components/Organisms/Chat/index.js +2 -0
  241. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.d.ts +18 -0
  242. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.d.ts.map +1 -0
  243. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.js +88 -0
  244. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.d.ts +7 -0
  245. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.d.ts.map +1 -0
  246. package/dist/esm/components/src/components/Organisms/ChatButton/ChatButton.lang.js +8 -0
  247. package/dist/esm/components/src/components/Organisms/ChatButton/index.d.ts +3 -0
  248. package/dist/esm/components/src/components/Organisms/ChatButton/index.d.ts.map +1 -0
  249. package/dist/esm/components/src/components/Organisms/ChatButton/index.js +2 -0
  250. package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.d.ts +5 -1
  251. package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.d.ts.map +1 -1
  252. package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +44 -11
  253. package/dist/esm/components/src/components/Organisms/Results/Results.js +1 -1
  254. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.d.ts.map +1 -1
  255. package/dist/esm/components/src/components/Templates/AutocompleteFixed/AutocompleteFixed.js +5 -0
  256. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
  257. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +5 -0
  258. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.d.ts.map +1 -1
  259. package/dist/esm/components/src/components/Templates/AutocompleteSlideout/AutocompleteSlideout.js +5 -0
  260. package/dist/esm/components/src/components/Templates/Chat/Chat.d.ts +12 -0
  261. package/dist/esm/components/src/components/Templates/Chat/Chat.d.ts.map +1 -0
  262. package/dist/esm/components/src/components/Templates/Chat/Chat.js +41 -0
  263. package/dist/esm/components/src/components/Templates/Chat/index.d.ts +2 -0
  264. package/dist/esm/components/src/components/Templates/Chat/index.d.ts.map +1 -0
  265. package/dist/esm/components/src/components/Templates/Chat/index.js +1 -0
  266. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.d.ts +13 -0
  267. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.d.ts.map +1 -0
  268. package/dist/esm/components/src/components/Templates/ChatButton/ChatButton.js +41 -0
  269. package/dist/esm/components/src/components/Templates/ChatButton/index.d.ts +2 -0
  270. package/dist/esm/components/src/components/Templates/ChatButton/index.d.ts.map +1 -0
  271. package/dist/esm/components/src/components/Templates/ChatButton/index.js +1 -0
  272. package/dist/esm/components/src/components/Templates/Search/Search.d.ts.map +1 -1
  273. package/dist/esm/components/src/components/Templates/Search/Search.js +9 -1
  274. package/dist/esm/components/src/index.d.ts +14 -0
  275. package/dist/esm/components/src/index.d.ts.map +1 -1
  276. package/dist/esm/components/src/index.js +14 -0
  277. package/dist/esm/components/src/providers/langComponents.d.ts +20 -0
  278. package/dist/esm/components/src/providers/langComponents.d.ts.map +1 -1
  279. package/dist/esm/components/src/providers/themeComponents.d.ts +203 -1
  280. package/dist/esm/components/src/providers/themeComponents.d.ts.map +1 -1
  281. package/dist/esm/components/src/providers/themeComponents.js +20 -0
  282. package/dist/esm/components/src/providers/withTracking.d.ts +2 -2
  283. package/dist/esm/components/src/providers/withTracking.d.ts.map +1 -1
  284. package/dist/esm/components/src/themes/base/components/templates/chat.d.ts +4 -0
  285. package/dist/esm/components/src/themes/base/components/templates/chat.d.ts.map +1 -0
  286. package/dist/esm/components/src/themes/base/components/templates/chat.js +3 -0
  287. package/dist/esm/components/src/themes/base/components/templates/chatButton.d.ts +4 -0
  288. package/dist/esm/components/src/themes/base/components/templates/chatButton.d.ts.map +1 -0
  289. package/dist/esm/components/src/themes/base/components/templates/chatButton.js +3 -0
  290. package/dist/esm/components/src/themes/base/components/templates/index.d.ts.map +1 -1
  291. package/dist/esm/components/src/themes/base/components/templates/index.js +10 -0
  292. package/dist/esm/components/src/themes/bocachica/components/templates/chat.d.ts +4 -0
  293. package/dist/esm/components/src/themes/bocachica/components/templates/chat.d.ts.map +1 -0
  294. package/dist/esm/components/src/themes/bocachica/components/templates/chat.js +3 -0
  295. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.d.ts +4 -0
  296. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.d.ts.map +1 -0
  297. package/dist/esm/components/src/themes/bocachica/components/templates/chatButton.js +3 -0
  298. package/dist/esm/components/src/themes/bocachica/components/templates/index.d.ts.map +1 -1
  299. package/dist/esm/components/src/themes/bocachica/components/templates/index.js +10 -0
  300. package/dist/esm/components/src/themes/pike/components/templates/chat.d.ts +4 -0
  301. package/dist/esm/components/src/themes/pike/components/templates/chat.d.ts.map +1 -0
  302. package/dist/esm/components/src/themes/pike/components/templates/chat.js +3 -0
  303. package/dist/esm/components/src/themes/pike/components/templates/chatButton.d.ts +4 -0
  304. package/dist/esm/components/src/themes/pike/components/templates/chatButton.d.ts.map +1 -0
  305. package/dist/esm/components/src/themes/pike/components/templates/chatButton.js +3 -0
  306. package/dist/esm/components/src/themes/pike/components/templates/index.d.ts.map +1 -1
  307. package/dist/esm/components/src/themes/pike/components/templates/index.js +10 -0
  308. package/dist/esm/components/src/themes/snapnco/components/templates/chat.d.ts +4 -0
  309. package/dist/esm/components/src/themes/snapnco/components/templates/chat.d.ts.map +1 -0
  310. package/dist/esm/components/src/themes/snapnco/components/templates/chat.js +3 -0
  311. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.d.ts +4 -0
  312. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.d.ts.map +1 -0
  313. package/dist/esm/components/src/themes/snapnco/components/templates/chatButton.js +3 -0
  314. package/dist/esm/components/src/themes/snapnco/components/templates/index.d.ts.map +1 -1
  315. package/dist/esm/components/src/themes/snapnco/components/templates/index.js +10 -0
  316. package/dist/esm/components/src/themes/snappy/components/templates/chat.d.ts +4 -0
  317. package/dist/esm/components/src/themes/snappy/components/templates/chat.d.ts.map +1 -0
  318. package/dist/esm/components/src/themes/snappy/components/templates/chat.js +3 -0
  319. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.d.ts +4 -0
  320. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.d.ts.map +1 -0
  321. package/dist/esm/components/src/themes/snappy/components/templates/chatButton.js +3 -0
  322. package/dist/esm/components/src/themes/snappy/components/templates/index.d.ts.map +1 -1
  323. package/dist/esm/components/src/themes/snappy/components/templates/index.js +10 -0
  324. package/dist/esm/components/src/themes/themeComponents/chat.d.ts +4 -0
  325. package/dist/esm/components/src/themes/themeComponents/chat.d.ts.map +1 -0
  326. package/dist/esm/components/src/themes/themeComponents/chat.js +11 -0
  327. package/dist/esm/components/src/themes/themeComponents/chatButton.d.ts +4 -0
  328. package/dist/esm/components/src/themes/themeComponents/chatButton.d.ts.map +1 -0
  329. package/dist/esm/components/src/themes/themeComponents/chatButton.js +6 -0
  330. package/dist/esm/components/src/utilities/Colour/Colour.d.ts +15 -0
  331. package/dist/esm/components/src/utilities/Colour/Colour.d.ts.map +1 -1
  332. package/dist/esm/components/src/utilities/Colour/Colour.js +41 -0
  333. package/dist/esm/components/src/utilities/snapify.d.ts +3 -2
  334. package/dist/esm/components/src/utilities/snapify.d.ts.map +1 -1
  335. package/dist/esm/components/src/utilities/snapify.js +29 -2
  336. package/dist/esm/src/Instantiators/RecommendationInstantiator.d.ts +4 -1
  337. package/dist/esm/src/Instantiators/RecommendationInstantiator.d.ts.map +1 -1
  338. package/dist/esm/src/Instantiators/RecommendationInstantiator.js +4 -1
  339. package/dist/esm/src/Snap.d.ts +3 -1
  340. package/dist/esm/src/Snap.d.ts.map +1 -1
  341. package/dist/esm/src/Snap.js +84 -2
  342. package/dist/esm/src/Templates/SnapTemplates.d.ts +2 -1
  343. package/dist/esm/src/Templates/SnapTemplates.d.ts.map +1 -1
  344. package/dist/esm/src/Templates/SnapTemplates.js +54 -5
  345. package/dist/esm/src/Templates/Stores/LibraryStore.d.ts +43 -0
  346. package/dist/esm/src/Templates/Stores/LibraryStore.d.ts.map +1 -1
  347. package/dist/esm/src/Templates/Stores/LibraryStore.js +51 -1
  348. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts +20 -6
  349. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
  350. package/dist/esm/src/Templates/Stores/TemplateStore.js +3 -3
  351. package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts +2 -0
  352. package/dist/esm/src/Templates/Stores/library/components/Chat.d.ts.map +1 -0
  353. package/dist/esm/src/Templates/Stores/library/components/Chat.js +1 -0
  354. package/dist/esm/src/Templates/Stores/library/components/ChatButton.d.ts +2 -0
  355. package/dist/esm/src/Templates/Stores/library/components/ChatButton.d.ts.map +1 -0
  356. package/dist/esm/src/Templates/Stores/library/components/ChatButton.js +1 -0
  357. package/dist/esm/src/Templates/Stores/library/languages/ar.d.ts.map +1 -1
  358. package/dist/esm/src/Templates/Stores/library/languages/ar.js +485 -0
  359. package/dist/esm/src/Templates/Stores/library/languages/de.d.ts.map +1 -1
  360. package/dist/esm/src/Templates/Stores/library/languages/de.js +485 -0
  361. package/dist/esm/src/Templates/Stores/library/languages/es.d.ts.map +1 -1
  362. package/dist/esm/src/Templates/Stores/library/languages/es.js +490 -0
  363. package/dist/esm/src/Templates/Stores/library/languages/fr.d.ts.map +1 -1
  364. package/dist/esm/src/Templates/Stores/library/languages/fr.js +490 -0
  365. package/dist/esm/src/Templates/Stores/library/languages/hi.d.ts.map +1 -1
  366. package/dist/esm/src/Templates/Stores/library/languages/hi.js +485 -0
  367. package/dist/esm/src/Templates/Stores/library/languages/it.d.ts.map +1 -1
  368. package/dist/esm/src/Templates/Stores/library/languages/it.js +485 -0
  369. package/dist/esm/src/Templates/Stores/library/languages/ja.d.ts.map +1 -1
  370. package/dist/esm/src/Templates/Stores/library/languages/ja.js +485 -0
  371. package/dist/esm/src/Templates/Stores/library/languages/ko.d.ts.map +1 -1
  372. package/dist/esm/src/Templates/Stores/library/languages/ko.js +485 -0
  373. package/dist/esm/src/Templates/Stores/library/languages/nl.d.ts.map +1 -1
  374. package/dist/esm/src/Templates/Stores/library/languages/nl.js +485 -0
  375. package/dist/esm/src/Templates/Stores/library/languages/pt.d.ts.map +1 -1
  376. package/dist/esm/src/Templates/Stores/library/languages/pt.js +485 -0
  377. package/dist/esm/src/Templates/Stores/library/languages/ru.d.ts.map +1 -1
  378. package/dist/esm/src/Templates/Stores/library/languages/ru.js +485 -0
  379. package/dist/esm/src/Templates/Stores/library/languages/tr.d.ts.map +1 -1
  380. package/dist/esm/src/Templates/Stores/library/languages/tr.js +485 -0
  381. package/dist/esm/src/Templates/Stores/library/languages/vi.d.ts.map +1 -1
  382. package/dist/esm/src/Templates/Stores/library/languages/vi.js +485 -0
  383. package/dist/esm/src/Templates/Stores/library/languages/zh.d.ts.map +1 -1
  384. package/dist/esm/src/Templates/Stores/library/languages/zh.js +485 -0
  385. package/dist/esm/src/create/createChatController.d.ts +5 -0
  386. package/dist/esm/src/create/createChatController.d.ts.map +1 -0
  387. package/dist/esm/src/create/createChatController.js +29 -0
  388. package/dist/esm/src/create/index.d.ts +1 -0
  389. package/dist/esm/src/create/index.d.ts.map +1 -1
  390. package/dist/esm/src/create/index.js +1 -0
  391. package/dist/esm/src/setupEvents.d.ts +13 -0
  392. package/dist/esm/src/setupEvents.d.ts.map +1 -1
  393. package/dist/esm/src/setupEvents.js +44 -0
  394. package/dist/esm/src/types.d.ts +13 -3
  395. package/dist/esm/src/types.d.ts.map +1 -1
  396. package/dist/esm/src/utils/applyChatTargetInject.d.ts +3 -0
  397. package/dist/esm/src/utils/applyChatTargetInject.d.ts.map +1 -0
  398. package/dist/esm/src/utils/applyChatTargetInject.js +22 -0
  399. package/dist/esm/src/utils/index.d.ts +1 -0
  400. package/dist/esm/src/utils/index.d.ts.map +1 -1
  401. package/dist/esm/src/utils/index.js +1 -0
  402. package/eslint/src/validate-config.cjs +140 -98
  403. package/package.json +14 -12
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ChatLoadingIndicator = void 0;
7
+ const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
8
+ const hooks_1 = require("preact/hooks");
9
+ const react_1 = require("@emotion/react");
10
+ const classnames_1 = __importDefault(require("classnames"));
11
+ const deepmerge_1 = __importDefault(require("deepmerge"));
12
+ const providers_1 = require("../../../providers");
13
+ const utilities_1 = require("../../../utilities");
14
+ const hooks_2 = require("../../../hooks");
15
+ const DEFAULT_VERB_KEYS = ['thinkingVerb', 'searchingVerb', 'analyzingVerb', 'generatingVerb', 'processingVerb'];
16
+ const MIN_INTERVAL = 1000;
17
+ const MAX_INTERVAL = 5000;
18
+ const defaultStyles = () => {
19
+ return (0, react_1.css)({
20
+ padding: '1em 2em 0 2em',
21
+ display: 'flex',
22
+ alignItems: 'center',
23
+ gap: '8px',
24
+ color: '#666',
25
+ fontSize: '14px',
26
+ fontStyle: 'italic',
27
+ '.ss__chat-loading-indicator__verb': {
28
+ animation: 'ss-chat-loading-indicator-fade 0.5s ease-out',
29
+ },
30
+ '@keyframes ss-chat-loading-indicator-fade': {
31
+ '0%': {
32
+ opacity: 0,
33
+ transform: 'translateY(4px)',
34
+ },
35
+ '100%': {
36
+ opacity: 1,
37
+ transform: 'translateY(0)',
38
+ },
39
+ },
40
+ });
41
+ };
42
+ const ChatLoadingIndicator = (properties) => {
43
+ const globalTheme = (0, providers_1.useTheme)();
44
+ const globalTreePath = (0, providers_1.useTreePath)();
45
+ const defaultProps = {
46
+ treePath: globalTreePath,
47
+ };
48
+ const props = (0, utilities_1.mergeProps)('chatLoadingIndicator', globalTheme, defaultProps, properties);
49
+ const { loading, className, internalClassName } = props;
50
+ const { overrideElement, shouldRenderDefault } = (0, hooks_2.useCustomComponentOverride)('chatLoadingIndicator', props);
51
+ //initialize lang
52
+ const defaultLang = {
53
+ thinkingVerb: { value: 'Thinking' },
54
+ searchingVerb: { value: 'Searching' },
55
+ analyzingVerb: { value: 'Analyzing' },
56
+ generatingVerb: { value: 'Generating' },
57
+ processingVerb: { value: 'Processing' },
58
+ };
59
+ //deep merge with props.lang
60
+ const lang = (0, deepmerge_1.default)(defaultLang, props.lang || {});
61
+ const defaultVerbs = DEFAULT_VERB_KEYS.map((key) => {
62
+ const value = lang[key]?.value;
63
+ return (typeof value == 'function' ? value() : value);
64
+ }).filter(Boolean);
65
+ // fall back to the lang-provided default verbs inline — can't rely on defaultProps because
66
+ // mergeProps spreads incoming props over defaults, so an explicit `verbs={undefined}` from a
67
+ // caller would wipe out the default array.
68
+ const verbs = props.verbs && props.verbs.length > 0 ? props.verbs : defaultVerbs;
69
+ // key on content (not array identity) so inline array props don't restart the cycle every render
70
+ const verbsKey = JSON.stringify(verbs);
71
+ const [verbIndex, setVerbIndex] = (0, hooks_1.useState)(0);
72
+ (0, hooks_1.useEffect)(() => {
73
+ if (!loading) {
74
+ setVerbIndex(0);
75
+ return;
76
+ }
77
+ let timeoutId;
78
+ const scheduleNext = () => {
79
+ const nextInterval = Math.floor(Math.random() * (MAX_INTERVAL - MIN_INTERVAL + 1)) + MIN_INTERVAL;
80
+ timeoutId = setTimeout(() => {
81
+ setVerbIndex((prev) => (prev + 1) % verbs.length);
82
+ scheduleNext();
83
+ }, nextInterval);
84
+ };
85
+ scheduleNext();
86
+ return () => clearTimeout(timeoutId);
87
+ }, [loading, verbsKey]);
88
+ // after all hooks — an override that resolves or fails mid-lifecycle must not
89
+ // change the hook count between renders
90
+ if (!shouldRenderDefault) {
91
+ return overrideElement;
92
+ }
93
+ const styling = (0, utilities_1.mergeStyles)(props, defaultStyles);
94
+ const verb = verbs[verbIndex % verbs.length];
95
+ if (!loading || !verb)
96
+ return null;
97
+ return ((0, jsx_runtime_1.jsx)(providers_1.CacheProvider, { children: (0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__chat-loading-indicator', className, internalClassName), role: "status", "aria-live": "polite", ...styling, children: (0, jsx_runtime_1.jsxs)("span", { className: 'ss__chat-loading-indicator__verb', children: [verb, "..."] }, verbIndex) }) }));
98
+ };
99
+ exports.ChatLoadingIndicator = ChatLoadingIndicator;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ChatLoadingIndicator"), exports);
@@ -14,7 +14,7 @@ const providers_1 = require("../../../providers");
14
14
  const hooks_2 = require("../../../hooks");
15
15
  const utilities_1 = require("../../../utilities");
16
16
  const useA11y_1 = require("../../../hooks/useA11y");
17
- const defaultStyles = ({ disableOverlay }) => {
17
+ const defaultStyles = ({ disableOverlay, dropUp }) => {
18
18
  return (0, react_1.css)({
19
19
  position: 'relative',
20
20
  '&.ss__dropdown--open, &.ss__dropdown__portal--open': {
@@ -33,9 +33,14 @@ const defaultStyles = ({ disableOverlay }) => {
33
33
  minWidth: '100%',
34
34
  visibility: 'hidden',
35
35
  opacity: 0,
36
- top: 'auto',
36
+ top: dropUp ? undefined : 'auto',
37
+ bottom: dropUp ? '100%' : undefined,
37
38
  left: 0,
38
39
  },
40
+ '&.ss__dropdown__portal--flip-x .ss__dropdown__content': {
41
+ left: 'auto',
42
+ right: 0,
43
+ },
39
44
  });
40
45
  };
41
46
  exports.Dropdown = (0, mobx_react_lite_1.observer)((properties) => {
@@ -47,7 +52,7 @@ exports.Dropdown = (0, mobx_react_lite_1.observer)((properties) => {
47
52
  treePath: globalTreePath,
48
53
  };
49
54
  const props = (0, utilities_1.mergeProps)('dropdown', globalTheme, defaultProps, properties);
50
- const { button, content, children, disabled, open, toggleOnHover, onMouseEnter, onMouseLeave, disableClick, onClick, onToggle, focusTrapContent, startOpen, disableClickOutside, disableA11y, className, internalClassName, treePath, usePortal, } = props;
55
+ const { button, content, children, disabled, open, toggleOnHover, onMouseEnter, onMouseLeave, disableClick, onClick, onToggle, focusTrapContent, startOpen, disableClickOutside, disableA11y, className, internalClassName, treePath, usePortal, dropUp, boundaryRef, } = props;
51
56
  const { overrideElement, shouldRenderDefault } = (0, hooks_2.useCustomComponentOverride)('dropdown', props);
52
57
  if (!shouldRenderDefault) {
53
58
  return overrideElement;
@@ -65,6 +70,8 @@ exports.Dropdown = (0, mobx_react_lite_1.observer)((properties) => {
65
70
  const buttonRef = (0, hooks_1.useRef)(null);
66
71
  const contentRef = (0, hooks_1.useRef)(null);
67
72
  const [coords, setCoords] = (0, hooks_1.useState)({ top: 0, left: 0, width: 0 });
73
+ const [flipX, setFlipX] = (0, hooks_1.useState)(false);
74
+ const [flipRight, setFlipRight] = (0, hooks_1.useState)(0);
68
75
  let innerRef;
69
76
  if (!disableClickOutside) {
70
77
  innerRef = (0, hooks_2.useClickOutside)((e) => {
@@ -90,9 +97,15 @@ exports.Dropdown = (0, mobx_react_lite_1.observer)((properties) => {
90
97
  const updateCoords = () => {
91
98
  if (buttonRef.current) {
92
99
  const rect = buttonRef.current.getBoundingClientRect();
100
+ // Clamp the anchor to the boundary's horizontal range so the dropdown
101
+ // stays visible inside the boundary even when the button scrolls out
102
+ // of view (e.g. a horizontally-scrolling facets row). The right edge
103
+ // is handled by the flip-x logic below.
104
+ const boundaryRect = boundaryRef?.current?.getBoundingClientRect();
105
+ const left = boundaryRect ? Math.max(boundaryRect.left, Math.min(rect.left, boundaryRect.right)) : rect.left;
93
106
  setCoords({
94
- top: rect.bottom + window.scrollY,
95
- left: rect.left + window.scrollX,
107
+ top: dropUp ? rect.top : rect.bottom,
108
+ left,
96
109
  width: rect.width,
97
110
  });
98
111
  }
@@ -105,7 +118,36 @@ exports.Dropdown = (0, mobx_react_lite_1.observer)((properties) => {
105
118
  window.removeEventListener('scroll', updateCoords, true);
106
119
  };
107
120
  }
108
- }, [usePortal, dropdownOpen]);
121
+ }, [usePortal, dropdownOpen, dropUp, boundaryRef]);
122
+ // Reset flip state when dropdown closes
123
+ (0, hooks_1.useEffect)(() => {
124
+ if (!dropdownOpen) {
125
+ setFlipX(false);
126
+ }
127
+ }, [dropdownOpen]);
128
+ // After the portal renders, check if content overflows the right edge of the
129
+ // boundary (when provided) or the viewport and flip the horizontal anchor if so.
130
+ // When flipped, anchor the portal to the boundary's right edge so the dropdown
131
+ // stops at the boundary rather than at the button's right edge.
132
+ // useLayoutEffect fires before paint to avoid flash.
133
+ (0, hooks_1.useLayoutEffect)(() => {
134
+ if (usePortal && dropdownOpen && contentRef.current && coords.width > 0) {
135
+ // Measure the width the content would occupy when unflipped so the check
136
+ // uses the same basis in both states. When unflipped the portal is given an
137
+ // explicit `width: coords.width` (and the content has minWidth 100%), so the
138
+ // rendered width is max(intrinsic, coords.width); when flipped the explicit
139
+ // width is dropped, so offsetWidth alone reports only the intrinsic width.
140
+ // Reading rect.right after a flip would report the anchored edge instead of
141
+ // the natural one, causing the dropdown to oscillate between flipped and
142
+ // unflipped on every scroll tick.
143
+ const contentWidth = Math.max(contentRef.current.offsetWidth, coords.width);
144
+ const limit = boundaryRef?.current?.getBoundingClientRect().right ?? window.innerWidth;
145
+ const shouldFlip = coords.left + contentWidth > limit;
146
+ setFlipX(shouldFlip);
147
+ if (shouldFlip)
148
+ setFlipRight(Math.max(0, window.innerWidth - limit));
149
+ }
150
+ }, [usePortal, dropdownOpen, coords.left, coords.width, boundaryRef]);
109
151
  const toggleOpenDropdown = (e, state) => {
110
152
  if (stateful) {
111
153
  setDropdownOpen &&
@@ -171,17 +213,20 @@ exports.Dropdown = (0, mobx_react_lite_1.observer)((properties) => {
171
213
  setTimeout(() => {
172
214
  setIsTouchInteraction(false);
173
215
  }, 300);
174
- }, children: (0, utilities_1.cloneWithProps)(button, { open: dropdownOpen, toggleOpen: toggleOpenDropdown, treePath }) }), !usePortal
216
+ }, children: (0, utilities_1.cloneWithProps)(button, { open: dropdownOpen, ...(disabled !== undefined ? { disabled } : {}), toggleOpen: toggleOpenDropdown, treePath }) }), !usePortal
175
217
  ? (content || children) && contentElement
176
218
  : (content || children) &&
177
- (0, compat_1.createPortal)((0, jsx_runtime_1.jsx)("div", { className: globalTheme.name ? `ss__theme__${globalTheme.name}` : 'ss__theme__global', children: (0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__dropdown__portal', className, internalClassName, { 'ss__dropdown__portal--open': dropdownOpen }), css: styling.css, style: {
178
- position: 'absolute',
219
+ (0, compat_1.createPortal)((0, jsx_runtime_1.jsx)("div", { className: globalTheme.name ? `ss__theme__${globalTheme.name}` : 'ss__theme__global', children: (0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('ss__dropdown__portal', className, internalClassName, {
220
+ 'ss__dropdown__portal--open': dropdownOpen,
221
+ 'ss__dropdown__portal--flip-x': flipX,
222
+ }), css: styling.css, style: {
223
+ position: 'fixed',
179
224
  top: coords.top,
180
- left: coords.left,
181
- width: coords.width,
225
+ ...(flipX ? { right: flipRight } : { left: coords.left, width: coords.width }),
182
226
  // 10007: above the quickview modal content (10006) so variant dropdowns paint over it,
183
227
  // below the Gallery lightbox (10010). Full ladder: see QuickviewModal defaultStyles.
184
228
  zIndex: 10007,
229
+ ...(dropUp ? { transform: 'translateY(-100%)' } : {}),
185
230
  pointerEvents: dropdownOpen ? 'auto' : 'none',
186
231
  }, children: contentElement }) }), document.body)] }) }));
187
232
  });
@@ -21,6 +21,7 @@ exports.iconPaths = {
21
21
  circle: 'M56 28c0 15.458-12.542 28-28 28s-28-12.542-28-28 12.542-28 28-28 28 12.542 28 28z',
22
22
  close: 'M56 45.064c0 1.178-0.471 2.357-1.32 3.205l-6.411 6.411c-0.849 0.849-2.027 1.32-3.205 1.32s-2.357-0.471-3.205-1.32l-13.859-13.859-13.859 13.859c-0.849 0.849-2.027 1.32-3.205 1.32s-2.357-0.471-3.205-1.32l-6.411-6.411c-0.849-0.849-1.32-2.027-1.32-3.205s0.471-2.357 1.32-3.205l13.859-13.859-13.859-13.859c-0.849-0.849-1.32-2.027-1.32-3.205s0.471-2.357 1.32-3.205l6.411-6.411c0.849-0.849 2.027-1.32 3.205-1.32s2.357 0.471 3.205 1.32l13.859 13.859 13.859-13.859c0.849-0.849 2.027-1.32 3.205-1.32s2.357 0.471 3.205 1.32l6.411 6.411c0.849 0.849 1.32 2.027 1.32 3.205s-0.471 2.357-1.32 3.205l-13.859 13.859 13.859 13.859c0.849 0.849 1.32 2.027 1.32 3.205z',
23
23
  'close-thin': 'M56 5.638l-22.362 22.362 22.362 22.362-5.638 5.638-22.362-22.362-22.362 22.362-5.638-5.638 22.362-22.362-22.362-22.362 5.638-5.638 22.362 22.362 22.362-22.362z',
24
+ 'close-rounded': 'M49.1687 1.1715C50.7307 -0.390501 53.2665 -0.390501 54.8285 1.1715C56.3905 2.73351 56.3905 5.26932 54.8285 6.83133L6.83133 54.8285C5.26932 56.3905 2.73351 56.3905 1.1715 54.8285C-0.390501 53.2665 -0.390501 50.7307 1.1715 49.1687L49.1687 1.1715ZM1.1715 1.1715C2.73351 -0.390501 5.26932 -0.390501 6.83133 1.1715L54.8285 49.1687C56.3905 50.7307 56.3905 53.2665 54.8285 54.8285C53.2665 56.3905 50.7307 56.3905 49.1687 54.8285L1.1715 6.83133C-0.390501 5.26932 -0.390501 2.73351 1.1715 1.1715Z',
24
25
  cog: 'M37.333 28c0-5.141-4.193-9.333-9.333-9.333s-9.333 4.193-9.333 9.333 4.193 9.333 9.333 9.333 9.333-4.193 9.333-9.333zM56 24.026v8.094c0 0.547-0.438 1.203-1.021 1.312l-6.745 1.021c-0.401 1.167-0.839 2.26-1.422 3.318 1.24 1.786 2.552 3.391 3.901 5.031 0.219 0.255 0.365 0.583 0.365 0.911s-0.109 0.583-0.328 0.839c-0.875 1.167-5.797 6.526-7.036 6.526-0.328 0-0.656-0.146-0.948-0.328l-5.031-3.938c-1.057 0.547-2.188 1.021-3.318 1.385-0.255 2.224-0.474 4.594-1.057 6.781-0.146 0.583-0.656 1.021-1.312 1.021h-8.094c-0.656 0-1.24-0.474-1.312-1.094l-1.021-6.708c-1.13-0.365-2.224-0.802-3.281-1.349l-5.141 3.901c-0.255 0.219-0.583 0.328-0.911 0.328s-0.656-0.146-0.911-0.401c-1.932-1.75-4.484-4.010-6.016-6.125-0.182-0.255-0.255-0.547-0.255-0.839 0-0.328 0.109-0.583 0.292-0.839 1.24-1.677 2.589-3.281 3.828-4.995-0.62-1.167-1.13-2.37-1.495-3.609l-6.672-0.984c-0.62-0.109-1.057-0.693-1.057-1.312v-8.094c0-0.547 0.438-1.203 0.984-1.312l6.781-1.021c0.365-1.167 0.839-2.26 1.422-3.354-1.24-1.75-2.552-3.391-3.901-5.031-0.219-0.255-0.365-0.547-0.365-0.875s0.146-0.583 0.328-0.839c0.875-1.203 5.797-6.526 7.036-6.526 0.328 0 0.656 0.146 0.948 0.365l5.031 3.901c1.057-0.547 2.188-1.021 3.318-1.385 0.255-2.224 0.474-4.594 1.057-6.781 0.146-0.583 0.656-1.021 1.312-1.021h8.094c0.656 0 1.24 0.474 1.312 1.094l1.021 6.708c1.13 0.365 2.224 0.802 3.281 1.349l5.177-3.901c0.219-0.219 0.547-0.328 0.875-0.328s0.656 0.146 0.911 0.365c1.932 1.786 4.484 4.047 6.016 6.198 0.182 0.219 0.255 0.51 0.255 0.802 0 0.328-0.109 0.583-0.292 0.839-1.24 1.677-2.589 3.281-3.828 4.995 0.62 1.167 1.13 2.37 1.495 3.573l6.672 1.021c0.62 0.109 1.057 0.693 1.057 1.312z',
25
26
  cogs: 'M26.133 27.985c0-4.113-3.354-7.467-7.467-7.467s-7.467 3.354-7.467 7.467 3.354 7.467 7.467 7.467 7.467-3.354 7.467-7.467zM48.533 42.919c0-2.042-1.692-3.733-3.733-3.733s-3.733 1.692-3.733 3.733c0 2.071 1.692 3.733 3.733 3.733 2.071 0 3.733-1.692 3.733-3.733zM48.533 13.052c0-2.042-1.692-3.733-3.733-3.733s-3.733 1.692-3.733 3.733c0 2.071 1.692 3.733 3.733 3.733 2.071 0 3.733-1.692 3.733-3.733zM37.333 25.331v5.396c0 0.379-0.292 0.817-0.671 0.875l-4.521 0.7c-0.233 0.758-0.554 1.487-0.933 2.217 0.817 1.167 1.692 2.246 2.625 3.354 0.117 0.175 0.204 0.35 0.204 0.583 0 0.204-0.058 0.408-0.204 0.554-0.583 0.787-3.85 4.346-4.696 4.346-0.233 0-0.438-0.088-0.613-0.204l-3.354-2.625c-0.729 0.379-1.458 0.671-2.246 0.904-0.146 1.487-0.292 3.092-0.671 4.521-0.117 0.408-0.467 0.7-0.875 0.7h-5.425c-0.408 0-0.817-0.321-0.875-0.729l-0.671-4.462c-0.758-0.233-1.488-0.554-2.188-0.904l-3.442 2.596c-0.146 0.146-0.379 0.204-0.583 0.204-0.233 0-0.438-0.087-0.612-0.233-0.758-0.7-4.2-3.821-4.2-4.667 0-0.204 0.087-0.379 0.204-0.554 0.846-1.108 1.721-2.188 2.567-3.325-0.408-0.788-0.758-1.575-1.021-2.392l-4.433-0.7c-0.408-0.058-0.7-0.438-0.7-0.846v-5.396c0-0.379 0.292-0.817 0.671-0.875l4.521-0.7c0.233-0.758 0.554-1.488 0.933-2.217-0.817-1.167-1.692-2.246-2.625-3.354-0.117-0.175-0.204-0.379-0.204-0.583s0.058-0.408 0.204-0.583c0.583-0.787 3.85-4.317 4.696-4.317 0.233 0 0.438 0.087 0.612 0.204l3.354 2.625c0.729-0.379 1.458-0.671 2.246-0.933 0.146-1.458 0.292-3.063 0.671-4.492 0.117-0.408 0.467-0.7 0.875-0.7h5.425c0.408 0 0.817 0.321 0.875 0.729l0.671 4.463c0.758 0.233 1.488 0.554 2.188 0.904l3.442-2.596c0.175-0.146 0.379-0.204 0.583-0.204 0.233 0 0.438 0.088 0.613 0.233 0.758 0.7 4.2 3.85 4.2 4.667 0 0.204-0.087 0.379-0.204 0.554-0.846 1.138-1.721 2.188-2.537 3.325 0.379 0.787 0.729 1.575 0.992 2.392l4.433 0.671c0.408 0.087 0.7 0.467 0.7 0.875zM56 40.877v4.083c0 0.438-3.762 0.846-4.346 0.904-0.233 0.554-0.525 1.050-0.875 1.517 0.263 0.583 1.488 3.5 1.488 4.025 0 0.087-0.029 0.146-0.117 0.204-0.35 0.204-3.471 2.071-3.617 2.071-0.379 0-2.567-2.917-2.858-3.354-0.292 0.029-0.583 0.058-0.875 0.058s-0.583-0.029-0.875-0.058c-0.292 0.438-2.479 3.354-2.858 3.354-0.146 0-3.267-1.867-3.617-2.071-0.087-0.058-0.117-0.146-0.117-0.204 0-0.496 1.225-3.442 1.488-4.025-0.35-0.467-0.642-0.963-0.875-1.517-0.583-0.058-4.346-0.467-4.346-0.904v-4.083c0-0.438 3.762-0.846 4.346-0.904 0.233-0.525 0.525-1.050 0.875-1.517-0.262-0.583-1.488-3.529-1.488-4.025 0-0.058 0.029-0.146 0.117-0.204 0.35-0.175 3.471-2.042 3.617-2.042 0.379 0 2.567 2.887 2.858 3.325 0.292-0.029 0.583-0.058 0.875-0.058s0.583 0.029 0.875 0.058c0.817-1.137 1.692-2.275 2.683-3.267l0.175-0.058c0.146 0 3.267 1.837 3.617 2.042 0.087 0.058 0.117 0.146 0.117 0.204 0 0.525-1.225 3.442-1.488 4.025 0.35 0.467 0.642 0.992 0.875 1.517 0.583 0.058 4.346 0.467 4.346 0.904zM56 11.010v4.083c0 0.438-3.762 0.846-4.346 0.904-0.233 0.554-0.525 1.050-0.875 1.517 0.263 0.583 1.488 3.5 1.488 4.025 0 0.088-0.029 0.146-0.117 0.204-0.35 0.204-3.471 2.071-3.617 2.071-0.379 0-2.567-2.917-2.858-3.354-0.292 0.029-0.583 0.058-0.875 0.058s-0.583-0.029-0.875-0.058c-0.292 0.438-2.479 3.354-2.858 3.354-0.146 0-3.267-1.867-3.617-2.071-0.087-0.058-0.117-0.146-0.117-0.204 0-0.496 1.225-3.442 1.488-4.025-0.35-0.467-0.642-0.963-0.875-1.517-0.583-0.058-4.346-0.467-4.346-0.904v-4.083c0-0.438 3.762-0.846 4.346-0.904 0.233-0.525 0.525-1.050 0.875-1.517-0.262-0.583-1.488-3.529-1.488-4.025 0-0.058 0.029-0.146 0.117-0.204 0.35-0.175 3.471-2.042 3.617-2.042 0.379 0 2.567 2.888 2.858 3.325 0.292-0.029 0.583-0.058 0.875-0.058s0.583 0.029 0.875 0.058c0.817-1.138 1.692-2.275 2.683-3.267l0.175-0.058c0.146 0 3.267 1.837 3.617 2.042 0.087 0.058 0.117 0.146 0.117 0.204 0 0.525-1.225 3.442-1.488 4.025 0.35 0.467 0.642 0.992 0.875 1.517 0.583 0.058 4.346 0.467 4.346 0.904z',
26
27
  dollar: 'M42.565 37.031c0 6.375-4.563 11.406-11.187 12.5v5.469c0 0.563-0.438 1-1 1h-4.219c-0.531 0-1-0.438-1-1v-5.469c-7.312-1.031-11.312-5.406-11.469-5.594-0.312-0.375-0.344-0.906-0.063-1.281l3.219-4.219c0.156-0.219 0.438-0.344 0.719-0.375s0.563 0.063 0.75 0.281c0.063 0.031 4.438 4.219 9.969 4.219 3.063 0 6.375-1.625 6.375-5.156 0-3-3.688-4.469-7.906-6.156-5.625-2.219-12.625-5.031-12.625-12.875 0-5.75 4.5-10.5 11.031-11.75v-5.625c0-0.563 0.469-1 1-1h4.219c0.563 0 1 0.438 1 1v5.5c6.344 0.719 9.719 4.156 9.844 4.281 0.312 0.344 0.375 0.812 0.156 1.187l-2.531 4.563c-0.156 0.281-0.406 0.469-0.719 0.5-0.312 0.063-0.594-0.031-0.844-0.219-0.031-0.031-3.812-3.375-8.5-3.375-3.969 0-6.719 1.969-6.719 4.812 0 3.312 3.812 4.781 8.25 6.5 5.75 2.219 12.25 4.75 12.25 12.281z',
@@ -29,6 +30,7 @@ exports.iconPaths = {
29
30
  eye: 'M28 20.374q3.098 0 5.362 2.264t2.264 5.362-2.264 5.362-5.362 2.264-5.362-2.264-2.264-5.362 2.264-5.362 5.362-2.264zM28 40.749q5.243 0 8.996-3.753t3.753-8.996-3.753-8.996-8.996-3.753-8.996 3.753-3.753 8.996 3.753 8.996 8.996 3.753zM28 8.936q9.413 0 17.038 5.243t10.962 13.821q-3.336 8.579-10.962 13.821t-17.038 5.243-17.038-5.243-10.962-13.821q3.336-8.579 10.962-13.821t17.038-5.243z',
30
31
  'eye-thin': 'M52 28c-2.969-4.594-7.031-8.531-11.906-11.031 1.25 2.125 1.906 4.563 1.906 7.031 0 7.719-6.281 14-14 14s-14-6.281-14-14c0-2.469 0.656-4.906 1.906-7.031-4.875 2.5-8.938 6.437-11.906 11.031 5.344 8.25 13.969 14 24 14s18.656-5.75 24-14zM29.5 16c0-0.812-0.687-1.5-1.5-1.5-5.219 0-9.5 4.281-9.5 9.5 0 0.812 0.687 1.5 1.5 1.5s1.5-0.687 1.5-1.5c0-3.563 2.937-6.5 6.5-6.5 0.812 0 1.5-0.687 1.5-1.5zM56 28c0 0.781-0.25 1.5-0.625 2.156-5.75 9.469-16.281 15.844-27.375 15.844s-21.625-6.406-27.375-15.844c-0.375-0.656-0.625-1.375-0.625-2.156s0.25-1.5 0.625-2.156c5.75-9.437 16.281-15.844 27.375-15.844s21.625 6.406 27.375 15.844c0.375 0.656 0.625 1.375 0.625 2.156z',
31
32
  filter: 'M25.519 21.889c0 0-0.241-4.089-0.241-4.089s0-13.471 0-13.471c0.002-1.162-0.005-2.636 0.825-3.553 1.104-1.224 3.156-0.929 4.022 0.435 0.498 0.787 0.443 1.744 0.445 2.636 0 0 0 25.258 0 25.258s-5.052 0-5.052 0c0 0 0-7.217 0-7.217zM42.358 3.848c0.019-1.576 0.281-3.476 2.165-3.794 2.798-0.471 3.125 2.24 3.127 4.275 0 0 0 11.546 0 11.546s-2.646-0.233-2.646-0.233c0 0-2.646 0.233-2.646 0.233s0-12.028 0-12.028zM8.44 3.848c0.014-1.181 0.147-2.442 1.229-3.163 1.484-0.986 3.286-0.156 3.825 1.479 0.322 0.984 0.238 2.545 0.238 3.608 0 0 0 6.014 0 6.014s-2.646-0.197-2.646-0.197c0 0-2.646 0.197-2.646 0.197s0-7.938 0-7.938zM13.010 13.556c5.509 1.855 5.477 10.377-1.203 11.551-5.121 0.902-8.455-5.015-5.867-9.23 0.907-1.475 2.314-2.151 3.943-2.535 1.176-0.166 1.985-0.171 3.127 0.214zM46.207 28.993c-5.564 1.051-8.874-4.833-6.348-9.028 1.046-1.737 2.533-2.357 4.424-2.774 7.57-0.883 9.36 10.399 1.924 11.802zM13.732 26.46c0 0 0 24.536 0 24.536-0.002 1.215-0.067 3.079-0.844 4.063-1.066 1.352-3.094 1.222-3.984-0.226-0.496-0.808-0.462-1.958-0.464-2.875 0 0 0-25.499 0-25.499s5.292 0 5.292 0zM33.219 33.436c1.936 3.286-0.019 8.15-3.851 8.821-1.169 0.207-3.019 0.135-4.089-0.402-4.71-2.355-4.39-9.803 1.443-11.193 2.673-0.375 5.056 0.33 6.497 2.774zM45.004 30.77c0 0 2.646-0.221 2.646-0.221s0 21.409 0 21.409c-0.002 1.034 0.034 2.215-0.649 3.074-0.977 1.224-3.017 1.224-3.993 0-0.637-0.799-0.645-1.867-0.649-2.834 0 0 0-21.65 0-21.65s2.646 0.221 2.646 0.221zM27.684 43.998c0 0 2.887-0.219 2.887-0.219s0 8.66 0 8.66c-0.022 1.758-0.654 3.861-2.887 3.517-1.912-0.296-2.384-2.114-2.406-3.757 0 0 0-8.419 0-8.419s2.406 0.219 2.406 0.219z',
33
+ 'filter-funnel': 'M8 8h40l-14 20v12l-12 8v-20z',
32
34
  filters: [
33
35
  {
34
36
  type: 'path',
@@ -128,6 +130,7 @@ exports.iconPaths = {
128
130
  'minus-thin': 'M0 23.297h56v9.406h-56v-9.406z',
129
131
  plus: 'M56 24.182v7.636c0 2.108-1.71 3.818-3.818 3.818h-16.545v16.545c0 2.108-1.71 3.818-3.818 3.818h-7.636c-2.108 0-3.818-1.71-3.818-3.818v-16.545h-16.545c-2.108 0-3.818-1.71-3.818-3.818v-7.636c0-2.108 1.71-3.818 3.818-3.818h16.545v-16.545c0-2.108 1.71-3.818 3.818-3.818h7.636c2.108 0 3.818 1.71 3.818 3.818v16.545h16.545c2.108 0 3.818 1.71 3.818 3.818z',
130
132
  'plus-thin': 'M56 31.946h-24.054v24.054h-7.893v-24.054h-24.054v-7.893h24.054v-24.054h7.893v24.054h24.054v7.893z',
133
+ 'plus-rounded': 'M52.3944 24.8335C54.2928 24.8335 55.8335 26.4014 55.8335 28.3335C55.8335 30.2655 54.2928 31.8335 52.3944 31.8335H4.27257C2.37415 31.8335 0.833496 30.2655 0.833496 28.3335C0.833496 26.4014 2.37415 24.8335 4.27257 24.8335H52.3944ZM24.8335 52.3944V4.27257C24.8335 2.37415 26.4014 0.833496 28.3335 0.833496C30.2655 0.833496 31.8335 2.37415 31.8335 4.27257V52.3944C31.8335 54.2928 30.2655 55.8335 28.3335 55.8335C26.4014 55.8335 24.8335 54.2928 24.8335 52.3944Z',
131
134
  'rotate-left': 'M56 28c0 15.422-12.578 28-28 28-8.349 0-16.224-3.682-21.547-10.099-0.365-0.474-0.328-1.167 0.073-1.568l4.995-5.031c0.255-0.219 0.583-0.328 0.911-0.328 0.328 0.036 0.656 0.182 0.839 0.438 3.573 4.63 8.932 7.255 14.729 7.255 10.281 0 18.667-8.385 18.667-18.667s-8.385-18.667-18.667-18.667c-4.776 0-9.297 1.823-12.687 4.995l4.995 5.031c0.693 0.656 0.875 1.677 0.51 2.516-0.365 0.875-1.203 1.458-2.151 1.458h-16.333c-1.276 0-2.333-1.057-2.333-2.333v-16.333c0-0.948 0.583-1.786 1.458-2.151 0.839-0.365 1.859-0.182 2.516 0.51l4.74 4.703c5.141-4.849 12.104-7.729 19.286-7.729 15.422 0 28 12.578 28 28z',
132
135
  'rotate-right': 'M56 4.667v16.333c0 1.276-1.057 2.333-2.333 2.333h-16.333c-0.948 0-1.786-0.583-2.151-1.458-0.365-0.839-0.182-1.859 0.51-2.516l5.031-5.031c-3.427-3.172-7.948-4.995-12.724-4.995-10.281 0-18.667 8.385-18.667 18.667s8.385 18.667 18.667 18.667c5.797 0 11.156-2.625 14.729-7.255 0.182-0.255 0.51-0.401 0.839-0.438 0.328 0 0.656 0.109 0.911 0.328l4.995 5.031c0.438 0.401 0.438 1.094 0.073 1.568-5.323 6.417-13.198 10.099-21.547 10.099-15.422 0-28-12.578-28-28s12.578-28 28-28c7.182 0 14.146 2.88 19.286 7.729l4.74-4.703c0.656-0.693 1.677-0.875 2.552-0.51 0.839 0.365 1.422 1.203 1.422 2.151z',
133
136
  search: 'M35.385 23.692c0-6.457-5.235-11.692-11.693-11.692s-11.693 5.235-11.693 11.692 5.235 11.692 11.693 11.692 11.693-5.235 11.693-11.692zM54.243 45.757A6 6 0 0 1 45.757 54.243L35.656 44.141A23.692 23.692 0 1 1 44.141 35.656L54.243 45.757z',
@@ -141,4 +144,14 @@ exports.iconPaths = {
141
144
  'video-camera': 'M56 11v34c0 0.812-0.5 1.531-1.219 1.844-0.25 0.094-0.531 0.156-0.781 0.156-0.531 0-1.031-0.188-1.406-0.594l-12.594-12.594v5.187c0 4.969-4.031 9-9 9h-22c-4.969 0-9-4.031-9-9v-22c0-4.969 4.031-9 9-9h22c4.969 0 9 4.031 9 9v5.156l12.594-12.562c0.375-0.406 0.875-0.594 1.406-0.594 0.25 0 0.531 0.063 0.781 0.156 0.719 0.312 1.219 1.031 1.219 1.844z',
142
145
  warn: 'M31.2981 5.28228C29.8323 2.74341 26.1677 2.74341 24.7019 5.28228L0.515899 47.1737C-0.94992 49.7126 0.88235 52.8861 3.81399 52.8861H52.186C55.1176 52.8861 56.9499 49.7126 55.4841 47.1737L31.2981 5.28228ZM25.2229 35.0037L24.8264 18.837C24.8264 18.655 24.8923 18.4729 25.047 18.3686C25.1794 18.2387 25.3776 18.1601 25.5759 18.1601H30.4241C30.6223 18.1601 30.8206 18.238 30.953 18.3686C31.1071 18.4729 31.1736 18.655 31.1736 18.837L30.7988 35.0037C30.7988 35.3679 30.4682 35.6542 30.0493 35.6542H25.9724C25.5759 35.6542 25.2453 35.3679 25.2229 35.0037ZM25.1788 43.9593V39.0131C25.1788 38.5447 25.487 38.1541 25.8618 38.1541H30.0929C30.4894 38.1541 30.82 38.5447 30.82 39.0131V43.9593C30.82 44.4277 30.4894 44.8183 30.0929 44.8183H25.8618C25.487 44.8183 25.1788 44.4277 25.1788 43.9593Z',
143
146
  wrench: 'M12.407 45.809c0-1.193-0.988-2.181-2.181-2.181s-2.181 0.988-2.181 2.181 0.988 2.181 2.181 2.181 2.181-0.988 2.181-2.181zM34.357 31.494l-23.245 23.245c-0.784 0.784-1.909 1.261-3.068 1.261s-2.284-0.477-3.102-1.261l-3.613-3.681c-0.818-0.784-1.295-1.909-1.295-3.068s0.477-2.284 1.295-3.102l23.211-23.211c1.772 4.465 5.351 8.044 9.816 9.816zM55.966 16.667c0 1.125-0.409 2.522-0.784 3.613-2.147 6.067-7.976 10.259-14.418 10.259-8.419 0-15.27-6.851-15.27-15.27s6.851-15.27 15.27-15.27c2.488 0 5.726 0.75 7.805 2.147 0.341 0.239 0.545 0.545 0.545 0.954 0 0.375-0.239 0.75-0.545 0.954l-9.987 5.76v7.635l6.578 3.647c1.125-0.648 9.032-5.624 9.714-5.624s1.091 0.511 1.091 1.193z',
147
+ 'thumbs-up': 'M16.035 55.9826C16.7037 55.9824 17.356 55.7757 17.9018 55.391C18.4476 55.0063 18.8601 54.4625 19.0825 53.8347L43.3325 53.8347C45.0759 53.8276 46.7637 53.2233 48.1122 52.1233C49.4608 51.0232 50.3878 49.4945 50.7375 47.7941L54.775 27.8681C55.1697 25.9119 54.7677 23.8798 53.6575 22.2186C52.5473 20.5575 50.8198 19.4034 48.855 19.0101C48.3652 18.9126 47.867 18.8634 47.3675 18.8633L37.12 18.8633C37.87 14.6844 38.59 10.3687 37.6375 5.92107C37.2586 4.2482 36.3219 2.75236 34.98 1.67718C33.638 0.602002 31.97 0.0108449 30.2475 0L30.205 0C28.4025 0 25.6725 0.637156 24.2975 1.792C22.8889 2.96499 21.9604 4.61089 21.6875 6.41884C21.055 10.4832 20.345 15.2121 18.4875 18.8633C17.9875 17.6462 16.7375 17.4222 16.035 17.4197L3.2275 17.4197C2.37172 17.4204 1.55117 17.7591 0.946044 18.3616C0.340914 18.964 0.000662099 19.7809 -1.60694e-08 20.6329L-4.11001e-08 52.7719C0.00132378 53.6235 0.341867 54.4397 0.946926 55.0416C1.55198 55.6435 2.37215 55.9819 3.2275 55.9826H16.035ZM19.2625 25.2846H19.41C19.9748 25.2844 20.5296 25.1367 21.0192 24.8563C21.5087 24.5759 21.9159 24.1727 22.2 23.6868C23.0877 22.164 23.8955 20.5963 24.62 18.9902C25.3381 17.3799 25.9641 15.7305 26.495 14.0498C27.0248 12.3641 27.458 10.6498 27.7925 8.9152C27.8575 8.57173 27.915 8.22578 27.9775 7.88231C28.08 7.29991 28.0325 6.66276 28.51 6.23218C28.7107 6.06533 28.9523 5.9544 29.21 5.91068C29.4678 5.86696 29.7326 5.89201 29.9775 5.98329C31.5775 6.54578 31.5875 8.41493 31.6275 9.8336C31.6275 9.88089 31.6275 9.92818 31.6275 9.97298C31.6349 11.8088 31.475 13.6415 31.15 15.4485C31.005 16.3495 30.8425 17.248 30.68 18.1465L30.68 18.1689C30.43 19.4631 30.255 20.5433 30.0925 21.5662C30.0155 22.0254 30.0399 22.4958 30.164 22.9446C30.2881 23.3935 30.5089 23.81 30.8111 24.1653C31.1133 24.5206 31.4895 24.8061 31.9137 25.002C32.3379 25.1979 32.7999 25.2994 33.2675 25.2996L47.37 25.2996C47.6622 25.3015 47.9417 25.4186 48.1474 25.6253C48.3531 25.8319 48.4682 26.1112 48.4675 26.4021C48.467 26.4723 48.4603 26.5422 48.4475 26.6112L44.41 46.5223C44.3585 46.771 44.223 46.9946 44.026 47.1558C43.8291 47.317 43.5825 47.4062 43.3275 47.4084L19.2625 47.4084L19.2625 25.2846ZM6.455 23.851H12.8075L12.8075 49.5588H6.455L6.455 23.851Z',
148
+ 'thumbs-down': 'M38.888 -4.68917e-06C38.2193 0.000203894 37.567 0.206894 37.0212 0.591585C36.4754 0.976276 36.0629 1.52003 35.8405 2.14791L11.5905 2.14791C9.84712 2.15494 8.1593 2.75927 6.81077 3.85931C5.46224 4.95936 4.53521 6.48806 4.18551 8.18844L0.148009 28.1145C-0.246652 30.0707 0.155315 32.1028 1.2655 33.7639C2.37569 35.4251 4.10317 36.5792 6.06801 36.9724C6.55779 37.0699 7.05603 37.1191 7.55551 37.1193L17.803 37.1193C17.053 41.2981 16.333 45.6139 17.2855 50.0615C17.6644 51.7344 18.6011 53.2302 19.943 54.3054C21.285 55.3806 22.953 55.9717 24.6755 55.9826L24.718 55.9826C26.5205 55.9826 29.2505 55.3454 30.6255 54.1906C32.0341 53.0176 32.9626 51.3717 33.2355 49.5637C33.868 45.4994 34.578 40.7705 36.4355 37.1193C36.9355 38.3364 38.1855 38.5604 38.888 38.5628L51.6955 38.5628C52.5513 38.5622 53.3718 38.2234 53.977 37.621C54.5821 37.0186 54.9223 36.2017 54.923 35.3497L54.923 3.21067C54.9217 2.35912 54.5811 1.54286 53.9761 0.940956C53.371 0.339053 52.5509 0.000654574 51.6955 -3.57448e-06L38.888 -4.68917e-06ZM35.6605 30.698L35.513 30.698C34.9482 30.6982 34.3934 30.8459 33.9038 31.1263C33.4143 31.4066 33.0071 31.8099 32.723 32.2958C31.8353 33.8186 31.0275 35.3862 30.303 36.9924C29.5849 38.6026 28.9589 40.2521 28.428 41.9328C27.8982 43.6185 27.465 45.3328 27.1305 47.0674C27.0655 47.4108 27.008 47.7568 26.9455 48.1003C26.843 48.6827 26.8905 49.3198 26.413 49.7504C26.2123 49.9172 25.9707 50.0282 25.713 50.0719C25.4552 50.1156 25.1904 50.0906 24.9455 49.9993C23.3455 49.4368 23.3355 47.5676 23.2955 46.149C23.2955 46.1017 23.2955 46.0544 23.2955 46.0096C23.2882 44.1738 23.448 42.3411 23.773 40.534C23.918 39.6331 24.0805 38.7346 24.243 37.8361L24.243 37.8137C24.493 36.5195 24.668 35.4393 24.8305 34.4164C24.9075 33.9572 24.8831 33.4868 24.759 33.038C24.6349 32.5891 24.4141 32.1726 24.1119 31.8173C23.8097 31.462 23.4335 31.1765 23.0093 30.9806C22.5851 30.7847 22.1231 30.6832 21.6555 30.683L7.55301 30.683C7.26081 30.681 6.9813 30.5639 6.77562 30.3573C6.56994 30.1507 6.45484 29.8713 6.45551 29.5804C6.45597 29.5103 6.46266 29.4403 6.47551 29.3714L10.513 9.46026C10.5645 9.2116 10.7 8.98801 10.897 8.82677C11.094 8.66553 11.3405 8.5764 11.5955 8.57422L35.6605 8.57422L35.6605 30.698ZM48.468 32.1316L42.1155 32.1316L42.1155 6.42382L48.468 6.42382L48.468 32.1316Z',
149
+ history: 'M28.0015 0C33.5394 0 38.9542 1.64423 43.5588 4.72092C48.1629 7.79758 51.7511 12.1723 53.8702 17.2882C55.989 22.4041 56.5419 28.0339 55.4616 33.4648C54.3811 38.8959 51.7155 43.8843 47.7999 47.7999C43.8843 51.7155 38.8959 54.3811 33.4648 55.4616C28.0339 56.5419 22.4041 55.989 17.2882 53.8702C12.1723 51.7511 7.79758 48.1629 4.72092 43.5588C1.64423 38.9542 0 33.5394 0 28.0015C0 26.4551 1.25498 25.2001 2.80138 25.2001C4.34779 25.2001 5.60277 26.4551 5.60277 28.0015C5.60277 32.4316 6.91511 36.7622 9.37622 40.4457C11.8376 44.1294 15.3361 47.0027 19.4292 48.6981C23.5217 50.3932 28.0251 50.8335 32.3697 49.9696C36.7149 49.1053 40.7091 46.9746 43.8418 43.8418C46.9746 40.7091 49.1053 36.7149 49.9696 32.3697C50.8335 28.0251 50.3932 23.5217 48.6981 19.4292C47.0027 15.3361 44.1294 11.8376 40.4457 9.37622C36.7633 6.91587 32.4343 5.60358 28.0056 5.60277C21.7019 5.62813 15.6473 8.07681 11.1071 12.4483L11.1112 12.4524L4.78245 18.7812C3.68897 19.8746 1.91379 19.8746 0.820317 18.7812C-0.272018 17.6881 -0.271563 15.9165 0.820317 14.8231L7.18188 8.46157C12.7661 3.06316 20.2223 0.0296735 27.9892 0H28.0015ZM0 2.77039C0 1.24109 1.24109 0 2.77039 0C4.29969 0 5.54078 1.24109 5.54078 2.77039V13.8479H16.6142C18.1431 13.8479 19.3839 15.0856 19.3846 16.6142C19.3846 18.1435 18.1435 19.3846 16.6142 19.3846H2.77039C1.24109 19.3846 0 18.1435 0 16.6142V2.77039ZM24.7692 13.6423C24.7692 12.0563 26.0563 10.7692 27.6422 10.7692C29.2282 10.7692 30.5152 12.0563 30.5152 13.6423V26.2241L40.413 31.1752C41.8315 31.8845 42.4052 33.6099 41.696 35.0284C40.9865 36.4466 39.2612 37.0206 37.8429 36.3114L26.3593 30.5695C25.3864 30.0831 24.7692 29.087 24.7692 27.9993V13.6423Z',
150
+ send: 'M52.4884 0.0110176L53.0223 0.0885687L53.5413 0.243671C54.0445 0.433958 54.5032 0.731351 54.8865 1.11463C55.3973 1.62559 55.7521 2.27076 55.9096 2.97585C56.0636 3.66681 56.0195 4.38673 55.7873 5.05482L55.7903 5.0578L39.245 53.4198C38.9923 54.1567 38.519 54.7993 37.8909 55.2602C37.263 55.7206 36.5098 55.9799 35.7314 55.9999C34.9526 56.0198 34.1869 55.7986 33.5361 55.3705C32.8855 54.9426 32.3796 54.3274 32.0895 53.6048V53.6018L23.9973 33.4176L23.8899 33.185C23.7704 32.9572 23.6163 32.747 23.4336 32.5646C23.1908 32.3225 22.9017 32.1314 22.5835 32.0038H22.5805L2.39636 23.9087C1.67355 23.6185 1.05561 23.1157 0.627603 22.465C0.199705 21.8145 -0.0184987 21.0481 0.00122876 20.2697L0.0608834 19.6911C0.163363 19.121 0.395283 18.5783 0.740946 18.1073C1.20143 17.48 1.84241 17.0088 2.57831 16.7561L2.58129 16.7531L50.9403 0.210861V0.216826C51.4392 0.0425263 51.9651 -0.0295458 52.4884 0.0110176ZM7.46999 20.4577L24.4746 27.2792L25.1755 27.6013C25.8578 27.9582 26.4837 28.4183 27.0308 28.9644C27.5778 29.5106 28.0388 30.1349 28.3968 30.8167L28.719 31.5176L28.722 31.5206L35.5375 48.5222L50.132 5.86612L7.46999 20.4577ZM51.2786 1.12532C52.2726 0.131381 53.8848 0.13129 54.8787 1.12532C55.8717 2.11912 55.8717 3.72872 54.8787 4.7225L27.0319 32.5663C26.0381 33.5595 24.4286 33.5595 23.4348 32.5663C22.4408 31.5723 22.4407 29.9601 23.4348 28.9662L51.2786 1.12532Z',
151
+ chat: 'M13.6463 5.11262C18.7807 1.3716 25.0821 -0.413127 31.4156 0.0806779C37.7496 0.574815 43.7006 3.3145 48.1931 7.80691C52.6855 12.2994 55.4252 18.2504 55.9193 24.5844C56.4131 30.9179 54.6284 37.2192 50.8874 42.3537C47.146 47.4885 41.6938 51.1189 35.513 52.5894C29.707 53.9706 23.6178 53.3592 18.2149 50.8765L3.52254 55.859C2.56169 56.1847 1.49879 55.936 0.781396 55.2186C0.064047 54.5012 -0.184688 53.4383 0.141014 52.4774L5.12089 37.7825C2.63945 32.3804 2.0296 26.2919 3.41061 20.487C4.88107 14.3062 8.51151 8.85402 13.6463 5.11262ZM31.0017 5.39637C25.9348 5.00119 20.8934 6.42808 16.7857 9.42088C12.6779 12.414 9.7725 16.7763 8.59614 21.7209C7.41989 26.6653 8.04921 31.8676 10.3689 36.3898C10.698 37.0313 10.7538 37.7791 10.5225 38.4619L6.9249 49.0725L17.5381 45.4775L17.7958 45.4046C18.4054 45.2643 19.0485 45.3429 19.6102 45.6311C24.1324 47.9508 29.3346 48.5801 34.2791 47.4039C39.2237 46.2275 43.586 43.3221 46.5791 39.2143C49.5719 35.1066 50.9988 30.0652 50.6036 24.9983C50.2083 19.9311 48.0176 15.1703 44.4237 11.5763C40.8297 7.98239 36.0689 5.79168 31.0017 5.39637Z',
152
+ similar: 'M36.4583 8C33.4687 8 30.5521 8.65485 28 9.89179C25.4479 8.65485 22.6042 8 19.5417 8C8.75 8 0 16.7313 0 27.5C0 38.2687 8.75 47 19.5417 47C22.5312 47 25.4479 46.3451 28 45.1082C30.5521 46.3451 33.3958 47 36.4583 47C47.25 47 56 38.2687 56 27.5C56 16.7313 47.25 8 36.4583 8ZM19.5417 42.0522C11.5208 42.0522 4.95833 35.5037 4.95833 27.5C4.95833 19.4963 11.5208 12.9478 19.5417 12.9478C20.7083 12.9478 21.875 13.0933 22.9687 13.3843C19.25 16.9496 16.9167 21.9701 16.9167 27.5C16.9167 33.0298 19.25 38.0504 23.0417 41.6157C21.875 41.9067 20.7083 42.0522 19.5417 42.0522ZM36.4583 42.0522C35.2917 42.0522 34.125 41.9067 33.0313 41.6157C36.75 38.0504 39.1563 33.0298 39.1563 27.5C39.1563 21.9701 36.8229 16.9496 33.0313 13.3843C34.125 13.0933 35.2917 12.9478 36.4583 12.9478C44.4792 12.9478 51.0417 19.4963 51.0417 27.5C51.0417 35.5037 44.4792 42.0522 36.4583 42.0522Z',
153
+ image: 'M49.7766 35.5068L45.7552 31.4854C45.1718 30.9023 44.378 30.5776 43.5531 30.5776C42.729 30.5779 41.9377 30.9029 41.3547 31.4854L38.6167 34.2198L42.6417 38.2448C43.8566 39.4598 43.8566 41.4267 42.6417 42.6417C41.4267 43.8566 39.4598 43.8566 38.2448 42.6417L32.0396 36.4365C32.0341 36.431 32.0268 36.4274 32.0214 36.4219C32.0136 36.4142 32.0071 36.4041 31.9995 36.3964L23.975 28.3755C23.3917 27.7927 22.6012 27.4641 21.7766 27.4641C20.952 27.4641 20.1615 27.7927 19.5781 28.3755L6.21979 41.7302V46.6667C6.22011 47.4911 6.54847 48.282 7.13125 48.8651C7.7147 49.4486 8.50822 49.7766 9.33333 49.7766H46.6667C47.4913 49.7762 48.2819 49.4483 48.8651 48.8651C49.4483 48.2819 49.7762 47.4913 49.7766 46.6667V35.5068ZM34.2526 12.4432C35.9702 12.4435 37.3618 13.8356 37.3625 15.5531C37.3625 17.2712 35.9706 18.6664 34.2526 18.6667H34.2198C32.5021 18.666 31.1099 17.2709 31.1099 15.5531C31.1106 13.8359 32.5025 12.4439 34.2198 12.4432H34.2526ZM49.7766 9.33333C49.7766 8.50822 49.4486 7.7147 48.8651 7.13125C48.282 6.54847 47.4911 6.22011 46.6667 6.21979H9.33333C8.50821 6.21979 7.7147 6.5478 7.13125 7.13125C6.5478 7.7147 6.21979 8.50821 6.21979 9.33333V32.9328L15.1776 23.975L15.863 23.3552C17.5236 21.9952 19.6113 21.2443 21.7766 21.2443C24.2514 21.2443 26.6253 22.2253 28.3755 23.975L34.2198 29.8193L36.9542 27.0885V27.0849C38.7041 25.3355 41.0787 24.3545 43.5531 24.3542C45.8574 24.3542 48.0693 25.2124 49.7766 26.7422V9.33333ZM56 46.6667C55.9997 49.1416 55.0157 51.5156 53.2656 53.2656C51.5156 55.0157 49.1416 55.9997 46.6667 56H9.33333C6.85798 56 4.48107 55.016 2.73073 53.2656C0.981056 51.5156 0.000322421 49.1413 0 46.6667V9.33333C0 6.85798 0.980389 4.48107 2.73073 2.73073C4.48107 0.980389 6.85798 0 9.33333 0H46.6667C49.1413 0.000322421 51.5156 0.981056 53.2656 2.73073C55.016 4.48107 56 6.85798 56 9.33333V46.6667Z',
154
+ cart: 'M12.5765 50.8978C12.5765 48.08 14.8552 45.7919 17.6616 45.7919C20.4671 45.7929 22.743 48.0806 22.743 50.8978C22.742 53.7142 20.4665 55.999 17.6616 56C14.8558 56 12.5775 53.7148 12.5765 50.8978ZM40.5241 50.8978C40.5241 48.08 42.8028 45.7919 45.6092 45.7919C48.4147 45.7929 50.6906 48.0806 50.6906 50.8978C50.6896 53.7142 48.4141 55.999 45.6092 56C42.8034 56 40.5251 53.7148 40.5241 50.8978ZM7.62395 0L8.06322 0.0411163C9.06776 0.217701 9.88715 0.989044 10.1069 2.01844L12.3964 12.7573H53.457C54.2274 12.7573 54.9589 13.1071 55.4411 13.7104C55.9229 14.3134 56.1063 15.105 55.94 15.8597L51.7446 34.8069L51.7483 34.8106C51.3753 36.5117 50.4341 38.0355 49.0829 39.1278C47.7318 40.2198 46.0486 40.8145 44.3142 40.8173L44.3105 40.8211V40.8173H19.4619V40.8136C17.7099 40.8393 16.0021 40.2639 14.6262 39.1727C13.2352 38.0693 12.2695 36.5136 11.8975 34.7732L5.57278 5.1059H2.54256C1.13937 5.1059 0 3.96188 0 2.55295C0 1.14403 1.13937 0 2.54256 0H7.62395ZM16.8672 33.7005L16.9938 34.1228C17.1582 34.5316 17.4272 34.8931 17.7756 35.1694C18.239 35.537 18.8157 35.7318 19.4061 35.7189C19.4244 35.7185 19.4436 35.7152 19.4619 35.7152H44.3105C44.8872 35.7135 45.4469 35.5175 45.8963 35.1545C46.3465 34.7905 46.6616 34.2822 46.786 33.7154V33.7117L50.2927 17.8594H13.4871L16.8672 33.7005Z',
155
+ compare: 'M50.4 8.4C50.4 7.6574 50.104 6.94622 49.5789 6.42111C49.0538 5.89601 48.3426 5.6 47.6 5.6H42C41.2574 5.6 40.5462 5.89601 40.0211 6.42111C39.496 6.94622 39.2 7.6574 39.2 8.4V47.6C39.2 48.3426 39.496 49.0538 40.0211 49.5789C40.5462 50.104 41.2574 50.4 42 50.4H47.6C48.3426 50.4 49.0538 50.104 49.5789 49.5789C50.104 49.0538 50.4 48.3426 50.4 47.6V8.4ZM5.6 47.6C5.6 48.3426 5.89601 49.0538 6.42111 49.5789C6.94622 50.104 7.6574 50.4 8.4 50.4H14C14.7426 50.4 15.4538 50.104 15.9789 49.5789C16.504 49.0538 16.8 48.3426 16.8 47.6V30.8C16.8 30.0574 16.504 29.3462 15.9789 28.8211C15.4538 28.296 14.7426 28 14 28H8.4C7.6574 28 6.94622 28.296 6.42111 28.8211C5.89601 29.3462 5.6 30.0574 5.6 30.8V47.6ZM22.4 47.6C22.4 48.3426 22.696 49.0538 23.2211 49.5789C23.7462 50.104 24.4574 50.4 25.2 50.4H30.8C31.5426 50.4 32.2538 50.104 32.7789 49.5789C33.304 49.0538 33.6 48.3426 33.6 47.6V19.6C33.6 18.8574 33.304 18.1462 32.7789 17.6211C32.2538 17.096 31.5426 16.8 30.8 16.8H25.2C24.4574 16.8 23.7462 17.096 23.2211 17.6211C22.696 18.1462 22.4 18.8574 22.4 19.6V47.6ZM56 47.6C56 49.8278 55.1161 51.9655 53.5408 53.5408C51.9655 55.1161 49.8278 56 47.6 56H42C39.9257 56 37.9367 55.2259 36.4 53.8487C34.8633 55.2259 32.8743 56 30.8 56H25.2C23.1257 56 21.1367 55.2259 19.6 53.8487C18.0633 55.2259 16.0743 56 14 56H8.4C6.17218 56 4.03454 55.1161 2.45924 53.5408C0.883932 51.9655 0 49.8278 0 47.6V30.8C0 28.5722 0.883932 26.4345 2.45924 24.8592C4.03454 23.2839 6.17218 22.4 8.4 22.4H14C14.964 22.4 15.9083 22.5729 16.8 22.8886V19.6C16.8 17.3722 17.6839 15.2345 19.2592 13.6592C20.8345 12.0839 22.9722 11.2 25.2 11.2H30.8C31.764 11.2 32.7083 11.3729 33.6 11.6886V8.4C33.6 6.17218 34.4839 4.03454 36.0592 2.45924C37.6345 0.883932 39.7722 0 42 0H47.6C49.8278 0 51.9655 0.883932 53.5408 2.45924C55.1161 4.03454 56 6.17218 56 8.4V47.6Z',
156
+ clipboard: 'M45.375 14C45.375 13.2574 45.078 12.5459 44.5506 12.0208C44.0231 11.4957 43.3084 11.2 42.5625 11.2H39.26C38.8444 12.3692 38.1744 13.4439 37.2767 14.3377C35.6944 15.913 33.5503 16.8 31.3125 16.8H25.6875C23.4497 16.8 21.3056 15.913 19.7233 14.3377C18.8256 13.4439 18.1556 12.3692 17.7399 11.2H14.4375C13.6916 11.2 12.9769 11.4957 12.4494 12.0208C11.922 12.5459 11.625 13.2574 11.625 14V47.6C11.625 48.3426 11.922 49.0541 12.4494 49.5792C12.9769 50.1043 13.6916 50.4 14.4375 50.4H42.5625C43.3084 50.4 44.0231 50.1043 44.5506 49.5792C45.078 49.0541 45.375 48.3426 45.375 47.6V14ZM25.6875 5.6C24.9416 5.6 24.2269 5.89567 23.6994 6.42077C23.172 6.94587 22.875 7.6574 22.875 8.4C22.875 9.1426 23.172 9.85413 23.6994 10.3792C24.2269 10.9043 24.9416 11.2 25.6875 11.2H31.3125C32.0584 11.2 32.7731 10.9043 33.3006 10.3792C33.828 9.85413 34.125 9.1426 34.125 8.4C34.125 7.6574 33.828 6.94587 33.3006 6.42077C32.7731 5.89567 32.0584 5.6 31.3125 5.6H25.6875ZM51 47.6C51 49.8278 50.109 51.9624 48.5267 53.5377C46.9444 55.113 44.8003 56 42.5625 56H14.4375C12.1997 56 10.0556 55.113 8.4733 53.5377C6.89097 51.9624 6 49.8278 6 47.6V14C6 11.7722 6.89097 9.63762 8.4733 8.06231C10.0556 6.48701 12.1997 5.6 14.4375 5.6H17.7399C18.1556 4.43077 18.8256 3.35605 19.7233 2.46231C21.3056 0.887006 23.4497 0 25.6875 0H31.3125C33.5503 0 35.6944 0.887006 37.2767 2.46231C38.1744 3.35605 38.8444 4.43077 39.26 5.6H42.5625C44.8003 5.6 46.9444 6.48701 48.5267 8.06231C50.109 9.63762 51 11.7722 51 14V47.6Z',
144
157
  };
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ChatAttachmentContext = void 0;
7
+ const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
8
+ const mobx_react_lite_1 = require("mobx-react-lite");
9
+ const react_1 = require("@emotion/react");
10
+ const classnames_1 = __importDefault(require("classnames"));
11
+ const deepmerge_1 = __importDefault(require("deepmerge"));
12
+ const providers_1 = require("../../../providers");
13
+ const utilities_1 = require("../../../utilities");
14
+ const hooks_1 = require("../../../hooks");
15
+ const Image_1 = require("../../Atoms/Image");
16
+ const Button_1 = require("../../Atoms/Button");
17
+ const defaultStyles = ({ theme }) => {
18
+ const colorPrimary = utilities_1.Colour.concrete(theme?.variables?.colors?.primary) || '#253B80';
19
+ return (0, react_1.css)({
20
+ '.ss__chat-attachment-context__label': {
21
+ display: 'flex',
22
+ alignItems: 'center',
23
+ justifyContent: 'space-between',
24
+ fontSize: '0.8em',
25
+ color: '#555',
26
+ marginBottom: '0.5em',
27
+ '.ss__chat-attachment-context__label__close.ss__button': {
28
+ display: 'flex',
29
+ alignItems: 'center',
30
+ justifyContent: 'center',
31
+ width: '1.5em',
32
+ height: '1.5em',
33
+ borderRadius: '50%',
34
+ background: 'transparent',
35
+ border: 'none',
36
+ cursor: 'pointer',
37
+ padding: 0,
38
+ '&:hover': {
39
+ background: '#eee',
40
+ },
41
+ '&:focus-visible': {
42
+ outline: `2px solid ${colorPrimary}`,
43
+ outlineOffset: '2px',
44
+ },
45
+ },
46
+ },
47
+ '.ss__chat-attachment-context__items': {
48
+ display: 'flex',
49
+ flexWrap: 'wrap',
50
+ gap: '0.5em',
51
+ '.ss__chat-attachment-context__item': {
52
+ display: 'flex',
53
+ alignItems: 'center',
54
+ gap: '0.5em',
55
+ padding: '0.25em 0.5em',
56
+ border: '1px solid #eee',
57
+ borderRadius: '0.5em',
58
+ background: '#f9fafb',
59
+ maxWidth: 'calc(50% - 0.25em)',
60
+ '.ss__chat-attachment-context__item__main': {
61
+ display: 'flex',
62
+ alignItems: 'center',
63
+ gap: '0.5em',
64
+ flex: 1,
65
+ minWidth: 0,
66
+ },
67
+ '&.ss__chat-attachment-context__item--clickable': {
68
+ cursor: 'pointer',
69
+ '&:hover': {
70
+ borderColor: colorPrimary,
71
+ },
72
+ '.ss__chat-attachment-context__item__main:focus-visible': {
73
+ outline: `2px solid ${colorPrimary}`,
74
+ outlineOffset: '2px',
75
+ },
76
+ },
77
+ '&.ss__chat-attachment-context__item--error': {
78
+ background: '#fff5f5',
79
+ borderColor: '#fca5a5',
80
+ color: '#b91c1c',
81
+ maxWidth: '100%',
82
+ },
83
+ '.ss__chat-attachment-context__item__content': {
84
+ position: 'relative',
85
+ width: '2em',
86
+ height: '2em',
87
+ flexShrink: 0,
88
+ '.ss__image': {
89
+ width: '100%',
90
+ height: '100%',
91
+ },
92
+ },
93
+ '.ss__chat-attachment-context__item__name': {
94
+ whiteSpace: 'nowrap',
95
+ overflow: 'hidden',
96
+ textOverflow: 'ellipsis',
97
+ fontSize: '0.85em',
98
+ },
99
+ '.ss__chat-attachment-context__item__loading': {
100
+ position: 'absolute',
101
+ inset: 0,
102
+ display: 'flex',
103
+ alignItems: 'center',
104
+ justifyContent: 'center',
105
+ gap: '2px',
106
+ '.ss__chat-attachment-context__item__loading__dot': {
107
+ width: '4px',
108
+ height: '4px',
109
+ borderRadius: '50%',
110
+ background: colorPrimary,
111
+ animation: 'ss-chat-attachment-context-pulse 1s ease-in-out infinite',
112
+ '&:nth-of-type(2)': { animationDelay: '0.2s' },
113
+ '&:nth-of-type(3)': { animationDelay: '0.4s' },
114
+ },
115
+ },
116
+ '@keyframes ss-chat-attachment-context-pulse': {
117
+ '0%, 100%': { opacity: 0.3 },
118
+ '50%': { opacity: 1 },
119
+ },
120
+ '.ss__chat-attachment-context__item__error-icon': {
121
+ fontWeight: 'bold',
122
+ },
123
+ '.ss__chat-attachment-context__item__remove': {
124
+ marginLeft: 'auto',
125
+ padding: 0,
126
+ background: 'transparent',
127
+ border: 'none',
128
+ },
129
+ },
130
+ },
131
+ });
132
+ };
133
+ exports.ChatAttachmentContext = (0, mobx_react_lite_1.observer)((properties) => {
134
+ const globalTheme = (0, providers_1.useTheme)();
135
+ const globalTreePath = (0, providers_1.useTreePath)();
136
+ const defaultProps = {
137
+ treePath: globalTreePath,
138
+ };
139
+ const props = (0, utilities_1.mergeProps)('chatAttachmentContext', globalTheme, defaultProps, properties);
140
+ const { title, items, onClose, disableStyles, className, internalClassName, treePath } = props;
141
+ const { overrideElement, shouldRenderDefault } = (0, hooks_1.useCustomComponentOverride)('chatAttachmentContext', props);
142
+ if (!shouldRenderDefault) {
143
+ return overrideElement;
144
+ }
145
+ if (!items || items.length === 0) {
146
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
147
+ }
148
+ const subProps = {
149
+ image: {
150
+ disableStyles,
151
+ theme: props.theme,
152
+ treePath,
153
+ },
154
+ closeButton: {
155
+ disableStyles,
156
+ theme: props.theme,
157
+ treePath,
158
+ },
159
+ removeButton: {
160
+ disableStyles,
161
+ theme: props.theme,
162
+ treePath,
163
+ },
164
+ };
165
+ const styling = (0, utilities_1.mergeStyles)(props, defaultStyles);
166
+ //initialize lang
167
+ const defaultLang = {
168
+ closeButton: {
169
+ attributes: {
170
+ 'aria-label': `Close ${title}`,
171
+ },
172
+ },
173
+ };
174
+ //deep merge with props.lang
175
+ const lang = (0, deepmerge_1.default)(defaultLang, props.lang || {});
176
+ const mergedLang = (0, hooks_1.useLang)(lang, {
177
+ title,
178
+ items,
179
+ }, { activeBreakpoint: globalTheme?.activeBreakpoint });
180
+ return ((0, jsx_runtime_1.jsx)(providers_1.CacheProvider, { children: (0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('ss__chat-attachment-context', className, internalClassName), ...styling, children: [(0, jsx_runtime_1.jsxs)("div", { className: 'ss__chat-attachment-context__label', children: [(0, jsx_runtime_1.jsx)("span", { children: title }), onClose && ((0, jsx_runtime_1.jsx)(Button_1.Button, { ...subProps.closeButton, internalClassName: 'ss__chat-attachment-context__label__close', onClick: onClose, icon: { icon: 'close-thin', size: '12px' }, ...mergedLang.closeButton.attributes }))] }), (0, jsx_runtime_1.jsx)("div", { className: 'ss__chat-attachment-context__items', children: items.map((item) => {
181
+ const isClickable = !!item.onClick;
182
+ const itemDefaultLang = {
183
+ openItemButton: {
184
+ attributes: {
185
+ 'aria-label': `Open ${item.name}`,
186
+ },
187
+ },
188
+ loadingIndicator: {
189
+ attributes: {
190
+ 'aria-label': `Loading ${item.name}`,
191
+ },
192
+ },
193
+ removeButton: {
194
+ attributes: {
195
+ 'aria-label': `Remove ${item.name}`,
196
+ },
197
+ },
198
+ uploadFailedText: {
199
+ value: `Upload Failed - ${item.name}`,
200
+ },
201
+ };
202
+ const itemLang = (0, deepmerge_1.default)(itemDefaultLang, props.lang || {});
203
+ const itemMergedLang = (0, hooks_1.useLang)(itemLang, {
204
+ title,
205
+ items,
206
+ item,
207
+ }, { activeBreakpoint: globalTheme?.activeBreakpoint });
208
+ const itemContent = item.hasError ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: 'ss__chat-attachment-context__item__error-icon', "aria-hidden": "true", children: "!" }), item.errorMessage ? ((0, jsx_runtime_1.jsx)("div", { className: 'ss__chat-attachment-context__item__error-message', children: item.errorMessage })) : ((0, jsx_runtime_1.jsx)("div", { className: 'ss__chat-attachment-context__item__error-message', ...itemMergedLang.uploadFailedText.value }))] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: 'ss__chat-attachment-context__item__content', children: [item.imageUrl && (0, jsx_runtime_1.jsx)(Image_1.Image, { ...subProps.image, className: item.isLoading ? 'loading' : '', src: item.imageUrl, alt: item.name }), item.isLoading && ((0, jsx_runtime_1.jsxs)("div", { className: 'ss__chat-attachment-context__item__loading', role: "status", ...itemMergedLang.loadingIndicator.attributes, children: [(0, jsx_runtime_1.jsx)("div", { className: 'ss__chat-attachment-context__item__loading__dot' }), (0, jsx_runtime_1.jsx)("div", { className: 'ss__chat-attachment-context__item__loading__dot' }), (0, jsx_runtime_1.jsx)("div", { className: 'ss__chat-attachment-context__item__loading__dot' })] }))] }), (0, jsx_runtime_1.jsx)("div", { className: 'ss__chat-attachment-context__item__name', title: item.name, children: item.name })] }));
209
+ return ((0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('ss__chat-attachment-context__item', {
210
+ 'ss__chat-attachment-context__item--error': item.hasError,
211
+ 'ss__chat-attachment-context__item--clickable': isClickable,
212
+ }), children: [isClickable ? ((0, jsx_runtime_1.jsx)("div", { className: 'ss__chat-attachment-context__item__main', role: "button", ref: (e) => (0, hooks_1.useA11y)(e), onClick: item.onClick, ...itemMergedLang.openItemButton.attributes, children: itemContent })) : ((0, jsx_runtime_1.jsx)("div", { className: 'ss__chat-attachment-context__item__main', children: itemContent })), item.onRemove && (items.length > 1 || !onClose || isClickable) && ((0, jsx_runtime_1.jsx)(Button_1.Button, { ...subProps.removeButton, className: 'ss__chat-attachment-context__item__remove', onClick: (e) => {
213
+ e.stopPropagation();
214
+ if (!item.isLoading)
215
+ item.onRemove?.();
216
+ }, icon: {
217
+ icon: 'close-thin',
218
+ size: '0.6em',
219
+ }, ...itemMergedLang.removeButton.attributes }))] }, item.id));
220
+ }) })] }) }));
221
+ });
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ChatAttachmentContext"), exports);