@stack-spot/ai-chat-widget 0.2.0 → 0.3.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 (117) hide show
  1. package/dist/StackspotAIWidget.d.ts.map +1 -1
  2. package/dist/StackspotAIWidget.js +2 -1
  3. package/dist/StackspotAIWidget.js.map +1 -1
  4. package/dist/chat-interceptors/send-message.d.ts.map +1 -1
  5. package/dist/chat-interceptors/send-message.js +2 -6
  6. package/dist/chat-interceptors/send-message.js.map +1 -1
  7. package/dist/components/HistoryList.d.ts +2 -5
  8. package/dist/components/HistoryList.d.ts.map +1 -1
  9. package/dist/components/HistoryList.js +70 -2
  10. package/dist/components/HistoryList.js.map +1 -1
  11. package/dist/components/OverlayMenu.d.ts +3 -2
  12. package/dist/components/OverlayMenu.d.ts.map +1 -1
  13. package/dist/components/OverlayMenu.js +57 -1
  14. package/dist/components/OverlayMenu.js.map +1 -1
  15. package/dist/components/Tooltip/Tooltip.d.ts +2 -1
  16. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  17. package/dist/components/Tooltip/Tooltip.js +10 -2
  18. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  19. package/dist/components/Tooltip/TooltipAPI.d.ts +3 -2
  20. package/dist/components/Tooltip/TooltipAPI.d.ts.map +1 -1
  21. package/dist/components/Tooltip/TooltipAPI.js +26 -1
  22. package/dist/components/Tooltip/TooltipAPI.js.map +1 -1
  23. package/dist/components/Tooltip/style.d.ts.map +1 -1
  24. package/dist/components/Tooltip/style.js +0 -1
  25. package/dist/components/Tooltip/style.js.map +1 -1
  26. package/dist/components/Tooltip/types.d.ts +6 -0
  27. package/dist/components/Tooltip/types.d.ts.map +1 -1
  28. package/dist/features.d.ts.map +1 -1
  29. package/dist/features.js +1 -0
  30. package/dist/features.js.map +1 -1
  31. package/dist/types.d.ts +1 -1
  32. package/dist/types.d.ts.map +1 -1
  33. package/dist/utils/date.d.ts +1 -0
  34. package/dist/utils/date.d.ts.map +1 -1
  35. package/dist/utils/date.js +3 -0
  36. package/dist/utils/date.js.map +1 -1
  37. package/dist/utils/download.d.ts +2 -0
  38. package/dist/utils/download.d.ts.map +1 -0
  39. package/dist/utils/download.js +10 -0
  40. package/dist/utils/download.js.map +1 -0
  41. package/dist/utils/knowledge-source.d.ts +3 -1
  42. package/dist/utils/knowledge-source.d.ts.map +1 -1
  43. package/dist/utils/knowledge-source.js +8 -0
  44. package/dist/utils/knowledge-source.js.map +1 -1
  45. package/dist/views/Agents.js +2 -1
  46. package/dist/views/Agents.js.map +1 -1
  47. package/dist/views/Chat/ChatMessage.d.ts.map +1 -1
  48. package/dist/views/Chat/ChatMessage.js +1 -1
  49. package/dist/views/Chat/ChatMessage.js.map +1 -1
  50. package/dist/views/Chat/chat-scroll.d.ts.map +1 -0
  51. package/dist/{hooks → views/Chat}/chat-scroll.js +5 -3
  52. package/dist/views/Chat/chat-scroll.js.map +1 -0
  53. package/dist/views/ChatHistory/ChatHistoryPanel.d.ts +5 -0
  54. package/dist/views/ChatHistory/ChatHistoryPanel.d.ts.map +1 -0
  55. package/dist/views/ChatHistory/ChatHistoryPanel.js +10 -0
  56. package/dist/views/ChatHistory/ChatHistoryPanel.js.map +1 -0
  57. package/dist/views/ChatHistory/HistoryItem.d.ts +7 -0
  58. package/dist/views/ChatHistory/HistoryItem.d.ts.map +1 -0
  59. package/dist/views/ChatHistory/HistoryItem.js +109 -0
  60. package/dist/views/ChatHistory/HistoryItem.js.map +1 -0
  61. package/dist/views/ChatHistory/dictionary.d.ts +2 -0
  62. package/dist/views/ChatHistory/dictionary.d.ts.map +1 -0
  63. package/dist/views/ChatHistory/dictionary.js +19 -0
  64. package/dist/views/ChatHistory/dictionary.js.map +1 -0
  65. package/dist/views/ChatHistory/index.d.ts +5 -0
  66. package/dist/views/ChatHistory/index.d.ts.map +1 -0
  67. package/dist/views/ChatHistory/index.js +23 -0
  68. package/dist/views/ChatHistory/index.js.map +1 -0
  69. package/dist/views/ChatHistory/styled.d.ts +2 -0
  70. package/dist/views/ChatHistory/styled.d.ts.map +1 -0
  71. package/dist/views/ChatHistory/styled.js +60 -0
  72. package/dist/views/ChatHistory/styled.js.map +1 -0
  73. package/dist/views/ChatHistory/utils.d.ts +4 -0
  74. package/dist/views/ChatHistory/utils.d.ts.map +1 -0
  75. package/dist/views/ChatHistory/utils.js +28 -0
  76. package/dist/views/ChatHistory/utils.js.map +1 -0
  77. package/dist/views/ChatTabSelection.js +1 -1
  78. package/dist/views/ChatTabSelection.js.map +1 -1
  79. package/dist/views/KnowledgeSources.d.ts.map +1 -1
  80. package/dist/views/KnowledgeSources.js +30 -21
  81. package/dist/views/KnowledgeSources.js.map +1 -1
  82. package/dist/views/MessageInput/dictionary.d.ts +1 -1
  83. package/dist/views/Stacks.js +2 -1
  84. package/dist/views/Stacks.js.map +1 -1
  85. package/dist/views/Workspaces.d.ts.map +1 -1
  86. package/dist/views/Workspaces.js +3 -2
  87. package/dist/views/Workspaces.js.map +1 -1
  88. package/package.json +3 -2
  89. package/src/StackspotAIWidget.tsx +2 -0
  90. package/src/chat-interceptors/send-message.ts +2 -6
  91. package/src/components/HistoryList.tsx +80 -7
  92. package/src/components/OverlayMenu.tsx +70 -3
  93. package/src/components/Tooltip/Tooltip.tsx +13 -7
  94. package/src/components/Tooltip/TooltipAPI.ts +22 -2
  95. package/src/components/Tooltip/style.tsx +0 -1
  96. package/src/components/Tooltip/types.ts +7 -0
  97. package/src/features.ts +1 -0
  98. package/src/types.ts +1 -1
  99. package/src/utils/date.ts +4 -0
  100. package/src/utils/download.ts +12 -0
  101. package/src/utils/knowledge-source.ts +13 -1
  102. package/src/views/Agents.tsx +2 -1
  103. package/src/views/Chat/ChatMessage.tsx +1 -1
  104. package/src/{hooks → views/Chat}/chat-scroll.ts +6 -3
  105. package/src/views/ChatHistory/ChatHistoryPanel.tsx +28 -0
  106. package/src/views/ChatHistory/HistoryItem.tsx +127 -0
  107. package/src/views/ChatHistory/dictionary.ts +20 -0
  108. package/src/views/ChatHistory/index.tsx +31 -0
  109. package/src/views/ChatHistory/styled.ts +60 -0
  110. package/src/views/ChatHistory/utils.ts +26 -0
  111. package/src/views/ChatTabSelection.tsx +1 -1
  112. package/src/views/KnowledgeSources.tsx +39 -20
  113. package/src/views/Stacks.tsx +2 -1
  114. package/src/views/Workspaces.tsx +3 -2
  115. package/dist/hooks/chat-scroll.d.ts.map +0 -1
  116. package/dist/hooks/chat-scroll.js.map +0 -1
  117. /package/dist/{hooks → views/Chat}/chat-scroll.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"StackspotAIWidget.d.ts","sourceRoot":"","sources":["../src/StackspotAIWidget.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,YAAY,CAAA;AAC9D,OAAO,cAAc,CAAA;AAGrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAY1C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,eAAO,MAAM,iBAAiB,uFACoF,aAAa,4CAoC9H,CAAA"}
1
+ {"version":3,"file":"StackspotAIWidget.d.ts","sourceRoot":"","sources":["../src/StackspotAIWidget.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,YAAY,CAAA;AAC9D,OAAO,cAAc,CAAA;AAGrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAa1C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,eAAO,MAAM,iBAAiB,uFACoF,aAAa,4CAqC9H,CAAA"}
@@ -11,6 +11,7 @@ import { RightPanel } from './right-panel/RightPanel.js';
11
11
  import { RightPanelProvider } from './right-panel/RightPanelProvider.js';
12
12
  import { Agents } from './views/Agents.js';
13
13
  import { Chat } from './views/Chat/index.js';
14
+ import { ChatHistory } from './views/ChatHistory/index.js';
14
15
  import { ChatTabSelection } from './views/ChatTabSelection.js';
15
16
  import { Home } from './views/Home.js';
16
17
  import { KnowledgeSources } from './views/KnowledgeSources.js';
@@ -29,6 +30,6 @@ export const StackspotAIWidget = ({ username, features = defaultFeatures, interc
29
30
  const isCurrentChatEmpty = currentChat.length === 0;
30
31
  return useMemo(() => (_jsx(TooltipProvider, { children: _jsx(RightPanelProvider, { chatWindow: chatWindowRef, panel: rightPanelRef, children: _jsxs("div", { className: listToClass(['ai-chat-widget', isMinimized && 'minimized']), children: [_jsxs("div", { className: "chat-window", ref: chatWindowRef, children: [isMinimized
31
32
  ? _jsx(MinimizedHeader, { ...minimizedActions })
32
- : _jsx(ChatTabSelection, { history: features?.chatHistory, interceptors: interceptors }), _jsxs("div", { className: "chat-container", children: [_jsx("div", { className: "chat-content", children: isCurrentChatEmpty ? (children ?? _jsx(Home, { username: username })) : _jsx(Chat, { username: username }) }), _jsx(MessageInput, { features: features })] })] }), _jsx(Stacks, {}), _jsx(Workspaces, {}), _jsx(KnowledgeSources, {}), _jsx(KSDocument, {}), _jsx(Agents, {}), !isMinimized && _jsx("div", { className: "chat-right-panel", ref: rightPanelRef, children: _jsx(RightPanel, {}) })] }) }) })), [isCurrentChatEmpty, features, username, isMinimized]);
33
+ : _jsx(ChatTabSelection, { history: features?.chatHistory, interceptors: interceptors }), _jsxs("div", { className: "chat-container", children: [_jsx("div", { className: "chat-content", children: isCurrentChatEmpty ? (children ?? _jsx(Home, { username: username })) : _jsx(Chat, { username: username }) }), _jsx(MessageInput, { features: features })] })] }), _jsx(Stacks, {}), _jsx(Workspaces, {}), _jsx(KnowledgeSources, {}), _jsx(KSDocument, {}), _jsx(Agents, {}), _jsx(ChatHistory, { interceptors: interceptors }), !isMinimized && _jsx("div", { className: "chat-right-panel", ref: rightPanelRef, children: _jsx(RightPanel, {}) })] }) }) })), [isCurrentChatEmpty, features, username, isMinimized]);
33
34
  };
34
35
  //# sourceMappingURL=StackspotAIWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StackspotAIWidget.js","sourceRoot":"","sources":["../src/StackspotAIWidget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StackspotAIWidget.js","sourceRoot":"","sources":["../src/StackspotAIWidget.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/chat-interceptors/send-message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAmB,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAG9C,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,iBAyC7E"}
1
+ {"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/chat-interceptors/send-message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAmB,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAI9C,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,iBAoC7E"}
@@ -1,6 +1,7 @@
1
1
  import { aiClient, StackspotAPIError } from '@stack-spot/portal-network';
2
2
  import { ChatEntry } from '../state/ChatEntry.js';
3
3
  import { buildConversationContext } from '../utils/chat.js';
4
+ import { genericSourcesToKnowledgeSources } from '../utils/knowledge-source.js';
4
5
  export async function sendMessageInterceptor(entry, chat) {
5
6
  const { agent, content } = entry.getValue();
6
7
  if (agent !== 'user')
@@ -17,12 +18,7 @@ export async function sendMessageInterceptor(entry, chat) {
17
18
  let knowledgeSources;
18
19
  stream.onChange(value => {
19
20
  if (value.sources?.length !== knowledgeSources?.length) {
20
- knowledgeSources = value.sources?.filter(s => s.type === 'knowledge_source').map(ks => ({
21
- documentId: ks.document_id,
22
- documentScore: ks.document_score,
23
- name: ks.name,
24
- slug: ks.slug,
25
- }));
21
+ knowledgeSources = genericSourcesToKnowledgeSources(value.sources);
26
22
  }
27
23
  botEntry.setValue({
28
24
  agent: 'bot',
@@ -1 +1 @@
1
- {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/chat-interceptors/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EAAE,SAAS,EAAmB,MAAM,oBAAoB,CAAA;AAE/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAExD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAAgB,EAAE,IAAe;IAC5E,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;IAC3C,IAAI,KAAK,KAAK,MAAM;QAAE,OAAM;IAC5B,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IAC3B,uDAAuD;IACvD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5B,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;IAC1E,MAAM,QAAQ,GAAG,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IACxE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC1B,IAAI,gBAA+C,CAAA;IACnD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QACtB,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM,KAAK,gBAAgB,EAAE,MAAM,EAAE,CAAC;YACvD,gBAAgB,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACtF,UAAU,EAAE,EAAE,CAAC,WAAW;gBAC1B,aAAa,EAAE,EAAE,CAAC,cAAc;gBAChC,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,IAAI,EAAE,EAAE,CAAC,IAAI;aACd,CAAC,CAAC,CAAA;QACL,CAAC;QACD,QAAQ,CAAC,QAAQ,CAAC;YAChB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;YAC3B,SAAS,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;YACxC,gBAAgB;YAChB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAClC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;IACzB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,QAAQ,CAAC,QAAQ,CAAC;YAChB,GAAG,QAAQ,CAAC,QAAQ,EAAE;YACtB,KAAK,EAAE,KAAK,YAAY,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,GAAG,KAAK,EAAE,CAAC;SAC9F,CAAC,CAAA;IACJ,CAAC;IACD,QAAQ,CAAC,MAAM,EAAE,CAAA;IACjB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC9B,CAAC"}
1
+ {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/chat-interceptors/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EAAE,SAAS,EAAmB,MAAM,oBAAoB,CAAA;AAE/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAA;AAE5E,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAAgB,EAAE,IAAe;IAC5E,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;IAC3C,IAAI,KAAK,KAAK,MAAM;QAAE,OAAM;IAC5B,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IAC3B,uDAAuD;IACvD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5B,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;IAC1E,MAAM,QAAQ,GAAG,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IACxE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC1B,IAAI,gBAA+C,CAAA;IACnD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QACtB,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM,KAAK,gBAAgB,EAAE,MAAM,EAAE,CAAC;YACvD,gBAAgB,GAAG,gCAAgC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpE,CAAC;QACD,QAAQ,CAAC,QAAQ,CAAC;YAChB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;YAC3B,SAAS,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;YACxC,gBAAgB;YAChB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAClC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;IACzB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,QAAQ,CAAC,QAAQ,CAAC;YAChB,GAAG,QAAQ,CAAC,QAAQ,EAAE;YACtB,KAAK,EAAE,KAAK,YAAY,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,GAAG,KAAK,EAAE,CAAC;SAC9F,CAAC,CAAA;IACJ,CAAC;IACD,QAAQ,CAAC,MAAM,EAAE,CAAA;IACjB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC9B,CAAC"}
@@ -1,13 +1,10 @@
1
1
  import { WithStyle } from '@stack-spot/portal-theme';
2
- import { ButtonAction } from '../types.js';
3
2
  interface Props<T> extends WithStyle {
4
3
  items: T[];
5
- renderLabel: (item: T) => React.ReactElement;
4
+ renderItem: (item: T) => React.ReactNode;
6
5
  getDate: (item: T) => Date;
7
6
  keygen: (item: T) => React.Key;
8
- getActions?: (item: T) => ButtonAction[];
9
- onSelect?: (item: T) => void;
10
7
  }
11
- export declare function HistoryList<T>({}: Props<T>): null;
8
+ export declare function HistoryList<T>({ getDate, items, keygen, className, style, renderItem }: Props<T>): import("react/jsx-runtime").JSX.Element;
12
9
  export {};
13
10
  //# sourceMappingURL=HistoryList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HistoryList.d.ts","sourceRoot":"","sources":["../../src/components/HistoryList.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,UAAU,KAAK,CAAC,CAAC,CAAE,SAAQ,SAAS;IAClC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,YAAY,CAAC;IAC7C,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC;IAC/B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CAC9B;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,QAE1C"}
1
+ {"version":3,"file":"HistoryList.d.ts","sourceRoot":"","sources":["../../src/components/HistoryList.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAS3D,UAAU,KAAK,CAAC,CAAC,CAAE,SAAQ,SAAS;IAClC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACzC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC;CAChC;AAuCD,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,2CAehG"}
@@ -1,4 +1,72 @@
1
- export function HistoryList({}) {
2
- return null;
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable no-empty-pattern */
3
+ import { Text } from '@citric/core';
4
+ import { theme } from '@stack-spot/portal-theme';
5
+ import { useTranslate } from '@stack-spot/portal-translate';
6
+ import { groupBy, map } from 'lodash';
7
+ import { useMemo } from 'react';
8
+ import { styled } from 'styled-components';
9
+ import { subtractDays } from '../utils/date.js';
10
+ const HistoryBox = styled.div `
11
+ display: flex;
12
+ flex-direction: column;
13
+ gap: 4px;
14
+
15
+ > section {
16
+ > header {
17
+ background-color: ${theme.color.light[500]};
18
+ padding: 8px;
19
+ border-radius: 4px;
20
+ color: ${theme.color.light[700]};
21
+ margin-bottom: 4px;
22
+ }
23
+
24
+ > ul {
25
+ margin: 0;
26
+ padding: 0;
27
+ list-style: none;
28
+ display: flex;
29
+ flex-direction: column;
30
+ gap: 2px;
31
+ }
32
+ }
33
+ `;
34
+ function dateToSectionName(date) {
35
+ const now = new Date();
36
+ if (date.toDateString() === now.toDateString())
37
+ return 'today';
38
+ const yesterday = subtractDays(now, 1);
39
+ if (date.toDateString() === yesterday.toDateString())
40
+ return 'yesterday';
41
+ const todayAtMidnight = new Date(now.toDateString());
42
+ const last7Days = subtractDays(todayAtMidnight, 7);
43
+ if (date.getTime() >= last7Days.getTime())
44
+ return 'last7';
45
+ const last30Days = subtractDays(todayAtMidnight, 30);
46
+ return date.getTime() >= last30Days.getTime() ? 'last30' : 'older';
3
47
  }
48
+ export function HistoryList({ getDate, items, keygen, className, style, renderItem }) {
49
+ const t = useTranslate(dictionary);
50
+ const sections = useMemo(() => {
51
+ const byDate = groupBy(items, item => dateToSectionName(getDate(item)));
52
+ return map(byDate, (value, key) => (_jsxs("section", { children: [_jsx("header", { children: _jsx(Text, { children: t[key] }) }), _jsx("ul", { children: value.map(item => _jsx("li", { children: renderItem(item) }, keygen(item))) })] }, key)));
53
+ }, [items]);
54
+ return _jsx(HistoryBox, { className: className, style: style, children: sections });
55
+ }
56
+ const dictionary = {
57
+ en: {
58
+ today: 'Today',
59
+ yesterday: 'Yesterday',
60
+ last7: 'Last 7 days',
61
+ last30: 'Last 30 days',
62
+ older: 'Older',
63
+ },
64
+ pt: {
65
+ today: 'Hoje',
66
+ yesterday: 'Ontem',
67
+ last7: 'Últimos 7 dias',
68
+ last30: 'Últimos 30 dias',
69
+ older: 'Mais antigo',
70
+ },
71
+ };
4
72
  //# sourceMappingURL=HistoryList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HistoryList.js","sourceRoot":"","sources":["../../src/components/HistoryList.tsx"],"names":[],"mappings":"AAaA,MAAM,UAAU,WAAW,CAAI,EAAY;IACzC,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"HistoryList.js","sourceRoot":"","sources":["../../src/components/HistoryList.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { WithStyle } from '@stack-spot/portal-theme';
2
2
  import { ButtonAction, WithChildren } from '../types.js';
3
+ import { TooltipPosition } from './Tooltip/types.js';
3
4
  interface Props extends WithStyle, WithChildren {
4
- position?: 'left' | 'top' | 'bottom' | 'right';
5
+ position?: TooltipPosition;
5
6
  actions: ButtonAction[];
6
7
  }
7
- export declare const OverlayMenu: ({}: Props) => null;
8
+ export declare const OverlayMenu: ({ actions, children, className, position, style }: Props) => import("react/jsx-runtime").JSX.Element;
8
9
  export {};
9
10
  //# sourceMappingURL=OverlayMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayMenu.d.ts","sourceRoot":"","sources":["../../src/components/OverlayMenu.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAErD,UAAU,KAAM,SAAQ,SAAS,EAAE,YAAY;IAC7C,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC/C,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,eAAO,MAAM,WAAW,OAAQ,KAAK,SAAS,CAAA"}
1
+ {"version":3,"file":"OverlayMenu.d.ts","sourceRoot":"","sources":["../../src/components/OverlayMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAG3D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,UAAU,KAAM,SAAQ,SAAS,EAAE,YAAY;IAC7C,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AA0CD,eAAO,MAAM,WAAW,sDAAuD,KAAK,4CAqBnF,CAAA"}
@@ -1,2 +1,58 @@
1
- export const OverlayMenu = ({}) => null;
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable no-empty-pattern */
3
+ import { IconBox, Text } from '@citric/core';
4
+ import { theme } from '@stack-spot/portal-theme';
5
+ import { useMemo } from 'react';
6
+ import { styled } from 'styled-components';
7
+ import { Tooltip } from './Tooltip/index.js';
8
+ import { useTooltip } from './Tooltip/context.js';
9
+ const MenuList = styled.ul `
10
+ margin: 0;
11
+ padding: 0;
12
+ list-style: none;
13
+ border-radius: 8px;
14
+ background-color: ${theme.color.light[400]};
15
+ overflow: hidden;
16
+ display: flex;
17
+ flex-direction: column;
18
+
19
+ > li {
20
+ display: flex;
21
+ flex-direction: column;
22
+
23
+ > button {
24
+ padding: 8px 12px;
25
+ transition: background-color 0.2s;
26
+ cursor: pointer;
27
+ display: flex;
28
+ flex-direction: row;
29
+ align-items: center;
30
+ gap: 8px;
31
+ background-color: transparent;
32
+ border: none;
33
+
34
+ &:hover {
35
+ background-color: ${theme.color.light[500]};
36
+ }
37
+ }
38
+ }
39
+ `;
40
+ const StyledButton = styled.button `
41
+ color: ${({ $color }) => $color || theme.color.light.contrastText};
42
+
43
+ svg {
44
+ fill: ${({ $color }) => $color || theme.color.light.contrastText};
45
+ }
46
+ `;
47
+ export const OverlayMenu = ({ actions, children, className, position, style }) => {
48
+ const tooltip = useTooltip();
49
+ const menu = useMemo(() => {
50
+ const items = actions.map(({ label, onClick, className, color, icon, style }) => (_jsx("li", { className: className, style: style, children: _jsxs(StyledButton, { "$color": color, onClick: () => {
51
+ onClick();
52
+ tooltip.hide();
53
+ }, children: [_jsx(IconBox, { children: icon }), _jsx(Text, { children: label })] }) }, label)));
54
+ return _jsx(MenuList, { children: items });
55
+ }, [actions]);
56
+ return (_jsx(Tooltip, { content: menu, custom: true, position: position, className: className, style: style, triggeredBy: "click", children: children }));
57
+ };
2
58
  //# sourceMappingURL=OverlayMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayMenu.js","sourceRoot":"","sources":["../../src/components/OverlayMenu.tsx"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAS,EAAE,EAAE,CAAC,IAAI,CAAA"}
1
+ {"version":3,"file":"OverlayMenu.js","sourceRoot":"","sources":["../../src/components/OverlayMenu.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAa,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAQ9C,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;sBAKJ,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;4BAqBhB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;CAIjD,CAAA;AAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAgC;WACvD,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;;YAGvD,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;CAEnE,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAS,EAAE,EAAE;IACtF,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;QACxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC/E,aAAgB,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,YAChD,MAAC,YAAY,cAAS,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE;oBACzC,OAAO,EAAE,CAAA;oBACT,OAAO,CAAC,IAAI,EAAE,CAAA;gBAChB,CAAC,aACC,KAAC,OAAO,cAAE,IAAI,GAAW,EACzB,KAAC,IAAI,cAAE,KAAK,GAAQ,IACP,IAPR,KAAK,CAQT,CACN,CAAC,CAAA;QACF,OAAO,KAAC,QAAQ,cAAE,KAAK,GAAY,CAAA;IACrC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IACb,OAAO,CACL,KAAC,OAAO,IAAC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAC,OAAO,YACvG,QAAQ,GACD,CACX,CAAA;AACH,CAAC,CAAA"}
@@ -4,8 +4,9 @@ import { TooltipPosition } from './types.js';
4
4
  interface Props extends WithChildren, WithStyle {
5
5
  content: React.ReactNode;
6
6
  position?: TooltipPosition;
7
+ triggeredBy?: 'click' | 'hover';
7
8
  custom?: boolean;
8
9
  }
9
- export declare const Tooltip: ({ content, custom, position, children, className, style }: Props) => import("react/jsx-runtime").JSX.Element;
10
+ export declare const Tooltip: ({ content, custom, position, triggeredBy, children, className, style }: Props) => import("react/jsx-runtime").JSX.Element;
10
11
  export {};
11
12
  //# sourceMappingURL=Tooltip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,UAAU,KAAM,SAAQ,YAAY,EAAE,SAAS;IAC7C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,OAAO,8DAA0E,KAAK,4CAgBlG,CAAA"}
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,UAAU,KAAM,SAAQ,YAAY,EAAE,SAAS;IAC7C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,OAAO,2EAAsF,KAAK,4CAqB9G,CAAA"}
@@ -2,8 +2,16 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Text } from '@citric/core';
3
3
  import { useTooltip } from './context.js';
4
4
  import { DefaultTooltip } from './style.js';
5
- export const Tooltip = ({ content, custom, position = 'bottom', children, className, style }) => {
5
+ export const Tooltip = ({ content, custom, position, triggeredBy = 'hover', children, className, style }) => {
6
6
  const api = useTooltip();
7
- return (_jsx("div", { onMouseEnter: e => api.show(custom ? content : _jsx(DefaultTooltip, { children: _jsx(Text, { appearance: "microtext1", children: content }) }), e.target, position), onMouseLeave: () => api.hide(), className: className, style: style, children: children }));
7
+ function show(e, hideOnClickOutside) {
8
+ api.show({
9
+ content: custom ? content : _jsx(DefaultTooltip, { children: _jsx(Text, { appearance: "microtext1", children: content }) }),
10
+ anchor: e.target,
11
+ position,
12
+ hideOnClickOutside,
13
+ });
14
+ }
15
+ return (_jsx("div", { ...(triggeredBy === 'hover' ? { onMouseEnter: show, onMouseLeave: () => api.hide() } : { onClick: (e) => show(e, true) }), className: className, style: style, tabIndex: triggeredBy === 'click' ? 0 : undefined, children: children }));
8
16
  };
9
17
  //# sourceMappingURL=Tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAGnC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AASxC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAS,EAAE,EAAE;IACrG,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;IACxB,OAAO,CACL,cACE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CACzB,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,cAAc,cAAC,KAAC,IAAI,IAAC,UAAU,EAAC,YAAY,YAAE,OAAO,GAAQ,GAAiB,EAClG,CAAC,CAAC,MAAqB,EACvB,QAAQ,CACT,EACD,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAC9B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,YAEX,QAAQ,GACL,CACP,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAGnC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAUxC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAS,EAAE,EAAE;IACjH,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;IAExB,SAAS,IAAI,CAAC,CAA+C,EAAE,kBAA4B;QACzF,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,cAAc,cAAC,KAAC,IAAI,IAAC,UAAU,EAAC,YAAY,YAAE,OAAO,GAAQ,GAAiB;YAC3G,MAAM,EAAE,CAAC,CAAC,MAAqB;YAC/B,QAAQ;YACR,kBAAkB;SACnB,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,CACL,iBACM,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAC1H,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,YAEhD,QAAQ,GACL,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -1,10 +1,11 @@
1
- import { TooltipPosition } from './types.js';
1
+ import { ShowOptions } from './types.js';
2
2
  export declare class TooltipAPI {
3
3
  private tooltipRef;
4
4
  private setContent;
5
5
  private hideTimeoutId;
6
+ private clickListener;
6
7
  constructor(tooltipRef: React.RefObject<HTMLDivElement>, setContent: React.Dispatch<React.SetStateAction<React.ReactNode>>);
7
- show(content: React.ReactNode, anchor: HTMLElement, position: TooltipPosition): void;
8
+ show({ content, anchor, position, hideOnClickOutside }: ShowOptions): void;
8
9
  hide(): void;
9
10
  }
10
11
  //# sourceMappingURL=TooltipAPI.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipAPI.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/TooltipAPI.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAGzC,qBAAa,UAAU;IACrB,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,UAAU,CAAuD;IACzE,OAAO,CAAC,aAAa,CAAoB;gBAE7B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAK1H,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IA0BpF,IAAI,IAAI,IAAI;CAKb"}
1
+ {"version":3,"file":"TooltipAPI.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/TooltipAPI.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAIrC,qBAAa,UAAU;IACrB,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,UAAU,CAAuD;IACzE,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,aAAa,CAAuC;gBAEhD,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAK1H,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAmB,EAAE,kBAAkB,EAAE,EAAE,WAAW,GAAG,IAAI;IA2CrF,IAAI,IAAI,IAAI;CAMb"}
@@ -1,15 +1,19 @@
1
1
  import { animationTimeMS } from './style.js';
2
+ const MARGIN_TO_CORNERS_PX = 10;
2
3
  export class TooltipAPI {
3
4
  tooltipRef;
4
5
  setContent;
5
6
  hideTimeoutId;
7
+ clickListener;
6
8
  constructor(tooltipRef, setContent) {
7
9
  this.tooltipRef = tooltipRef;
8
10
  this.setContent = setContent;
9
11
  }
10
- show(content, anchor, position) {
12
+ show({ content, anchor, position = 'bottom', hideOnClickOutside }) {
11
13
  window.clearTimeout(this.hideTimeoutId);
12
14
  this.hideTimeoutId = undefined;
15
+ if (this.clickListener)
16
+ document.removeEventListener('click', this.clickListener);
13
17
  this.setContent(content);
14
18
  setTimeout(() => {
15
19
  if (!this.tooltipRef.current)
@@ -34,8 +38,27 @@ export class TooltipAPI {
34
38
  else
35
39
  top = rect.top + rect.height;
36
40
  }
41
+ // adjusts positions in order to avoid overflowing the window and leaving a margin to the corners
42
+ if (top <= 0)
43
+ top += MARGIN_TO_CORNERS_PX;
44
+ else if (top + tooltipHeight >= document.body.clientHeight - MARGIN_TO_CORNERS_PX) {
45
+ top = document.body.clientHeight - MARGIN_TO_CORNERS_PX + tooltipHeight;
46
+ }
47
+ if (left <= 0)
48
+ left += MARGIN_TO_CORNERS_PX;
49
+ else if (left + tooltipWidth >= document.body.clientWidth - MARGIN_TO_CORNERS_PX) {
50
+ left = document.body.clientWidth - MARGIN_TO_CORNERS_PX - tooltipWidth;
51
+ }
37
52
  this.tooltipRef.current.style.top = `${top}px`;
38
53
  this.tooltipRef.current.style.left = `${left}px`;
54
+ if (hideOnClickOutside) {
55
+ this.clickListener = (e) => {
56
+ if (this.tooltipRef.current?.contains(e.target))
57
+ return;
58
+ this.hide();
59
+ };
60
+ document.addEventListener('click', this.clickListener);
61
+ }
39
62
  }, 10);
40
63
  }
41
64
  hide() {
@@ -43,6 +66,8 @@ export class TooltipAPI {
43
66
  return;
44
67
  this.tooltipRef.current.classList.remove('visible');
45
68
  this.hideTimeoutId = window.setTimeout(() => this.setContent(undefined), animationTimeMS);
69
+ if (this.clickListener)
70
+ document.removeEventListener('click', this.clickListener);
46
71
  }
47
72
  }
48
73
  //# sourceMappingURL=TooltipAPI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipAPI.js","sourceRoot":"","sources":["../../../src/components/Tooltip/TooltipAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAIzC,MAAM,OAAO,UAAU;IACb,UAAU,CAAiC;IAC3C,UAAU,CAAuD;IACjE,aAAa,CAAoB;IAEzC,YAAY,UAA2C,EAAE,UAAiE;QACxH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,IAAI,CAAC,OAAwB,EAAE,MAAmB,EAAE,QAAyB;QAC3E,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACvC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;QAC9B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACxB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO;gBAAE,OAAM;YACpC,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAA;YACvC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAChD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAA;YACxD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAA;YAC1D,IAAI,GAAG,GAAG,CAAC,CAAA;YACX,IAAI,IAAI,GAAG,CAAC,CAAA;YACZ,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAChD,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,GAAG,CAAC,CAAA;gBACpD,IAAI,QAAQ,KAAK,MAAM;oBAAE,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;;oBACnD,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAA;YACpC,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,CAAA;gBACpD,IAAI,QAAQ,KAAK,KAAK;oBAAE,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,aAAa,CAAA;;oBACjD,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAA;YACnC,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAA;YAC9C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAA;QAClD,CAAC,EAAE,EAAE,CAAC,CAAA;IACR,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,OAAM;QACpC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACnD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC,CAAA;IAC3F,CAAC;CACF"}
1
+ {"version":3,"file":"TooltipAPI.js","sourceRoot":"","sources":["../../../src/components/Tooltip/TooltipAPI.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/style.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,MAAM,CAAA;AAElC,eAAO,MAAM,UAAU,wOAWtB,CAAA;AAED,eAAO,MAAM,cAAc,wOAM1B,CAAA"}
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/style.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,MAAM,CAAA;AAElC,eAAO,MAAM,UAAU,wOAUtB,CAAA;AAED,eAAO,MAAM,cAAc,wOAM1B,CAAA"}
@@ -3,7 +3,6 @@ import { styled } from 'styled-components';
3
3
  export const animationTimeMS = 300;
4
4
  export const TooltipBox = styled.div `
5
5
  position: absolute;
6
- pointer-events: none;
7
6
  opacity: 0;
8
7
  transition: opacity ${animationTimeMS / 1000}s;
9
8
  top: 0;
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/components/Tooltip/style.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;AAElC,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAA;;;;wBAIZ,eAAe,GAAE,IAAI;;;;;;;CAO5C,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA;;sBAElB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;WACnC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY;;;CAG1C,CAAA"}
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/components/Tooltip/style.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;AAElC,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAA;;;wBAGZ,eAAe,GAAE,IAAI;;;;;;;CAO5C,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA;;sBAElB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;WACnC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY;;;CAG1C,CAAA"}
@@ -5,4 +5,10 @@ export interface BoxPosition {
5
5
  y1: number;
6
6
  y2: number;
7
7
  }
8
+ export interface ShowOptions {
9
+ content: React.ReactNode;
10
+ anchor: HTMLElement;
11
+ position?: TooltipPosition;
12
+ hideOnClickOutside?: boolean;
13
+ }
8
14
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;AAEjE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;AAEjE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,eAAe,EAAE,gBAK7B,CAAA"}
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,eAAe,EAAE,gBAM7B,CAAA"}
package/dist/features.js CHANGED
@@ -3,5 +3,6 @@ export const defaultFeatures = {
3
3
  workspace: true,
4
4
  knowledgeSource: true,
5
5
  agent: true,
6
+ chatHistory: true,
6
7
  };
7
8
  //# sourceMappingURL=features.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"features.js","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,IAAI;IACrB,KAAK,EAAE,IAAI;CACZ,CAAA"}
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,IAAI;IACrB,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,IAAI;CAClB,CAAA"}
package/dist/types.d.ts CHANGED
@@ -7,7 +7,7 @@ export interface ButtonAction extends WithStyle {
7
7
  icon?: React.ReactElement;
8
8
  color?: string;
9
9
  label: string;
10
- onClick: () => void;
10
+ onClick: () => any;
11
11
  }
12
12
  export interface MinimizedActions {
13
13
  onCollapse?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS;IAC/C,QAAQ,CAAC,EAAE,CAAC,CAAC;CACd;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,iBAAiB,IAAI,CAAC,SAAS,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAE/G,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS;IAC/C,QAAQ,CAAC,EAAE,CAAC,CAAC;CACd;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,iBAAiB,IAAI,CAAC,SAAS,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAE/G,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB"}
@@ -3,4 +3,5 @@ export declare function formatDateForChatMessage(date: Date, language?: Language
3
3
  export declare function useDateFormatter(): {
4
4
  formatForChatMessage: (date: Date) => string;
5
5
  };
6
+ export declare function subtractDays(date: Date, numberOfDays: number): Date;
6
7
  //# sourceMappingURL=date.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAA4B,MAAM,8BAA8B,CAAA;AAW7F,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAE,QAAwB,UAUtF;AAED,wBAAgB,gBAAgB;iCAGC,IAAI;EAEpC"}
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAA4B,MAAM,8BAA8B,CAAA;AAW7F,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAE,QAAwB,UAUtF;AAED,wBAAgB,gBAAgB;iCAGC,IAAI;EAEpC;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,QAE5D"}
@@ -25,6 +25,9 @@ export function useDateFormatter() {
25
25
  formatForChatMessage: (date) => formatDateForChatMessage(date, language),
26
26
  };
27
27
  }
28
+ export function subtractDays(date, numberOfDays) {
29
+ return new Date(date.getTime() - 24 * numberOfDays * 60 * 60000);
30
+ }
28
31
  const dictionary = {
29
32
  en: {
30
33
  today: 'Today',
@@ -1 +1 @@
1
- {"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,WAAW,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE7F,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAClC,MAAM,iBAAiB,GAA+B,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAC,SAAS,EAAE,CAAA;AAC3F,MAAM,iBAAiB,GAA+B;IACpD,GAAG,iBAAiB;IACpB,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,MAAM;CACd,CAAA;AAGD,MAAM,UAAU,wBAAwB,CAAC,IAAU,EAAE,WAAqB,WAAW,EAAE;IACrF,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,YAAY,EAAE,CAAA;IAC1D,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAA;IAC3D,IAAI,OAAO;QAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA;SAClD,IAAI,WAAW;QAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAA;IACpE,MAAM,OAAO,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAC9E,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IAChD,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,OAAO;QACL,oBAAoB,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC;KAC/E,CAAA;AACH,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,WAAW;KACvB;IACD,EAAE,EAAE;QACF,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,OAAO;KACnB;CACmB,CAAA"}
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,WAAW,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE7F,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAClC,MAAM,iBAAiB,GAA+B,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAC,SAAS,EAAE,CAAA;AAC3F,MAAM,iBAAiB,GAA+B;IACpD,GAAG,iBAAiB;IACpB,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,MAAM;CACd,CAAA;AAGD,MAAM,UAAU,wBAAwB,CAAC,IAAU,EAAE,WAAqB,WAAW,EAAE;IACrF,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,YAAY,EAAE,CAAA;IAC1D,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAA;IAC3D,IAAI,OAAO;QAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA;SAClD,IAAI,WAAW;QAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAA;IACpE,MAAM,OAAO,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAC9E,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IAChD,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,OAAO;QACL,oBAAoB,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC;KAC/E,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAU,EAAE,YAAoB;IAC3D,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,YAAY,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,WAAW;KACvB;IACD,EAAE,EAAE;QACF,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,OAAO;KACnB;CACmB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function download(filename: string, text: string): void;
2
+ //# sourceMappingURL=download.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/utils/download.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAWtD"}
@@ -0,0 +1,10 @@
1
+ export function download(filename, text) {
2
+ const element = document.createElement('a');
3
+ element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
4
+ element.setAttribute('download', filename);
5
+ element.style.display = 'none';
6
+ document.body.appendChild(element);
7
+ element.click();
8
+ document.body.removeChild(element);
9
+ }
10
+ //# sourceMappingURL=download.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/utils/download.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,QAAgB,EAAE,IAAY;IACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAC3C,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,gCAAgC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;IACzF,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAE1C,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;IAC9B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAElC,OAAO,CAAC,KAAK,EAAE,CAAA;IAEf,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;AACpC,CAAC"}
@@ -1,7 +1,9 @@
1
- import { DocumentResponse } from '@stack-spot/portal-network/api/ai';
1
+ import { DocumentResponse, SourceKnowledgeSource4, SourceProjectFile4, SourceStackAi } from '@stack-spot/portal-network/api/ai';
2
+ import { KnowledgeSource } from '../state/ChatEntry.js';
2
3
  export declare function extractCodeFromKSDocument(document: DocumentResponse): {
3
4
  language?: string;
4
5
  snippet: string;
5
6
  text?: string;
6
7
  };
8
+ export declare function genericSourcesToKnowledgeSources(sources: (SourceStackAi | SourceKnowledgeSource4 | SourceProjectFile4)[] | undefined): KnowledgeSource[] | undefined;
7
9
  //# sourceMappingURL=knowledge-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-source.d.ts","sourceRoot":"","sources":["../../src/utils/knowledge-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAsBpE,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,gBAAgB,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAoB3H"}
1
+ {"version":3,"file":"knowledge-source.d.ts","sourceRoot":"","sources":["../../src/utils/knowledge-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAC/H,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAsBpD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,gBAAgB,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAoB3H;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,CAAC,aAAa,GAAG,sBAAsB,GAAG,kBAAkB,CAAC,EAAE,GAAG,SAAS,GACnF,eAAe,EAAE,GAAG,SAAS,CAO/B"}
@@ -35,4 +35,12 @@ export function extractCodeFromKSDocument(document) {
35
35
  }
36
36
  return typeof document === 'object' ? { language: 'json', snippet: JSON.stringify(document, null, 2) } : { snippet: String(document) };
37
37
  }
38
+ export function genericSourcesToKnowledgeSources(sources) {
39
+ return sources?.filter(s => s.type === 'knowledge_source').map(ks => ({
40
+ documentId: ks.document_id,
41
+ documentScore: ks.document_score,
42
+ name: ks.name,
43
+ slug: ks.slug,
44
+ }));
45
+ }
38
46
  //# sourceMappingURL=knowledge-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-source.js","sourceRoot":"","sources":["../../src/utils/knowledge-source.ts"],"names":[],"mappings":"AAEA,SAAS,2BAA2B,CAAC,GAAW;IAC9C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,GAAG;iBACd,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;iBACpB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;iBAClB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;iBACpB,OAAO,CACN,WAAW,EACX,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAClH,CAAA;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAA0B;IAClE,MAAM,QAAQ,GAAI,QAAQ,EAAE,QAAgB,EAAE,QAAQ,CAAA;IACtD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,WAAW,GAAW,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAA;QACxD,IAAI,IAAI,GAAuB,SAAS,CAAA;QACxC,IAAI,OAAO,GAAG,WAAW,CAAA;QACzB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACnD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACf,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACzC,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACpC,CAAC;IAED,IAAI,QAAQ,EAAE,YAAY,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,2BAA2B,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QACjE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAA;IACrH,CAAC;IAED,OAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;AACxI,CAAC"}
1
+ {"version":3,"file":"knowledge-source.js","sourceRoot":"","sources":["../../src/utils/knowledge-source.ts"],"names":[],"mappings":"AAGA,SAAS,2BAA2B,CAAC,GAAW;IAC9C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,GAAG;iBACd,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;iBACpB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;iBAClB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;iBACpB,OAAO,CACN,WAAW,EACX,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAClH,CAAA;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAA0B;IAClE,MAAM,QAAQ,GAAI,QAAQ,EAAE,QAAgB,EAAE,QAAQ,CAAA;IACtD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,WAAW,GAAW,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAA;QACxD,IAAI,IAAI,GAAuB,SAAS,CAAA;QACxC,IAAI,OAAO,GAAG,WAAW,CAAA;QACzB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACnD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACf,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACzC,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACpC,CAAC;IAED,IAAI,QAAQ,EAAE,YAAY,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,2BAA2B,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QACjE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAA;IACrH,CAAC;IAED,OAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;AACxI,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,OAAoF;IAEpF,OAAO,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,UAAU,EAAE,EAAE,CAAC,WAAW;QAC1B,aAAa,EAAE,EAAE,CAAC,cAAc;QAChC,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,IAAI,EAAE,EAAE,CAAC,IAAI;KACd,CAAC,CAAC,CAAA;AACL,CAAC"}