@uipath/apollo-react 3.27.0 → 3.28.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 (47) hide show
  1. package/dist/material/components/ap-chat/components/input/chat-input-editor.cjs +13 -6
  2. package/dist/material/components/ap-chat/components/input/chat-input-editor.d.ts +0 -1
  3. package/dist/material/components/ap-chat/components/input/chat-input-editor.d.ts.map +1 -1
  4. package/dist/material/components/ap-chat/components/input/chat-input-editor.js +14 -7
  5. package/dist/material/components/ap-chat/components/input/chat-input-resource-picker.cjs +236 -193
  6. package/dist/material/components/ap-chat/components/input/chat-input-resource-picker.d.ts.map +1 -1
  7. package/dist/material/components/ap-chat/components/input/chat-input-resource-picker.js +238 -195
  8. package/dist/material/components/ap-chat/components/input/chat-input.cjs +1 -2
  9. package/dist/material/components/ap-chat/components/input/chat-input.d.ts.map +1 -1
  10. package/dist/material/components/ap-chat/components/input/chat-input.js +1 -2
  11. package/dist/material/components/ap-chat/components/input/tiptap/resource-chip-node-view.cjs +12 -3
  12. package/dist/material/components/ap-chat/components/input/tiptap/resource-chip-node-view.d.ts.map +1 -1
  13. package/dist/material/components/ap-chat/components/input/tiptap/resource-chip-node-view.js +13 -4
  14. package/dist/material/components/ap-chat/components/input/tiptap/tiptap-editor.cjs +25 -3
  15. package/dist/material/components/ap-chat/components/input/tiptap/tiptap-editor.d.ts +1 -0
  16. package/dist/material/components/ap-chat/components/input/tiptap/tiptap-editor.d.ts.map +1 -1
  17. package/dist/material/components/ap-chat/components/input/tiptap/tiptap-editor.js +26 -4
  18. package/dist/material/components/ap-chat/components/input/tiptap/tiptap-editor.styles.cjs +2 -1
  19. package/dist/material/components/ap-chat/components/input/tiptap/tiptap-editor.styles.d.ts.map +1 -1
  20. package/dist/material/components/ap-chat/components/input/tiptap/tiptap-editor.styles.js +2 -1
  21. package/dist/material/components/ap-chat/components/input/tiptap/tiptap-resource-suggestion.cjs +24 -14
  22. package/dist/material/components/ap-chat/components/input/tiptap/tiptap-resource-suggestion.d.ts +5 -2
  23. package/dist/material/components/ap-chat/components/input/tiptap/tiptap-resource-suggestion.d.ts.map +1 -1
  24. package/dist/material/components/ap-chat/components/input/tiptap/tiptap-resource-suggestion.js +21 -14
  25. package/dist/material/components/ap-chat/components/input/tiptap/tiptap.utils.cjs +25 -0
  26. package/dist/material/components/ap-chat/components/input/tiptap/tiptap.utils.d.ts +5 -0
  27. package/dist/material/components/ap-chat/components/input/tiptap/tiptap.utils.d.ts.map +1 -1
  28. package/dist/material/components/ap-chat/components/input/tiptap/tiptap.utils.js +23 -1
  29. package/dist/material/components/ap-chat/components/message/chat-message.cjs +2 -0
  30. package/dist/material/components/ap-chat/components/message/chat-message.d.ts.map +1 -1
  31. package/dist/material/components/ap-chat/components/message/chat-message.js +2 -0
  32. package/dist/material/components/ap-chat/components/message/markdown/parsers/resource-token-parser.cjs +11 -2
  33. package/dist/material/components/ap-chat/components/message/markdown/parsers/resource-token-parser.d.ts +1 -0
  34. package/dist/material/components/ap-chat/components/message/markdown/parsers/resource-token-parser.d.ts.map +1 -1
  35. package/dist/material/components/ap-chat/components/message/markdown/parsers/resource-token-parser.js +7 -1
  36. package/dist/material/components/ap-chat/hooks/use-resource-picker-state.cjs +13 -4
  37. package/dist/material/components/ap-chat/hooks/use-resource-picker-state.d.ts.map +1 -1
  38. package/dist/material/components/ap-chat/hooks/use-resource-picker-state.js +13 -4
  39. package/dist/material/components/ap-chat/providers/resource-picker-provider.cjs +54 -19
  40. package/dist/material/components/ap-chat/providers/resource-picker-provider.d.ts +4 -1
  41. package/dist/material/components/ap-chat/providers/resource-picker-provider.d.ts.map +1 -1
  42. package/dist/material/components/ap-chat/providers/resource-picker-provider.js +55 -20
  43. package/dist/material/components/ap-chat/service/ChatConstants.cjs +16 -4
  44. package/dist/material/components/ap-chat/service/ChatConstants.d.ts +4 -1
  45. package/dist/material/components/ap-chat/service/ChatConstants.d.ts.map +1 -1
  46. package/dist/material/components/ap-chat/service/ChatConstants.js +5 -2
  47. package/package.json +2 -1
@@ -20,12 +20,20 @@ function pickerReducer(state, action) {
20
20
  anchorPosition: action.coords
21
21
  };
22
22
  case 'CLOSE':
23
- return initialPickerState;
24
- case 'SET_QUERY':
25
23
  return {
26
24
  ...state,
27
- query: action.query
25
+ anchorPosition: null
28
26
  };
27
+ case 'SET_QUERY':
28
+ {
29
+ const newTrimmed = action.query.trim();
30
+ if (action.query === state.query || newTrimmed === state.query.trim()) return state;
31
+ return {
32
+ ...state,
33
+ query: action.query,
34
+ searchInProgress: !!newTrimmed
35
+ };
36
+ }
29
37
  case 'LOAD_START':
30
38
  return {
31
39
  ...state,
@@ -105,7 +113,8 @@ function pickerReducer(state, action) {
105
113
  return {
106
114
  ...state,
107
115
  searchResults: [],
108
- searchDone: true
116
+ searchDone: true,
117
+ searchInProgress: false
109
118
  };
110
119
  default:
111
120
  return state;
@@ -32,21 +32,27 @@ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
32
32
  const react_namespaceObject = require("@lingui/react");
33
33
  const external_react_namespaceObject = require("react");
34
34
  const use_resource_picker_state_cjs_namespaceObject = require("../hooks/use-resource-picker-state.cjs");
35
+ const index_cjs_namespaceObject = require("../service/index.cjs");
35
36
  const external_resource_data_provider_cjs_namespaceObject = require("./resource-data-provider.cjs");
36
37
  function isResourceSelector(item) {
37
38
  return 'hasNestedResources' in item && true === item.hasNestedResources;
38
39
  }
39
40
  const PICKER_VERTICAL_OFFSET = 8;
40
- const SEARCH_DEBOUNCE_MS = 150;
41
41
  const AutopilotChatResourcePickerContext = /*#__PURE__*/ (0, external_react_namespaceObject.createContext)(null);
42
- function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDrillDown }) {
42
+ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDrillDown, onClose }) {
43
43
  const { hasResources, topLevelResources, paginatedResources, getNestedResources, globalSearch, onResourceSelected } = (0, external_resource_data_provider_cjs_namespaceObject.useResourceData)();
44
44
  const { _ } = (0, react_namespaceObject.useLingui)();
45
45
  const [state, dispatch] = (0, use_resource_picker_state_cjs_namespaceObject.useResourcePickerState)();
46
46
  const { anchorPosition, query, drillDown, loading, loadingMore, searchInProgress, error, searchResults, searchDone, previousDisplayCount } = state;
47
47
  const mentionRangeRef = (0, external_react_namespaceObject.useRef)(null);
48
- const skipNextCloseRef = (0, external_react_namespaceObject.useRef)(false);
48
+ const drillDownActiveRef = (0, external_react_namespaceObject.useRef)(false);
49
49
  const isOpen = null !== anchorPosition;
50
+ const isOpenRef = (0, external_react_namespaceObject.useRef)(isOpen);
51
+ (0, external_react_namespaceObject.useLayoutEffect)(()=>{
52
+ isOpenRef.current = isOpen;
53
+ }, [
54
+ isOpen
55
+ ]);
50
56
  const searchQuery = (0, external_react_namespaceObject.useMemo)(()=>query.trim().toLowerCase(), [
51
57
  query
52
58
  ]);
@@ -78,16 +84,26 @@ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDri
78
84
  dispatch
79
85
  ]);
80
86
  const close = (0, external_react_namespaceObject.useCallback)(()=>{
81
- if (skipNextCloseRef.current) {
82
- skipNextCloseRef.current = false;
83
- return;
84
- }
87
+ if (!isOpenRef.current) return;
88
+ isOpenRef.current = false;
89
+ onClose?.();
90
+ drillDownActiveRef.current = false;
85
91
  mentionRangeRef.current = null;
86
92
  dispatch({
87
93
  type: 'CLOSE'
88
94
  });
89
95
  }, [
90
- dispatch
96
+ dispatch,
97
+ onClose
98
+ ]);
99
+ const handleMentionEnd = (0, external_react_namespaceObject.useCallback)(()=>{
100
+ if (drillDownActiveRef.current) {
101
+ drillDownActiveRef.current = false;
102
+ return;
103
+ }
104
+ close();
105
+ }, [
106
+ close
91
107
  ]);
92
108
  const setQuery = (0, external_react_namespaceObject.useCallback)((newQuery, range)=>{
93
109
  if (!hasResources) return;
@@ -125,7 +141,7 @@ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDri
125
141
  ]);
126
142
  const handleItemClick = (0, external_react_namespaceObject.useCallback)((item)=>{
127
143
  if (isResourceSelector(item)) {
128
- skipNextCloseRef.current = true;
144
+ drillDownActiveRef.current = true;
129
145
  onDrillDown?.();
130
146
  dispatch({
131
147
  type: 'SET_QUERY',
@@ -146,21 +162,19 @@ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDri
146
162
  dispatch
147
163
  ]);
148
164
  const goBackOrClose = (0, external_react_namespaceObject.useCallback)(()=>{
149
- if (drillDown) return void dispatch({
150
- type: 'GO_BACK'
151
- });
165
+ if (drillDown) {
166
+ drillDownActiveRef.current = false;
167
+ dispatch({
168
+ type: 'GO_BACK'
169
+ });
170
+ return;
171
+ }
152
172
  close();
153
173
  }, [
154
174
  drillDown,
155
175
  close,
156
176
  dispatch
157
177
  ]);
158
- const retryLoad = (0, external_react_namespaceObject.useCallback)(()=>{
159
- if (drillDown) loadNestedResources(drillDown.category);
160
- }, [
161
- drillDown,
162
- loadNestedResources
163
- ]);
164
178
  const loadMore = (0, external_react_namespaceObject.useCallback)(async ()=>{
165
179
  if (!paginatedResources || loadingMore) return;
166
180
  const isSearch = !!searchQuery;
@@ -259,6 +273,22 @@ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDri
259
273
  getNestedResources,
260
274
  dispatch
261
275
  ]);
276
+ const retryLoad = (0, external_react_namespaceObject.useCallback)(()=>{
277
+ if (searchQuery) {
278
+ dispatch({
279
+ type: 'SEARCH_START'
280
+ });
281
+ paginatedResources ? performPaginatedSearch() : performLocalSearch();
282
+ } else if (drillDown) loadNestedResources(drillDown.category);
283
+ }, [
284
+ searchQuery,
285
+ drillDown,
286
+ paginatedResources,
287
+ dispatch,
288
+ loadNestedResources,
289
+ performPaginatedSearch,
290
+ performLocalSearch
291
+ ]);
262
292
  const displayedItems = (0, external_react_namespaceObject.useMemo)(()=>{
263
293
  if (searchQuery) return searchResults;
264
294
  if (drillDown) return drillDown.resources;
@@ -270,15 +300,17 @@ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDri
270
300
  topLevelResources
271
301
  ]);
272
302
  (0, external_react_namespaceObject.useEffect)(()=>{
303
+ if (!isOpen) return;
273
304
  if (!searchQuery) return void dispatch({
274
305
  type: 'CLEAR_SEARCH'
275
306
  });
276
307
  dispatch({
277
308
  type: 'SEARCH_START'
278
309
  });
279
- const debounceTimer = setTimeout(paginatedResources ? performPaginatedSearch : performLocalSearch, SEARCH_DEBOUNCE_MS);
310
+ const debounceTimer = setTimeout(paginatedResources ? performPaginatedSearch : performLocalSearch, index_cjs_namespaceObject.CHAT_RESOURCE_PICKER_SEARCH_DEBOUNCE_MS);
280
311
  return ()=>clearTimeout(debounceTimer);
281
312
  }, [
313
+ isOpen,
282
314
  searchQuery,
283
315
  paginatedResources,
284
316
  performPaginatedSearch,
@@ -298,6 +330,7 @@ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDri
298
330
  ]);
299
331
  const contextValue = (0, external_react_namespaceObject.useMemo)(()=>({
300
332
  isOpen,
333
+ isOpenRef,
301
334
  anchorPosition,
302
335
  query,
303
336
  displayedItems,
@@ -310,6 +343,7 @@ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDri
310
343
  previousDisplayCount,
311
344
  open,
312
345
  close,
346
+ handleMentionEnd,
313
347
  setQuery,
314
348
  handleItemClick,
315
349
  goBackOrClose,
@@ -329,6 +363,7 @@ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDri
329
363
  previousDisplayCount,
330
364
  open,
331
365
  close,
366
+ handleMentionEnd,
332
367
  setQuery,
333
368
  handleItemClick,
334
369
  goBackOrClose,
@@ -6,6 +6,7 @@ export type { DrillDownState };
6
6
  export declare function isResourceSelector(item: AutopilotChatResourceItem | AutopilotChatResourceItemSelector): item is AutopilotChatResourceItemSelector;
7
7
  export interface AutopilotChatResourcePickerContextType {
8
8
  isOpen: boolean;
9
+ isOpenRef: React.RefObject<boolean>;
9
10
  anchorPosition: CursorCoordinates | null;
10
11
  query: string;
11
12
  displayedItems: AutopilotChatResourceItem[];
@@ -18,6 +19,7 @@ export interface AutopilotChatResourcePickerContextType {
18
19
  previousDisplayCount: number;
19
20
  open: (range: TipTapRange, coords: CursorCoordinates) => void;
20
21
  close: () => void;
22
+ handleMentionEnd: () => void;
21
23
  setQuery: (query: string, range: TipTapRange) => void;
22
24
  handleItemClick: (item: AutopilotChatResourceItem | AutopilotChatResourceItemSelector) => void;
23
25
  goBackOrClose: () => void;
@@ -28,7 +30,8 @@ interface AutopilotChatResourcePickerProviderProps {
28
30
  children: React.ReactNode;
29
31
  onResourceSelect: (resource: AutopilotChatResourceItem, range?: TipTapRange) => void;
30
32
  onDrillDown?: () => void;
33
+ onClose?: () => void;
31
34
  }
32
- export declare function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDrillDown, }: AutopilotChatResourcePickerProviderProps): import("react/jsx-runtime").JSX.Element;
35
+ export declare function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDrillDown, onClose, }: AutopilotChatResourcePickerProviderProps): import("react/jsx-runtime").JSX.Element;
33
36
  export declare function useAutopilotChatResourcePicker(): AutopilotChatResourcePickerContextType;
34
37
  //# sourceMappingURL=resource-picker-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource-picker-provider.d.ts","sourceRoot":"","sources":["../../../../../src/material/components/ap-chat/providers/resource-picker-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAClG,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAE,KAAK,yBAAyB,EAAE,KAAK,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAGpG,YAAY,EAAE,cAAc,EAAE,CAAC;AAK/B,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,yBAAyB,GAAG,iCAAiC,GAClE,IAAI,IAAI,iCAAiC,CAE3C;AAKD,MAAM,WAAW,sCAAsC;IACrD,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,yBAAyB,EAAE,CAAC;IAC5C,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9D,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACtD,eAAe,EAAE,CAAC,IAAI,EAAE,yBAAyB,GAAG,iCAAiC,KAAK,IAAI,CAAC;IAC/F,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAKD,UAAU,wCAAwC;IAChD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,yBAAyB,EAAE,KAAK,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;IACrF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,wBAAgB,mCAAmC,CAAC,EAClD,QAAQ,EACR,gBAAgB,EAChB,WAAW,GACZ,EAAE,wCAAwC,2CA0S1C;AAED,wBAAgB,8BAA8B,IAAI,sCAAsC,CAQvF"}
1
+ {"version":3,"file":"resource-picker-provider.d.ts","sourceRoot":"","sources":["../../../../../src/material/components/ap-chat/providers/resource-picker-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAQN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,oCAAoC,CAAC;AACjG,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,iCAAiC,EAEvC,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,cAAc,EAAE,CAAC;AAK/B,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,yBAAyB,GAAG,iCAAiC,GAClE,IAAI,IAAI,iCAAiC,CAE3C;AAID,MAAM,WAAW,sCAAsC;IACrD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACpC,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,yBAAyB,EAAE,CAAC;IAC5C,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9D,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACtD,eAAe,EAAE,CAAC,IAAI,EAAE,yBAAyB,GAAG,iCAAiC,KAAK,IAAI,CAAC;IAC/F,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAKD,UAAU,wCAAwC;IAChD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,yBAAyB,EAAE,KAAK,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;IACrF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,mCAAmC,CAAC,EAClD,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,OAAO,GACR,EAAE,wCAAwC,2CA8U1C;AAED,wBAAgB,8BAA8B,IAAI,sCAAsC,CAQvF"}
@@ -1,22 +1,28 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { useLingui } from "@lingui/react";
3
- import { createContext, useCallback, useContext, useEffect, useMemo, useRef } from "react";
3
+ import { createContext, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef } from "react";
4
4
  import { useResourcePickerState } from "../hooks/use-resource-picker-state.js";
5
+ import { CHAT_RESOURCE_PICKER_SEARCH_DEBOUNCE_MS } from "../service/index.js";
5
6
  import { useResourceData } from "./resource-data-provider.js";
6
7
  function isResourceSelector(item) {
7
8
  return 'hasNestedResources' in item && true === item.hasNestedResources;
8
9
  }
9
10
  const PICKER_VERTICAL_OFFSET = 8;
10
- const SEARCH_DEBOUNCE_MS = 150;
11
11
  const AutopilotChatResourcePickerContext = /*#__PURE__*/ createContext(null);
12
- function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDrillDown }) {
12
+ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDrillDown, onClose }) {
13
13
  const { hasResources, topLevelResources, paginatedResources, getNestedResources, globalSearch, onResourceSelected } = useResourceData();
14
14
  const { _ } = useLingui();
15
15
  const [state, dispatch] = useResourcePickerState();
16
16
  const { anchorPosition, query, drillDown, loading, loadingMore, searchInProgress, error, searchResults, searchDone, previousDisplayCount } = state;
17
17
  const mentionRangeRef = useRef(null);
18
- const skipNextCloseRef = useRef(false);
18
+ const drillDownActiveRef = useRef(false);
19
19
  const isOpen = null !== anchorPosition;
20
+ const isOpenRef = useRef(isOpen);
21
+ useLayoutEffect(()=>{
22
+ isOpenRef.current = isOpen;
23
+ }, [
24
+ isOpen
25
+ ]);
20
26
  const searchQuery = useMemo(()=>query.trim().toLowerCase(), [
21
27
  query
22
28
  ]);
@@ -48,16 +54,26 @@ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDri
48
54
  dispatch
49
55
  ]);
50
56
  const close = useCallback(()=>{
51
- if (skipNextCloseRef.current) {
52
- skipNextCloseRef.current = false;
53
- return;
54
- }
57
+ if (!isOpenRef.current) return;
58
+ isOpenRef.current = false;
59
+ onClose?.();
60
+ drillDownActiveRef.current = false;
55
61
  mentionRangeRef.current = null;
56
62
  dispatch({
57
63
  type: 'CLOSE'
58
64
  });
59
65
  }, [
60
- dispatch
66
+ dispatch,
67
+ onClose
68
+ ]);
69
+ const handleMentionEnd = useCallback(()=>{
70
+ if (drillDownActiveRef.current) {
71
+ drillDownActiveRef.current = false;
72
+ return;
73
+ }
74
+ close();
75
+ }, [
76
+ close
61
77
  ]);
62
78
  const setQuery = useCallback((newQuery, range)=>{
63
79
  if (!hasResources) return;
@@ -95,7 +111,7 @@ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDri
95
111
  ]);
96
112
  const handleItemClick = useCallback((item)=>{
97
113
  if (isResourceSelector(item)) {
98
- skipNextCloseRef.current = true;
114
+ drillDownActiveRef.current = true;
99
115
  onDrillDown?.();
100
116
  dispatch({
101
117
  type: 'SET_QUERY',
@@ -116,21 +132,19 @@ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDri
116
132
  dispatch
117
133
  ]);
118
134
  const goBackOrClose = useCallback(()=>{
119
- if (drillDown) return void dispatch({
120
- type: 'GO_BACK'
121
- });
135
+ if (drillDown) {
136
+ drillDownActiveRef.current = false;
137
+ dispatch({
138
+ type: 'GO_BACK'
139
+ });
140
+ return;
141
+ }
122
142
  close();
123
143
  }, [
124
144
  drillDown,
125
145
  close,
126
146
  dispatch
127
147
  ]);
128
- const retryLoad = useCallback(()=>{
129
- if (drillDown) loadNestedResources(drillDown.category);
130
- }, [
131
- drillDown,
132
- loadNestedResources
133
- ]);
134
148
  const loadMore = useCallback(async ()=>{
135
149
  if (!paginatedResources || loadingMore) return;
136
150
  const isSearch = !!searchQuery;
@@ -229,6 +243,22 @@ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDri
229
243
  getNestedResources,
230
244
  dispatch
231
245
  ]);
246
+ const retryLoad = useCallback(()=>{
247
+ if (searchQuery) {
248
+ dispatch({
249
+ type: 'SEARCH_START'
250
+ });
251
+ paginatedResources ? performPaginatedSearch() : performLocalSearch();
252
+ } else if (drillDown) loadNestedResources(drillDown.category);
253
+ }, [
254
+ searchQuery,
255
+ drillDown,
256
+ paginatedResources,
257
+ dispatch,
258
+ loadNestedResources,
259
+ performPaginatedSearch,
260
+ performLocalSearch
261
+ ]);
232
262
  const displayedItems = useMemo(()=>{
233
263
  if (searchQuery) return searchResults;
234
264
  if (drillDown) return drillDown.resources;
@@ -240,15 +270,17 @@ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDri
240
270
  topLevelResources
241
271
  ]);
242
272
  useEffect(()=>{
273
+ if (!isOpen) return;
243
274
  if (!searchQuery) return void dispatch({
244
275
  type: 'CLEAR_SEARCH'
245
276
  });
246
277
  dispatch({
247
278
  type: 'SEARCH_START'
248
279
  });
249
- const debounceTimer = setTimeout(paginatedResources ? performPaginatedSearch : performLocalSearch, SEARCH_DEBOUNCE_MS);
280
+ const debounceTimer = setTimeout(paginatedResources ? performPaginatedSearch : performLocalSearch, CHAT_RESOURCE_PICKER_SEARCH_DEBOUNCE_MS);
250
281
  return ()=>clearTimeout(debounceTimer);
251
282
  }, [
283
+ isOpen,
252
284
  searchQuery,
253
285
  paginatedResources,
254
286
  performPaginatedSearch,
@@ -268,6 +300,7 @@ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDri
268
300
  ]);
269
301
  const contextValue = useMemo(()=>({
270
302
  isOpen,
303
+ isOpenRef,
271
304
  anchorPosition,
272
305
  query,
273
306
  displayedItems,
@@ -280,6 +313,7 @@ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDri
280
313
  previousDisplayCount,
281
314
  open,
282
315
  close,
316
+ handleMentionEnd,
283
317
  setQuery,
284
318
  handleItemClick,
285
319
  goBackOrClose,
@@ -299,6 +333,7 @@ function AutopilotChatResourcePickerProvider({ children, onResourceSelect, onDri
299
333
  previousDisplayCount,
300
334
  open,
301
335
  close,
336
+ handleMentionEnd,
302
337
  setQuery,
303
338
  handleItemClick,
304
339
  goBackOrClose,
@@ -50,11 +50,14 @@ __webpack_require__.d(__webpack_exports__, {
50
50
  CHAT_MESSAGE_MIN_PADDING: ()=>CHAT_MESSAGE_MIN_PADDING,
51
51
  CHAT_MESSAGE_SPACING: ()=>CHAT_MESSAGE_SPACING,
52
52
  CHAT_RESOURCE_CHIP_MAX_WIDTH: ()=>CHAT_RESOURCE_CHIP_MAX_WIDTH,
53
+ CHAT_RESOURCE_MENTION_TERMINATOR: ()=>CHAT_RESOURCE_MENTION_TERMINATOR,
54
+ CHAT_RESOURCE_PICKER_ITEM_HEIGHT: ()=>CHAT_RESOURCE_PICKER_ITEM_HEIGHT,
55
+ CHAT_RESOURCE_PICKER_LOAD_MORE_THRESHOLD: ()=>CHAT_RESOURCE_PICKER_LOAD_MORE_THRESHOLD,
53
56
  CHAT_RESOURCE_PICKER_MAX_SKELETON_COUNT: ()=>CHAT_RESOURCE_PICKER_MAX_SKELETON_COUNT,
54
57
  CHAT_RESOURCE_PICKER_MENU_MAX_HEIGHT: ()=>CHAT_RESOURCE_PICKER_MENU_MAX_HEIGHT,
55
58
  CHAT_RESOURCE_PICKER_MENU_WIDTH: ()=>CHAT_RESOURCE_PICKER_MENU_WIDTH,
56
59
  CHAT_RESOURCE_PICKER_MIN_SKELETON_COUNT: ()=>CHAT_RESOURCE_PICKER_MIN_SKELETON_COUNT,
57
- CHAT_RESOURCE_PICKER_SCROLL_THRESHOLD: ()=>CHAT_RESOURCE_PICKER_SCROLL_THRESHOLD,
60
+ CHAT_RESOURCE_PICKER_SEARCH_DEBOUNCE_MS: ()=>CHAT_RESOURCE_PICKER_SEARCH_DEBOUNCE_MS,
58
61
  CHAT_RESOURCE_PICKER_TOOLTIP_ENTER_DELAY: ()=>CHAT_RESOURCE_PICKER_TOOLTIP_ENTER_DELAY,
59
62
  CHAT_SCROLL_BOTTOM_BUFFER: ()=>CHAT_SCROLL_BOTTOM_BUFFER,
60
63
  CHAT_SUGGESTION_SPACING: ()=>CHAT_SUGGESTION_SPACING,
@@ -145,11 +148,14 @@ const CHAT_COMPACT_MODE_MESSAGE_GROUP_GAP = 8;
145
148
  const CHAT_SUGGESTION_SPACING = 8;
146
149
  const CHAT_RESOURCE_PICKER_MENU_WIDTH = 360;
147
150
  const CHAT_RESOURCE_PICKER_MENU_MAX_HEIGHT = 296;
148
- const CHAT_RESOURCE_PICKER_SCROLL_THRESHOLD = 50;
151
+ const CHAT_RESOURCE_PICKER_ITEM_HEIGHT = 40;
152
+ const CHAT_RESOURCE_PICKER_LOAD_MORE_THRESHOLD = 2;
149
153
  const CHAT_RESOURCE_PICKER_TOOLTIP_ENTER_DELAY = 300;
150
154
  const CHAT_RESOURCE_PICKER_MIN_SKELETON_COUNT = 1;
151
155
  const CHAT_RESOURCE_PICKER_MAX_SKELETON_COUNT = 10;
156
+ const CHAT_RESOURCE_PICKER_SEARCH_DEBOUNCE_MS = 300;
152
157
  const CHAT_RESOURCE_CHIP_MAX_WIDTH = 200;
158
+ const CHAT_RESOURCE_MENTION_TERMINATOR = ' ';
153
159
  exports.ACCEPTED_FILES = __webpack_exports__.ACCEPTED_FILES;
154
160
  exports.ACCEPTED_FILE_MAX_COUNT = __webpack_exports__.ACCEPTED_FILE_MAX_COUNT;
155
161
  exports.ACCEPTED_FILE_MAX_SIZE = __webpack_exports__.ACCEPTED_FILE_MAX_SIZE;
@@ -176,11 +182,14 @@ exports.CHAT_MESSAGE_MAX_PADDING = __webpack_exports__.CHAT_MESSAGE_MAX_PADDING;
176
182
  exports.CHAT_MESSAGE_MIN_PADDING = __webpack_exports__.CHAT_MESSAGE_MIN_PADDING;
177
183
  exports.CHAT_MESSAGE_SPACING = __webpack_exports__.CHAT_MESSAGE_SPACING;
178
184
  exports.CHAT_RESOURCE_CHIP_MAX_WIDTH = __webpack_exports__.CHAT_RESOURCE_CHIP_MAX_WIDTH;
185
+ exports.CHAT_RESOURCE_MENTION_TERMINATOR = __webpack_exports__.CHAT_RESOURCE_MENTION_TERMINATOR;
186
+ exports.CHAT_RESOURCE_PICKER_ITEM_HEIGHT = __webpack_exports__.CHAT_RESOURCE_PICKER_ITEM_HEIGHT;
187
+ exports.CHAT_RESOURCE_PICKER_LOAD_MORE_THRESHOLD = __webpack_exports__.CHAT_RESOURCE_PICKER_LOAD_MORE_THRESHOLD;
179
188
  exports.CHAT_RESOURCE_PICKER_MAX_SKELETON_COUNT = __webpack_exports__.CHAT_RESOURCE_PICKER_MAX_SKELETON_COUNT;
180
189
  exports.CHAT_RESOURCE_PICKER_MENU_MAX_HEIGHT = __webpack_exports__.CHAT_RESOURCE_PICKER_MENU_MAX_HEIGHT;
181
190
  exports.CHAT_RESOURCE_PICKER_MENU_WIDTH = __webpack_exports__.CHAT_RESOURCE_PICKER_MENU_WIDTH;
182
191
  exports.CHAT_RESOURCE_PICKER_MIN_SKELETON_COUNT = __webpack_exports__.CHAT_RESOURCE_PICKER_MIN_SKELETON_COUNT;
183
- exports.CHAT_RESOURCE_PICKER_SCROLL_THRESHOLD = __webpack_exports__.CHAT_RESOURCE_PICKER_SCROLL_THRESHOLD;
192
+ exports.CHAT_RESOURCE_PICKER_SEARCH_DEBOUNCE_MS = __webpack_exports__.CHAT_RESOURCE_PICKER_SEARCH_DEBOUNCE_MS;
184
193
  exports.CHAT_RESOURCE_PICKER_TOOLTIP_ENTER_DELAY = __webpack_exports__.CHAT_RESOURCE_PICKER_TOOLTIP_ENTER_DELAY;
185
194
  exports.CHAT_SCROLL_BOTTOM_BUFFER = __webpack_exports__.CHAT_SCROLL_BOTTOM_BUFFER;
186
195
  exports.CHAT_SUGGESTION_SPACING = __webpack_exports__.CHAT_SUGGESTION_SPACING;
@@ -217,11 +226,14 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
217
226
  "CHAT_MESSAGE_MIN_PADDING",
218
227
  "CHAT_MESSAGE_SPACING",
219
228
  "CHAT_RESOURCE_CHIP_MAX_WIDTH",
229
+ "CHAT_RESOURCE_MENTION_TERMINATOR",
230
+ "CHAT_RESOURCE_PICKER_ITEM_HEIGHT",
231
+ "CHAT_RESOURCE_PICKER_LOAD_MORE_THRESHOLD",
220
232
  "CHAT_RESOURCE_PICKER_MAX_SKELETON_COUNT",
221
233
  "CHAT_RESOURCE_PICKER_MENU_MAX_HEIGHT",
222
234
  "CHAT_RESOURCE_PICKER_MENU_WIDTH",
223
235
  "CHAT_RESOURCE_PICKER_MIN_SKELETON_COUNT",
224
- "CHAT_RESOURCE_PICKER_SCROLL_THRESHOLD",
236
+ "CHAT_RESOURCE_PICKER_SEARCH_DEBOUNCE_MS",
225
237
  "CHAT_RESOURCE_PICKER_TOOLTIP_ENTER_DELAY",
226
238
  "CHAT_SCROLL_BOTTOM_BUFFER",
227
239
  "CHAT_SUGGESTION_SPACING",
@@ -48,9 +48,12 @@ export declare const CHAT_COMPACT_MODE_MESSAGE_GROUP_GAP = 8;
48
48
  export declare const CHAT_SUGGESTION_SPACING = 8;
49
49
  export declare const CHAT_RESOURCE_PICKER_MENU_WIDTH = 360;
50
50
  export declare const CHAT_RESOURCE_PICKER_MENU_MAX_HEIGHT = 296;
51
- export declare const CHAT_RESOURCE_PICKER_SCROLL_THRESHOLD = 50;
51
+ export declare const CHAT_RESOURCE_PICKER_ITEM_HEIGHT = 40;
52
+ export declare const CHAT_RESOURCE_PICKER_LOAD_MORE_THRESHOLD = 2;
52
53
  export declare const CHAT_RESOURCE_PICKER_TOOLTIP_ENTER_DELAY = 300;
53
54
  export declare const CHAT_RESOURCE_PICKER_MIN_SKELETON_COUNT = 1;
54
55
  export declare const CHAT_RESOURCE_PICKER_MAX_SKELETON_COUNT = 10;
56
+ export declare const CHAT_RESOURCE_PICKER_SEARCH_DEBOUNCE_MS = 300;
55
57
  export declare const CHAT_RESOURCE_CHIP_MAX_WIDTH = 200;
58
+ export declare const CHAT_RESOURCE_MENTION_TERMINATOR = " ";
56
59
  //# sourceMappingURL=ChatConstants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatConstants.d.ts","sourceRoot":"","sources":["../../../../../src/material/components/ap-chat/service/ChatConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AACnE,eAAO,MAAM,yBAAyB,4BAA4B,CAAC;AACnE,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AACrE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;CAe1B,CAAC;AAEF,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,sBAAsB,QAAoB,CAAC;AACxD,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAC9C,eAAO,MAAM,iCAAiC,MAAM,CAAC;AACrD,eAAO,MAAM,oCAAoC,MAAM,CAAC;AACxD,eAAO,MAAM,mCAAmC,MAAM,CAAC;AACvD,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,gCAAgC,UAAU,CAAC;AACxD,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAClD,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAClD,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,cAAc,UAAU,CAAC;AACtC,eAAO,MAAM,+BAA+B,yBAAyB,CAAC;AACtE,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AACzD,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AACjE,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AACpD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,mCAAmC,IAAI,CAAC;AACrD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAGzC,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,oCAAoC,MAAM,CAAC;AACxD,eAAO,MAAM,qCAAqC,KAAK,CAAC;AACxD,eAAO,MAAM,wCAAwC,MAAM,CAAC;AAC5D,eAAO,MAAM,uCAAuC,IAAI,CAAC;AACzD,eAAO,MAAM,uCAAuC,KAAK,CAAC;AAC1D,eAAO,MAAM,4BAA4B,MAAM,CAAC"}
1
+ {"version":3,"file":"ChatConstants.d.ts","sourceRoot":"","sources":["../../../../../src/material/components/ap-chat/service/ChatConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AACnE,eAAO,MAAM,yBAAyB,4BAA4B,CAAC;AACnE,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AACrE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;CAe1B,CAAC;AAEF,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,sBAAsB,QAAoB,CAAC;AACxD,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAC9C,eAAO,MAAM,iCAAiC,MAAM,CAAC;AACrD,eAAO,MAAM,oCAAoC,MAAM,CAAC;AACxD,eAAO,MAAM,mCAAmC,MAAM,CAAC;AACvD,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,gCAAgC,UAAU,CAAC;AACxD,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAClD,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAClD,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,cAAc,UAAU,CAAC;AACtC,eAAO,MAAM,+BAA+B,yBAAyB,CAAC;AACtE,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AACzD,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AACjE,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AACpD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,mCAAmC,IAAI,CAAC;AACrD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAGzC,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,oCAAoC,MAAM,CAAC;AACxD,eAAO,MAAM,gCAAgC,KAAK,CAAC;AACnD,eAAO,MAAM,wCAAwC,IAAI,CAAC;AAC1D,eAAO,MAAM,wCAAwC,MAAM,CAAC;AAC5D,eAAO,MAAM,uCAAuC,IAAI,CAAC;AACzD,eAAO,MAAM,uCAAuC,KAAK,CAAC;AAC1D,eAAO,MAAM,uCAAuC,MAAM,CAAC;AAC3D,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,gCAAgC,OAAO,CAAC"}
@@ -78,9 +78,12 @@ const CHAT_COMPACT_MODE_MESSAGE_GROUP_GAP = 8;
78
78
  const CHAT_SUGGESTION_SPACING = 8;
79
79
  const CHAT_RESOURCE_PICKER_MENU_WIDTH = 360;
80
80
  const CHAT_RESOURCE_PICKER_MENU_MAX_HEIGHT = 296;
81
- const CHAT_RESOURCE_PICKER_SCROLL_THRESHOLD = 50;
81
+ const CHAT_RESOURCE_PICKER_ITEM_HEIGHT = 40;
82
+ const CHAT_RESOURCE_PICKER_LOAD_MORE_THRESHOLD = 2;
82
83
  const CHAT_RESOURCE_PICKER_TOOLTIP_ENTER_DELAY = 300;
83
84
  const CHAT_RESOURCE_PICKER_MIN_SKELETON_COUNT = 1;
84
85
  const CHAT_RESOURCE_PICKER_MAX_SKELETON_COUNT = 10;
86
+ const CHAT_RESOURCE_PICKER_SEARCH_DEBOUNCE_MS = 300;
85
87
  const CHAT_RESOURCE_CHIP_MAX_WIDTH = 200;
86
- export { ACCEPTED_FILES, ACCEPTED_FILE_MAX_COUNT, ACCEPTED_FILE_MAX_SIZE, AGENTS_TOOL_CALL_RENDERER, APOLLO_CHAT_TREE_RENDERER, CHAT_ACTIVE_CONVERSATION_ID_KEY, CHAT_CITATION_START, CHAT_COMPACT_MODE_INPUT_MAX_ROWS, CHAT_COMPACT_MODE_INPUT_MIN_ROWS, CHAT_COMPACT_MODE_MESSAGE_GROUP_GAP, CHAT_COMPACT_MODE_MESSAGE_SPACING, CHAT_CONTAINER_ANIMATION_DURATION, CHAT_DRAWER_WIDTH_FULL_SCREEN, CHAT_HISTORY_FULL_SCREEN_WIDTH, CHAT_HISTORY_SIDE_BY_SIDE_MAX_HEIGHT, CHAT_HISTORY_SIDE_BY_SIDE_MAX_WIDTH, CHAT_INPUT_MAX_ROWS, CHAT_INPUT_MIN_ROWS, CHAT_INSTANCE_DEFAULT_NAME, CHAT_INSTANCE_DOCS_AI_NAME, CHAT_LOADER_GRADIENT_WIDTH, CHAT_MESSAGE_GROUP_GAP, CHAT_MESSAGE_MAX_PADDING, CHAT_MESSAGE_MIN_PADDING, CHAT_MESSAGE_SPACING, CHAT_RESOURCE_CHIP_MAX_WIDTH, CHAT_RESOURCE_PICKER_MAX_SKELETON_COUNT, CHAT_RESOURCE_PICKER_MENU_MAX_HEIGHT, CHAT_RESOURCE_PICKER_MENU_WIDTH, CHAT_RESOURCE_PICKER_MIN_SKELETON_COUNT, CHAT_RESOURCE_PICKER_SCROLL_THRESHOLD, CHAT_RESOURCE_PICKER_TOOLTIP_ENTER_DELAY, CHAT_SCROLL_BOTTOM_BUFFER, CHAT_SUGGESTION_SPACING, CHAT_WIDTH_FULL_SCREEN, CHAT_WIDTH_FULL_SCREEN_MAX_WIDTH, CHAT_WIDTH_KEY, CHAT_WIDTH_SIDE_BY_SIDE_MAX, CHAT_WIDTH_SIDE_BY_SIDE_MIN, DEFAULT_MESSAGE_RENDERER };
88
+ const CHAT_RESOURCE_MENTION_TERMINATOR = ' ';
89
+ export { ACCEPTED_FILES, ACCEPTED_FILE_MAX_COUNT, ACCEPTED_FILE_MAX_SIZE, AGENTS_TOOL_CALL_RENDERER, APOLLO_CHAT_TREE_RENDERER, CHAT_ACTIVE_CONVERSATION_ID_KEY, CHAT_CITATION_START, CHAT_COMPACT_MODE_INPUT_MAX_ROWS, CHAT_COMPACT_MODE_INPUT_MIN_ROWS, CHAT_COMPACT_MODE_MESSAGE_GROUP_GAP, CHAT_COMPACT_MODE_MESSAGE_SPACING, CHAT_CONTAINER_ANIMATION_DURATION, CHAT_DRAWER_WIDTH_FULL_SCREEN, CHAT_HISTORY_FULL_SCREEN_WIDTH, CHAT_HISTORY_SIDE_BY_SIDE_MAX_HEIGHT, CHAT_HISTORY_SIDE_BY_SIDE_MAX_WIDTH, CHAT_INPUT_MAX_ROWS, CHAT_INPUT_MIN_ROWS, CHAT_INSTANCE_DEFAULT_NAME, CHAT_INSTANCE_DOCS_AI_NAME, CHAT_LOADER_GRADIENT_WIDTH, CHAT_MESSAGE_GROUP_GAP, CHAT_MESSAGE_MAX_PADDING, CHAT_MESSAGE_MIN_PADDING, CHAT_MESSAGE_SPACING, CHAT_RESOURCE_CHIP_MAX_WIDTH, CHAT_RESOURCE_MENTION_TERMINATOR, CHAT_RESOURCE_PICKER_ITEM_HEIGHT, CHAT_RESOURCE_PICKER_LOAD_MORE_THRESHOLD, CHAT_RESOURCE_PICKER_MAX_SKELETON_COUNT, CHAT_RESOURCE_PICKER_MENU_MAX_HEIGHT, CHAT_RESOURCE_PICKER_MENU_WIDTH, CHAT_RESOURCE_PICKER_MIN_SKELETON_COUNT, CHAT_RESOURCE_PICKER_SEARCH_DEBOUNCE_MS, CHAT_RESOURCE_PICKER_TOOLTIP_ENTER_DELAY, CHAT_SCROLL_BOTTOM_BUFFER, CHAT_SUGGESTION_SPACING, CHAT_WIDTH_FULL_SCREEN, CHAT_WIDTH_FULL_SCREEN_MAX_WIDTH, CHAT_WIDTH_KEY, CHAT_WIDTH_SIDE_BY_SIDE_MAX, CHAT_WIDTH_SIDE_BY_SIDE_MIN, DEFAULT_MESSAGE_RENDERER };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uipath/apollo-react",
3
- "version": "3.27.0",
3
+ "version": "3.28.0",
4
4
  "description": "Apollo Design System - React component library with Material UI theming",
5
5
  "repository": {
6
6
  "type": "git",
@@ -168,6 +168,7 @@
168
168
  "@tiptap/extensions": "^3.17.1",
169
169
  "@tiptap/pm": "^3.17.1",
170
170
  "@tiptap/react": "^3.17.1",
171
+ "@tiptap/suggestion": "^3.17.1",
171
172
  "@xyflow/react": "12.8.2",
172
173
  "@xyflow/system": "0.0.66",
173
174
  "d3-hierarchy": "^3.1.2",