cd-aichat 1.0.0

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 (356) hide show
  1. package/README.md +188 -0
  2. package/dist/ailogo.png +0 -0
  3. package/dist/cd-aichat.css +1 -0
  4. package/dist/cd-aichat.es.js +32223 -0
  5. package/dist/cd-aichat.umd.js +279 -0
  6. package/dist/index.css +1 -0
  7. package/package.json +61 -0
  8. package/src/ailogo.png +0 -0
  9. package/src/components/AiChat.test.js +538 -0
  10. package/src/components/AiChat.vue +2206 -0
  11. package/src/components/AiChatWidget.test.js +312 -0
  12. package/src/components/AiChatWidget.vue +963 -0
  13. package/src/components/BurnAfterReadDialog.test.js +121 -0
  14. package/src/components/BurnAfterReadDialog.vue +511 -0
  15. package/src/components/BurnAfterReadMessage.test.js +188 -0
  16. package/src/components/BurnAfterReadMessage.vue +193 -0
  17. package/src/components/BurnIndicator.test.js +101 -0
  18. package/src/components/BurnIndicator.vue +164 -0
  19. package/src/components/ChatWindow.vue +0 -0
  20. package/src/components/MentionList.vue +163 -0
  21. package/src/components/ResourceList.vue +194 -0
  22. package/src/components/RichTextEditor.vue +437 -0
  23. package/src/components/ScheduledSendDialog.vue +476 -0
  24. package/src/components/ScreenshotOverlay.vue +78 -0
  25. package/src/components/SendButtonGroup.test.js +174 -0
  26. package/src/components/SendButtonGroup.vue +166 -0
  27. package/src/components/UserDrawer.vue +0 -0
  28. package/src/components/screenshot/ScreenshotsBackground/getBoundsByPoints.ts +41 -0
  29. package/src/components/screenshot/ScreenshotsBackground/index.scss +27 -0
  30. package/src/components/screenshot/ScreenshotsBackground/index.tsx +145 -0
  31. package/src/components/screenshot/ScreenshotsButton/index.scss +29 -0
  32. package/src/components/screenshot/ScreenshotsButton/index.tsx +58 -0
  33. package/src/components/screenshot/ScreenshotsCanvas/getBoundsByPoints.ts +55 -0
  34. package/src/components/screenshot/ScreenshotsCanvas/getPoints.ts +60 -0
  35. package/src/components/screenshot/ScreenshotsCanvas/index.scss +84 -0
  36. package/src/components/screenshot/ScreenshotsCanvas/index.tsx +277 -0
  37. package/src/components/screenshot/ScreenshotsCanvas/isPointInDraw.ts +35 -0
  38. package/src/components/screenshot/ScreenshotsColor/index.scss +45 -0
  39. package/src/components/screenshot/ScreenshotsColor/index.tsx +39 -0
  40. package/src/components/screenshot/ScreenshotsContext.ts +56 -0
  41. package/src/components/screenshot/ScreenshotsMagnifier/index.scss +61 -0
  42. package/src/components/screenshot/ScreenshotsMagnifier/index.tsx +126 -0
  43. package/src/components/screenshot/ScreenshotsOperations/index.scss +25 -0
  44. package/src/components/screenshot/ScreenshotsOperations/index.tsx +118 -0
  45. package/src/components/screenshot/ScreenshotsOption/index.scss +50 -0
  46. package/src/components/screenshot/ScreenshotsOption/index.tsx +150 -0
  47. package/src/components/screenshot/ScreenshotsSize/index.scss +28 -0
  48. package/src/components/screenshot/ScreenshotsSize/index.tsx +41 -0
  49. package/src/components/screenshot/ScreenshotsSizeColor/index.scss +8 -0
  50. package/src/components/screenshot/ScreenshotsSizeColor/index.tsx +25 -0
  51. package/src/components/screenshot/ScreenshotsTextarea/calculateNodeSize.ts +117 -0
  52. package/src/components/screenshot/ScreenshotsTextarea/index.scss +19 -0
  53. package/src/components/screenshot/ScreenshotsTextarea/index.tsx +96 -0
  54. package/src/components/screenshot/composeImage.ts +57 -0
  55. package/src/components/screenshot/exports.ts +4 -0
  56. package/src/components/screenshot/hooks/useBounds.ts +35 -0
  57. package/src/components/screenshot/hooks/useCall.ts +17 -0
  58. package/src/components/screenshot/hooks/useCanvasContextRef.ts +8 -0
  59. package/src/components/screenshot/hooks/useCanvasMousedown.ts +13 -0
  60. package/src/components/screenshot/hooks/useCanvasMousemove.ts +13 -0
  61. package/src/components/screenshot/hooks/useCanvasMouseup.ts +13 -0
  62. package/src/components/screenshot/hooks/useCursor.ts +34 -0
  63. package/src/components/screenshot/hooks/useDispatcher.ts +8 -0
  64. package/src/components/screenshot/hooks/useDrawSelect.ts +16 -0
  65. package/src/components/screenshot/hooks/useEmiter.ts +61 -0
  66. package/src/components/screenshot/hooks/useHistory.ts +160 -0
  67. package/src/components/screenshot/hooks/useLang.ts +8 -0
  68. package/src/components/screenshot/hooks/useOperation.ts +37 -0
  69. package/src/components/screenshot/hooks/useReset.ts +26 -0
  70. package/src/components/screenshot/hooks/useStore.ts +8 -0
  71. package/src/components/screenshot/icons/iconfont.scss +88 -0
  72. package/src/components/screenshot/icons/iconfont.ttf +0 -0
  73. package/src/components/screenshot/icons/iconfont.woff +0 -0
  74. package/src/components/screenshot/icons/iconfont.woff2 +0 -0
  75. package/src/components/screenshot/index.tsx +169 -0
  76. package/src/components/screenshot/operations/Arrow/draw.ts +56 -0
  77. package/src/components/screenshot/operations/Arrow/index.tsx +193 -0
  78. package/src/components/screenshot/operations/Brush/draw.ts +45 -0
  79. package/src/components/screenshot/operations/Brush/index.tsx +169 -0
  80. package/src/components/screenshot/operations/Cancel/index.tsx +18 -0
  81. package/src/components/screenshot/operations/Ellipse/draw.ts +96 -0
  82. package/src/components/screenshot/operations/Ellipse/index.tsx +245 -0
  83. package/src/components/screenshot/operations/Mosaic/index.tsx +223 -0
  84. package/src/components/screenshot/operations/Ok/index.tsx +37 -0
  85. package/src/components/screenshot/operations/Pin/index.tsx +37 -0
  86. package/src/components/screenshot/operations/Rectangle/draw.ts +80 -0
  87. package/src/components/screenshot/operations/Rectangle/index.tsx +245 -0
  88. package/src/components/screenshot/operations/Redo/index.tsx +22 -0
  89. package/src/components/screenshot/operations/Save/index.tsx +37 -0
  90. package/src/components/screenshot/operations/Scan/index.tsx +46 -0
  91. package/src/components/screenshot/operations/Search/index.tsx +39 -0
  92. package/src/components/screenshot/operations/Text/index.tsx +307 -0
  93. package/src/components/screenshot/operations/Undo/index.tsx +22 -0
  94. package/src/components/screenshot/operations/index.ts +34 -0
  95. package/src/components/screenshot/operations/utils.ts +34 -0
  96. package/src/components/screenshot/screenshots.scss +13 -0
  97. package/src/components/screenshot/types.ts +53 -0
  98. package/src/components/screenshot/useGetLoadedImage.ts +29 -0
  99. package/src/components/screenshot/var.scss +107 -0
  100. package/src/components/screenshot/zh_CN.ts +37 -0
  101. package/src/emoji/100.gif +0 -0
  102. package/src/emoji/101.gif +0 -0
  103. package/src/emoji/102.gif +0 -0
  104. package/src/emoji/103.gif +0 -0
  105. package/src/emoji/104.gif +0 -0
  106. package/src/emoji/105.gif +0 -0
  107. package/src/emoji/106.gif +0 -0
  108. package/src/emoji/107.gif +0 -0
  109. package/src/emoji/108.gif +0 -0
  110. package/src/emoji/109.gif +0 -0
  111. package/src/emoji/110.gif +0 -0
  112. package/src/emoji/111.gif +0 -0
  113. package/src/emoji/112.gif +0 -0
  114. package/src/emoji/113.gif +0 -0
  115. package/src/emoji/114.gif +0 -0
  116. package/src/emoji/115.gif +0 -0
  117. package/src/emoji/116.gif +0 -0
  118. package/src/emoji/117.gif +0 -0
  119. package/src/emoji/118.gif +0 -0
  120. package/src/emoji/119.gif +0 -0
  121. package/src/emoji/120.gif +0 -0
  122. package/src/emoji/121.gif +0 -0
  123. package/src/emoji/122.gif +0 -0
  124. package/src/emoji/123.gif +0 -0
  125. package/src/emoji/124.gif +0 -0
  126. package/src/emoji/125.gif +0 -0
  127. package/src/emoji/126.gif +0 -0
  128. package/src/emoji/127.gif +0 -0
  129. package/src/emoji/128.gif +0 -0
  130. package/src/emoji/129.gif +0 -0
  131. package/src/emoji/130.gif +0 -0
  132. package/src/emoji/131.gif +0 -0
  133. package/src/emoji/132.gif +0 -0
  134. package/src/emoji/133.gif +0 -0
  135. package/src/emoji/134.gif +0 -0
  136. package/src/emoji/135.gif +0 -0
  137. package/src/emoji/136.gif +0 -0
  138. package/src/emoji/137.gif +0 -0
  139. package/src/emoji/138.gif +0 -0
  140. package/src/emoji/139.gif +0 -0
  141. package/src/emoji/140.gif +0 -0
  142. package/src/emoji/141.gif +0 -0
  143. package/src/emoji/142.gif +0 -0
  144. package/src/emoji/143.gif +0 -0
  145. package/src/emoji/144.gif +0 -0
  146. package/src/emoji/145.gif +0 -0
  147. package/src/emoji/146.gif +0 -0
  148. package/src/emoji/147.gif +0 -0
  149. package/src/emoji/148.gif +0 -0
  150. package/src/emoji/149.gif +0 -0
  151. package/src/emoji/150.gif +0 -0
  152. package/src/emoji/151.gif +0 -0
  153. package/src/emoji/152.gif +0 -0
  154. package/src/emoji/153.gif +0 -0
  155. package/src/emoji/154.gif +0 -0
  156. package/src/emoji/155.gif +0 -0
  157. package/src/emoji/156.gif +0 -0
  158. package/src/emoji/157.gif +0 -0
  159. package/src/emoji/158.gif +0 -0
  160. package/src/emoji/159.gif +0 -0
  161. package/src/emoji/160.gif +0 -0
  162. package/src/emoji/161.gif +0 -0
  163. package/src/emoji/162.gif +0 -0
  164. package/src/emoji/163.gif +0 -0
  165. package/src/emoji/164.gif +0 -0
  166. package/src/emoji/165.gif +0 -0
  167. package/src/emoji/166.gif +0 -0
  168. package/src/emoji/167.gif +0 -0
  169. package/src/emoji/168.gif +0 -0
  170. package/src/emoji/169.gif +0 -0
  171. package/src/emoji/170.gif +0 -0
  172. package/src/emoji/171.gif +0 -0
  173. package/src/emoji/172.gif +0 -0
  174. package/src/emoji/173.gif +0 -0
  175. package/src/emoji/174.gif +0 -0
  176. package/src/emoji/175.gif +0 -0
  177. package/src/emoji/176.gif +0 -0
  178. package/src/emoji/177.gif +0 -0
  179. package/src/emoji/178.gif +0 -0
  180. package/src/emoji/179.gif +0 -0
  181. package/src/emoji/180.gif +0 -0
  182. package/src/emoji/181.gif +0 -0
  183. package/src/emoji/182.gif +0 -0
  184. package/src/emoji/183.gif +0 -0
  185. package/src/emoji/184.gif +0 -0
  186. package/src/emoji/185.gif +0 -0
  187. package/src/emoji/186.gif +0 -0
  188. package/src/emoji/187.gif +0 -0
  189. package/src/emoji/188.gif +0 -0
  190. package/src/emoji/189.gif +0 -0
  191. package/src/emoji/190.gif +0 -0
  192. package/src/emoji/191.gif +0 -0
  193. package/src/emoji/192.gif +0 -0
  194. package/src/emoji/193.gif +0 -0
  195. package/src/emoji/194.gif +0 -0
  196. package/src/emoji/195.gif +0 -0
  197. package/src/emoji/196.gif +0 -0
  198. package/src/emoji/197.gif +0 -0
  199. package/src/emoji/198.gif +0 -0
  200. package/src/emoji/199.gif +0 -0
  201. package/src/emoji/200.png +0 -0
  202. package/src/emoji/201.png +0 -0
  203. package/src/emoji/202.png +0 -0
  204. package/src/emoji/203.png +0 -0
  205. package/src/emoji/204.png +0 -0
  206. package/src/emoji/205.png +0 -0
  207. package/src/emoji/206.png +0 -0
  208. package/src/emoji/207.png +0 -0
  209. package/src/emoji/208.png +0 -0
  210. package/src/emoji/209.png +0 -0
  211. package/src/emoji/210.png +0 -0
  212. package/src/emoji/211.png +0 -0
  213. package/src/emoji/212.png +0 -0
  214. package/src/emoji/213.png +0 -0
  215. package/src/emoji/214.png +0 -0
  216. package/src/emoji/215.png +0 -0
  217. package/src/emoji/216.png +0 -0
  218. package/src/emoji/217.png +0 -0
  219. package/src/emoji/218.png +0 -0
  220. package/src/emoji/219.png +0 -0
  221. package/src/emoji2/101--Streamline-The-Team.png +0 -0
  222. package/src/emoji2/128--Streamline-The-Team.png +0 -0
  223. package/src/emoji2/134--Streamline-The-Team.png +0 -0
  224. package/src/emoji2/173--Streamline-The-Team.png +0 -0
  225. package/src/emoji2/Airplane--Streamline-Emoji.svg +24 -0
  226. package/src/emoji2/Alien--Streamline-Emoji.svg +21 -0
  227. package/src/emoji2/Amazed-Face--Streamline-Emoji.svg +16 -0
  228. package/src/emoji2/Amusing-Face--Streamline-Emoji.svg +20 -0
  229. package/src/emoji2/Anguished-Face--Streamline-Emoji.svg +19 -0
  230. package/src/emoji2/Anxious-Face--Streamline-Emoji.svg +17 -0
  231. package/src/emoji2/Astonished-Face--Streamline-Emoji.svg +20 -0
  232. package/src/emoji2/Backhand-Index-Pointing-Down-1--Streamline-Emoji.svg +12 -0
  233. package/src/emoji2/Backhand-Index-Pointing-Left-1--Streamline-Emoji.svg +13 -0
  234. package/src/emoji2/Backhand-Index-Pointing-Right-1--Streamline-Emoji.svg +13 -0
  235. package/src/emoji2/Backhand-Index-Pointing-Up-1--Streamline-Emoji.svg +14 -0
  236. package/src/emoji2/Bar-Chart--Streamline-Emoji.svg +22 -0
  237. package/src/emoji2/Beaming-Face-With-Smiling-Eyes--Streamline-Emoji.svg +20 -0
  238. package/src/emoji2/Boy-1--Streamline-Emoji.svg +17 -0
  239. package/src/emoji2/Boy-2--Streamline-Emoji.svg +17 -0
  240. package/src/emoji2/Boy-3--Streamline-Emoji.svg +17 -0
  241. package/src/emoji2/Broken-Heart--Streamline-Emoji.svg +12 -0
  242. package/src/emoji2/Clapping-Hands-1--Streamline-Emoji.svg +23 -0
  243. package/src/emoji2/Clinking-Glasses-2--Streamline-Emoji.svg +43 -0
  244. package/src/emoji2/Confounded-Face--Streamline-Emoji.svg +17 -0
  245. package/src/emoji2/Confused-Face--Streamline-Emoji.svg +15 -0
  246. package/src/emoji2/Construction-Worker--Streamline-Emoji.svg +21 -0
  247. package/src/emoji2/Couple-With-Heart-Woman-Man-1--Streamline-Emoji.svg +40 -0
  248. package/src/emoji2/Couple-With-Heart-Woman-Man-2--Streamline-Emoji.svg +40 -0
  249. package/src/emoji2/Cowboy-Hat-Face--Streamline-Emoji.svg +22 -0
  250. package/src/emoji2/Crazy-Face--Streamline-Emoji.svg +25 -0
  251. package/src/emoji2/Crossed-Fingers-1--Streamline-Emoji.svg +25 -0
  252. package/src/emoji2/Crown--Streamline-Emoji.svg +35 -0
  253. package/src/emoji2/Crying-Face--Streamline-Emoji.svg +26 -0
  254. package/src/emoji2/Delivery-Truck--Streamline-Emoji.svg +31 -0
  255. package/src/emoji2/Determined-Face--Streamline-Emoji.svg +25 -0
  256. package/src/emoji2/Disappointed-Face--Streamline-Emoji.svg +15 -0
  257. package/src/emoji2/Dizzy-Face--Streamline-Emoji.svg +20 -0
  258. package/src/emoji2/Downcast-Face-With-Sweat--Streamline-Emoji.svg +18 -0
  259. package/src/emoji2/Drooling-Face-1--Streamline-Emoji.svg +19 -0
  260. package/src/emoji2/Drooling-Face-2--Streamline-Emoji.svg +18 -0
  261. package/src/emoji2/Ear--Streamline-Emoji.svg +14 -0
  262. package/src/emoji2/Exclamation-Mark--Streamline-Emoji.svg +12 -0
  263. package/src/emoji2/Exploding-Head--Streamline-Emoji.svg +24 -0
  264. package/src/emoji2/Expressionless-Face--Streamline-Emoji.svg +15 -0
  265. package/src/emoji2/Face-Blowing-A-Kiss--Streamline-Emoji.svg +18 -0
  266. package/src/emoji2/Face-Savoring-Food--Streamline-Emoji.svg +18 -0
  267. package/src/emoji2/Face-Screaming-In-Fear--Streamline-Emoji.svg +18 -0
  268. package/src/emoji2/Face-Vomiting--Streamline-Emoji.svg +28 -0
  269. package/src/emoji2/Face-With-Head-Bandage--Streamline-Emoji.svg +25 -0
  270. package/src/emoji2/Face-With-Medical-Mask--Streamline-Emoji.svg +23 -0
  271. package/src/emoji2/Face-With-Monocle--Streamline-Emoji.svg +26 -0
  272. package/src/emoji2/Face-With-Raised-Eyebrow--Streamline-Emoji.svg +17 -0
  273. package/src/emoji2/Face-With-Rolling-Eyes--Streamline-Emoji.svg +17 -0
  274. package/src/emoji2/Face-With-Steam-From-Nose--Streamline-Emoji.svg +19 -0
  275. package/src/emoji2/Face-With-Symbols-On-Mouth--Streamline-Emoji.svg +22 -0
  276. package/src/emoji2/Face-With-Tears-Of-Joy--Streamline-Emoji.svg +34 -0
  277. package/src/emoji2/Face-With-Thermometer--Streamline-Emoji.svg +31 -0
  278. package/src/emoji2/Face-With-Tongue--Streamline-Emoji.svg +18 -0
  279. package/src/emoji2/Face-Without-Mouth--Streamline-Emoji.svg +14 -0
  280. package/src/emoji2/Fearful-Face--Streamline-Emoji.svg +18 -0
  281. package/src/emoji2/Flexed-Biceps-1--Streamline-Emoji.svg +13 -0
  282. package/src/emoji2/Flushed-Face--Streamline-Emoji.svg +19 -0
  283. package/src/emoji2/Folded-Hands-1--Streamline-Emoji.svg +29 -0
  284. package/src/emoji2/Frowning-Face--Streamline-Emoji.svg +15 -0
  285. package/src/emoji2/Fuel-Pump--Streamline-Emoji.svg +30 -0
  286. package/src/emoji2/Girl-1--Streamline-Emoji.svg +23 -0
  287. package/src/emoji2/Glasses-1--Streamline-Emoji.svg +27 -0
  288. package/src/emoji2/Grimacing-Face--Streamline-Emoji.svg +19 -0
  289. package/src/emoji2/Grinning-Cat-Face--Streamline-Emoji.svg +32 -0
  290. package/src/emoji2/Grinning-Face--Streamline-Emoji.svg +16 -0
  291. package/src/emoji2/Grinning-Face-With-Sweat--Streamline-Emoji.svg +19 -0
  292. package/src/emoji2/Grinning-Squinting-Face--Streamline-Emoji.svg +16 -0
  293. package/src/emoji2/Hand-With-Fingers-Splayed-1--Streamline-Emoji.svg +14 -0
  294. package/src/emoji2/Heart-Suit--Streamline-Emoji.svg +9 -0
  295. package/src/emoji2/Hushed-Face-1--Streamline-Emoji.svg +17 -0
  296. package/src/emoji2/Hushed-Face-2--Streamline-Emoji.svg +15 -0
  297. package/src/emoji2/Index-Pointing-Up-1--Streamline-Emoji.svg +17 -0
  298. package/src/emoji2/Kissing-Face-With-Closed-Eyes--Streamline-Emoji.svg +18 -0
  299. package/src/emoji2/Loudly-Crying-Face--Streamline-Emoji.svg +16 -0
  300. package/src/emoji2/Lying-Face--Streamline-Emoji.svg +15 -0
  301. package/src/emoji2/Man-1--Streamline-Emoji.svg +17 -0
  302. package/src/emoji2/Man-Facepalming-1--Streamline-Emoji.svg +21 -0
  303. package/src/emoji2/Man-Gesturing-No-1--Streamline-Emoji.svg +34 -0
  304. package/src/emoji2/Man-Gesturing-Ok-1--Streamline-Emoji.svg +25 -0
  305. package/src/emoji2/Man-Health-Worker-1--Streamline-Emoji.svg +41 -0
  306. package/src/emoji2/Man-Raising-Hand-1--Streamline-Emoji.svg +26 -0
  307. package/src/emoji2/Man-Shrugging-1--Streamline-Emoji.svg +31 -0
  308. package/src/emoji2/Money-Mouth-Face-2--Streamline-Emoji.svg +30 -0
  309. package/src/emoji2/Mouth--Streamline-Emoji.svg +12 -0
  310. package/src/emoji2/Nauseated-Face-2--Streamline-Emoji.svg +19 -0
  311. package/src/emoji2/Neutral-Face--Streamline-Emoji.svg +15 -0
  312. package/src/emoji2/Ok-Hand-1--Streamline-Emoji.svg +14 -0
  313. package/src/emoji2/Old-Man-1--Streamline-Emoji.svg +27 -0
  314. package/src/emoji2/Old-Woman-1--Streamline-Emoji.svg +23 -0
  315. package/src/emoji2/Oncoming-Fist-1--Streamline-Emoji.svg +15 -0
  316. package/src/emoji2/Person-Wearing-Turban-2--Streamline-Emoji.svg +20 -0
  317. package/src/emoji2/Pile-Of-Poo--Streamline-Emoji.svg +15 -0
  318. package/src/emoji2/Police-Car-Light--Streamline-Emoji.svg +26 -0
  319. package/src/emoji2/Rocket--Streamline-Emoji.svg +32 -0
  320. package/src/emoji2/Sailboat--Streamline-Emoji.svg +18 -0
  321. package/src/emoji2/Shaved-Ice--Streamline-Emoji.svg +21 -0
  322. package/src/emoji2/Shortcake-2--Streamline-Emoji.svg +18 -0
  323. package/src/emoji2/Shushing-Face--Streamline-Emoji.svg +21 -0
  324. package/src/emoji2/Sign-Of-The-Horns-1--Streamline-Emoji.svg +19 -0
  325. package/src/emoji2/Sleeping-Face--Streamline-Emoji.svg +21 -0
  326. package/src/emoji2/Slightly-Smiling-Face--Streamline-Emoji.svg +15 -0
  327. package/src/emoji2/Smiling-Face-With-Halo--Streamline-Emoji.svg +20 -0
  328. package/src/emoji2/Smiling-Face-With-Heart-Eyes--Streamline-Emoji.svg +21 -0
  329. package/src/emoji2/Smirking-Face--Streamline-Emoji.svg +17 -0
  330. package/src/emoji2/Sun-With-Face--Streamline-Emoji.svg +24 -0
  331. package/src/emoji2/Thumbs-Down-1--Streamline-Emoji.svg +20 -0
  332. package/src/emoji2/Thumbs-Up-1--Streamline-Emoji.svg +19 -0
  333. package/src/emoji2/Winking-Face--Streamline-Emoji.svg +18 -0
  334. package/src/emoji2/Woman-Gesturing-No-1--Streamline-Emoji.svg +34 -0
  335. package/src/emoji2/Woman-Gesturing-Ok-2--Streamline-Emoji.svg +25 -0
  336. package/src/emoji2/Woman-Raising-Hand-1--Streamline-Emoji.svg +26 -0
  337. package/src/emoji2/Womans-Sandal--Streamline-Emoji.svg +13 -0
  338. package/src/emoji2/Worried-Face--Streamline-Emoji.svg +17 -0
  339. package/src/emoji2/Writing-Hand-1--Streamline-Emoji.svg +17 -0
  340. package/src/emoji2/Zipper-Mouth-Face--Streamline-Emoji.svg +21 -0
  341. package/src/index.js +19 -0
  342. package/src/services/burn-after-read-service.js +313 -0
  343. package/src/services/burn-after-read-service.test.js +325 -0
  344. package/src/services/dify-api.js +338 -0
  345. package/src/services/dify-api.test.js +376 -0
  346. package/src/services/scheduled-send-service.js +311 -0
  347. package/src/services/scheduled-send-service.test.js +317 -0
  348. package/src/styles/index.css +2368 -0
  349. package/src/utils/emoji.js +125 -0
  350. package/src/utils/emojiData.js +267 -0
  351. package/src/utils/eventEmitter.js +114 -0
  352. package/src/utils/state.js +224 -0
  353. package/src/utils/state.test.js +198 -0
  354. package/src/utils/storage.js +122 -0
  355. package/src/utils/storage.test.js +162 -0
  356. package/src/utils/validation.js +249 -0
@@ -0,0 +1,34 @@
1
+ <svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" id="Woman-Gesturing-No-1--Streamline-Emoji" height="64" width="64">
2
+ <desc>
3
+ Woman Gesturing NO 1 Streamline Emoji: https://streamlinehq.com
4
+ </desc>
5
+ <path d="M12.666666666666666 59.33333333333333a19.333333333333332 2 0 1 0 38.666666666666664 0 19.333333333333332 2 0 1 0 -38.666666666666664 0Z" fill="#45413c" opacity=".15" stroke-width="1"></path>
6
+ <path d="M32 6.426666666666667a14.506666666666668 14.506666666666668 0 0 1 14.506666666666668 14.493333333333332v18.919999999999998a1.6533333333333333 1.6533333333333333 0 0 1 -1.0266666666666666 1.4933333333333334 36.12 36.12 0 0 1 -26.959999999999997 0 1.6533333333333333 1.6533333333333333 0 0 1 -1.0266666666666666 -1.5199999999999998V20.919999999999998A14.506666666666668 14.506666666666668 0 0 1 32 6.426666666666667Z" fill="#724f3d" stroke-width="1"></path>
7
+ <path d="M32 6.426666666666667a14.506666666666668 14.506666666666668 0 0 0 -14.506666666666668 14.493333333333332v4a14.506666666666668 14.506666666666668 0 0 1 29.013333333333335 0v-4A14.506666666666668 14.506666666666668 0 0 0 32 6.426666666666667Z" fill="#a86c4d" stroke-width="1"></path>
8
+ <path d="M32 6.426666666666667a14.506666666666668 14.506666666666668 0 0 1 14.506666666666668 14.493333333333332v18.919999999999998a1.6533333333333333 1.6533333333333333 0 0 1 -1.0266666666666666 1.4933333333333334h0a36.12 36.12 0 0 1 -26.959999999999997 0h0a1.6533333333333333 1.6533333333333333 0 0 1 -1.0266666666666666 -1.5199999999999998V20.919999999999998A14.506666666666668 14.506666666666668 0 0 1 32 6.426666666666667Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
9
+ <path d="M32 39.626666666666665A15.84 15.84 0 0 1 47.84 55.46666666666667v2.533333333333333H16.159999999999997v-2.533333333333333A15.84 15.84 0 0 1 32 39.626666666666665Z" fill="#ff87af" stroke-width="1"></path>
10
+ <path d="M32 39.626666666666665A15.84 15.84 0 0 0 16.159999999999997 55.46666666666667v2.533333333333333h0.09333333333333334A15.84 15.84 0 0 1 32 43.906666666666666 15.84 15.84 0 0 1 47.74666666666667 58h0.09333333333333334v-2.533333333333333A15.84 15.84 0 0 0 32 39.626666666666665Z" fill="#ff6196" stroke-width="1"></path>
11
+ <path d="M32 39.626666666666665h0A15.84 15.84 0 0 1 47.84 55.46666666666667v2.533333333333333l0 0H16.159999999999997l0 0v-2.533333333333333A15.84 15.84 0 0 1 32 39.626666666666665Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
12
+ <path d="m22.746666666666663 58 0 -3.2133333333333334" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
13
+ <path d="m41.25333333333333 58 0 -3.2133333333333334" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
14
+ <path d="m28.613333333333333 34.22666666666667 6.786666666666666 0 0 10.586666666666666 -6.786666666666666 0Z" fill="#ebcb00" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
15
+ <path d="M44.08 24a11.693333333333332 11.693333333333332 0 0 1 -7.56 -6.666666666666666l-0.8266666666666667 -1.9866666666666666a21.226666666666667 21.226666666666667 0 0 1 -13.266666666666666 8.239999999999998l-2.5199999999999996 0.41333333333333333a2.413333333333333 2.413333333333333 0 0 0 0 4.826666666666666h0.15999999999999998a12 12 0 0 0 23.866666666666664 0h0.14666666666666667a2.413333333333333 2.413333333333333 0 1 0 0 -4.826666666666666Z" fill="#ffe500" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
16
+ <path d="M24.759999999999998 25.88a1.0266666666666666 1.0266666666666666 0 1 0 1.0266666666666666 -1.0266666666666666 1.0133333333333332 1.0133333333333332 0 0 0 -1.0266666666666666 1.0266666666666666Z" fill="#45413c" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
17
+ <path d="M39.239999999999995 25.88a1.0266666666666666 1.0266666666666666 0 1 1 -1.0266666666666666 -1.0266666666666666 1.0133333333333332 1.0133333333333332 0 0 1 1.0266666666666666 1.0266666666666666Z" fill="#45413c" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
18
+ <path d="M22.746666666666663 30.253333333333334a1.3333333333333333 0.7999999999999999 0 1 0 2.6666666666666665 0 1.3333333333333333 0.7999999999999999 0 1 0 -2.6666666666666665 0Z" fill="#ffaa54" stroke-width="1"></path>
19
+ <path d="M38.586666666666666 30.253333333333334a1.3333333333333333 0.7999999999999999 0 1 0 2.6666666666666665 0 1.3333333333333333 0.7999999999999999 0 1 0 -2.6666666666666665 0Z" fill="#ffaa54" stroke-width="1"></path>
20
+ <path d="m30.439999999999998 34.22666666666667 3.1199999999999997 0" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
21
+ <path d="M47.05333333333333 60.63999999999999a5.333333333333333 5.333333333333333 0 0 1 -7.613333333333333 -0.30666666666666664L22.439999999999998 41.05333333333333a1.3333333333333333 1.3333333333333333 0 0 1 0.07999999999999999 -1.8399999999999999l4.16 -4a1.3333333333333333 1.3333333333333333 0 0 1 1.853333333333333 0l18.52 17.813333333333333a5.333333333333333 5.333333333333333 0 0 1 0 7.613333333333333Z" fill="#ff87af" stroke-width="1"></path>
22
+ <path d="m28.733333333333334 48.18666666666667 6.3999999999999995 7.266666666666667 6.626666666666666 -7.52 -6.386666666666667 -6.133333333333333 -6.640000000000001 6.386666666666667z" fill="#ff6196" stroke-width="1"></path>
23
+ <path d="m32.946666666666665 44.13333333333333 2.4266666666666667 -2.333333333333333 -6.84 -6.586666666666667a1.3333333333333333 1.3333333333333333 0 0 0 -1.853333333333333 0l-4.16 4a1.3333333333333333 1.3333333333333333 0 0 0 -0.07999999999999999 1.8399999999999999l1.3333333333333333 1.5733333333333333a5.466666666666666 5.466666666666666 0 0 1 7.56 0Z" fill="#ffb0ca" stroke-width="1"></path>
24
+ <path d="M47.05333333333333 60.63999999999999h0a5.333333333333333 5.333333333333333 0 0 1 -7.613333333333333 -0.30666666666666664L22.439999999999998 41.05333333333333a1.3333333333333333 1.3333333333333333 0 0 1 0.07999999999999999 -1.8399999999999999l4.16 -4a1.3333333333333333 1.3333333333333333 0 0 1 1.853333333333333 0l18.52 17.813333333333333a5.333333333333333 5.333333333333333 0 0 1 0 7.613333333333333Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
25
+ <path d="m26.666666666666664 35.266666666666666 -4 3.893333333333333 -2.88 -3.0133333333333328a5.946666666666666 5.946666666666666 0 0 1 -1.2 -1.8266666666666667l-2.1333333333333333 -5.1066666666666665a2.466666666666667 2.466666666666667 0 0 1 0.5733333333333333 -2.6666666666666665 0.9199999999999999 0.9199999999999999 0 0 1 1.3333333333333333 0Z" fill="#ffe500" stroke-width="1"></path>
26
+ <path d="M18.24 29.746666666666663a0.9199999999999999 0.9199999999999999 0 0 0 -1.3333333333333333 0 2.5599999999999996 2.5599999999999996 0 0 0 -0.24 0.29333333333333333l-0.3333333333333333 -0.7999999999999999a2.466666666666667 2.466666666666667 0 0 1 0.5733333333333333 -2.6666666666666665 0.9199999999999999 0.9199999999999999 0 0 1 1.3333333333333333 0L26.666666666666664 35.266666666666666l-1.6133333333333333 1.5466666666666664Z" fill="#fff48c" stroke-width="1"></path>
27
+ <path d="m26.666666666666664 35.266666666666666 -4 3.893333333333333 -2.88 -3.0133333333333328a5.946666666666666 5.946666666666666 0 0 1 -1.2 -1.8266666666666667l-2.1333333333333333 -5.1066666666666665a2.466666666666667 2.466666666666667 0 0 1 0.5733333333333333 -2.6666666666666665h0a0.9199999999999999 0.9199999999999999 0 0 1 1.3333333333333333 0Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
28
+ <path d="M16.946666666666665 60.63999999999999a5.333333333333333 5.333333333333333 0 0 0 7.613333333333333 -0.30666666666666664l17 -19.28a1.3333333333333333 1.3333333333333333 0 0 0 -0.07999999999999999 -1.8399999999999999l-4.16 -4a1.3333333333333333 1.3333333333333333 0 0 0 -1.853333333333333 0L16.946666666666665 53.02666666666667a5.333333333333333 5.333333333333333 0 0 0 0 7.613333333333333Z" fill="#ff87af" stroke-width="1"></path>
29
+ <path d="m41.48 39.21333333333333 -4.16 -4a1.3333333333333333 1.3333333333333333 0 0 0 -1.853333333333333 0L16.946666666666665 53.02666666666667a5.333333333333333 5.333333333333333 0 0 0 -1.0666666666666667 6.173333333333333 5.039999999999999 5.039999999999999 0 0 1 1.0666666666666667 -1.4933333333333334L32.61333333333333 42.666666666666664a5.466666666666666 5.466666666666666 0 0 1 7.56 0l1.3333333333333333 -1.5733333333333333a1.3333333333333333 1.3333333333333333 0 0 0 -0.026666666666666665 -1.88Z" fill="#ffb0ca" stroke-width="1"></path>
30
+ <path d="M16.946666666666665 60.63999999999999h0a5.333333333333333 5.333333333333333 0 0 0 7.613333333333333 -0.30666666666666664l17 -19.28a1.3333333333333333 1.3333333333333333 0 0 0 -0.07999999999999999 -1.8399999999999999l-4.16 -4a1.3333333333333333 1.3333333333333333 0 0 0 -1.853333333333333 0L16.946666666666665 53.02666666666667a5.333333333333333 5.333333333333333 0 0 0 0 7.613333333333333Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
31
+ <path d="m37.33333333333333 35.266666666666666 4 3.893333333333333 2.88 -3.0133333333333328a5.946666666666666 5.946666666666666 0 0 0 1.2 -1.8266666666666667l2.1333333333333333 -5.1066666666666665a2.466666666666667 2.466666666666667 0 0 0 -0.5733333333333333 -2.6666666666666665 0.9199999999999999 0.9199999999999999 0 0 0 -1.3333333333333333 0Z" fill="#ffe500" stroke-width="1"></path>
32
+ <path d="M45.76 29.746666666666663a0.9199999999999999 0.9199999999999999 0 0 1 1.3333333333333333 0 2.5599999999999996 2.5599999999999996 0 0 1 0.24 0.29333333333333333l0.3333333333333333 -0.7999999999999999a2.466666666666667 2.466666666666667 0 0 0 -0.5733333333333333 -2.6666666666666665 0.9199999999999999 0.9199999999999999 0 0 0 -1.3333333333333333 0L37.33333333333333 35.266666666666666l1.6133333333333333 1.5466666666666664Z" fill="#fff48c" stroke-width="1"></path>
33
+ <path d="m37.33333333333333 35.266666666666666 4 3.893333333333333 2.88 -3.0133333333333328a5.946666666666666 5.946666666666666 0 0 0 1.2 -1.8266666666666667l2.1333333333333333 -5.1066666666666665a2.466666666666667 2.466666666666667 0 0 0 -0.5733333333333333 -2.6666666666666665h0a0.9199999999999999 0.9199999999999999 0 0 0 -1.3333333333333333 0Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
34
+ </svg>
@@ -0,0 +1,25 @@
1
+ <svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" id="Woman-Gesturing-Ok-2--Streamline-Emoji" height="64" width="64">
2
+ <desc>
3
+ Woman Gesturing OK 2 Streamline Emoji: https://streamlinehq.com
4
+ </desc>
5
+ <path d="M14.333333333333332 16.4a15.68 15.68 0 0 1 10.373333333333333 -5.039999999999999A1.853333333333333 1.853333333333333 0 0 1 26.666666666666664 13.333333333333332a1.8266666666666667 1.8266666666666667 0 0 1 -0.6533333333333333 1.3333333333333333l-6.266666666666667 5.24Z" fill="#ffcebf" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
6
+ <path d="M49.666666666666664 16.4a15.68 15.68 0 0 0 -10.373333333333333 -5.039999999999999A1.853333333333333 1.853333333333333 0 0 0 37.33333333333333 13.333333333333332a1.8266666666666667 1.8266666666666667 0 0 0 0.6533333333333333 1.3333333333333333l6.266666666666667 5.24Z" fill="#ffcebf" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
7
+ <path d="M32 13.093333333333334a14.506666666666668 14.506666666666668 0 0 1 14.506666666666668 14.493333333333332v18.919999999999998a1.6533333333333333 1.6533333333333333 0 0 1 -1.0266666666666666 1.4933333333333334 36.12 36.12 0 0 1 -26.959999999999997 0 1.6533333333333333 1.6533333333333333 0 0 1 -1.0266666666666666 -1.5199999999999998V27.586666666666666A14.506666666666668 14.506666666666668 0 0 1 32 13.093333333333334Z" fill="#a86c4d" stroke-width="1"></path>
8
+ <path d="M32 13.093333333333334a14.506666666666668 14.506666666666668 0 0 0 -14.506666666666668 14.493333333333332v4a14.506666666666668 14.506666666666668 0 0 1 29.013333333333335 0v-4A14.506666666666668 14.506666666666668 0 0 0 32 13.093333333333334Z" fill="#de926a" stroke-width="1"></path>
9
+ <path d="M32 13.093333333333334a14.506666666666668 14.506666666666668 0 0 1 14.506666666666668 14.493333333333332v18.919999999999998a1.6533333333333333 1.6533333333333333 0 0 1 -1.0266666666666666 1.4933333333333334h0a36.12 36.12 0 0 1 -26.959999999999997 0h0a1.6533333333333333 1.6533333333333333 0 0 1 -1.0266666666666666 -1.5199999999999998V27.586666666666666A14.506666666666668 14.506666666666668 0 0 1 32 13.093333333333334Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
10
+ <path d="M44.08 30.666666666666664a11.693333333333332 11.693333333333332 0 0 1 -7.56 -6.666666666666666l-0.8266666666666667 -1.9866666666666666a21.226666666666667 21.226666666666667 0 0 1 -13.266666666666666 8.239999999999998l-2.5199999999999996 0.41333333333333333a2.413333333333333 2.413333333333333 0 0 0 0 4.826666666666666h0.15999999999999998a12 12 0 0 0 23.866666666666664 0h0.14666666666666667a2.413333333333333 2.413333333333333 0 1 0 0 -4.826666666666666Z" fill="#ffcebf" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
11
+ <path d="M24.759999999999998 32.54666666666667a1.0266666666666666 1.0266666666666666 0 1 0 1.0266666666666666 -1.0266666666666666 1.0133333333333332 1.0133333333333332 0 0 0 -1.0266666666666666 1.0266666666666666Z" fill="#45413c" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
12
+ <path d="M39.239999999999995 32.54666666666667a1.0266666666666666 1.0266666666666666 0 1 1 -1.0266666666666666 -1.0266666666666666 1.0133333333333332 1.0133333333333332 0 0 1 1.0266666666666666 1.0266666666666666Z" fill="#45413c" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
13
+ <path d="M28.21333333333333 38.8a0.5866666666666667 0.5866666666666667 0 0 0 -0.44 0.21333333333333332 0.5599999999999999 0.5599999999999999 0 0 0 -0.13333333333333333 0.4666666666666666 4.426666666666666 4.426666666666666 0 0 0 8.719999999999999 0 0.5599999999999999 0.5599999999999999 0 0 0 -0.13333333333333333 -0.4666666666666666 0.5599999999999999 0.5599999999999999 0 0 0 -0.44 -0.21333333333333332Z" fill="#ff6242" stroke-width="1"></path>
14
+ <path d="M32 40.626666666666665a5.333333333333333 5.333333333333333 0 0 0 -3.36 1.0266666666666666 4.4799999999999995 4.4799999999999995 0 0 0 6.666666666666666 0 5.333333333333333 5.333333333333333 0 0 0 -3.3066666666666666 -1.0266666666666666Z" fill="#ffa694" stroke-width="1"></path>
15
+ <path d="M28.21333333333333 38.8a0.5866666666666667 0.5866666666666667 0 0 0 -0.44 0.21333333333333332 0.5599999999999999 0.5599999999999999 0 0 0 -0.13333333333333333 0.4666666666666666 4.426666666666666 4.426666666666666 0 0 0 8.719999999999999 0 0.5599999999999999 0.5599999999999999 0 0 0 -0.13333333333333333 -0.4666666666666666 0.5866666666666667 0.5866666666666667 0 0 0 -0.44 -0.21333333333333332Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
16
+ <path d="M22.746666666666663 36.92a1.3333333333333333 0.7999999999999999 0 1 0 2.6666666666666665 0 1.3333333333333333 0.7999999999999999 0 1 0 -2.6666666666666665 0Z" fill="#ffb59e" stroke-width="1"></path>
17
+ <path d="M38.586666666666666 36.92a1.3333333333333333 0.7999999999999999 0 1 0 2.6666666666666665 0 1.3333333333333333 0.7999999999999999 0 1 0 -2.6666666666666665 0Z" fill="#ffb59e" stroke-width="1"></path>
18
+ <path d="M12 60.666666666666664a20 2 0 1 0 40 0 20 2 0 1 0 -40 0Z" fill="#45413c" opacity=".15" stroke-width="1"></path>
19
+ <path d="m49.22666666666667 16.69333333333333 -4.946666666666666 3.1866666666666665s3.0533333333333332 4.306666666666667 2.2266666666666666 13.546666666666667a25.839999999999996 25.839999999999996 0 0 1 -4.413333333333333 12.306666666666667 4 4 0 0 1 -4.64 1.5199999999999998 16 16 0 0 0 -10.906666666666666 0 4 4 0 0 1 -4.64 -1.5199999999999998 25.839999999999996 25.839999999999996 0 0 1 -4.413333333333333 -12.306666666666667c-0.8266666666666667 -9.239999999999998 2.2266666666666666 -13.546666666666667 2.2266666666666666 -13.546666666666667l-4.946666666666666 -3.1866666666666665a1.3333333333333333 1.3333333333333333 0 0 0 -1.853333333333333 0.42666666666666664 35.50666666666666 35.50666666666666 0 0 0 -5.7333333333333325 22.013333333333335C8 55.42666666666666 17.826666666666664 60 17.826666666666664 60h28.346666666666668s9.786666666666665 -4.573333333333333 10.666666666666666 -20.866666666666667a35.50666666666666 35.50666666666666 0 0 0 -5.7333333333333325 -22.013333333333335 1.3333333333333333 1.3333333333333333 0 0 0 -1.88 -0.42666666666666664Z" fill="#ff87af" stroke-width="1"></path>
20
+ <path d="M17.439999999999998 32.70666666666666a32.10666666666666 32.10666666666666 0 0 0 0 5.333333333333333 25.77333333333333 25.77333333333333 0 0 0 4.413333333333333 12.293333333333333 4 4 0 0 0 4.64 1.5199999999999998 16 16 0 0 1 10.906666666666666 0 4 4 0 0 0 4.64 -1.5199999999999998 25.77333333333333 25.77333333333333 0 0 0 4.413333333333333 -12.293333333333333 32.10666666666666 32.10666666666666 0 0 0 0 -5.333333333333333l0 0.72a25.893333333333334 25.893333333333334 0 0 1 -4.413333333333333 12.306666666666667 4 4 0 0 1 -4.64 1.5199999999999998 16 16 0 0 0 -10.906666666666666 0 4 4 0 0 1 -4.64 -1.5199999999999998 25.839999999999996 25.839999999999996 0 0 1 -4.413333333333333 -12.306666666666667c0.039999999999999994 -0.24 0.013333333333333332 -0.48 0 -0.72Z" fill="#ff6196" stroke-width="1"></path>
21
+ <path d="m49.22666666666667 16.69333333333333 -4.946666666666666 3.1866666666666665s3.0533333333333332 4.306666666666667 2.2266666666666666 13.546666666666667a25.839999999999996 25.839999999999996 0 0 1 -4.413333333333333 12.306666666666667 4 4 0 0 1 -4.64 1.5199999999999998 16 16 0 0 0 -10.906666666666666 0 4 4 0 0 1 -4.64 -1.5199999999999998 25.839999999999996 25.839999999999996 0 0 1 -4.413333333333333 -12.306666666666667c-0.8266666666666667 -9.239999999999998 2.2266666666666666 -13.546666666666667 2.2266666666666666 -13.546666666666667l-4.946666666666666 -3.1866666666666665a1.3333333333333333 1.3333333333333333 0 0 0 -1.853333333333333 0.42666666666666664 35.50666666666666 35.50666666666666 0 0 0 -5.7333333333333325 22.013333333333335C8 55.42666666666666 17.826666666666664 60 17.826666666666664 60h28.346666666666668s9.786666666666665 -4.573333333333333 10.666666666666666 -20.866666666666667a35.50666666666666 35.50666666666666 0 0 0 -5.7333333333333325 -22.013333333333335 1.3333333333333333 1.3333333333333333 0 0 0 -1.88 -0.42666666666666664Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
22
+ <path d="M32 45.73333333333333a11.813333333333333 11.813333333333333 0 0 1 -3.3866666666666667 -0.4933333333333333v2.8533333333333335a3.3866666666666667 3.3866666666666667 0 1 0 6.773333333333333 0v-2.8533333333333335a11.813333333333333 11.813333333333333 0 0 1 -3.3866666666666667 0.4933333333333333Z" fill="#ffcebf" stroke-width="1"></path>
23
+ <path d="M32 45.73333333333333a11.813333333333333 11.813333333333333 0 0 1 -3.3866666666666667 -0.4933333333333333 3.3866666666666667 3.3866666666666667 0 1 0 6.773333333333333 0 11.813333333333333 11.813333333333333 0 0 1 -3.3866666666666667 0.4933333333333333Z" fill="#ffb59e" stroke-width="1"></path>
24
+ <path d="M32 45.73333333333333a11.813333333333333 11.813333333333333 0 0 1 -3.3866666666666667 -0.4933333333333333v2.8533333333333335a3.3866666666666667 3.3866666666666667 0 1 0 6.773333333333333 0v-2.8533333333333335a11.813333333333333 11.813333333333333 0 0 1 -3.3866666666666667 0.4933333333333333Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
25
+ </svg>
@@ -0,0 +1,26 @@
1
+ <svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" id="Woman-Raising-Hand-1--Streamline-Emoji" height="64" width="64">
2
+ <desc>
3
+ Woman Raising Hand 1 Streamline Emoji: https://streamlinehq.com
4
+ </desc>
5
+ <path d="M32 8.506666666666666a14.506666666666668 14.506666666666668 0 0 1 14.506666666666668 14.493333333333332v18.919999999999998a1.6533333333333333 1.6533333333333333 0 0 1 -1.0266666666666666 1.5199999999999998 36.12 36.12 0 0 1 -26.959999999999997 0 1.6533333333333333 1.6533333333333333 0 0 1 -1.0266666666666666 -1.5199999999999998V23A14.506666666666668 14.506666666666668 0 0 1 32 8.506666666666666Z" fill="#724f3d" stroke-width="1"></path>
6
+ <path d="M32 8.506666666666666a14.506666666666668 14.506666666666668 0 0 0 -14.506666666666668 14.493333333333332v4a14.506666666666668 14.506666666666668 0 0 1 29.013333333333335 0v-4A14.506666666666668 14.506666666666668 0 0 0 32 8.506666666666666Z" fill="#a86c4d" stroke-width="1"></path>
7
+ <path d="M32 8.506666666666666a14.506666666666668 14.506666666666668 0 0 1 14.506666666666668 14.493333333333332v18.919999999999998a1.6533333333333333 1.6533333333333333 0 0 1 -1.0266666666666666 1.5199999999999998h0a36.12 36.12 0 0 1 -26.959999999999997 0h0a1.6533333333333333 1.6533333333333333 0 0 1 -1.0266666666666666 -1.5199999999999998V23A14.506666666666668 14.506666666666668 0 0 1 32 8.506666666666666Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
8
+ <path d="M44.08 26.04a11.693333333333332 11.693333333333332 0 0 1 -7.56 -6.666666666666666L35.69333333333333 17.333333333333332a21.226666666666667 21.226666666666667 0 0 1 -13.266666666666666 8.239999999999998l-2.5199999999999996 0.45333333333333337a2.413333333333333 2.413333333333333 0 0 0 0 4.826666666666666h0.15999999999999998a12 12 0 0 0 23.866666666666664 0h0.14666666666666667a2.413333333333333 2.413333333333333 0 1 0 0 -4.826666666666666Z" fill="#ffe500" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
9
+ <path d="M24.759999999999998 28a1.0266666666666666 1.0266666666666666 0 1 0 1.0266666666666666 -1.0266666666666666 1.0133333333333332 1.0133333333333332 0 0 0 -1.0266666666666666 1.0266666666666666Z" fill="#45413c" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
10
+ <path d="M39.239999999999995 28a1.0266666666666666 1.0266666666666666 0 1 1 -1.0266666666666666 -1.0266666666666666 1.0133333333333332 1.0133333333333332 0 0 1 1.0266666666666666 1.0266666666666666Z" fill="#45413c" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
11
+ <path d="M28.21333333333333 34.21333333333333a0.5866666666666667 0.5866666666666667 0 0 0 -0.44 0.21333333333333332 0.5599999999999999 0.5599999999999999 0 0 0 -0.13333333333333333 0.4666666666666666 4.426666666666666 4.426666666666666 0 0 0 8.719999999999999 0 0.5599999999999999 0.5599999999999999 0 0 0 -0.13333333333333333 -0.4666666666666666 0.5599999999999999 0.5599999999999999 0 0 0 -0.44 -0.21333333333333332Z" fill="#ff6242" stroke-width="1"></path>
12
+ <path d="M32 36a5.333333333333333 5.333333333333333 0 0 0 -3.36 1.0266666666666666 4.4799999999999995 4.4799999999999995 0 0 0 6.666666666666666 0A5.333333333333333 5.333333333333333 0 0 0 32 36Z" fill="#ffa694" stroke-width="1"></path>
13
+ <path d="M28.21333333333333 34.21333333333333a0.5866666666666667 0.5866666666666667 0 0 0 -0.44 0.21333333333333332 0.5599999999999999 0.5599999999999999 0 0 0 -0.13333333333333333 0.4666666666666666 4.426666666666666 4.426666666666666 0 0 0 8.719999999999999 0 0.5599999999999999 0.5599999999999999 0 0 0 -0.13333333333333333 -0.4666666666666666 0.5599999999999999 0.5599999999999999 0 0 0 -0.44 -0.21333333333333332Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
14
+ <path d="M22.746666666666663 32.33333333333333a1.3333333333333333 0.7999999999999999 0 1 0 2.6666666666666665 0 1.3333333333333333 0.7999999999999999 0 1 0 -2.6666666666666665 0Z" fill="#ffaa54" stroke-width="1"></path>
15
+ <path d="M38.586666666666666 32.33333333333333a1.3333333333333333 0.7999999999999999 0 1 0 2.6666666666666665 0 1.3333333333333333 0.7999999999999999 0 1 0 -2.6666666666666665 0Z" fill="#ffaa54" stroke-width="1"></path>
16
+ <path d="M22.226666666666667 14.266666666666666a1.4666666666666668 1.4666666666666668 0 0 0 -0.88 -2.6666666666666665h-1.0533333333333332a0.37333333333333335 0.37333333333333335 0 0 1 -0.3866666666666666 -0.41333333333333333l0.30666666666666664 -3.08a2.333333333333333 2.333333333333333 0 0 0 -3.5866666666666664 -2.253333333333333 2.8266666666666667 2.8266666666666667 0 0 1 -1.96 0.5866666666666667 1.68 1.68 0 0 0 -1.8266666666666667 1.3333333333333333 47.39999999999999 47.39999999999999 0 0 0 -0.9733333333333333 11.546666666666667l6.48 0.4666666666666666 0.15999999999999998 -2.76Z" fill="#ffe500" stroke-width="1"></path>
17
+ <path d="M14.066666666666666 9a3.3066666666666666 3.3066666666666666 0 0 0 2.2399999999999998 -0.5733333333333333 2.6666666666666665 2.6666666666666665 0 0 1 3.786666666666666 0.9066666666666667l0.12 -1.1866666666666665a2.333333333333333 2.333333333333333 0 0 0 -3.5866666666666664 -2.253333333333333 2.8266666666666667 2.8266666666666667 0 0 1 -1.96 0.5466666666666666 1.68 1.68 0 0 0 -1.8266666666666667 1.3333333333333333c-0.10666666666666666 0.5733333333333333 -0.18666666666666668 1.1333333333333333 -0.27999999999999997 1.6933333333333334a1.9066666666666665 1.9066666666666665 0 0 1 1.5066666666666664 -0.4666666666666666Z" fill="#fff48c" stroke-width="1"></path>
18
+ <path d="M22.226666666666667 14.266666666666666a1.4666666666666668 1.4666666666666668 0 0 0 -0.88 -2.6666666666666665h-1.0533333333333332a0.37333333333333335 0.37333333333333335 0 0 1 -0.3866666666666666 -0.41333333333333333l0.30666666666666664 -3.08a2.333333333333333 2.333333333333333 0 0 0 -3.5866666666666664 -2.253333333333333 2.8266666666666667 2.8266666666666667 0 0 1 -1.96 0.5866666666666667 1.68 1.68 0 0 0 -1.8266666666666667 1.3333333333333333 47.39999999999999 47.39999999999999 0 0 0 -0.9733333333333333 11.546666666666667l6.48 0.4666666666666666 0.15999999999999998 -2.76Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
19
+ <path d="M12 60.666666666666664a20 2 0 1 0 40 0 20 2 0 1 0 -40 0Z" fill="#45413c" opacity=".15" stroke-width="1"></path>
20
+ <path d="M32.199999999999996 41.626666666666665a15.733333333333334 15.733333333333334 0 0 0 -5.573333333333332 0.9333333333333332 4.653333333333333 4.653333333333333 0 0 1 -6.1066666666666665 -2.92 49.33333333333333 49.33333333333333 0 0 1 -1.5599999999999998 -20.813333333333333H10.879999999999999a129.89333333333332 129.89333333333332 0 0 0 0 18.4 70.93333333333334 70.93333333333334 0 0 0 5.333333333333333 22.77333333333333h31.626666666666665v-2.013333333333333a16.186666666666667 16.186666666666667 0 0 0 -15.64 -16.36Z" fill="#ff87af" stroke-width="1"></path>
21
+ <path d="M32.199999999999996 41.626666666666665a15.733333333333334 15.733333333333334 0 0 0 -5.573333333333332 0.9333333333333332 4.653333333333333 4.653333333333333 0 0 1 -6.1066666666666665 -2.92 44.85333333333333 44.85333333333333 0 0 1 -1.9866666666666666 -11.719999999999999A47.666666666666664 47.666666666666664 0 0 0 20.52 44 4.653333333333333 4.653333333333333 0 0 0 26.666666666666664 46.919999999999995a15.733333333333334 15.733333333333334 0 0 1 5.573333333333332 -0.9333333333333332A16.093333333333334 16.093333333333334 0 0 1 47.666666666666664 60h0.17333333333333334v-2.013333333333333a16.186666666666667 16.186666666666667 0 0 0 -15.64 -16.36Z" fill="#ff6196" stroke-width="1"></path>
22
+ <path d="M32.199999999999996 41.626666666666665a15.733333333333334 15.733333333333334 0 0 0 -5.573333333333332 0.9333333333333332 4.653333333333333 4.653333333333333 0 0 1 -6.1066666666666665 -2.92 49.33333333333333 49.33333333333333 0 0 1 -1.5599999999999998 -20.813333333333333H10.879999999999999a129.89333333333332 129.89333333333332 0 0 0 0 18.4 70.93333333333334 70.93333333333334 0 0 0 5.333333333333333 22.77333333333333h31.626666666666665v-2.013333333333333a16.186666666666667 16.186666666666667 0 0 0 -15.64 -16.36Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
23
+ <path d="M32 41.14666666666666a11.813333333333333 11.813333333333333 0 0 1 -3.3866666666666667 -0.4933333333333333v2.8533333333333335a3.3866666666666667 3.3866666666666667 0 1 0 6.773333333333333 0v-2.8533333333333335a11.813333333333333 11.813333333333333 0 0 1 -3.3866666666666667 0.4933333333333333Z" fill="#ffe500" stroke-width="1"></path>
24
+ <path d="M32 41.14666666666666a11.813333333333333 11.813333333333333 0 0 1 -3.3866666666666667 -0.4933333333333333 3.3866666666666667 3.3866666666666667 0 0 0 6.773333333333333 0 11.813333333333333 11.813333333333333 0 0 1 -3.3866666666666667 0.4933333333333333Z" fill="#ebcb00" stroke-width="1"></path>
25
+ <path d="M32 41.14666666666666a11.813333333333333 11.813333333333333 0 0 1 -3.3866666666666667 -0.4933333333333333v2.8533333333333335a3.3866666666666667 3.3866666666666667 0 1 0 6.773333333333333 0v-2.8533333333333335a11.813333333333333 11.813333333333333 0 0 1 -3.3866666666666667 0.4933333333333333Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
26
+ </svg>
@@ -0,0 +1,13 @@
1
+ <svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" id="Womans-Sandal--Streamline-Emoji" height="64" width="64">
2
+ <desc>
3
+ Womans Sandal Streamline Emoji: https://streamlinehq.com
4
+ </desc>
5
+ <path d="M4.1066666666666665 47.373333333333335a28.946666666666665 2.6266666666666665 0 1 0 57.89333333333333 0 28.946666666666665 2.6266666666666665 0 1 0 -57.89333333333333 0Z" fill="#45413c" opacity=".15" stroke-width="1"></path>
6
+ <path d="M3.6666666666666665 28.4 6.666666666666666 45.56A1.3333333333333333 1.3333333333333333 0 0 0 8 46.666666666666664h8.813333333333333a1.3333333333333333 1.3333333333333333 0 0 0 1.3333333333333333 -1.3333333333333333V28.4Z" fill="#f7e5c6" stroke-width="1"></path>
7
+ <path d="M4.32 32H7.866666666666667a20.506666666666668 20.506666666666668 0 0 1 10.28 3.3866666666666667V28.4H3.6666666666666665Z" fill="#f0d5a8" stroke-width="1"></path>
8
+ <path d="M3.6666666666666665 28.4 6.666666666666666 45.56A1.3333333333333333 1.3333333333333333 0 0 0 8 46.666666666666664h8.813333333333333a1.3333333333333333 1.3333333333333333 0 0 0 1.3333333333333333 -1.3333333333333333V28.4Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
9
+ <path d="M32.10666666666666 41.33333333333333a27.266666666666666 27.266666666666666 0 0 0 16.24 5.333333333333333h10.16a0.6533333333333333 0.6533333333333333 0 0 0 0.6 -0.3866666666666666l1.7333333333333334 -3.786666666666666a0.6666666666666666 0.6666666666666666 0 0 0 -0.6133333333333333 -0.9466666666666665H50.666666666666664a25.479999999999997 25.479999999999997 0 0 1 -14.666666666666666 -4.693333333333333l-2.533333333333333 -1.7733333333333334c-6.413333333333332 -4.546666666666667 -11.306666666666667 -11.586666666666666 -21.92 -12.239999999999998H4.333333333333333a0.6666666666666666 0.6666666666666666 0 0 0 -0.6666666666666666 0.6666666666666666v4.893333333333333h5.333333333333333c8.333333333333332 0 16.413333333333334 7.933333333333334 23.106666666666662 12.933333333333332Z" fill="#debb7e" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
10
+ <path d="m30.333333333333332 40 1.7733333333333334 1.3333333333333333a27.266666666666666 27.266666666666666 0 0 0 16.24 5.333333333333333h1.4c1.9466666666666665 -4.8533333333333335 3.3066666666666666 -13.586666666666666 3.8 -17.08a1.5999999999999999 1.5999999999999999 0 0 0 -1.2 -1.76A42.18666666666667 42.18666666666667 0 0 1 37.33333333333333 21.453333333333333a0.9333333333333332 0.9333333333333332 0 0 0 -1.44 0.7999999999999999 26.666666666666664 26.666666666666664 0 0 1 -1.92 10.813333333333333 38.78666666666666 38.78666666666666 0 0 1 -3.6399999999999997 6.933333333333334Z" fill="#f7e5c6" stroke-width="1"></path>
11
+ <path d="M35.29333333333333 28.57333333333333A65.94666666666666 65.94666666666666 0 0 0 52 33.33333333333333a2.253333333333333 2.253333333333333 0 0 1 0.9466666666666665 0.3866666666666666c0.29333333333333333 -1.6933333333333334 0.5066666666666666 -3.16 0.6533333333333333 -4.1866666666666665a1.5999999999999999 1.5999999999999999 0 0 0 -1.2 -1.76A42.18666666666667 42.18666666666667 0 0 1 37.33333333333333 21.453333333333333a0.9333333333333332 0.9333333333333332 0 0 0 -1.44 0.7999999999999999 26.53333333333333 26.53333333333333 0 0 1 -0.6 6.32Z" fill="#fff5e3" stroke-width="1"></path>
12
+ <path d="m30.333333333333332 40 1.7733333333333334 1.3333333333333333a27.266666666666666 27.266666666666666 0 0 0 16.24 5.333333333333333h1.4c1.9466666666666665 -4.8533333333333335 3.3066666666666666 -13.586666666666666 3.8 -17.08a1.5999999999999999 1.5999999999999999 0 0 0 -1.2 -1.76A42.18666666666667 42.18666666666667 0 0 1 37.33333333333333 21.453333333333333a0.9333333333333332 0.9333333333333332 0 0 0 -1.44 0.7999999999999999 26.666666666666664 26.666666666666664 0 0 1 -1.92 10.813333333333333 38.78666666666666 38.78666666666666 0 0 1 -3.6399999999999997 6.933333333333334Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
13
+ </svg>
@@ -0,0 +1,17 @@
1
+ <svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" id="Worried-Face--Streamline-Emoji" height="64" width="64">
2
+ <desc>
3
+ Worried Face Streamline Emoji: https://streamlinehq.com
4
+ </desc>
5
+ <path d="M5.333333333333333 28.666666666666664a26.666666666666664 26.666666666666664 0 1 0 53.33333333333333 0 26.666666666666664 26.666666666666664 0 1 0 -53.33333333333333 0Z" fill="#ffe500" stroke-width="1"></path>
6
+ <path d="M32 2a26.666666666666664 26.666666666666664 0 1 0 26.666666666666664 26.666666666666664 26.666666666666664 26.666666666666664 0 0 0 -26.666666666666664 -26.666666666666664Zm0 49.33333333333333a24.333333333333332 24.333333333333332 0 1 1 24.333333333333332 -24.333333333333332A24.333333333333332 24.333333333333332 0 0 1 32 51.33333333333333Z" fill="#ebcb00" stroke-width="1"></path>
7
+ <path d="M24 7.333333333333333a8 2 0 1 0 16 0 8 2 0 1 0 -16 0Z" fill="#fff48c" stroke-width="1"></path>
8
+ <path d="M5.333333333333333 28.666666666666664a26.666666666666664 26.666666666666664 0 1 0 53.33333333333333 0 26.666666666666664 26.666666666666664 0 1 0 -53.33333333333333 0Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
9
+ <path d="M25.333333333333332 42a12 12 0 0 1 13.333333333333332 0" fill="none" stroke="#45413c" stroke-linecap="round" stroke-width="1"></path>
10
+ <path d="M10.666666666666666 60.666666666666664a21.333333333333332 2 0 1 0 42.666666666666664 0 21.333333333333332 2 0 1 0 -42.666666666666664 0Z" fill="#45413c" opacity=".15" stroke-width="1"></path>
11
+ <path d="M20 28.666666666666664a1.3333333333333333 1.3333333333333333 0 1 1 -1.3333333333333333 -1.3333333333333333 1.3333333333333333 1.3333333333333333 0 0 1 1.3333333333333333 1.3333333333333333Z" fill="#45413c" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
12
+ <path d="M46 28.666666666666664a1.3333333333333333 1.3333333333333333 0 1 1 -1.3333333333333333 -1.3333333333333333 1.3333333333333333 1.3333333333333333 0 0 1 1.3333333333333333 1.3333333333333333Z" fill="#45413c" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
13
+ <path d="M17.333333333333332 22.88a15.239999999999998 15.239999999999998 0 0 0 4.493333333333333 -1.4666666666666668A14.906666666666666 14.906666666666666 0 0 0 25.666666666666664 18.666666666666664" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
14
+ <path d="M46.33333333333333 22.88A15.533333333333333 15.533333333333333 0 0 1 38 18.666666666666664" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
15
+ <path d="M51.33333333333333 35.33333333333333c0 1.1066666666666665 -1.4933333333333334 2 -3.333333333333333 2s-3.333333333333333 -0.8933333333333333 -3.333333333333333 -2S46.16 33.33333333333333 48 33.33333333333333s3.333333333333333 0.8933333333333333 3.333333333333333 2Z" fill="#ffaa54" stroke-width="1"></path>
16
+ <path d="M12.666666666666666 35.33333333333333c0 1.1066666666666665 1.4933333333333334 2 3.333333333333333 2s3.333333333333333 -0.8933333333333333 3.333333333333333 -2S17.84 33.33333333333333 16 33.33333333333333s-3.333333333333333 0.8933333333333333 -3.333333333333333 2Z" fill="#ffaa54" stroke-width="1"></path>
17
+ </svg>
@@ -0,0 +1,17 @@
1
+ <svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" id="Writing-Hand-1--Streamline-Emoji" height="64" width="64">
2
+ <desc>
3
+ Writing Hand 1 Streamline Emoji: https://streamlinehq.com
4
+ </desc>
5
+ <path d="M8.693333333333332 60.666666666666664a22 2 0 1 0 44 0 22 2 0 1 0 -44 0Z" fill="#45413c" opacity=".15" stroke-width="1"></path>
6
+ <path d="m27.599999999999998 23.85333333333333 19.69333333333333 9.253333333333334L45.76 48l-3.36 1.6933333333333334a11.36 11.36 0 0 1 -9.2 0.5599999999999999l-2 -0.7466666666666667a11.879999999999999 11.879999999999999 0 0 0 -5.866666666666667 -0.6266666666666666l-3.1866666666666665 0.45333333333333337a4 4 0 0 1 -3.786666666666666 -1.5999999999999999h0a1.3333333333333333 1.3333333333333333 0 0 1 0.52 -1.9733333333333332l6.973333333333334 -3.24 -8.6 -6.453333333333333Z" fill="#ebcb00" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
7
+ <path d="M13.786666666666665 51.45333333333333 8 55.58666666666666a0.6666666666666666 0.6666666666666666 0 0 1 -1.0133333333333332 -0.7333333333333334L8.879999999999999 48a1.1333333333333333 1.1333333333333333 0 0 1 0.19999999999999998 -0.39999999999999997L36.239999999999995 9.333333333333332a1.3333333333333333 1.3333333333333333 0 0 1 1.853333333333333 -0.31999999999999995l2.8533333333333335 2.0266666666666664A1.3333333333333333 1.3333333333333333 0 0 1 41.33333333333333 12.866666666666667L14.106666666666666 51.14666666666666a1.3333333333333333 1.3333333333333333 0 0 1 -0.31999999999999995 0.30666666666666664Z" fill="#009fd9" stroke-width="1"></path>
8
+ <path d="M11.08 50.666666666666664a1.68 1.68 0 0 1 0.21333333333333332 -0.44L39.74666666666666 10.146666666666667l-1.6533333333333333 -1.1733333333333333a1.3333333333333333 1.3333333333333333 0 0 0 -1.853333333333333 0.36L9.079999999999998 47.57333333333333a1.1333333333333333 1.1333333333333333 0 0 0 -0.19999999999999998 0.39999999999999997l-1.96 6.88a0.6666666666666666 0.6666666666666666 0 0 0 1.0133333333333332 0.7333333333333334l2.0533333333333332 -1.4533333333333334Z" fill="#00b8f0" stroke-width="1"></path>
9
+ <path d="M13.786666666666665 51.45333333333333 8 55.58666666666666a0.6666666666666666 0.6666666666666666 0 0 1 -1.0133333333333332 -0.7333333333333334L8.879999999999999 48a1.1333333333333333 1.1333333333333333 0 0 1 0.19999999999999998 -0.39999999999999997L36.239999999999995 9.333333333333332a1.3333333333333333 1.3333333333333333 0 0 1 1.853333333333333 -0.31999999999999995l2.8533333333333335 2.0266666666666664A1.3333333333333333 1.3333333333333333 0 0 1 41.33333333333333 12.866666666666667L14.106666666666666 51.14666666666666a1.3333333333333333 1.3333333333333333 0 0 1 -0.31999999999999995 0.30666666666666664Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
10
+ <path d="m17.613333333333333 35.53333333333333 -1.8133333333333335 7.68a4.066666666666666 4.066666666666666 0 0 1 -4.666666666666666 3.0666666666666664A2.0533333333333332 2.0533333333333332 0 0 1 9.333333333333332 44l0.8933333333333333 -8.586666666666666a6.92 6.92 0 0 1 4 -5.573333333333332l10.826666666666664 -4.893333333333333Z" fill="#ebcb00" stroke-width="1"></path>
11
+ <path d="m13.506666666666668 34.013333333333335 6.959999999999999 -2.493333333333333 4.64 -6.533333333333333 -10.826666666666664 4.893333333333333a6.92 6.92 0 0 0 -4 5.573333333333332l0 0.6266666666666666a9.013333333333332 9.013333333333332 0 0 1 3.2266666666666666 -2.0666666666666664Z" fill="#ffe500" stroke-width="1"></path>
12
+ <path d="m17.613333333333333 35.53333333333333 -1.8133333333333335 7.68a4.066666666666666 4.066666666666666 0 0 1 -4.666666666666666 3.0666666666666664h0A2.0533333333333332 2.0533333333333332 0 0 1 9.333333333333332 44l0.8933333333333333 -8.586666666666666a6.92 6.92 0 0 1 4 -5.573333333333332l10.826666666666664 -4.893333333333333Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
13
+ <path d="m25.05333333333333 35.70666666666666 -9.92 4.893333333333333a2.6666666666666665 2.6666666666666665 0 0 0 -1.2133333333333334 3.546666666666667A5.333333333333333 5.333333333333333 0 0 0 20.866666666666667 46.666666666666664l3.6399999999999997 -1.6533333333333333a4.72 4.72 0 0 1 4.3999999999999995 0.22666666666666668l1.0666666666666667 0.6266666666666666a20.24 20.24 0 0 0 14.666666666666666 2.293333333333333 9.2 9.2 0 0 1 5.226666666666667 0.37333333333333335l6.213333333333333 2.36a1.3333333333333333 1.3333333333333333 0 0 0 1.8133333333333335 -1.2533333333333332v-13.333333333333332a1.3333333333333333 1.3333333333333333 0 0 0 -1.3333333333333333 -1.3333333333333333h-1.1199999999999999a19.306666666666665 19.306666666666665 0 0 1 -8.186666666666666 -1.8266666666666667L32 25.92Z" fill="#ffe500" stroke-width="1"></path>
14
+ <path d="M56.6 34.93333333333333h-1.1199999999999999a19.306666666666665 19.306666666666665 0 0 1 -8.186666666666666 -1.8266666666666667L32 25.92l-3.253333333333333 4.573333333333333 17.133333333333333 7.119999999999999a24.346666666666668 24.346666666666668 0 0 0 9.333333333333332 1.8266666666666667h1.3333333333333333a1.4266666666666667 1.4266666666666667 0 0 1 1.5066666666666664 1.3333333333333333V36.266666666666666a1.3333333333333333 1.3333333333333333 0 0 0 -1.4533333333333334 -1.3333333333333333Z" fill="#fff48c" stroke-width="1"></path>
15
+ <path d="M16.773333333333333 41.92a17.333333333333332 17.333333333333332 0 0 0 6.666666666666666 -5.039999999999999l0.45333333333333337 -0.5599999999999999 -8.693333333333332 4.279999999999999a2.6666666666666665 2.6666666666666665 0 0 0 -1.4666666666666668 2.6666666666666665Z" fill="#fff48c" stroke-width="1"></path>
16
+ <path d="m25.05333333333333 35.70666666666666 -9.92 4.893333333333333a2.6666666666666665 2.6666666666666665 0 0 0 -1.2133333333333334 3.546666666666667h0A5.333333333333333 5.333333333333333 0 0 0 20.866666666666667 46.666666666666664l3.6399999999999997 -1.6533333333333333a4.72 4.72 0 0 1 4.3999999999999995 0.22666666666666668l1.0666666666666667 0.6266666666666666a20.24 20.24 0 0 0 14.666666666666666 2.293333333333333h0a9.2 9.2 0 0 1 5.226666666666667 0.37333333333333335l6.213333333333333 2.36a1.3333333333333333 1.3333333333333333 0 0 0 1.8133333333333335 -1.2533333333333332v-13.333333333333332a1.3333333333333333 1.3333333333333333 0 0 0 -1.3333333333333333 -1.3333333333333333h-1.1199999999999999a19.306666666666665 19.306666666666665 0 0 1 -8.186666666666666 -1.8266666666666667L32 25.92Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
17
+ </svg>
@@ -0,0 +1,21 @@
1
+ <svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" id="Zipper-Mouth-Face--Streamline-Emoji" height="64" width="64">
2
+ <desc>
3
+ Zipper Mouth Face Streamline Emoji: https://streamlinehq.com
4
+ </desc>
5
+ <path d="M5.333333333333333 28.666666666666664a26.666666666666664 26.666666666666664 0 1 0 53.33333333333333 0 26.666666666666664 26.666666666666664 0 1 0 -53.33333333333333 0Z" fill="#ffe500" stroke-width="1"></path>
6
+ <path d="M32 2a26.666666666666664 26.666666666666664 0 1 0 26.666666666666664 26.666666666666664 26.666666666666664 26.666666666666664 0 0 0 -26.666666666666664 -26.666666666666664Zm0 49.33333333333333a24.333333333333332 24.333333333333332 0 1 1 24.333333333333332 -24.333333333333332A24.333333333333332 24.333333333333332 0 0 1 32 51.33333333333333Z" fill="#ebcb00" stroke-width="1"></path>
7
+ <path d="M5.333333333333333 28.666666666666664a26.666666666666664 26.666666666666664 0 1 0 53.33333333333333 0 26.666666666666664 26.666666666666664 0 1 0 -53.33333333333333 0Z" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
8
+ <path d="M24 7.333333333333333a8 2 0 1 0 16 0 8 2 0 1 0 -16 0Z" fill="#fff48c" stroke-width="1"></path>
9
+ <path d="M10.666666666666666 60.666666666666664a21.333333333333332 2 0 1 0 42.666666666666664 0 21.333333333333332 2 0 1 0 -42.666666666666664 0Z" fill="#45413c" opacity=".15" stroke-width="1"></path>
10
+ <path d="M20 28.666666666666664a1.3333333333333333 1.3333333333333333 0 1 1 -1.3333333333333333 -1.3333333333333333 1.3333333333333333 1.3333333333333333 0 0 1 1.3333333333333333 1.3333333333333333Z" fill="#45413c" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
11
+ <path d="M46 28.666666666666664a1.3333333333333333 1.3333333333333333 0 1 1 -1.3333333333333333 -1.3333333333333333 1.3333333333333333 1.3333333333333333 0 0 1 1.3333333333333333 1.3333333333333333Z" fill="#45413c" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
12
+ <path d="M51.33333333333333 35.33333333333333c0 1.1066666666666665 -1.4933333333333334 2 -3.333333333333333 2s-3.333333333333333 -0.8933333333333333 -3.333333333333333 -2S46.16 33.33333333333333 48 33.33333333333333s3.333333333333333 0.8933333333333333 3.333333333333333 2Z" fill="#ffaa54" stroke-width="1"></path>
13
+ <path d="M12.666666666666666 35.33333333333333c0 1.1066666666666665 1.4933333333333334 2 3.333333333333333 2s3.333333333333333 -0.8933333333333333 3.333333333333333 -2S17.84 33.33333333333333 16 33.33333333333333s-3.333333333333333 0.8933333333333333 -3.333333333333333 2Z" fill="#ffaa54" stroke-width="1"></path>
14
+ <path d="m46.666666666666664 42.666666666666664 -29.333333333333332 0" fill="none" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
15
+ <path d="M22 44.666666666666664a1.3333333333333333 1.3333333333333333 0 0 1 -2.6666666666666665 0v-4a1.3333333333333333 1.3333333333333333 0 0 1 2.6666666666666665 0Z" fill="#ffffff" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
16
+ <path d="M28 44.666666666666664a1.3333333333333333 1.3333333333333333 0 0 1 -2.6666666666666665 0v-4a1.3333333333333333 1.3333333333333333 0 0 1 2.6666666666666665 0Z" fill="#ffffff" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
17
+ <path d="M34 44.666666666666664a1.3333333333333333 1.3333333333333333 0 0 1 -2.6666666666666665 0v-4a1.3333333333333333 1.3333333333333333 0 0 1 2.6666666666666665 0Z" fill="#ffffff" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
18
+ <path d="M40 44.666666666666664a1.3333333333333333 1.3333333333333333 0 0 1 -2.6666666666666665 0v-4a1.3333333333333333 1.3333333333333333 0 0 1 2.6666666666666665 0Z" fill="#ffffff" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
19
+ <path d="M43.74666666666667 43.06666666666666a3.173333333333333 3.173333333333333 0 0 0 -0.45333333333333337 4.279999999999999l3.8266666666666667 5.1466666666666665a3.7199999999999998 3.7199999999999998 0 1 0 5.56 -4.893333333333333L48 43.16a3.1866666666666665 3.1866666666666665 0 0 0 -4.253333333333333 -0.09333333333333334Z" fill="#ffffff" stroke="#45413c" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"></path>
20
+ <path d="M49.89333333333333 48.72a1.3333333333333333 1.3333333333333333 0 1 0 1.3333333333333333 1.3333333333333333 1.3333333333333333 1.3333333333333333 0 0 0 -1.3333333333333333 -1.3333333333333333Z" fill="#45413c" stroke-width="1"></path>
21
+ </svg>
package/src/index.js ADDED
@@ -0,0 +1,19 @@
1
+ import AiChat from './components/AiChat.vue';
2
+ import AiChatWidget from './components/AiChatWidget.vue';
3
+
4
+ // 导出组件
5
+ export { AiChat };
6
+ export { AiChat as CdAiChat };
7
+ export { AiChatWidget };
8
+ export { AiChatWidget as CdAiChatWidget };
9
+
10
+ // 创建插件安装函数
11
+ export const CdAiChatPlugin = {
12
+ install(app) {
13
+ app.component('CdAiChat', AiChat);
14
+ app.component('CdAiChatWidget', AiChatWidget);
15
+ }
16
+ };
17
+
18
+ // 默认导出插件
19
+ export default CdAiChatPlugin;
@@ -0,0 +1,313 @@
1
+ /**
2
+ * Burn After Read Service
3
+ * 管理阅后即焚消息的销毁逻辑
4
+ */
5
+ import { ref } from 'vue';
6
+
7
+ /**
8
+ * 验证销毁延迟
9
+ */
10
+ const validateBurnDelay = (delay) => {
11
+ if (typeof delay !== 'number' || delay < 1 || delay > 3600) {
12
+ return {
13
+ valid: false,
14
+ errors: ['销毁延迟必须在 1-3600 秒之间']
15
+ };
16
+ }
17
+ return { valid: true, errors: [] };
18
+ };
19
+
20
+ /**
21
+ * 创建阅后即焚服务实例
22
+ */
23
+ export const createBurnAfterReadService = () => {
24
+ const burnMessages = ref(new Map());
25
+ const burnTimers = ref(new Map());
26
+ const listeners = ref({});
27
+
28
+ /**
29
+ * 标记消息为阅后即焚
30
+ * @param {Object} message - 消息对象
31
+ * @param {string} message.id - 消息ID
32
+ * @param {number} message.burnDelay - 销毁延迟(秒)
33
+ * @param {Date} message.readTime - 阅读时间(可选)
34
+ * @returns {Object} 标记后的消息对象
35
+ */
36
+ const markMessageForBurn = (message) => {
37
+ // 验证销毁延迟
38
+ const validation = validateBurnDelay(message.burnDelay);
39
+ if (!validation.valid) {
40
+ throw new Error(validation.errors[0]);
41
+ }
42
+
43
+ const burnMessage = {
44
+ id: message.id,
45
+ burnDelay: message.burnDelay,
46
+ createdAt: new Date(),
47
+ readTime: message.readTime || null,
48
+ status: 'pending', // pending | read | burned
49
+ burnTime: null
50
+ };
51
+
52
+ burnMessages.value.set(message.id, burnMessage);
53
+
54
+ // 如果已经被阅读,立即开始销毁倒计时
55
+ if (message.readTime) {
56
+ startBurnCountdown(message.id);
57
+ }
58
+
59
+ // 触发事件
60
+ emit('message-marked', burnMessage);
61
+
62
+ return burnMessage;
63
+ };
64
+
65
+ /**
66
+ * 标记消息为已读
67
+ * @param {string} messageId - 消息ID
68
+ * @param {Date} readTime - 阅读时间(可选,默认为当前时间)
69
+ */
70
+ const markMessageAsRead = (messageId, readTime = new Date()) => {
71
+ const burnMessage = burnMessages.value.get(messageId);
72
+ if (!burnMessage) {
73
+ throw new Error('Message not found or not marked for burn');
74
+ }
75
+
76
+ if (burnMessage.status !== 'pending') {
77
+ return; // 已经处理过了
78
+ }
79
+
80
+ burnMessage.readTime = readTime;
81
+ burnMessage.status = 'read';
82
+ burnMessage.burnTime = new Date(readTime.getTime() + burnMessage.burnDelay * 1000);
83
+
84
+ // 开始销毁倒计时
85
+ startBurnCountdown(messageId);
86
+
87
+ // 触发事件
88
+ emit('message-read', burnMessage);
89
+ };
90
+
91
+ /**
92
+ * 开始销毁倒计时
93
+ * @private
94
+ */
95
+ const startBurnCountdown = (messageId) => {
96
+ const burnMessage = burnMessages.value.get(messageId);
97
+ if (!burnMessage || !burnMessage.readTime) {
98
+ return;
99
+ }
100
+
101
+ const delay = burnMessage.burnDelay * 1000; // 转换为毫秒
102
+
103
+ // 清除现有定时器
104
+ if (burnTimers.value.has(messageId)) {
105
+ clearTimeout(burnTimers.value.get(messageId));
106
+ }
107
+
108
+ // 设置新的定时器
109
+ const timerId = setTimeout(() => {
110
+ burnMessage.status = 'burned';
111
+ burnTimers.value.delete(messageId);
112
+ // 触发销毁事件
113
+ emit('message-burned', burnMessage);
114
+ }, delay);
115
+
116
+ burnTimers.value.set(messageId, timerId);
117
+
118
+ // 触发倒计时开始事件
119
+ emit('burn-countdown-started', {
120
+ messageId,
121
+ burnTime: burnMessage.burnTime,
122
+ delay: burnMessage.burnDelay
123
+ });
124
+ };
125
+
126
+ /**
127
+ * 取消消息销毁
128
+ * @param {string} messageId - 消息ID
129
+ */
130
+ const cancelBurn = (messageId) => {
131
+ const burnMessage = burnMessages.value.get(messageId);
132
+ if (!burnMessage) {
133
+ throw new Error('Message not found');
134
+ }
135
+
136
+ // 清除定时器
137
+ if (burnTimers.value.has(messageId)) {
138
+ clearTimeout(burnTimers.value.get(messageId));
139
+ burnTimers.value.delete(messageId);
140
+ }
141
+
142
+ // 移除消息
143
+ burnMessages.value.delete(messageId);
144
+
145
+ // 触发事件
146
+ emit('burn-cancelled', { messageId });
147
+ };
148
+
149
+ /**
150
+ * 获取消息的销毁状态
151
+ * @param {string} messageId - 消息ID
152
+ * @returns {Object|null} 销毁状态对象
153
+ */
154
+ const getBurnStatus = (messageId) => {
155
+ return burnMessages.value.get(messageId) || null;
156
+ };
157
+
158
+ /**
159
+ * 获取所有待销毁的消息
160
+ * @returns {Array} 消息列表
161
+ */
162
+ const getBurnMessages = () => {
163
+ return Array.from(burnMessages.value.values());
164
+ };
165
+
166
+ /**
167
+ * 获取剩余销毁时间(秒)
168
+ * @param {string} messageId - 消息ID
169
+ * @returns {number|null} 剩余时间(秒),如果消息不存在或未开始倒计时返回null
170
+ */
171
+ const getRemainingTime = (messageId) => {
172
+ const burnMessage = burnMessages.value.get(messageId);
173
+ if (!burnMessage || !burnMessage.burnTime) {
174
+ return null;
175
+ }
176
+
177
+ const now = new Date();
178
+ const remaining = Math.max(0, Math.ceil((burnMessage.burnTime - now) / 1000));
179
+ return remaining;
180
+ };
181
+
182
+ /**
183
+ * 检查消息是否已销毁
184
+ * @param {string} messageId - 消息ID
185
+ * @returns {boolean} 是否已销毁
186
+ */
187
+ const isBurned = (messageId) => {
188
+ const burnMessage = burnMessages.value.get(messageId);
189
+ return burnMessage ? burnMessage.status === 'burned' : false;
190
+ };
191
+
192
+ /**
193
+ * 检查消息是否标记为阅后即焚
194
+ * @param {string} messageId - 消息ID
195
+ * @returns {boolean} 是否标记为阅后即焚
196
+ */
197
+ const isMarkedForBurn = (messageId) => {
198
+ return burnMessages.value.has(messageId);
199
+ };
200
+
201
+ /**
202
+ * 注册事件监听器
203
+ * @param {string} event - 事件名称
204
+ * @param {Function} callback - 回调函数
205
+ * @returns {Function} 取消监听函数
206
+ */
207
+ const on = (event, callback) => {
208
+ if (!listeners.value[event]) {
209
+ listeners.value[event] = [];
210
+ }
211
+ listeners.value[event].push(callback);
212
+
213
+ // 返回取消监听函数
214
+ return () => {
215
+ listeners.value[event] = listeners.value[event].filter(cb => cb !== callback);
216
+ };
217
+ };
218
+
219
+ /**
220
+ * 触发事件
221
+ * @private
222
+ */
223
+ const emit = (event, data) => {
224
+ if (listeners.value[event]) {
225
+ listeners.value[event].forEach(callback => {
226
+ try {
227
+ callback(data);
228
+ } catch (error) {
229
+ console.error(`Error in event listener for "${event}":`, error);
230
+ }
231
+ });
232
+ }
233
+ };
234
+
235
+ /**
236
+ * 清理所有定时器和数据
237
+ */
238
+ const cleanup = () => {
239
+ // 清理所有定时器
240
+ burnTimers.value.forEach(timerId => {
241
+ clearTimeout(timerId);
242
+ });
243
+ burnTimers.value.clear();
244
+
245
+ // 清理数据
246
+ burnMessages.value.clear();
247
+
248
+ // 清理监听器
249
+ Object.keys(listeners.value).forEach(key => {
250
+ delete listeners.value[key];
251
+ });
252
+ };
253
+
254
+ /**
255
+ * 获取统计信息
256
+ * @returns {Object} 统计信息
257
+ */
258
+ const getStats = () => {
259
+ const messages = Array.from(burnMessages.value.values());
260
+ return {
261
+ total: messages.length,
262
+ pending: messages.filter(m => m.status === 'pending').length,
263
+ read: messages.filter(m => m.status === 'read').length,
264
+ burned: messages.filter(m => m.status === 'burned').length,
265
+ activeTimers: burnTimers.value.size
266
+ };
267
+ };
268
+
269
+ return {
270
+ burnMessages,
271
+ markMessageForBurn,
272
+ markMessageAsRead,
273
+ cancelBurn,
274
+ getBurnStatus,
275
+ getBurnMessages,
276
+ getRemainingTime,
277
+ isBurned,
278
+ isMarkedForBurn,
279
+ on,
280
+ cleanup,
281
+ getStats
282
+ };
283
+ };
284
+
285
+ /**
286
+ * 全局服务实例
287
+ */
288
+ let globalService = null;
289
+
290
+ /**
291
+ * 获取全局服务实例
292
+ */
293
+ export const getBurnAfterReadService = () => {
294
+ if (!globalService) {
295
+ globalService = createBurnAfterReadService();
296
+ }
297
+ return globalService;
298
+ };
299
+
300
+ /**
301
+ * 重置全局服务(用于测试)
302
+ */
303
+ export const resetBurnAfterReadService = () => {
304
+ if (globalService) {
305
+ globalService.cleanup();
306
+ }
307
+ globalService = null;
308
+ };
309
+
310
+ /**
311
+ * 验证销毁延迟的导出函数
312
+ */
313
+ export { validateBurnDelay };