analytica-frontend-lib 1.7.21 → 1.7.22

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 (119) hide show
  1. package/dist/ActivitiesHistory/index.js +7 -7
  2. package/dist/ActivitiesHistory/index.mjs +7 -7
  3. package/dist/ActivityCardQuestionBanks/index.js +7 -7
  4. package/dist/ActivityCardQuestionBanks/index.mjs +7 -7
  5. package/dist/ActivityCardQuestionPreview/index.js +7 -7
  6. package/dist/ActivityCardQuestionPreview/index.mjs +7 -7
  7. package/dist/ActivityCreate/ActivityCreateContent/index.js +7 -7
  8. package/dist/ActivityCreate/ActivityCreateContent/index.mjs +7 -7
  9. package/dist/ActivityCreate/index.js +7 -7
  10. package/dist/ActivityCreate/index.mjs +7 -7
  11. package/dist/ActivityDetails/index.js +7 -7
  12. package/dist/ActivityDetails/index.mjs +7 -7
  13. package/dist/ActivityFilters/index.js +7 -7
  14. package/dist/ActivityFilters/index.mjs +7 -7
  15. package/dist/ActivityPageLayout/index.js +7 -7
  16. package/dist/ActivityPageLayout/index.mjs +7 -7
  17. package/dist/ActivityPreview/index.js +7 -7
  18. package/dist/ActivityPreview/index.mjs +7 -7
  19. package/dist/AlertManager/index.js +7 -7
  20. package/dist/AlertManager/index.mjs +7 -7
  21. package/dist/CheckBoxGroup/index.js +7 -7
  22. package/dist/CheckBoxGroup/index.mjs +7 -7
  23. package/dist/EnemMoment/index.js +7 -7
  24. package/dist/EnemMoment/index.mjs +7 -7
  25. package/dist/EnemMomentStudentModal/index.js +7 -7
  26. package/dist/EnemMomentStudentModal/index.mjs +7 -7
  27. package/dist/ExamDetailsLayout/ExamDetailsPage/index.js +7 -7
  28. package/dist/ExamDetailsLayout/ExamDetailsPage/index.mjs +7 -7
  29. package/dist/ExamPageLayout/index.js +7 -7
  30. package/dist/ExamPageLayout/index.mjs +7 -7
  31. package/dist/KnowledgePerformanceCard/index.js +7 -7
  32. package/dist/KnowledgePerformanceCard/index.mjs +7 -7
  33. package/dist/LessonCardPreview/index.js +7 -7
  34. package/dist/LessonCardPreview/index.mjs +7 -7
  35. package/dist/LessonMediaSections/index.js +7 -7
  36. package/dist/LessonMediaSections/index.mjs +7 -7
  37. package/dist/LessonsCatalog/index.js +7 -7
  38. package/dist/LessonsCatalog/index.mjs +7 -7
  39. package/dist/PrintableUsersTable/index.js +7 -7
  40. package/dist/PrintableUsersTable/index.mjs +7 -7
  41. package/dist/QuestionsPerformanceCard/index.js +7 -7
  42. package/dist/QuestionsPerformanceCard/index.mjs +7 -7
  43. package/dist/RecommendedLessonCreate/index.js +7 -7
  44. package/dist/RecommendedLessonCreate/index.mjs +7 -7
  45. package/dist/RecommendedLessonsHistory/index.js +7 -7
  46. package/dist/RecommendedLessonsHistory/index.mjs +7 -7
  47. package/dist/SendActivityModal/SendActivityModal.js +7 -7
  48. package/dist/SendActivityModal/SendActivityModal.mjs +7 -7
  49. package/dist/SendActivityModal/index.js +7 -7
  50. package/dist/SendActivityModal/index.mjs +7 -7
  51. package/dist/SendLessonModal/index.js +7 -7
  52. package/dist/SendLessonModal/index.mjs +7 -7
  53. package/dist/SimulatedPerformance/SimulatedPerformanceView/index.js +7 -7
  54. package/dist/SimulatedPerformance/SimulatedPerformanceView/index.mjs +7 -7
  55. package/dist/SimulationsPage/index.js +7 -7
  56. package/dist/SimulationsPage/index.mjs +7 -7
  57. package/dist/SupportChatComposer/index.js +3 -3
  58. package/dist/SupportChatComposer/index.mjs +2 -2
  59. package/dist/SupportChatEvent/index.js +3 -3
  60. package/dist/SupportChatEvent/index.mjs +2 -2
  61. package/dist/SupportChatMessage/index.js +3 -3
  62. package/dist/SupportChatMessage/index.mjs +2 -2
  63. package/dist/SupportChatWidget/index.js +3 -3
  64. package/dist/SupportChatWidget/index.mjs +2 -2
  65. package/dist/SupportConversationMessages/index.js +5 -5
  66. package/dist/SupportConversationMessages/index.mjs +4 -4
  67. package/dist/SupportTicketConversation/index.js +7 -7
  68. package/dist/SupportTicketConversation/index.mjs +6 -6
  69. package/dist/TableProvider/index.js +7 -7
  70. package/dist/TableProvider/index.mjs +7 -7
  71. package/dist/UnifiedDraftModelPage/index.js +7 -7
  72. package/dist/UnifiedDraftModelPage/index.mjs +7 -7
  73. package/dist/UnifiedHistoryPage/index.js +7 -7
  74. package/dist/UnifiedHistoryPage/index.mjs +7 -7
  75. package/dist/{chunk-I6EAPPBL.mjs → chunk-25SRDJZ6.mjs} +3 -3
  76. package/dist/{chunk-CYSODZGX.js → chunk-27Y6V3GM.js} +169 -66
  77. package/dist/chunk-27Y6V3GM.js.map +1 -0
  78. package/dist/{chunk-KSUPPAKH.js → chunk-3IXK6AR7.js} +5 -5
  79. package/dist/{chunk-KSUPPAKH.js.map → chunk-3IXK6AR7.js.map} +1 -1
  80. package/dist/{chunk-POT3ALY3.js → chunk-5DINXU6W.js} +1 -1
  81. package/dist/{chunk-POT3ALY3.js.map → chunk-5DINXU6W.js.map} +1 -1
  82. package/dist/{chunk-EMWX6IKP.js → chunk-7VJP5D26.js} +13 -13
  83. package/dist/{chunk-EMWX6IKP.js.map → chunk-7VJP5D26.js.map} +1 -1
  84. package/dist/{chunk-7ZB3YHF2.mjs → chunk-C6LC5LD5.mjs} +1 -1
  85. package/dist/{chunk-7ZB3YHF2.mjs.map → chunk-C6LC5LD5.mjs.map} +1 -1
  86. package/dist/{chunk-OES54VU6.mjs → chunk-CFV2OZ3P.mjs} +116 -13
  87. package/dist/chunk-CFV2OZ3P.mjs.map +1 -0
  88. package/dist/{chunk-I4QGQMXI.mjs → chunk-EXYXZFNK.mjs} +2 -2
  89. package/dist/{chunk-FU23WOTY.js → chunk-HSV5VZ4Z.js} +6 -6
  90. package/dist/{chunk-FU23WOTY.js.map → chunk-HSV5VZ4Z.js.map} +1 -1
  91. package/dist/{chunk-KWXOYHYK.mjs → chunk-P7MORXSE.mjs} +2 -2
  92. package/dist/{chunk-YG4IZ5Q3.mjs → chunk-Q2OSEROT.mjs} +2 -2
  93. package/dist/{chunk-K45PTE7F.mjs → chunk-RBKQXT73.mjs} +4 -4
  94. package/dist/{chunk-VSVLIRO2.js → chunk-RXEU77VN.js} +15 -15
  95. package/dist/{chunk-VSVLIRO2.js.map → chunk-RXEU77VN.js.map} +1 -1
  96. package/dist/{chunk-ZB6HDDE4.js → chunk-TQO37PVW.js} +14 -14
  97. package/dist/{chunk-ZB6HDDE4.js.map → chunk-TQO37PVW.js.map} +1 -1
  98. package/dist/components/SupportChatWidget/guestSupportChatAdapter.d.ts +6 -1
  99. package/dist/components/SupportChatWidget/guestSupportChatAdapter.d.ts.map +1 -1
  100. package/dist/hooks/useAppContent/index.js +7 -7
  101. package/dist/hooks/useAppContent/index.mjs +7 -7
  102. package/dist/hooks/useSupportChat.d.ts +2 -0
  103. package/dist/hooks/useSupportChat.d.ts.map +1 -1
  104. package/dist/index.js +8 -8
  105. package/dist/index.mjs +7 -7
  106. package/dist/types/supportChat/index.d.ts +14 -0
  107. package/dist/types/supportChat/index.d.ts.map +1 -1
  108. package/dist/types/supportChat/index.js +2 -2
  109. package/dist/types/supportChat/index.mjs +1 -1
  110. package/dist/types/supportChat.d.ts +14 -0
  111. package/dist/types/supportChat.d.ts.map +1 -1
  112. package/package.json +1 -1
  113. package/dist/chunk-CYSODZGX.js.map +0 -1
  114. package/dist/chunk-OES54VU6.mjs.map +0 -1
  115. /package/dist/{chunk-I6EAPPBL.mjs.map → chunk-25SRDJZ6.mjs.map} +0 -0
  116. /package/dist/{chunk-I4QGQMXI.mjs.map → chunk-EXYXZFNK.mjs.map} +0 -0
  117. /package/dist/{chunk-KWXOYHYK.mjs.map → chunk-P7MORXSE.mjs.map} +0 -0
  118. /package/dist/{chunk-YG4IZ5Q3.mjs.map → chunk-Q2OSEROT.mjs.map} +0 -0
  119. /package/dist/{chunk-K45PTE7F.mjs.map → chunk-RBKQXT73.mjs.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SUPPORT_CHAT_EVENT_TYPE
3
- } from "./chunk-7ZB3YHF2.mjs";
3
+ } from "./chunk-C6LC5LD5.mjs";
4
4
  import {
5
5
  Text_default
6
6
  } from "./chunk-IMCIR6TJ.mjs";
@@ -80,4 +80,4 @@ function SupportChatEvent({
80
80
  export {
81
81
  SupportChatEvent
82
82
  };
83
- //# sourceMappingURL=chunk-YG4IZ5Q3.mjs.map
83
+ //# sourceMappingURL=chunk-Q2OSEROT.mjs.map
@@ -3,13 +3,13 @@ import {
3
3
  } from "./chunk-Q3WC5SG6.mjs";
4
4
  import {
5
5
  SupportChatMessage
6
- } from "./chunk-KWXOYHYK.mjs";
6
+ } from "./chunk-P7MORXSE.mjs";
7
7
  import {
8
8
  SupportChatEvent
9
- } from "./chunk-YG4IZ5Q3.mjs";
9
+ } from "./chunk-Q2OSEROT.mjs";
10
10
  import {
11
11
  SUPPORT_CHAT_EVENT_TYPE
12
- } from "./chunk-7ZB3YHF2.mjs";
12
+ } from "./chunk-C6LC5LD5.mjs";
13
13
  import {
14
14
  Text_default
15
15
  } from "./chunk-IMCIR6TJ.mjs";
@@ -117,4 +117,4 @@ function SupportConversationMessages({
117
117
  export {
118
118
  SupportConversationMessages
119
119
  };
120
- //# sourceMappingURL=chunk-K45PTE7F.mjs.map
120
+ //# sourceMappingURL=chunk-RBKQXT73.mjs.map
@@ -3,13 +3,13 @@
3
3
  var _chunkHPJSXD6Gjs = require('./chunk-HPJSXD6G.js');
4
4
 
5
5
 
6
- var _chunkEMWX6IKPjs = require('./chunk-EMWX6IKP.js');
6
+ var _chunk7VJP5D26js = require('./chunk-7VJP5D26.js');
7
7
 
8
8
 
9
- var _chunkZB6HDDE4js = require('./chunk-ZB6HDDE4.js');
9
+ var _chunkTQO37PVWjs = require('./chunk-TQO37PVW.js');
10
10
 
11
11
 
12
- var _chunkPOT3ALY3js = require('./chunk-POT3ALY3.js');
12
+ var _chunk5DINXU6Wjs = require('./chunk-5DINXU6W.js');
13
13
 
14
14
 
15
15
  var _chunkANT66KVKjs = require('./chunk-ANT66KVK.js');
@@ -24,51 +24,51 @@ var ConversationItem = ({ item }) => {
24
24
  switch (item.kind) {
25
25
  case _chunkHPJSXD6Gjs.SUPPORT_CONVERSATION_ITEM.DATE:
26
26
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27
- _chunkZB6HDDE4js.SupportChatEvent,
27
+ _chunkTQO37PVWjs.SupportChatEvent,
28
28
  {
29
- type: _chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.DATE,
29
+ type: _chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.DATE,
30
30
  text: item.label
31
31
  }
32
32
  );
33
33
  case _chunkHPJSXD6Gjs.SUPPORT_CONVERSATION_ITEM.SYSTEM:
34
34
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35
- _chunkZB6HDDE4js.SupportChatEvent,
35
+ _chunkTQO37PVWjs.SupportChatEvent,
36
36
  {
37
- type: _chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.NEUTRAL,
37
+ type: _chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.NEUTRAL,
38
38
  text: item.text,
39
39
  time: item.time
40
40
  }
41
41
  );
42
42
  case _chunkHPJSXD6Gjs.SUPPORT_CONVERSATION_ITEM.TRANSFER:
43
43
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
44
- _chunkZB6HDDE4js.SupportChatEvent,
44
+ _chunkTQO37PVWjs.SupportChatEvent,
45
45
  {
46
- type: _chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.TRANSFER,
46
+ type: _chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.TRANSFER,
47
47
  text: item.text,
48
48
  time: item.time
49
49
  }
50
50
  );
51
51
  case _chunkHPJSXD6Gjs.SUPPORT_CONVERSATION_ITEM.AI:
52
52
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
53
- _chunkZB6HDDE4js.SupportChatEvent,
53
+ _chunkTQO37PVWjs.SupportChatEvent,
54
54
  {
55
- type: _chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.AI,
55
+ type: _chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.AI,
56
56
  text: item.text,
57
57
  time: item.time
58
58
  }
59
59
  );
60
60
  case _chunkHPJSXD6Gjs.SUPPORT_CONVERSATION_ITEM.DONE:
61
61
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
62
- _chunkZB6HDDE4js.SupportChatEvent,
62
+ _chunkTQO37PVWjs.SupportChatEvent,
63
63
  {
64
- type: _chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.SUCCESS,
64
+ type: _chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.SUCCESS,
65
65
  text: item.text,
66
66
  time: item.time
67
67
  }
68
68
  );
69
69
  default:
70
70
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
71
- _chunkEMWX6IKPjs.SupportChatMessage,
71
+ _chunk7VJP5D26js.SupportChatMessage,
72
72
  {
73
73
  type: item.type,
74
74
  text: item.text,
@@ -117,4 +117,4 @@ function SupportConversationMessages({
117
117
 
118
118
 
119
119
  exports.SupportConversationMessages = SupportConversationMessages;
120
- //# sourceMappingURL=chunk-VSVLIRO2.js.map
120
+ //# sourceMappingURL=chunk-RXEU77VN.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/chunk-VSVLIRO2.js","../src/components/SupportConversation/SupportConversationMessages.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/chunk-VSVLIRO2.js","sourcesContent":[null,"import { useEffect, useRef } from 'react';\nimport Text from '../Text/Text';\nimport SupportChatMessage from '../SupportChat/SupportChatMessage';\nimport SupportChatEvent from '../SupportChat/SupportChatEvent';\nimport { cn } from '../../utils/utils';\nimport { SUPPORT_CHAT_EVENT_TYPE } from '../../types/supportChat';\nimport {\n SUPPORT_CONVERSATION_ITEM,\n type SupportConversationItem,\n} from '../../types/supportConversation';\n\n/**\n * Props of the SupportConversationMessages component\n */\nexport interface SupportConversationMessagesProps {\n /** Timeline in display order (oldest first) */\n items: SupportConversationItem[];\n /** First load: shows the loading text instead of the timeline */\n loading?: boolean;\n /** Text when the ticket has no item yet */\n emptyText?: string;\n className?: string;\n}\n\n/** Renders one item of the timeline with the matching chat piece */\nconst ConversationItem = ({ item }: { item: SupportConversationItem }) => {\n switch (item.kind) {\n case SUPPORT_CONVERSATION_ITEM.DATE:\n return (\n <SupportChatEvent\n type={SUPPORT_CHAT_EVENT_TYPE.DATE}\n text={item.label}\n />\n );\n case SUPPORT_CONVERSATION_ITEM.SYSTEM:\n return (\n <SupportChatEvent\n type={SUPPORT_CHAT_EVENT_TYPE.NEUTRAL}\n text={item.text}\n time={item.time}\n />\n );\n case SUPPORT_CONVERSATION_ITEM.TRANSFER:\n return (\n <SupportChatEvent\n type={SUPPORT_CHAT_EVENT_TYPE.TRANSFER}\n text={item.text}\n time={item.time}\n />\n );\n case SUPPORT_CONVERSATION_ITEM.AI:\n return (\n <SupportChatEvent\n type={SUPPORT_CHAT_EVENT_TYPE.AI}\n text={item.text}\n time={item.time}\n />\n );\n case SUPPORT_CONVERSATION_ITEM.DONE:\n return (\n <SupportChatEvent\n type={SUPPORT_CHAT_EVENT_TYPE.SUCCESS}\n text={item.text}\n time={item.time}\n />\n );\n default:\n return (\n <SupportChatMessage\n type={item.type}\n text={item.text}\n time={item.time}\n author={item.author}\n faq={item.faq}\n attachments={item.attachments}\n status={item.status}\n onRetry={item.onRetry}\n />\n );\n }\n};\n\n/**\n * Scrollable timeline of the support conversation: date separators, system\n * and handoff events and the messages of the user, the AI, the agents and\n * the internal notes.\n *\n * It is the only part of the conversation that scrolls, and it starts at the\n * latest message: it scrolls to the bottom on mount and whenever the\n * timeline grows.\n */\nexport default function SupportConversationMessages({\n items,\n loading = false,\n emptyText = 'Nenhuma mensagem neste atendimento ainda.',\n className,\n}: Readonly<SupportConversationMessagesProps>) {\n const scrollRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const scroll = scrollRef.current;\n scroll?.scrollTo?.({ top: scroll.scrollHeight });\n }, [items.length, loading]);\n\n return (\n <div\n ref={scrollRef}\n role=\"log\"\n aria-label=\"Mensagens do atendimento\"\n aria-busy={loading}\n data-testid=\"support-conversation-messages\"\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-6 py-4',\n className\n )}\n >\n {loading && (\n <Text size=\"sm\" color=\"text-text-500\" className=\"text-center\">\n Carregando conversa…\n </Text>\n )}\n {!loading && items.length === 0 && (\n <Text size=\"sm\" color=\"text-text-500\" className=\"text-center\">\n {emptyText}\n </Text>\n )}\n {!loading &&\n items.map((item) => <ConversationItem key={item.id} item={item} />)}\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/chunk-RXEU77VN.js","../src/components/SupportConversation/SupportConversationMessages.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/chunk-RXEU77VN.js","sourcesContent":[null,"import { useEffect, useRef } from 'react';\nimport Text from '../Text/Text';\nimport SupportChatMessage from '../SupportChat/SupportChatMessage';\nimport SupportChatEvent from '../SupportChat/SupportChatEvent';\nimport { cn } from '../../utils/utils';\nimport { SUPPORT_CHAT_EVENT_TYPE } from '../../types/supportChat';\nimport {\n SUPPORT_CONVERSATION_ITEM,\n type SupportConversationItem,\n} from '../../types/supportConversation';\n\n/**\n * Props of the SupportConversationMessages component\n */\nexport interface SupportConversationMessagesProps {\n /** Timeline in display order (oldest first) */\n items: SupportConversationItem[];\n /** First load: shows the loading text instead of the timeline */\n loading?: boolean;\n /** Text when the ticket has no item yet */\n emptyText?: string;\n className?: string;\n}\n\n/** Renders one item of the timeline with the matching chat piece */\nconst ConversationItem = ({ item }: { item: SupportConversationItem }) => {\n switch (item.kind) {\n case SUPPORT_CONVERSATION_ITEM.DATE:\n return (\n <SupportChatEvent\n type={SUPPORT_CHAT_EVENT_TYPE.DATE}\n text={item.label}\n />\n );\n case SUPPORT_CONVERSATION_ITEM.SYSTEM:\n return (\n <SupportChatEvent\n type={SUPPORT_CHAT_EVENT_TYPE.NEUTRAL}\n text={item.text}\n time={item.time}\n />\n );\n case SUPPORT_CONVERSATION_ITEM.TRANSFER:\n return (\n <SupportChatEvent\n type={SUPPORT_CHAT_EVENT_TYPE.TRANSFER}\n text={item.text}\n time={item.time}\n />\n );\n case SUPPORT_CONVERSATION_ITEM.AI:\n return (\n <SupportChatEvent\n type={SUPPORT_CHAT_EVENT_TYPE.AI}\n text={item.text}\n time={item.time}\n />\n );\n case SUPPORT_CONVERSATION_ITEM.DONE:\n return (\n <SupportChatEvent\n type={SUPPORT_CHAT_EVENT_TYPE.SUCCESS}\n text={item.text}\n time={item.time}\n />\n );\n default:\n return (\n <SupportChatMessage\n type={item.type}\n text={item.text}\n time={item.time}\n author={item.author}\n faq={item.faq}\n attachments={item.attachments}\n status={item.status}\n onRetry={item.onRetry}\n />\n );\n }\n};\n\n/**\n * Scrollable timeline of the support conversation: date separators, system\n * and handoff events and the messages of the user, the AI, the agents and\n * the internal notes.\n *\n * It is the only part of the conversation that scrolls, and it starts at the\n * latest message: it scrolls to the bottom on mount and whenever the\n * timeline grows.\n */\nexport default function SupportConversationMessages({\n items,\n loading = false,\n emptyText = 'Nenhuma mensagem neste atendimento ainda.',\n className,\n}: Readonly<SupportConversationMessagesProps>) {\n const scrollRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const scroll = scrollRef.current;\n scroll?.scrollTo?.({ top: scroll.scrollHeight });\n }, [items.length, loading]);\n\n return (\n <div\n ref={scrollRef}\n role=\"log\"\n aria-label=\"Mensagens do atendimento\"\n aria-busy={loading}\n data-testid=\"support-conversation-messages\"\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-6 py-4',\n className\n )}\n >\n {loading && (\n <Text size=\"sm\" color=\"text-text-500\" className=\"text-center\">\n Carregando conversa…\n </Text>\n )}\n {!loading && items.length === 0 && (\n <Text size=\"sm\" color=\"text-text-500\" className=\"text-center\">\n {emptyText}\n </Text>\n )}\n {!loading &&\n items.map((item) => <ConversationItem key={item.id} item={item} />)}\n </div>\n );\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkPOT3ALY3js = require('./chunk-POT3ALY3.js');
3
+ var _chunk5DINXU6Wjs = require('./chunk-5DINXU6W.js');
4
4
 
5
5
 
6
6
  var _chunkANT66KVKjs = require('./chunk-ANT66KVK.js');
@@ -11,26 +11,26 @@ var _chunkTN3AYOMVjs = require('./chunk-TN3AYOMV.js');
11
11
  // src/components/SupportChat/SupportChatEvent.tsx
12
12
  var _jsxruntime = require('react/jsx-runtime');
13
13
  var PILL_CLASSES = {
14
- [_chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.NEUTRAL]: "bg-background-100",
15
- [_chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.TRANSFER]: "bg-warning-50",
16
- [_chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.AI]: "bg-primary-50",
17
- [_chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.SUCCESS]: "bg-success-50",
18
- [_chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.DATE]: "bg-background-100"
14
+ [_chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.NEUTRAL]: "bg-background-100",
15
+ [_chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.TRANSFER]: "bg-warning-50",
16
+ [_chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.AI]: "bg-primary-50",
17
+ [_chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.SUCCESS]: "bg-success-50",
18
+ [_chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.DATE]: "bg-background-100"
19
19
  };
20
20
  var TEXT_COLORS = {
21
- [_chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.NEUTRAL]: "text-text-600",
22
- [_chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.TRANSFER]: "text-warning-700",
23
- [_chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.AI]: "text-primary-700",
24
- [_chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.SUCCESS]: "text-success-700",
25
- [_chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.DATE]: "text-text-600"
21
+ [_chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.NEUTRAL]: "text-text-600",
22
+ [_chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.TRANSFER]: "text-warning-700",
23
+ [_chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.AI]: "text-primary-700",
24
+ [_chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.SUCCESS]: "text-success-700",
25
+ [_chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.DATE]: "text-text-600"
26
26
  };
27
27
  function SupportChatEvent({
28
- type = _chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.NEUTRAL,
28
+ type = _chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.NEUTRAL,
29
29
  text,
30
30
  time,
31
31
  className
32
32
  }) {
33
- const isDate = type === _chunkPOT3ALY3js.SUPPORT_CHAT_EVENT_TYPE.DATE;
33
+ const isDate = type === _chunk5DINXU6Wjs.SUPPORT_CHAT_EVENT_TYPE.DATE;
34
34
  const content = time ? `${text} \xB7 ${time}` : text;
35
35
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36
36
  "div",
@@ -80,4 +80,4 @@ function SupportChatEvent({
80
80
 
81
81
 
82
82
  exports.SupportChatEvent = SupportChatEvent;
83
- //# sourceMappingURL=chunk-ZB6HDDE4.js.map
83
+ //# sourceMappingURL=chunk-TQO37PVW.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/chunk-ZB6HDDE4.js","../src/components/SupportChat/SupportChatEvent.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACA;ACoDI,+CAAA;AAxCJ,IAAM,aAAA,EAAqD;AAAA,EACzD,CAAC,wCAAA,CAAwB,OAAO,CAAA,EAAG,mBAAA;AAAA,EACnC,CAAC,wCAAA,CAAwB,QAAQ,CAAA,EAAG,eAAA;AAAA,EACpC,CAAC,wCAAA,CAAwB,EAAE,CAAA,EAAG,eAAA;AAAA,EAC9B,CAAC,wCAAA,CAAwB,OAAO,CAAA,EAAG,eAAA;AAAA,EACnC,CAAC,wCAAA,CAAwB,IAAI,CAAA,EAAG;AAClC,CAAA;AAEA,IAAM,YAAA,EAAoD;AAAA,EACxD,CAAC,wCAAA,CAAwB,OAAO,CAAA,EAAG,eAAA;AAAA,EACnC,CAAC,wCAAA,CAAwB,QAAQ,CAAA,EAAG,kBAAA;AAAA,EACpC,CAAC,wCAAA,CAAwB,EAAE,CAAA,EAAG,kBAAA;AAAA,EAC9B,CAAC,wCAAA,CAAwB,OAAO,CAAA,EAAG,kBAAA;AAAA,EACnC,CAAC,wCAAA,CAAwB,IAAI,CAAA,EAAG;AAClC,CAAA;AAgBe,SAAR,gBAAA,CAAkC;AAAA,EACvC,KAAA,EAAO,wCAAA,CAAwB,OAAA;AAAA,EAC/B,IAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAAoC;AAClC,EAAA,MAAM,OAAA,EAAS,KAAA,IAAS,wCAAA,CAAwB,IAAA;AAChD,EAAA,MAAM,QAAA,EAAU,KAAA,EAAO,CAAA,EAAA;AAGrB,EAAA;AAAC,IAAA;AAAA,IAAA;AACgB,MAAA;AACH,MAAA;AACE,MAAA;AAEb,MAAA;AACC,QAAA;AAAC,UAAA;AAAA,UAAA;AACC,YAAA;AACA,YAAA;AACU,YAAA;AAAA,UAAA;AACZ,QAAA;AAEF,wBAAA;AAAC,UAAA;AAAA,UAAA;AACC,YAAA;AACc,YAAA;AAEd,YAAA;AAAC,cAAA;AAAA,cAAA;AACM,gBAAA;AACG,gBAAA;AACD,gBAAA;AACP,gBAAA;AAEC,gBAAA;AAAA,cAAA;AACH,YAAA;AAAA,UAAA;AACF,QAAA;AAEE,QAAA;AAAC,UAAA;AAAA,UAAA;AACC,YAAA;AACA,YAAA;AACU,YAAA;AAAA,UAAA;AACZ,QAAA;AAAA,MAAA;AAAA,IAAA;AAEJ,EAAA;AAEJ;ADlB0B;AACA;AACA;AACA","file":"/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/chunk-ZB6HDDE4.js","sourcesContent":[null,"import Text from '../Text/Text';\nimport { cn } from '../../utils/utils';\nimport {\n SUPPORT_CHAT_EVENT_TYPE,\n type SupportChatEventType,\n} from '../../types/supportChat';\n\n/**\n * Props for an event shown between support chat messages\n */\nexport interface SupportChatEventProps {\n /** Event kind; defaults to NEUTRAL */\n type?: SupportChatEventType;\n /** Event description, e.g. \"Atendimento passou para humano\" */\n text: string;\n /** Already formatted time appended as \"text · time\" */\n time?: string;\n /** Extra classes for the root element */\n className?: string;\n}\n\n/** Pill background and text color for each event type */\nconst PILL_CLASSES: Record<SupportChatEventType, string> = {\n [SUPPORT_CHAT_EVENT_TYPE.NEUTRAL]: 'bg-background-100',\n [SUPPORT_CHAT_EVENT_TYPE.TRANSFER]: 'bg-warning-50',\n [SUPPORT_CHAT_EVENT_TYPE.AI]: 'bg-primary-50',\n [SUPPORT_CHAT_EVENT_TYPE.SUCCESS]: 'bg-success-50',\n [SUPPORT_CHAT_EVENT_TYPE.DATE]: 'bg-background-100',\n};\n\nconst TEXT_COLORS: Record<SupportChatEventType, string> = {\n [SUPPORT_CHAT_EVENT_TYPE.NEUTRAL]: 'text-text-600',\n [SUPPORT_CHAT_EVENT_TYPE.TRANSFER]: 'text-warning-700',\n [SUPPORT_CHAT_EVENT_TYPE.AI]: 'text-primary-700',\n [SUPPORT_CHAT_EVENT_TYPE.SUCCESS]: 'text-success-700',\n [SUPPORT_CHAT_EVENT_TYPE.DATE]: 'text-text-600',\n};\n\n/**\n * Centered pill describing a chat event.\n *\n * - NEUTRAL: gray pill, e.g. \"Atendimento iniciado via Web\",\n * \"Atendimento passou para humano\" or \"Concluído automaticamente pela IA\"\n * - TRANSFER: orange pill, e.g. \"IA transferiu para humano — motivo: …\"\n * - AI: blue pill, e.g. \"IA assumiu o atendimento\"\n * - SUCCESS: green pill, e.g. \"Atendimento concluído — motivo: Login\"\n * - DATE: gray pill between two horizontal lines, used as a date separator\n * (e.g. \"Hoje\")\n *\n * Handoffs are described by who handles the ticket (AI or human), not by\n * agent names: there is no \"Passou de Agente A para Agente B\" event.\n */\nexport default function SupportChatEvent({\n type = SUPPORT_CHAT_EVENT_TYPE.NEUTRAL,\n text,\n time,\n className,\n}: Readonly<SupportChatEventProps>) {\n const isDate = type === SUPPORT_CHAT_EVENT_TYPE.DATE;\n const content = time ? `${text} · ${time}` : text;\n\n return (\n <div\n role={isDate ? 'separator' : undefined}\n aria-label={isDate ? content : undefined}\n className={cn('flex w-full items-center justify-center gap-3', className)}\n >\n {isDate && (\n <div\n aria-hidden=\"true\"\n data-testid=\"support-chat-event-line\"\n className=\"h-px flex-1 bg-border-100\"\n />\n )}\n <div\n data-testid=\"support-chat-event-pill\"\n className={cn('max-w-full rounded-xl px-2.5 py-1', PILL_CLASSES[type])}\n >\n <Text\n size=\"xs\"\n weight={isDate ? 'medium' : 'normal'}\n color={TEXT_COLORS[type]}\n className=\"break-words text-center\"\n >\n {content}\n </Text>\n </div>\n {isDate && (\n <div\n aria-hidden=\"true\"\n data-testid=\"support-chat-event-line\"\n className=\"h-px flex-1 bg-border-100\"\n />\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/chunk-TQO37PVW.js","../src/components/SupportChat/SupportChatEvent.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACA;ACoDI,+CAAA;AAxCJ,IAAM,aAAA,EAAqD;AAAA,EACzD,CAAC,wCAAA,CAAwB,OAAO,CAAA,EAAG,mBAAA;AAAA,EACnC,CAAC,wCAAA,CAAwB,QAAQ,CAAA,EAAG,eAAA;AAAA,EACpC,CAAC,wCAAA,CAAwB,EAAE,CAAA,EAAG,eAAA;AAAA,EAC9B,CAAC,wCAAA,CAAwB,OAAO,CAAA,EAAG,eAAA;AAAA,EACnC,CAAC,wCAAA,CAAwB,IAAI,CAAA,EAAG;AAClC,CAAA;AAEA,IAAM,YAAA,EAAoD;AAAA,EACxD,CAAC,wCAAA,CAAwB,OAAO,CAAA,EAAG,eAAA;AAAA,EACnC,CAAC,wCAAA,CAAwB,QAAQ,CAAA,EAAG,kBAAA;AAAA,EACpC,CAAC,wCAAA,CAAwB,EAAE,CAAA,EAAG,kBAAA;AAAA,EAC9B,CAAC,wCAAA,CAAwB,OAAO,CAAA,EAAG,kBAAA;AAAA,EACnC,CAAC,wCAAA,CAAwB,IAAI,CAAA,EAAG;AAClC,CAAA;AAgBe,SAAR,gBAAA,CAAkC;AAAA,EACvC,KAAA,EAAO,wCAAA,CAAwB,OAAA;AAAA,EAC/B,IAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAAoC;AAClC,EAAA,MAAM,OAAA,EAAS,KAAA,IAAS,wCAAA,CAAwB,IAAA;AAChD,EAAA,MAAM,QAAA,EAAU,KAAA,EAAO,CAAA,EAAA;AAGrB,EAAA;AAAC,IAAA;AAAA,IAAA;AACgB,MAAA;AACH,MAAA;AACE,MAAA;AAEb,MAAA;AACC,QAAA;AAAC,UAAA;AAAA,UAAA;AACC,YAAA;AACA,YAAA;AACU,YAAA;AAAA,UAAA;AACZ,QAAA;AAEF,wBAAA;AAAC,UAAA;AAAA,UAAA;AACC,YAAA;AACc,YAAA;AAEd,YAAA;AAAC,cAAA;AAAA,cAAA;AACM,gBAAA;AACG,gBAAA;AACD,gBAAA;AACP,gBAAA;AAEC,gBAAA;AAAA,cAAA;AACH,YAAA;AAAA,UAAA;AACF,QAAA;AAEE,QAAA;AAAC,UAAA;AAAA,UAAA;AACC,YAAA;AACA,YAAA;AACU,YAAA;AAAA,UAAA;AACZ,QAAA;AAAA,MAAA;AAAA,IAAA;AAEJ,EAAA;AAEJ;ADlB0B;AACA;AACA;AACA","file":"/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/chunk-TQO37PVW.js","sourcesContent":[null,"import Text from '../Text/Text';\nimport { cn } from '../../utils/utils';\nimport {\n SUPPORT_CHAT_EVENT_TYPE,\n type SupportChatEventType,\n} from '../../types/supportChat';\n\n/**\n * Props for an event shown between support chat messages\n */\nexport interface SupportChatEventProps {\n /** Event kind; defaults to NEUTRAL */\n type?: SupportChatEventType;\n /** Event description, e.g. \"Atendimento passou para humano\" */\n text: string;\n /** Already formatted time appended as \"text · time\" */\n time?: string;\n /** Extra classes for the root element */\n className?: string;\n}\n\n/** Pill background and text color for each event type */\nconst PILL_CLASSES: Record<SupportChatEventType, string> = {\n [SUPPORT_CHAT_EVENT_TYPE.NEUTRAL]: 'bg-background-100',\n [SUPPORT_CHAT_EVENT_TYPE.TRANSFER]: 'bg-warning-50',\n [SUPPORT_CHAT_EVENT_TYPE.AI]: 'bg-primary-50',\n [SUPPORT_CHAT_EVENT_TYPE.SUCCESS]: 'bg-success-50',\n [SUPPORT_CHAT_EVENT_TYPE.DATE]: 'bg-background-100',\n};\n\nconst TEXT_COLORS: Record<SupportChatEventType, string> = {\n [SUPPORT_CHAT_EVENT_TYPE.NEUTRAL]: 'text-text-600',\n [SUPPORT_CHAT_EVENT_TYPE.TRANSFER]: 'text-warning-700',\n [SUPPORT_CHAT_EVENT_TYPE.AI]: 'text-primary-700',\n [SUPPORT_CHAT_EVENT_TYPE.SUCCESS]: 'text-success-700',\n [SUPPORT_CHAT_EVENT_TYPE.DATE]: 'text-text-600',\n};\n\n/**\n * Centered pill describing a chat event.\n *\n * - NEUTRAL: gray pill, e.g. \"Atendimento iniciado via Web\",\n * \"Atendimento passou para humano\" or \"Concluído automaticamente pela IA\"\n * - TRANSFER: orange pill, e.g. \"IA transferiu para humano — motivo: …\"\n * - AI: blue pill, e.g. \"IA assumiu o atendimento\"\n * - SUCCESS: green pill, e.g. \"Atendimento concluído — motivo: Login\"\n * - DATE: gray pill between two horizontal lines, used as a date separator\n * (e.g. \"Hoje\")\n *\n * Handoffs are described by who handles the ticket (AI or human), not by\n * agent names: there is no \"Passou de Agente A para Agente B\" event.\n */\nexport default function SupportChatEvent({\n type = SUPPORT_CHAT_EVENT_TYPE.NEUTRAL,\n text,\n time,\n className,\n}: Readonly<SupportChatEventProps>) {\n const isDate = type === SUPPORT_CHAT_EVENT_TYPE.DATE;\n const content = time ? `${text} · ${time}` : text;\n\n return (\n <div\n role={isDate ? 'separator' : undefined}\n aria-label={isDate ? content : undefined}\n className={cn('flex w-full items-center justify-center gap-3', className)}\n >\n {isDate && (\n <div\n aria-hidden=\"true\"\n data-testid=\"support-chat-event-line\"\n className=\"h-px flex-1 bg-border-100\"\n />\n )}\n <div\n data-testid=\"support-chat-event-pill\"\n className={cn('max-w-full rounded-xl px-2.5 py-1', PILL_CLASSES[type])}\n >\n <Text\n size=\"xs\"\n weight={isDate ? 'medium' : 'normal'}\n color={TEXT_COLORS[type]}\n className=\"break-words text-center\"\n >\n {content}\n </Text>\n </div>\n {isDate && (\n <div\n aria-hidden=\"true\"\n data-testid=\"support-chat-event-line\"\n className=\"h-px flex-1 bg-border-100\"\n />\n )}\n </div>\n );\n}\n"]}
@@ -10,6 +10,11 @@ export interface GuestSupportChatAdapterOptions {
10
10
  wsUrl?: string;
11
11
  /** Polling interval while the socket is not connected, in ms */
12
12
  pollIntervalMs?: number;
13
+ /**
14
+ * localStorage key of the open conversation, kept so a reload resumes it.
15
+ * Default: `analytica:support-chat`.
16
+ */
17
+ storageKey?: string;
13
18
  }
14
19
  /** REST answer → widget message */
15
20
  export declare const fromSupportAnswer: (answer: SupportChatAnswerApi, requesterName: string) => SupportChatMessage;
@@ -20,5 +25,5 @@ export declare const fromSupportAnswer: (answer: SupportChatAnswerApi, requester
20
25
  * - the chat WebSocket (?channel=support&roomId=&token=) pushes the events,
21
26
  * and REST polling covers the time the socket is down.
22
27
  */
23
- export declare const createGuestSupportChatAdapter: ({ apiClient, wsUrl, pollIntervalMs, }: GuestSupportChatAdapterOptions) => SupportChatAdapter;
28
+ export declare const createGuestSupportChatAdapter: ({ apiClient, wsUrl, pollIntervalMs, storageKey, }: GuestSupportChatAdapterOptions) => SupportChatAdapter;
24
29
  //# sourceMappingURL=guestSupportChatAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guestSupportChatAdapter.d.ts","sourceRoot":"","sources":["../../../src/components/SupportChatWidget/guestSupportChatAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAGzB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,8BAA8B;IAC7C,8DAA8D;IAC9D,SAAS,EAAE,qBAAqB,CAAC;IACjC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAUD,mCAAmC;AACnC,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,oBAAoB,EAC5B,eAAe,MAAM,KACpB,kBAkBD,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,GAAI,uCAI3C,8BAA8B,KAAG,kBAmPnC,CAAC"}
1
+ {"version":3,"file":"guestSupportChatAdapter.d.ts","sourceRoot":"","sources":["../../../src/components/SupportChatWidget/guestSupportChatAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAGzB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EAExB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,8BAA8B;IAC7C,8DAA8D;IAC9D,SAAS,EAAE,qBAAqB,CAAC;IACjC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAwDD,mCAAmC;AACnC,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,oBAAoB,EAC5B,eAAe,MAAM,KACpB,kBAkBD,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,GAAI,mDAK3C,8BAA8B,KAAG,kBAoSnC,CAAC"}
@@ -131,22 +131,22 @@ require('../../chunk-YNQTCV4W.js');
131
131
  require('../../chunk-DP6WOYOR.js');
132
132
  require('../../chunk-74QSWN5M.js');
133
133
  require('../../chunk-KFF223EV.js');
134
- require('../../chunk-KSUPPAKH.js');
135
- require('../../chunk-FU23WOTY.js');
134
+ require('../../chunk-3IXK6AR7.js');
135
+ require('../../chunk-HSV5VZ4Z.js');
136
136
  require('../../chunk-JPO6L6NE.js');
137
137
  require('../../chunk-SKM7NFPY.js');
138
- require('../../chunk-VSVLIRO2.js');
138
+ require('../../chunk-RXEU77VN.js');
139
139
  require('../../chunk-HPJSXD6G.js');
140
- require('../../chunk-EMWX6IKP.js');
140
+ require('../../chunk-7VJP5D26.js');
141
141
  require('../../chunk-XQL6H446.js');
142
- require('../../chunk-ZB6HDDE4.js');
143
- require('../../chunk-CYSODZGX.js');
142
+ require('../../chunk-TQO37PVW.js');
143
+ require('../../chunk-27Y6V3GM.js');
144
144
  require('../../chunk-DPAHHBEV.js');
145
145
  require('../../chunk-MKN3J57S.js');
146
146
  require('../../chunk-DRIFBRUS.js');
147
147
  require('../../chunk-YJMI5C5M.js');
148
148
  require('../../chunk-BIKQB5M6.js');
149
- require('../../chunk-POT3ALY3.js');
149
+ require('../../chunk-5DINXU6W.js');
150
150
  require('../../chunk-4OVIHZ3I.js');
151
151
  require('../../chunk-OMQPBLTC.js');
152
152
  require('../../chunk-WUXIPIUG.js');
@@ -131,22 +131,22 @@ import "../../chunk-GRLCPYN5.mjs";
131
131
  import "../../chunk-XLDODZSI.mjs";
132
132
  import "../../chunk-QIFZED7Z.mjs";
133
133
  import "../../chunk-UI6YZ56K.mjs";
134
- import "../../chunk-I6EAPPBL.mjs";
135
- import "../../chunk-I4QGQMXI.mjs";
134
+ import "../../chunk-25SRDJZ6.mjs";
135
+ import "../../chunk-EXYXZFNK.mjs";
136
136
  import "../../chunk-IO2GOUTV.mjs";
137
137
  import "../../chunk-3RHNJUXU.mjs";
138
- import "../../chunk-K45PTE7F.mjs";
138
+ import "../../chunk-RBKQXT73.mjs";
139
139
  import "../../chunk-Q3WC5SG6.mjs";
140
- import "../../chunk-KWXOYHYK.mjs";
140
+ import "../../chunk-P7MORXSE.mjs";
141
141
  import "../../chunk-FZYK5HMK.mjs";
142
- import "../../chunk-YG4IZ5Q3.mjs";
143
- import "../../chunk-OES54VU6.mjs";
142
+ import "../../chunk-Q2OSEROT.mjs";
143
+ import "../../chunk-CFV2OZ3P.mjs";
144
144
  import "../../chunk-3G5E7GEQ.mjs";
145
145
  import "../../chunk-C2KAIQ4I.mjs";
146
146
  import "../../chunk-TNOKCEMB.mjs";
147
147
  import "../../chunk-NKLGONUQ.mjs";
148
148
  import "../../chunk-4VFPGOKK.mjs";
149
- import "../../chunk-7ZB3YHF2.mjs";
149
+ import "../../chunk-C6LC5LD5.mjs";
150
150
  import "../../chunk-L5SXG6T6.mjs";
151
151
  import "../../chunk-KB3RDPGH.mjs";
152
152
  import "../../chunk-C4SBX6R2.mjs";
@@ -12,6 +12,8 @@ export interface UseSupportChatReturn {
12
12
  error: string | null;
13
13
  /** Ticket resolved: no more messages can be sent */
14
14
  closed: boolean;
15
+ /** The conversation was resumed from an earlier page load */
16
+ restored: boolean;
15
17
  /** Send a message (text and/or files); the first one opens the ticket */
16
18
  send: (content: string, files?: File[]) => Promise<SupportChatMessage | null>;
17
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"useSupportChat.d.ts","sourceRoot":"","sources":["../../src/hooks/useSupportChat.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,oDAAoD;IACpD,MAAM,EAAE,OAAO,CAAC;IAChB,yEAAyE;IACzE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAC9E;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,sCAAsC;IACtC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAmDD;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,4CAK5B,oBAAoB,KAAG,oBAiIzB,CAAC"}
1
+ {"version":3,"file":"useSupportChat.d.ts","sourceRoot":"","sources":["../../src/hooks/useSupportChat.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,oDAAoD;IACpD,MAAM,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAC9E;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,sCAAsC;IACtC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAmDD;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,4CAK5B,oBAAoB,KAAG,oBAsKzB,CAAC"}