@8wave/ai-elements 0.90.0 → 0.91.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.
- package/dist/_chunks/{Document-BajUssb0.js → Document-OYsMoc9f.js} +46 -9
- package/dist/_chunks/Document-OYsMoc9f.js.map +1 -0
- package/dist/_chunks/{PkToolShowSources-CZWBpBBV.js → PkToolShowSources-BHLHRoy2.js} +2 -2
- package/dist/_chunks/{PkToolShowSources-CZWBpBBV.js.map → PkToolShowSources-BHLHRoy2.js.map} +1 -1
- package/dist/_chunks/{PkToolShowSuggestedReply-1j4lOkRj.js → PkToolShowSuggestedReply-CUk_SK-9.js} +2 -2
- package/dist/_chunks/PkToolShowSuggestedReply-CUk_SK-9.js.map +1 -0
- package/dist/ai-elements.es.js +4099 -3985
- package/dist/ai-elements.es.js.map +1 -1
- package/dist-vue/PkChatbot.js +1 -1
- package/dist-vue/PkChatbotAuth.js +1 -1
- package/dist-vue/PkChatbotEmptyState.js +1 -1
- package/dist-vue/PkChatbotFeedbackForm.js +1 -1
- package/dist-vue/PkChatbotFilePreview.js +1 -1
- package/dist-vue/PkChatbotInput.js +1 -1
- package/dist-vue/PkChatbotMessageFeedback.js +1 -1
- package/dist-vue/PkChatbotMessages.js +1 -1
- package/dist-vue/PkChatbotOutlineRail.js +1 -1
- package/dist-vue/PkChatbotStepToolDetail.js +1 -1
- package/dist-vue/PkChatbotSteps.js +1 -1
- package/dist-vue/PkChatbotViewChat.js +1 -1
- package/dist-vue/PkChatbotViewConversations.js +1 -1
- package/dist-vue/PkChatbotViewFiles.js +1 -1
- package/dist-vue/PkChatbotViewProfile.js +1 -1
- package/dist-vue/_chunks/{Document-Dvf2nw6v.js → Document-c1tATTDs.js} +46 -9
- package/dist-vue/_chunks/{Document-Dvf2nw6v.js.map → Document-c1tATTDs.js.map} +1 -1
- package/dist-vue/_chunks/{PkAvatar-Dv3e4aUl.js → PkAvatar-Bpf6cD4N.js} +1 -1
- package/dist-vue/_chunks/{PkAvatar-Dv3e4aUl.js.map → PkAvatar-Bpf6cD4N.js.map} +1 -1
- package/dist-vue/_chunks/PkChatbot-DpfxBVue.js +237 -0
- package/dist-vue/_chunks/PkChatbot-DpfxBVue.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotAuth-CFqcYxj9.js → PkChatbotAuth-uAPZRV6N.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotAuth-CFqcYxj9.js.map → PkChatbotAuth-uAPZRV6N.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotEmptyState-C70aTfG-.js → PkChatbotEmptyState-JTlPPXdI.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotEmptyState-C70aTfG-.js.map → PkChatbotEmptyState-JTlPPXdI.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotFeedbackForm-Ds2-nOaU.js → PkChatbotFeedbackForm-CHXxzWqQ.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotFeedbackForm-Ds2-nOaU.js.map → PkChatbotFeedbackForm-CHXxzWqQ.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotFilePreview-DG887KhT.js → PkChatbotFilePreview-Bf1bdZn8.js} +61 -54
- package/dist-vue/_chunks/PkChatbotFilePreview-Bf1bdZn8.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotInput-BTszEUj2.js → PkChatbotInput-DWS7vqC5.js} +152 -124
- package/dist-vue/_chunks/PkChatbotInput-DWS7vqC5.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotMessageFeedback-Cp0zzCP8.js → PkChatbotMessageFeedback-DAqlgPrz.js} +1 -1
- package/dist-vue/_chunks/{PkChatbotMessageFeedback-Cp0zzCP8.js.map → PkChatbotMessageFeedback-DAqlgPrz.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotMessages-DLP7utmG.js → PkChatbotMessages-BR5JUybd.js} +208 -212
- package/dist-vue/_chunks/PkChatbotMessages-BR5JUybd.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotOutlineRail-CAIfj2dI.js → PkChatbotOutlineRail-BXrdMIrA.js} +1 -1
- package/dist-vue/_chunks/{PkChatbotOutlineRail-CAIfj2dI.js.map → PkChatbotOutlineRail-BXrdMIrA.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotStepToolDetail-C-ucv_wp.js → PkChatbotStepToolDetail-C2nWevnD.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotStepToolDetail-C-ucv_wp.js.map → PkChatbotStepToolDetail-C2nWevnD.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotSteps-CBOhYZ10.js → PkChatbotSteps-5Ahr-zpZ.js} +4 -4
- package/dist-vue/_chunks/{PkChatbotSteps-CBOhYZ10.js.map → PkChatbotSteps-5Ahr-zpZ.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewChat-BZ9IH-sz.js → PkChatbotViewChat-C_t6qEEV.js} +64 -55
- package/dist-vue/_chunks/PkChatbotViewChat-C_t6qEEV.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotViewConversations-q5KPJt_D.js → PkChatbotViewConversations-CEaEsnBy.js} +4 -4
- package/dist-vue/_chunks/{PkChatbotViewConversations-q5KPJt_D.js.map → PkChatbotViewConversations-CEaEsnBy.js.map} +1 -1
- package/dist-vue/_chunks/PkChatbotViewFiles-Bzcn8AEo.js +114 -0
- package/dist-vue/_chunks/PkChatbotViewFiles-Bzcn8AEo.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotViewProfile-DTbQlkVL.js → PkChatbotViewProfile-CfFeqjse.js} +4 -4
- package/dist-vue/_chunks/{PkChatbotViewProfile-DTbQlkVL.js.map → PkChatbotViewProfile-CfFeqjse.js.map} +1 -1
- package/dist-vue/_chunks/{PkRelativeTime-D72zYq42.js → PkRelativeTime-2HoOjv_T.js} +1 -1
- package/dist-vue/_chunks/{PkRelativeTime-D72zYq42.js.map → PkRelativeTime-2HoOjv_T.js.map} +1 -1
- package/dist-vue/_chunks/{PkStreamingMarkdown-CVAsbuWi.js → PkStreamingMarkdown-C_LQOTVJ.js} +1 -1
- package/dist-vue/_chunks/{PkStreamingMarkdown-CVAsbuWi.js.map → PkStreamingMarkdown-C_LQOTVJ.js.map} +1 -1
- package/dist-vue/_chunks/{PkSvgViewer-CTYxVK7q.js → PkSvgViewer-Dtx4uluo.js} +2 -2
- package/dist-vue/_chunks/{PkSvgViewer-CTYxVK7q.js.map → PkSvgViewer-Dtx4uluo.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowArtifact-Csjfo9Xl.js → PkToolShowArtifact-CoYM3_A3.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowArtifact-Csjfo9Xl.js.map → PkToolShowArtifact-CoYM3_A3.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowCalendarEvent-B2tHaoqo.js → PkToolShowCalendarEvent-BZYdRwid.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowCalendarEvent-B2tHaoqo.js.map → PkToolShowCalendarEvent-BZYdRwid.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowComparison-BLDtjv3w.js → PkToolShowComparison-C4OP5c1t.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowComparison-BLDtjv3w.js.map → PkToolShowComparison-C4OP5c1t.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowContactForm-CdgD4fd8.js → PkToolShowContactForm-DjX9G8CD.js} +5 -5
- package/dist-vue/_chunks/{PkToolShowContactForm-CdgD4fd8.js.map → PkToolShowContactForm-DjX9G8CD.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowDiagram-DGYQjjGj.js → PkToolShowDiagram-DHwAckwN.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowDiagram-DGYQjjGj.js.map → PkToolShowDiagram-DHwAckwN.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowEmail-D42WDTO9.js → PkToolShowEmail-5waUO5cm.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowEmail-D42WDTO9.js.map → PkToolShowEmail-5waUO5cm.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowForm-BhVSPIAR.js → PkToolShowForm-C7bOdRse.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowForm-BhVSPIAR.js.map → PkToolShowForm-C7bOdRse.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowImageGallery-WANi2hA0.js → PkToolShowImageGallery-D3bqInQn.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowImageGallery-WANi2hA0.js.map → PkToolShowImageGallery-D3bqInQn.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowLocation-RVbaQoU5.js → PkToolShowLocation-DE-dbJEw.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowLocation-RVbaQoU5.js.map → PkToolShowLocation-DE-dbJEw.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowMessage-D8UbJcas.js → PkToolShowMessage-DCbW7AYl.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowMessage-D8UbJcas.js.map → PkToolShowMessage-DCbW7AYl.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowProductList-BQts3MBy.js → PkToolShowProductList-Blsv3Cio.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowProductList-BQts3MBy.js.map → PkToolShowProductList-Blsv3Cio.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowQrCode-BybXCt5e.js → PkToolShowQrCode-BbMTgOW3.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowQrCode-BybXCt5e.js.map → PkToolShowQrCode-BbMTgOW3.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowSources-DRewYfe-.js → PkToolShowSources-B9d3iLVk.js} +5 -5
- package/dist-vue/_chunks/{PkToolShowSources-DRewYfe-.js.map → PkToolShowSources-B9d3iLVk.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowSuggestedReply-DKiYUsaZ.js → PkToolShowSuggestedReply-B516t3Nb.js} +2 -2
- package/dist-vue/_chunks/PkToolShowSuggestedReply-B516t3Nb.js.map +1 -0
- package/dist-vue/_chunks/{PkToolShowWebPages-IV3OzwJe.js → PkToolShowWebPages-BF2aHJGK.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowWebPages-IV3OzwJe.js.map → PkToolShowWebPages-BF2aHJGK.js.map} +1 -1
- package/dist-vue/_chunks/{PkUrl-a6l-l4Au.js → PkUrl-DA-6t_2f.js} +1 -1
- package/dist-vue/_chunks/{PkUrl-a6l-l4Au.js.map → PkUrl-DA-6t_2f.js.map} +1 -1
- package/dist-vue/_chunks/{chatbotProfileContext-R95aQ5bH.js → chatbotProfileContext-R1zi561l.js} +1 -1
- package/dist-vue/_chunks/{chatbotProfileContext-R95aQ5bH.js.map → chatbotProfileContext-R1zi561l.js.map} +1 -1
- package/dist-vue/_chunks/{constants-DpYDYnZU.js → constants-CWT3GgSb.js} +2 -2
- package/dist-vue/_chunks/constants-CWT3GgSb.js.map +1 -0
- package/dist-vue/_chunks/{createChatbotApiClient-DXmWtu3b.js → createChatbotApiClient-kU7rCKwN.js} +13 -5
- package/dist-vue/_chunks/createChatbotApiClient-kU7rCKwN.js.map +1 -0
- package/dist-vue/_chunks/{dist-BbAXqaCM.js → dist-0LxfGh4q.js} +2 -2
- package/dist-vue/_chunks/{dist-BbAXqaCM.js.map → dist-0LxfGh4q.js.map} +1 -1
- package/dist-vue/_chunks/{dist-BU1gMaJv.js → dist-46HfWmpr.js} +2 -2
- package/dist-vue/_chunks/{dist-BU1gMaJv.js.map → dist-46HfWmpr.js.map} +1 -1
- package/dist-vue/_chunks/{dist-CpoLpTWk.js → dist-8YCZENrl.js} +3 -3
- package/dist-vue/_chunks/{dist-CpoLpTWk.js.map → dist-8YCZENrl.js.map} +1 -1
- package/dist-vue/_chunks/{dist-l7mimsz6.js → dist-B34dY8rD.js} +2 -2
- package/dist-vue/_chunks/{dist-l7mimsz6.js.map → dist-B34dY8rD.js.map} +1 -1
- package/dist-vue/_chunks/{dist-CYrZgvgZ.js → dist-BfbUNalO.js} +4 -4
- package/dist-vue/_chunks/{dist-CYrZgvgZ.js.map → dist-BfbUNalO.js.map} +1 -1
- package/dist-vue/_chunks/{dist-Begygip9.js → dist-BmRGnWn9.js} +3 -3
- package/dist-vue/_chunks/{dist-Begygip9.js.map → dist-BmRGnWn9.js.map} +1 -1
- package/dist-vue/_chunks/{dist-BGl_mYmF.js → dist-BoaZDzxm.js} +4 -4
- package/dist-vue/_chunks/{dist-BGl_mYmF.js.map → dist-BoaZDzxm.js.map} +1 -1
- package/dist-vue/_chunks/{dist-DEyUvwtq.js → dist-Bq9kJLlA.js} +3 -3
- package/dist-vue/_chunks/{dist-DEyUvwtq.js.map → dist-Bq9kJLlA.js.map} +1 -1
- package/dist-vue/_chunks/{dist-nZs6UeVS.js → dist-Bs-QG-km.js} +1 -1
- package/dist-vue/_chunks/{dist-nZs6UeVS.js.map → dist-Bs-QG-km.js.map} +1 -1
- package/dist-vue/_chunks/{dist-DinYvSmw.js → dist-BxqLQ_dy.js} +2 -2
- package/dist-vue/_chunks/{dist-DinYvSmw.js.map → dist-BxqLQ_dy.js.map} +1 -1
- package/dist-vue/_chunks/{dist-Dj7rLAD9.js → dist-Cc0Lyhoq.js} +3 -3
- package/dist-vue/_chunks/{dist-Dj7rLAD9.js.map → dist-Cc0Lyhoq.js.map} +1 -1
- package/dist-vue/_chunks/{dist-Jh4J_VuU.js → dist-CiYFTV6m.js} +3 -3
- package/dist-vue/_chunks/{dist-Jh4J_VuU.js.map → dist-CiYFTV6m.js.map} +1 -1
- package/dist-vue/_chunks/{dist-BzsV0Mzp.js → dist-CrcvoPSj.js} +2 -2
- package/dist-vue/_chunks/{dist-BzsV0Mzp.js.map → dist-CrcvoPSj.js.map} +1 -1
- package/dist-vue/_chunks/{dist-CABEM3v-.js → dist-DK5UPLjU.js} +4 -4
- package/dist-vue/_chunks/{dist-CABEM3v-.js.map → dist-DK5UPLjU.js.map} +1 -1
- package/dist-vue/_chunks/{dist-uvKhW3hB.js → dist-Da4-ZEZn.js} +3 -3
- package/dist-vue/_chunks/{dist-uvKhW3hB.js.map → dist-Da4-ZEZn.js.map} +1 -1
- package/dist-vue/_chunks/{dist-SbwxxzT7.js → dist-Dc77ClI_.js} +3 -3
- package/dist-vue/_chunks/{dist-SbwxxzT7.js.map → dist-Dc77ClI_.js.map} +1 -1
- package/dist-vue/_chunks/{dist-t9ZGnt-g.js → dist-LN9oA4PR.js} +2 -2
- package/dist-vue/_chunks/{dist-t9ZGnt-g.js.map → dist-LN9oA4PR.js.map} +1 -1
- package/dist-vue/_chunks/{dist-DKzsFjYx.js → dist-gx9K9AtO.js} +5 -5
- package/dist-vue/_chunks/{dist-DKzsFjYx.js.map → dist-gx9K9AtO.js.map} +1 -1
- package/dist-vue/_chunks/{dist-Bnrde8nq.js → dist-iDVEgNgZ.js} +3 -3
- package/dist-vue/_chunks/{dist-Bnrde8nq.js.map → dist-iDVEgNgZ.js.map} +1 -1
- package/dist-vue/_chunks/{dist-Byr8BhEG.js → dist-m2_O1KGc.js} +3 -3
- package/dist-vue/_chunks/{dist-Byr8BhEG.js.map → dist-m2_O1KGc.js.map} +1 -1
- package/dist-vue/_chunks/{dist-C08Qizu9.js → dist-qArLqzVS.js} +2 -2
- package/dist-vue/_chunks/{dist-C08Qizu9.js.map → dist-qArLqzVS.js.map} +1 -1
- package/dist-vue/_chunks/{dist-6gaEFVNT.js → dist-qJLUge9r.js} +2 -2
- package/dist-vue/_chunks/{dist-6gaEFVNT.js.map → dist-qJLUge9r.js.map} +1 -1
- package/dist-vue/_chunks/{index.es-ChKj3bPm.js → index.es-W-WNHB7-.js} +1 -1
- package/dist-vue/_chunks/{index.es-ChKj3bPm.js.map → index.es-W-WNHB7-.js.map} +1 -1
- package/dist-vue/_chunks/{useChatbotStore-GEO6rQ74.js → useChatbotStore-WPRS7mhR.js} +855 -832
- package/dist-vue/_chunks/{useChatbotStore-GEO6rQ74.js.map → useChatbotStore-WPRS7mhR.js.map} +1 -1
- package/dist-vue/_chunks/{useLocalizedString-DPX1ED4p.js → useLocalizedString-BQzGZyu0.js} +1 -1
- package/dist-vue/_chunks/{useLocalizedString-DPX1ED4p.js.map → useLocalizedString-BQzGZyu0.js.map} +1 -1
- package/dist-vue/_chunks/utils-BDNQaNua.js +101 -0
- package/dist-vue/_chunks/utils-BDNQaNua.js.map +1 -0
- package/dist-vue/api.js +1 -1
- package/dist-vue/composables.js +4 -4
- package/dist-vue/index.js +105 -80
- package/dist-vue/index.js.map +1 -1
- package/dist-vue/locales.js +10 -2
- package/dist-vue/packages/components/src/chat/PkChatbotInput.d.ts +7 -3
- package/dist-vue/packages/components/src/chat/PkMessageParts.d.ts +3 -0
- package/dist-vue/packages/components/src/chat/constants.d.ts +1 -1
- package/dist-vue/packages/components/src/chat/useChatScroll.d.ts +0 -7
- package/dist-vue/packages/components/src/table/PkTableSortable.d.ts +4 -0
- package/dist-vue/packages/composable/src/chatbot/api/createChatbotApiClient.d.ts +1 -0
- package/dist-vue/packages/composable/src/chatbot/useChatbotStore.d.ts +42 -3
- package/dist-vue/packages/composable/src/index.d.ts +1 -0
- package/dist-vue/packages/composable/src/useFileRow.d.ts +24 -0
- package/dist-vue/packages/models/src/schema/Agent.d.ts +1 -0
- package/dist-vue/packages/models/src/schema/Document.d.ts +12 -0
- package/dist-vue/packages/models/src/schema/Platform.d.ts +6 -0
- package/dist-vue/packages/models/src/schema/constants.d.ts +7 -2
- package/dist-vue/style.css +1 -1
- package/package.json +1 -1
- package/dist/_chunks/Document-BajUssb0.js.map +0 -1
- package/dist/_chunks/PkToolShowSuggestedReply-1j4lOkRj.js.map +0 -1
- package/dist-vue/_chunks/PkChatbot-q_W4cKsy.js +0 -237
- package/dist-vue/_chunks/PkChatbot-q_W4cKsy.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotFilePreview-DG887KhT.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotInput-BTszEUj2.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotMessages-DLP7utmG.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotViewChat-BZ9IH-sz.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotViewFiles-B0FNE1Kk.js +0 -86
- package/dist-vue/_chunks/PkChatbotViewFiles-B0FNE1Kk.js.map +0 -1
- package/dist-vue/_chunks/PkToolShowSuggestedReply-DKiYUsaZ.js.map +0 -1
- package/dist-vue/_chunks/constants-DpYDYnZU.js.map +0 -1
- package/dist-vue/_chunks/createChatbotApiClient-DXmWtu3b.js.map +0 -1
- package/dist-vue/_chunks/utils-BBAveXy4.js +0 -101
- package/dist-vue/_chunks/utils-BBAveXy4.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PkChatbotMessageFeedback-
|
|
1
|
+
{"version":3,"file":"PkChatbotMessageFeedback-DAqlgPrz.js","names":[],"sources":["../../../../packages/components/src/chat/PkChatbotMessageFeedback.vue","../../../../packages/components/src/chat/PkChatbotMessageFeedback.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import type { MessageFeedback } from 'models'\n import { computed } from 'vue'\n\n const props = defineProps<{\n feedback: MessageFeedback\n }>()\n\n // The real reaction glyph, shown ONLY for unmapped reactions (no vote):\n // 👍/❤️/👎 keep the classic thumb icon, while e.g. WhatsApp \"😍\" shows the\n // actual emoji.\n const emoji = computed(() => {\n if (props.feedback.vote) {\n return undefined\n }\n const raw = props.feedback.metadata?.reactionEmoji\n return typeof raw === 'string' && /\\p{Extended_Pictographic}/u.test(raw)\n ? raw\n : undefined\n })\n\n // Accent matches the vote; neutral for a real emoji (it carries its own\n // colour) or a comment-only feedback.\n const toneClass = computed(() => {\n if (emoji.value) {\n return 'pk-message-feedback--neutral'\n }\n switch (props.feedback.vote) {\n case 'upvote':\n return 'pk-message-feedback--positive'\n case 'downvote':\n return 'pk-message-feedback--negative'\n default:\n return 'pk-message-feedback--neutral'\n }\n })\n\n // Fallback icon when there is no real emoji glyph to show.\n const icon = computed(() => {\n switch (props.feedback.vote) {\n case 'upvote':\n return 'ri:thumb-up-fill'\n case 'downvote':\n return 'ri:thumb-down-fill'\n default:\n return 'ri:chat-quote-line'\n }\n })\n</script>\n\n<template>\n <div class=\"pk-message-feedback\" :class=\"toneClass\">\n <span class=\"pk-message-feedback__badge\">\n <span v-if=\"emoji\" class=\"pk-message-feedback__emoji\">\n {{ emoji }}\n </span>\n <VvIcon v-else :name=\"icon\" />\n </span>\n <p v-if=\"feedback.comment\" class=\"pk-message-feedback__comment\">\n {{ feedback.comment }}\n </p>\n </div>\n</template>\n\n<style lang=\"scss\">\n /*\n * The user's reaction + comment, shown as an annotation hanging off the\n * assistant message: echoes the bubble radius (same speech-bubble tail) and\n * a coloured left rail + badge match the vote. Sits flush under the bubble.\n */\n .pk-message-feedback {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n padding: var(--spacing-6) var(--spacing-12) var(--spacing-6)\n var(--spacing-6);\n border-radius: var(--rounded-lg);\n background: var(--pk-feedback-surface);\n font-size: var(--text-12);\n color: var(--color-word-2);\n\n &--positive {\n --pk-feedback-accent: var(--color-success);\n }\n\n &--negative {\n --pk-feedback-accent: var(--color-danger);\n }\n\n &--neutral {\n --pk-feedback-accent: var(--color-surface-4);\n }\n\n --pk-feedback-surface: color-mix(\n in srgb,\n var(--pk-feedback-accent) 8%,\n var(--color-surface)\n );\n\n &__badge {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--spacing-22, 1.375rem);\n height: var(--spacing-22, 1.375rem);\n border-radius: var(--rounded-full, 9999px);\n background: var(--color-surface);\n color: var(--pk-feedback-accent);\n box-shadow: var(--shadow-sm);\n }\n\n &__emoji {\n /* Smaller than the badge so the glyph doesn't touch the ring. */\n font-size: var(--text-12);\n line-height: 1;\n }\n\n &__comment {\n margin: 0;\n /* Preserve the user's line breaks; avoid orphans on wrap. */\n white-space: pre-wrap;\n text-wrap: pretty;\n }\n }\n</style>\n","<script lang=\"ts\" setup>\n import type { MessageFeedback } from 'models'\n import { computed } from 'vue'\n\n const props = defineProps<{\n feedback: MessageFeedback\n }>()\n\n // The real reaction glyph, shown ONLY for unmapped reactions (no vote):\n // 👍/❤️/👎 keep the classic thumb icon, while e.g. WhatsApp \"😍\" shows the\n // actual emoji.\n const emoji = computed(() => {\n if (props.feedback.vote) {\n return undefined\n }\n const raw = props.feedback.metadata?.reactionEmoji\n return typeof raw === 'string' && /\\p{Extended_Pictographic}/u.test(raw)\n ? raw\n : undefined\n })\n\n // Accent matches the vote; neutral for a real emoji (it carries its own\n // colour) or a comment-only feedback.\n const toneClass = computed(() => {\n if (emoji.value) {\n return 'pk-message-feedback--neutral'\n }\n switch (props.feedback.vote) {\n case 'upvote':\n return 'pk-message-feedback--positive'\n case 'downvote':\n return 'pk-message-feedback--negative'\n default:\n return 'pk-message-feedback--neutral'\n }\n })\n\n // Fallback icon when there is no real emoji glyph to show.\n const icon = computed(() => {\n switch (props.feedback.vote) {\n case 'upvote':\n return 'ri:thumb-up-fill'\n case 'downvote':\n return 'ri:thumb-down-fill'\n default:\n return 'ri:chat-quote-line'\n }\n })\n</script>\n\n<template>\n <div class=\"pk-message-feedback\" :class=\"toneClass\">\n <span class=\"pk-message-feedback__badge\">\n <span v-if=\"emoji\" class=\"pk-message-feedback__emoji\">\n {{ emoji }}\n </span>\n <VvIcon v-else :name=\"icon\" />\n </span>\n <p v-if=\"feedback.comment\" class=\"pk-message-feedback__comment\">\n {{ feedback.comment }}\n </p>\n </div>\n</template>\n\n<style lang=\"scss\">\n /*\n * The user's reaction + comment, shown as an annotation hanging off the\n * assistant message: echoes the bubble radius (same speech-bubble tail) and\n * a coloured left rail + badge match the vote. Sits flush under the bubble.\n */\n .pk-message-feedback {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n padding: var(--spacing-6) var(--spacing-12) var(--spacing-6)\n var(--spacing-6);\n border-radius: var(--rounded-lg);\n background: var(--pk-feedback-surface);\n font-size: var(--text-12);\n color: var(--color-word-2);\n\n &--positive {\n --pk-feedback-accent: var(--color-success);\n }\n\n &--negative {\n --pk-feedback-accent: var(--color-danger);\n }\n\n &--neutral {\n --pk-feedback-accent: var(--color-surface-4);\n }\n\n --pk-feedback-surface: color-mix(\n in srgb,\n var(--pk-feedback-accent) 8%,\n var(--color-surface)\n );\n\n &__badge {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--spacing-22, 1.375rem);\n height: var(--spacing-22, 1.375rem);\n border-radius: var(--rounded-full, 9999px);\n background: var(--color-surface);\n color: var(--pk-feedback-accent);\n box-shadow: var(--shadow-sm);\n }\n\n &__emoji {\n /* Smaller than the badge so the glyph doesn't touch the ring. */\n font-size: var(--text-12);\n line-height: 1;\n }\n\n &__comment {\n margin: 0;\n /* Preserve the user's line breaks; avoid orphans on wrap. */\n white-space: pre-wrap;\n text-wrap: pretty;\n }\n }\n</style>\n"],"mappings":";;;;;;;;;;;;;EAII,IAAM,IAAQ,GAOR,IAAQ,QAAe;GACzB,IAAI,EAAM,SAAS,MACf;GAEJ,IAAM,IAAM,EAAM,SAAS,UAAU;GACrC,OAAO,OAAO,KAAQ,YAAY,6BAA6B,KAAK,CAAG,IACjE,IACA,KAAA;EACV,CAAC,GAIK,IAAY,QAAe;GAC7B,IAAI,EAAM,OACN,OAAO;GAEX,QAAQ,EAAM,SAAS,MAAvB;IACI,KAAK,UACD,OAAO;IACX,KAAK,YACD,OAAO;IACX,SACI,OAAO;GACf;EACJ,CAAC,GAGK,IAAO,QAAe;GACxB,QAAQ,EAAM,SAAS,MAAvB;IACI,KAAK,UACD,OAAO;IACX,KAAK,YACD,OAAO;IACX,SACI,OAAO;GACf;EACJ,CAAC;;;eAID,EAUM,OAAA,EAVD,OAAK,EAAA,CAAC,uBAA8B,EAAA,KAAS,CAAA,EAAA,GAAA,CAC9C,EAKO,QALP,GAKO,CAJS,EAAA,SAAA,EAAA,GAAZ,EAEO,QAFP,GAEO,EADA,EAAA,KAAK,GAAA,CAAA,MAAA,EAAA,GAEZ,EAA8B,GAAA;;IAAd,MAAM,EAAA;6BAEjB,EAAA,SAAS,WAAA,EAAA,GAAlB,EAEI,KAFJ,GAEI,EADG,EAAA,SAAS,OAAO,GAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,GAAA,CAAA"}
|