@epam/ai-dial-chat-shared 1.2.0-dev.282 → 1.2.0-dev.285

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.
@@ -14,7 +14,7 @@ var s = ({ item: s, identity: c, message: l, consequences: u, variant: d = i.Inf
14
14
  }),
15
15
  className: "flex flex-col gap-4 px-6 py-4",
16
16
  children: [
17
- c ?? /* @__PURE__ */ a(n, {
17
+ c ?? (s != null && /* @__PURE__ */ a(n, {
18
18
  item: s,
19
19
  variant: d,
20
20
  styles: { colors: {
@@ -22,7 +22,7 @@ var s = ({ item: s, identity: c, message: l, consequences: u, variant: d = i.Inf
22
22
  dangerBackground: h?.cardDangerBackground,
23
23
  dangerBorder: h?.cardDangerBorder
24
24
  } }
25
- }),
25
+ })),
26
26
  /* @__PURE__ */ a("p", {
27
27
  className: e(f, "break-words", r.message),
28
28
  children: l
@@ -1,29 +1,30 @@
1
- import { DialFileManagerActionProfile as e, DialFileManagerVariant as t } from "../file-manager-variant.js";
1
+ import { mergeClasses as e } from "../../utils/merge-class.js";
2
+ import { DialFileManagerActionProfile as t, DialFileManagerVariant as n } from "../file-manager-variant.js";
2
3
  import { getParentFolderPath as ee } from "../path.js";
3
- import { useGridEditingScroll as n } from "../useGridEditingScroll/useGridEditingScroll.js";
4
- import { OperationLoaderModal as te } from "../OperationLoaderModal/OperationLoaderModal.js";
5
- import { toUploadQueueItems as ne } from "../upload-queue.js";
6
- import { NOT_ALLOWED_SYMBOLS_REGEXP as re, PrimaryButton as ie, Spinner as ae, TransferQueue as oe } from "@epam/ai-dial-ui-kit";
7
- import { memo as r, useCallback as se, useEffect as ce, useMemo as i, useState as le } from "react";
8
- import { Fragment as ue, jsx as a, jsxs as o } from "react/jsx-runtime";
9
- import { DialFileManager as de, DialFileManagerActions as s, DialFileManagerTabs as fe, GridSelectionMode as pe } from "@epam/ai-dial-react-file-manager";
4
+ import { useGridEditingScroll as te } from "../useGridEditingScroll/useGridEditingScroll.js";
5
+ import { OperationLoaderModal as ne } from "../OperationLoaderModal/OperationLoaderModal.js";
6
+ import { toUploadQueueItems as re } from "../upload-queue.js";
7
+ import { NOT_ALLOWED_SYMBOLS_REGEXP as ie, PrimaryButton as ae, Spinner as oe, TransferQueue as se } from "@epam/ai-dial-ui-kit";
8
+ import { memo as r, useCallback as ce, useEffect as le, useMemo as i, useState as ue } from "react";
9
+ import { Fragment as de, jsx as a, jsxs as o } from "react/jsx-runtime";
10
+ import { DialFileManager as fe, DialFileManagerActions as s, DialFileManagerTabs as pe, GridSelectionMode as me } from "@epam/ai-dial-react-file-manager";
10
11
  //#region src/file-manager/DialFileManagerShell/DialFileManagerShell.tsx
11
- var me = (e, t) => {
12
+ var he = (e, t) => {
12
13
  if (e.isDownloading) return t.downloadingLabel;
13
14
  if (e.isDeleting) return t.deletingLabel;
14
15
  if (e.isRenaming && !e.isMoving) return t.renamingLabel;
15
16
  if (e.isUnsharing) return t.unsharingLabel;
16
17
  if (e.isRemovingAccess) return t.removingAccessLabel;
17
- }, c = ({ controller: r, labels: c, activeTab: l, tabs: u, onTabChange: d, selectedPaths: f, onSelectedPathsChange: he, variant: p, actionProfile: ge, autoSelectUploadedItems: _e = !1, allowedFileTypes: ve, maxSelectableFileSize: m, oversizedUploadMessage: h, isRowSelectable: g, getDisabledTooltip: ye, unsupportedFileTypeTooltip: be }) => {
18
- let { items: xe, isLoading: Se, error: Ce, path: _, onPathChange: we, retry: Te, onSearchFiles: Ee, isSearching: v, searchResults: y, clearSearchResults: De, expandedPaths: b, loadedPaths: x, onExpandedPathsChange: S, onFolderPopupPathChange: Oe, folderPopupLoadingPaths: C, onUploadFiles: ke, onUploadArchive: w, onValidateUpload: Ae, uploadBatchState: T, cancelUpload: E, cancelUploadFile: je, clearUploadBatch: D, onCreateFolder: Me, onCreateFolderValidate: Ne, onDownloadFiles: Pe, isDownloading: O, onDeleteFiles: Fe, isDeleting: Ie, onMoveToFiles: Le, onRenameValidate: Re, isRenaming: ze, onCopyFiles: Be, isCopying: Ve, isMoving: k, cancelCopyMove: He, uploadEnabled: A, isNewButtonDisabled: j, disabledNewButtonTooltip: M, visibleColumns: N, dateLocale: P, dateOptions: F, actionLabels: I, sharedWithMeIds: Ue, sharedByMePaths: L, onUnshareFiles: We, isUnsharing: Ge, onRemoveFilesAccess: Ke, isRemovingAccess: qe, fileMetadata: R, isFileMetadataLoading: z, onGetInfo: Je, clearMetadata: B, sectionTab: Ye } = r, V = Ye ?? l, [H, Xe] = le(void 0), { handleGridApiChange: Ze, reset: U } = n();
19
- ce(() => {
20
- U();
21
- }, [V, U]);
22
- let W = i(() => {
18
+ }, c = ({ controller: r, labels: c, activeTab: l, tabs: u, onTabChange: d, selectedPaths: f, onSelectedPathsChange: ge, variant: p, actionProfile: _e, autoSelectUploadedItems: ve = !1, allowedFileTypes: ye, maxSelectableFileSize: m, oversizedUploadMessage: h, isRowSelectable: g, getDisabledTooltip: be, unsupportedFileTypeTooltip: xe }) => {
19
+ let { items: Se, isLoading: Ce, error: we, path: _, onPathChange: Te, retry: Ee, onSearchFiles: De, isSearching: v, searchResults: y, clearSearchResults: Oe, expandedPaths: b, loadedPaths: x, onExpandedPathsChange: S, onFolderPopupPathChange: ke, folderPopupLoadingPaths: C, onUploadFiles: Ae, onUploadArchive: je, onValidateUpload: Me, uploadBatchState: w, cancelUpload: T, cancelUploadFile: Ne, clearUploadBatch: E, onCreateFolder: Pe, onCreateFolderValidate: Fe, onDownloadFiles: D, isDownloading: Ie, onDeleteFiles: Le, isDeleting: Re, onMoveToFiles: ze, onRenameValidate: Be, isRenaming: Ve, onCopyFiles: He, isCopying: Ue, isMoving: O, cancelCopyMove: We, uploadEnabled: k, isNewButtonDisabled: A, disabledNewButtonTooltip: j, visibleColumns: M, dateLocale: N, dateOptions: P, actionLabels: F, sharedWithMeIds: Ge, sharedByMePaths: I, onUnshareFiles: Ke, isUnsharing: qe, onRemoveFilesAccess: Je, isRemovingAccess: Ye, fileMetadata: L, isFileMetadataLoading: R, onGetInfo: Xe, clearMetadata: z, sectionTab: Ze } = r, B = Ze ?? l, [V, Qe] = ue(void 0), { handleGridApiChange: $e, reset: H } = te();
20
+ le(() => {
21
+ H();
22
+ }, [B, H]);
23
+ let U = i(() => {
23
24
  let e = {};
24
- return s.Download in I && (e[s.Download] = c.downloadLabel), s.Delete in I && (e[s.Delete] = c.deleteLabel), s.Rename in I && (e[s.Rename] = c.renameLabel), s.Copy in I && (e[s.Copy] = c.copyLabel), s.Move in I && (e[s.Move] = c.moveLabel), s.Duplicate in I && (e[s.Duplicate] = c.duplicateLabel), s.Unshare in I && (e[s.Unshare] = c.unshareLabel), s.RemoveAccess in I && (e[s.RemoveAccess] = c.removeAccessLabel), e;
25
+ return s.Download in F && (e[s.Download] = c.downloadLabel), s.Delete in F && (e[s.Delete] = c.deleteLabel), s.Rename in F && (e[s.Rename] = c.renameLabel), s.Copy in F && (e[s.Copy] = c.copyLabel), s.Move in F && (e[s.Move] = c.moveLabel), s.Duplicate in F && (e[s.Duplicate] = c.duplicateLabel), s.Unshare in F && (e[s.Unshare] = c.unshareLabel), s.RemoveAccess in F && (e[s.RemoveAccess] = c.removeAccessLabel), e;
25
26
  }, [
26
- I,
27
+ F,
27
28
  c.downloadLabel,
28
29
  c.deleteLabel,
29
30
  c.renameLabel,
@@ -32,26 +33,26 @@ var me = (e, t) => {
32
33
  c.duplicateLabel,
33
34
  c.unshareLabel,
34
35
  c.removeAccessLabel
35
- ]), G = i(() => s.Info in I ? {
36
- ...W,
36
+ ]), W = i(() => s.Info in F ? {
37
+ ...U,
37
38
  [s.Info]: c.infoLabel
38
- } : W, [
39
- W,
40
- I,
39
+ } : U, [
40
+ U,
41
+ F,
41
42
  c.infoLabel
42
- ]), K = i(() => {
43
+ ]), G = i(() => {
43
44
  if (f.size === 0) return !1;
44
- for (let e of f) if (!L.has(e)) return !1;
45
+ for (let e of f) if (!I.has(e)) return !1;
45
46
  return !0;
46
- }, [f, L]), q = i(() => {
47
- if (K) return W;
48
- let { [s.RemoveAccess]: e, ...t } = W;
47
+ }, [f, I]), K = i(() => {
48
+ if (G) return U;
49
+ let { [s.RemoveAccess]: e, ...t } = U;
49
50
  return t;
50
- }, [W, K]), Qe = i(() => ({
51
- selectionMode: pe.MULTIPLE,
52
- visibleColumns: N,
53
- dateLocale: P,
54
- dateOptions: F,
51
+ }, [U, G]), et = i(() => ({
52
+ selectionMode: me.MULTIPLE,
53
+ visibleColumns: M,
54
+ dateLocale: N,
55
+ dateOptions: P,
55
56
  additionalGridOptions: {
56
57
  domLayout: "normal",
57
58
  rowSelection: {
@@ -59,16 +60,16 @@ var me = (e, t) => {
59
60
  isRowSelectable: g ?? (() => !0)
60
61
  }
61
62
  },
62
- actionLabels: G
63
+ actionLabels: W
63
64
  }), [
65
+ M,
64
66
  N,
65
67
  P,
66
- F,
67
- G,
68
+ W,
68
69
  g
69
- ]), $e = i(() => ({
70
- header: p === t.Attach ? null : c.treeHeaderByTab[l],
71
- containerClassName: p === t.Attach ? "min-h-0 h-full w-[360px] shrink-0 rounded-xl bg-layer-raised shadow-sm" : void 0,
70
+ ]), tt = i(() => ({
71
+ header: p === n.Attach ? null : c.treeHeaderByTab[l],
72
+ containerClassName: p === n.Attach ? "min-h-0 h-full w-[360px] shrink-0 rounded-xl bg-layer-raised shadow-sm" : void 0,
72
73
  tabsAriaLabel: c.treeHeaderByTab[l],
73
74
  tabs: u,
74
75
  activeTab: l,
@@ -77,7 +78,7 @@ var me = (e, t) => {
77
78
  loadedPaths: x,
78
79
  loadingPaths: C,
79
80
  onExpandedPathsChange: S,
80
- actionLabels: W
81
+ actionLabels: U
81
82
  }), [
82
83
  c.treeHeaderByTab,
83
84
  p,
@@ -88,14 +89,14 @@ var me = (e, t) => {
88
89
  x,
89
90
  C,
90
91
  S,
91
- W
92
- ]), J = p === t.Standalone && ge === e.Full && V === fe.MyFiles && A, et = i(() => ({
92
+ U
93
+ ]), q = p === n.Standalone && _e === t.Full && B === pe.MyFiles && k, nt = i(() => ({
93
94
  showHiddenFilesToggle: !0,
94
95
  hiddenFilesSwitcherLabel: c.hiddenFilesLabel,
95
96
  showHiddenFilesLabel: c.showHiddenFilesLabel,
96
97
  hideHiddenFilesLabel: c.hideHiddenFilesLabel,
97
- isNewButtonDisabled: j,
98
- disabledNewButtonTooltip: M,
98
+ isNewButtonDisabled: A,
99
+ disabledNewButtonTooltip: j,
99
100
  newActions: {
100
101
  uploadFiles: {
101
102
  label: c.uploadFilesLabel,
@@ -105,7 +106,7 @@ var me = (e, t) => {
105
106
  label: c.newFolderLabel,
106
107
  icon: null
107
108
  },
108
- ...J ? { uploadArchive: {
109
+ ...q ? { uploadArchive: {
109
110
  label: c.uploadArchiveAction,
110
111
  icon: null
111
112
  } } : {}
@@ -114,16 +115,16 @@ var me = (e, t) => {
114
115
  c.hiddenFilesLabel,
115
116
  c.showHiddenFilesLabel,
116
117
  c.hideHiddenFilesLabel,
118
+ A,
117
119
  j,
118
- M,
119
120
  c.uploadFilesLabel,
120
121
  c.newFolderLabel,
121
- J,
122
+ q,
122
123
  c.uploadArchiveAction
123
- ]), tt = i(() => ({
124
+ ]), rt = i(() => ({
124
125
  getSelectionLabel: c.getSelectionLabel,
125
- actionLabels: q
126
- }), [c.getSelectionLabel, q]), nt = i(() => ({
126
+ actionLabels: K
127
+ }), [c.getSelectionLabel, K]), it = i(() => ({
127
128
  cancelLabel: c.deleteCancelLabel,
128
129
  confirmLabel: c.deleteConfirmLabel,
129
130
  closeLabel: c.deleteCloseLabel,
@@ -135,7 +136,7 @@ var me = (e, t) => {
135
136
  c.deleteCloseLabel,
136
137
  c.deleteConfirmTitle,
137
138
  c.deleteConfirmBody
138
- ]), rt = i(() => {
139
+ ]), at = i(() => {
139
140
  let e;
140
141
  for (let t of f) {
141
142
  let n = ee(t);
@@ -143,20 +144,20 @@ var me = (e, t) => {
143
144
  else if (e !== n) return;
144
145
  }
145
146
  return e;
146
- }, [f]), Y = H != null && C.has(H), X = Y ? H : rt, it = i(() => ({
147
+ }, [f]), J = V != null && C.has(V), Y = J ? V : at, ot = i(() => ({
147
148
  copyLabel: c.copyLabel,
148
149
  moveLabel: c.moveLabel,
149
150
  addFolderLabel: c.addFolderLabel,
150
151
  hiddenFilesSwitcherLabel: c.hiddenFilesSwitcherLabel,
151
152
  getCopyHeader: c.getCopyHeader,
152
153
  getMoveHeader: c.getMoveHeader,
153
- disabledPathTooltip: Y ? c.folderPickerLoadingTooltip : c.moveSourceDisabledTooltip,
154
+ disabledPathTooltip: J ? c.folderPickerLoadingTooltip : c.moveSourceDisabledTooltip,
154
155
  emptyStateTitle: c.folderPickerEmptyStateTitle,
155
156
  emptyStateDescription: c.folderPickerEmptyStateDescription,
156
- sourceFolder: X,
157
- destinationFolderPath: H,
158
- setDestinationFolderPath: Xe,
159
- filesLoading: Y
157
+ sourceFolder: Y,
158
+ destinationFolderPath: V,
159
+ setDestinationFolderPath: Qe,
160
+ filesLoading: J
160
161
  }), [
161
162
  c.copyLabel,
162
163
  c.moveLabel,
@@ -168,15 +169,15 @@ var me = (e, t) => {
168
169
  c.moveSourceDisabledTooltip,
169
170
  c.folderPickerEmptyStateTitle,
170
171
  c.folderPickerEmptyStateDescription,
172
+ J,
171
173
  Y,
172
- X,
173
- H
174
- ]), at = se(() => {
175
- E(), D();
176
- }, [E, D]), Z = i(() => ne(T?.files ?? []), [T]), ot = i(() => ({
177
- fileMetadata: R,
178
- loading: z,
179
- clearMetadata: B,
174
+ V
175
+ ]), st = ce(() => {
176
+ T(), E();
177
+ }, [T, E]), X = i(() => re(w?.files ?? []), [w]), ct = i(() => ({
178
+ fileMetadata: L,
179
+ loading: R,
180
+ clearMetadata: z,
180
181
  header: c.metadataHeader,
181
182
  nameLabel: c.metadataNameLabel,
182
183
  pathLabel: c.metadataPathLabel,
@@ -184,130 +185,130 @@ var me = (e, t) => {
184
185
  sizeLabel: c.metadataSizeLabel,
185
186
  authorLabel: c.metadataAuthorLabel
186
187
  }), [
188
+ L,
187
189
  R,
188
190
  z,
189
- B,
190
191
  c.metadataHeader,
191
192
  c.metadataNameLabel,
192
193
  c.metadataPathLabel,
193
194
  c.metadataModifiedDateLabel,
194
195
  c.metadataSizeLabel,
195
196
  c.metadataAuthorLabel
196
- ]), Q = me({
197
- isDownloading: O,
198
- isDeleting: Ie,
199
- isRenaming: ze,
200
- isMoving: k,
201
- isUnsharing: Ge,
202
- isRemovingAccess: qe
203
- }, c), $ = i(() => y != null && !v ? {
197
+ ]), Z = he({
198
+ isDownloading: Ie,
199
+ isDeleting: Re,
200
+ isRenaming: Ve,
201
+ isMoving: O,
202
+ isUnsharing: qe,
203
+ isRemovingAccess: Ye
204
+ }, c), Q = p === n.Standalone ? "bg-layer-base" : "bg-layer-sunken", $ = i(() => y != null && !v ? {
204
205
  title: c.searchEmptyStateTitle,
205
206
  description: ""
206
207
  } : _.split("/").filter(Boolean).length > 1 ? {
207
208
  title: c.folderEmptyStateTitle,
208
209
  description: ""
209
- } : c.emptyStateByTab[V], [
210
+ } : c.emptyStateByTab[B], [
210
211
  y,
211
212
  v,
212
213
  _,
213
214
  c.searchEmptyStateTitle,
214
215
  c.folderEmptyStateTitle,
215
216
  c.emptyStateByTab,
216
- V
217
+ B
217
218
  ]);
218
- return /* @__PURE__ */ o(ue, { children: [
219
- Ce == null ? /* @__PURE__ */ o("div", {
220
- className: "relative flex min-h-0 w-full grow overflow-auto bg-layer-sunken",
221
- children: [/* @__PURE__ */ a(de, {
222
- className: "min-h-0 w-full grow bg-layer-sunken",
223
- contentClassName: p === t.Attach ? "px-0 pb-0" : void 0,
224
- gridClassName: p === t.Attach ? "size-full gap-6 px-6 py-4" : "size-full",
225
- items: xe,
219
+ return /* @__PURE__ */ o(de, { children: [
220
+ we == null ? /* @__PURE__ */ o("div", {
221
+ className: e("relative flex min-h-0 w-full grow overflow-auto", Q),
222
+ children: [/* @__PURE__ */ a(fe, {
223
+ className: e("min-h-0 w-full grow", Q),
224
+ contentClassName: p === n.Attach ? "px-0 pb-0" : void 0,
225
+ gridClassName: p === n.Attach ? "size-full gap-6 px-6 py-4" : "size-full",
226
+ items: Se,
226
227
  path: _,
227
- onPathChange: we,
228
- onGridApiChange: Ze,
229
- filesLoading: Se,
230
- allowedFileTypes: ve,
228
+ onPathChange: Te,
229
+ onGridApiChange: $e,
230
+ filesLoading: Ce,
231
+ allowedFileTypes: ye,
231
232
  maxSelectableFileSize: m,
232
233
  maxFileSize: m,
233
234
  uploadValidationMessages: h == null ? void 0 : { oversizedFiles: h },
234
235
  selectedPaths: f,
235
- onSelectedPathsChange: he,
236
+ onSelectedPathsChange: ge,
236
237
  navigationPanelOptions: {
237
238
  searchable: !0,
238
- placeholder: c.searchPlaceholderByTab?.[V]
239
+ placeholder: c.searchPlaceholderByTab?.[B]
239
240
  },
240
241
  hideSearchPathItemName: !0,
241
- onSearchFiles: Ee,
242
+ onSearchFiles: De,
242
243
  searchInProgress: v,
243
244
  searchResults: y ?? [],
244
- clearSearchResults: De,
245
- gridOptions: Qe,
246
- treeOptions: $e,
247
- onFolderPopupPathChange: Oe,
248
- toolbarOptions: et,
249
- bulkActionsToolbarOptions: tt,
250
- autoSelectUploadedItems: _e,
245
+ clearSearchResults: Oe,
246
+ gridOptions: et,
247
+ treeOptions: tt,
248
+ onFolderPopupPathChange: ke,
249
+ toolbarOptions: nt,
250
+ bulkActionsToolbarOptions: rt,
251
+ autoSelectUploadedItems: ve,
251
252
  emptyStateTitle: $.title,
252
253
  emptyStateDescription: $.description,
253
- uploadEnabled: A,
254
- sharedWithMeIds: Ue,
255
- sharedByMePaths: L,
256
- onUnshareFiles: We,
257
- onRemoveFilesAccess: Ke,
258
- fileMetadataPopupOptions: ot,
259
- onGetInfo: Je,
260
- onUploadFiles: ke,
261
- onUploadArchive: w,
262
- onValidateUpload: Ae,
263
- onCreateFolder: Me,
264
- onCreateFolderValidate: Ne,
265
- onDownloadFiles: Pe,
266
- onDeleteFiles: Fe,
267
- onMoveToFiles: Le,
268
- onCopyFiles: Be,
269
- onRenameValidate: Re,
254
+ uploadEnabled: k,
255
+ sharedWithMeIds: Ge,
256
+ sharedByMePaths: I,
257
+ onUnshareFiles: Ke,
258
+ onRemoveFilesAccess: Je,
259
+ fileMetadataPopupOptions: ct,
260
+ onGetInfo: Xe,
261
+ onUploadFiles: Ae,
262
+ onUploadArchive: je,
263
+ onValidateUpload: Me,
264
+ onCreateFolder: Pe,
265
+ onCreateFolderValidate: Fe,
266
+ onDownloadFiles: D,
267
+ onDeleteFiles: Le,
268
+ onMoveToFiles: ze,
269
+ onCopyFiles: He,
270
+ onRenameValidate: Be,
270
271
  renameValidationMessages: c.renameValidationMessages,
271
- isRenameFileAvailable: A,
272
- deleteConfirmationOptions: nt,
272
+ isRenameFileAvailable: k,
273
+ deleteConfirmationOptions: it,
273
274
  conflictResolutionPopupOptions: c.conflictResolutionPopupOptions,
274
- destinationFolderPopupOptions: it,
275
- forbiddenSymbolsRegExp: re,
275
+ destinationFolderPopupOptions: ot,
276
+ forbiddenSymbolsRegExp: ie,
276
277
  forbiddenSymbolsTooltip: c.forbiddenSymbolsTooltip,
277
- getDisabledTooltip: ye,
278
- unsupportedFileTypeTooltip: be
279
- }), Q != null && /* @__PURE__ */ a("div", {
278
+ getDisabledTooltip: be,
279
+ unsupportedFileTypeTooltip: xe
280
+ }), Z != null && /* @__PURE__ */ a("div", {
280
281
  "aria-live": "polite",
281
282
  className: "absolute inset-0 z-[52] flex items-center justify-center bg-backdrop desktop:p-4",
282
- children: /* @__PURE__ */ a(ae, {
283
+ children: /* @__PURE__ */ a(oe, {
283
284
  size: 32,
284
285
  fullWidth: !1,
285
- ariaLabel: Q
286
+ ariaLabel: Z
286
287
  })
287
288
  })]
288
289
  }) : /* @__PURE__ */ o("div", {
289
290
  role: "alert",
290
291
  className: "flex flex-col items-center gap-4 p-6",
291
- children: [/* @__PURE__ */ a("p", { children: c.errorMessage }), /* @__PURE__ */ a(ie, {
292
+ children: [/* @__PURE__ */ a("p", { children: c.errorMessage }), /* @__PURE__ */ a(ae, {
292
293
  label: c.retryLabel,
293
- onClick: Te
294
+ onClick: Ee
294
295
  })]
295
296
  }),
296
297
  /* @__PURE__ */ a("div", {
297
298
  className: "fixed bottom-4 end-4 z-[70]",
298
- children: /* @__PURE__ */ a(oe, {
299
- title: c.getUploadQueueTitle(Z.length),
300
- items: Z,
301
- onClose: at,
302
- onCancelItem: je,
299
+ children: /* @__PURE__ */ a(se, {
300
+ title: c.getUploadQueueTitle(X.length),
301
+ items: X,
302
+ onClose: st,
303
+ onCancelItem: Ne,
303
304
  labels: c.uploadQueueLabels
304
305
  })
305
306
  }),
306
- (Ve || k) && /* @__PURE__ */ a(te, {
307
- title: k ? c.operationLoaderMoveTitle : c.operationLoaderCopyTitle,
308
- text: k ? c.movingLabel : c.copyingLabel,
307
+ (Ue || O) && /* @__PURE__ */ a(ne, {
308
+ title: O ? c.operationLoaderMoveTitle : c.operationLoaderCopyTitle,
309
+ text: O ? c.movingLabel : c.copyingLabel,
309
310
  cancelLabel: c.operationLoaderCancelLabel,
310
- onCancel: He
311
+ onCancel: We
311
312
  })
312
313
  ] });
313
314
  };
@@ -0,0 +1,30 @@
1
+ import { useCallback as e, useEffect as t, useRef as n, useState as r } from "react";
2
+ //#region src/hooks/useUnsavedChangesGuard.ts
3
+ var i = (i) => {
4
+ let [a, o] = r(!1), s = n(null);
5
+ return t(() => {
6
+ if (!i) return;
7
+ let e = (e) => {
8
+ e.preventDefault();
9
+ };
10
+ return window.addEventListener("beforeunload", e), () => window.removeEventListener("beforeunload", e);
11
+ }, [i]), {
12
+ guard: e((e) => {
13
+ if (!i) {
14
+ e();
15
+ return;
16
+ }
17
+ s.current = e, o(!0);
18
+ }, [i]),
19
+ isConfirmOpen: a,
20
+ confirm: e(() => {
21
+ let e = s.current;
22
+ s.current = null, o(!1), e?.();
23
+ }, []),
24
+ dismiss: e(() => {
25
+ s.current = null, o(!1);
26
+ }, [])
27
+ };
28
+ };
29
+ //#endregion
30
+ export { i as useUnsavedChangesGuard };
package/index.css CHANGED
@@ -1,2 +1,2 @@
1
1
  ._message_1iqfi_1{color:var(--cfm-message-text,var(--text-primary,#161b2d))}._consequences_1iqfi_5{color:var(--cfm-consequence-text,var(--text-secondary,#57647a))}._footer_1iqfi_9{border-block-start:1px solid var(--cfm-footer-border,var(--stroke-tertiary,#e0e6f0))}._info_vyo7p_1{--rs-bg:var(--bg-info,#d6e2f9)}._danger_vyo7p_5{--rs-bg:var(--bg-control-error-alpha-active,#f7646433);--rs-border:var(--stroke-error-alpha,#ae2f2f73)}._agentIconBadge_1ger8_1{background:var(--di-icon-bg,var(--bg-layer-sunken,#eef1f7))}._title_11w3i_1{color:var(--ih-title-color,var(--text-primary,#161b2d))}._count_11w3i_5{color:var(--ih-count-color,var(--text-secondary,#57647a))}._row_1csuq_1{border-color:var(--rs-border,var(--stroke-tertiary,#e0e6f0));background:var(--rs-bg,var(--bg-layer-sunken,#eef1f7))}._versionTag_1csuq_7{border-color:var(--rs-version-tag-border,var(--stroke-tertiary,#e0e6f0))!important;background:var(--rs-version-tag-bg,var(--bg-control-accent-alpha,#2764d90f))!important;color:var(--rs-version-tag-text,var(--text-accent,#1d4ed8))!important}._typeLabel_17nhs_1{color:var(--cir-type-label-text,var(--text-secondary,#57647a))}._container_sqe5k_1{background:var(--cm-code-block-bg,var(--bg-layer-raised,#fcfcfc));border-color:var(--cm-code-block-border,var(--stroke-secondary,#d1dbea))}._containerLight_sqe5k_6{background:var(--cm-code-block-bg,var(--bg-layer-raised,#fcfcfc))}._header_sqe5k_10{background:var(--cm-code-block-header-bg,var(--bg-layer-raised,#fcfcfc));border-color:var(--cm-code-block-border,var(--stroke-secondary,#d1dbea))}._languageLabel_sqe5k_15{color:var(--cm-code-block-language,var(--text-secondary,#57647a))}._copiedIcon_sqe5k_19{color:var(--cm-code-block-copied,var(--text-success,#007274))}._scrollContainer_sqe5k_23 .token.table,._scrollContainer_sqe5k_23 .token.table-header-row,._scrollContainer_sqe5k_23 .token.table-line,._scrollContainer_sqe5k_23 .token.table-data-rows{display:inline}._scrollContainer_sqe5k_23{scrollbar-width:thin;scrollbar-color:var(--cm-code-block-scrollbar,var(--stroke-primary,#57647a)) transparent}._scrollContainer_sqe5k_23::-webkit-scrollbar{width:4px;height:4px}._scrollContainer_sqe5k_23::-webkit-scrollbar-track{background-color:#0000}._scrollContainer_sqe5k_23::-webkit-scrollbar-thumb{background-color:var(--cm-code-block-scrollbar,var(--stroke-primary,#57647a));border-radius:4px}@keyframes _cm-shimmer_1g29w_1{0%{background-position:200%}to{background-position:-200%}}._thinking_1g29w_9{background:linear-gradient(270deg, var(--cm-thinking-inverted,var(--text-primary,#161b2d)) 0%, var(--cm-thinking-secondary,var(--text-secondary,#57647a)) 40%, var(--cm-thinking-inverted,var(--text-primary,#161b2d)) 80%);color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:2s linear infinite _cm-shimmer_1g29w_1}._h6_1g29w_18{color:var(--cm-h6-text,var(--text-secondary,#57647a))}._codeInline_1g29w_22{background:var(--cm-code-inline-bg,var(--bg-layer-raised,#fcfcfc));color:var(--cm-code-inline-text,var(--text-primary,#161b2d))}._secondaryBorder_1g29w_27{border-color:var(--cm-markdown-border,var(--stroke-secondary,#d1dbea))}._blockquote_1g29w_31{border-color:var(--cm-blockquote-border,var(--stroke-primary,#57647a));color:var(--cm-blockquote-text,var(--text-secondary,#57647a))}._link_1g29w_36{color:var(--cm-link-text,var(--text-accent,#1d4ed8))}._link_1g29w_36:focus-visible{outline-color:var(--cm-link-focus,var(--stroke-focus-black,#161b2d))}._scrollContainer_1f433_1{scrollbar-width:thin;scrollbar-color:var(--cm-math-scrollbar,var(--stroke-primary,#57647a)) transparent}._scrollContainer_1f433_1::-webkit-scrollbar{height:4px}._scrollContainer_1f433_1::-webkit-scrollbar-track{background-color:#0000}._scrollContainer_1f433_1::-webkit-scrollbar-thumb{background-color:var(--cm-math-scrollbar,var(--stroke-primary,#57647a));border-radius:4px}._scrollContainer_1f433_1:focus-visible{outline:1px solid var(--cm-math-focus,var(--stroke-focus-black,#161b2d));outline-offset:2px}._mathContent_1f433_24{width:max-content;min-width:100%;display:block}._tableContainer_1fwnj_1{background:var(--cm-code-block-bg,var(--bg-layer-raised,#fcfcfc));border-color:var(--cm-markdown-border,var(--cm-code-block-border,var(--stroke-secondary,#d1dbea)))}._tableContainerLight_1fwnj_6{background:var(--cm-code-block-bg,var(--bg-layer-base,#f5f7fa))}._copiedIcon_1fwnj_10{color:var(--cm-code-block-copied,var(--text-success,#007274))}._scrollContainer_1fwnj_14{scrollbar-width:thin;scrollbar-color:var(--cm-table-scrollbar,var(--stroke-primary,#57647a)) transparent}._scrollContainer_1fwnj_14::-webkit-scrollbar{width:4px;height:4px}._scrollContainer_1fwnj_14::-webkit-scrollbar-track{background-color:#0000}._scrollContainer_1fwnj_14::-webkit-scrollbar-thumb{background-color:var(--cm-table-scrollbar,var(--stroke-primary,#57647a));border-radius:4px}._tableHeaderCell_1fwnj_30{background:var(--cm-code-block-header-bg,var(--bg-layer-raised,#fcfcfc));height:3rem;color:var(--cm-table-header-text,var(--text-secondary,#57647a))}._sectionRow_1fwnj_37 td{background:var(--cm-code-block-header-bg,var(--bg-layer-raised,#fcfcfc))}._rowDivider_1fwnj_41{border-block-end:.5px solid var(--cm-table-row-divider,var(--stroke-tertiary,#e0e6f0))}tbody ._row_1fwnj_41:hover td{background:var(--cm-table-row-hover-bg,var(--bg-control-accent-alpha-hover,#2764d924))}._tableScrollFadeEnd_1fwnj_51{-webkit-mask-image:linear-gradient(to right, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%);-webkit-mask-image:linear-gradient(to right, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%);mask-image:linear-gradient(to right, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%)}[dir=rtl] ._tableScrollFadeEnd_1fwnj_51{-webkit-mask-image:linear-gradient(to left, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%);-webkit-mask-image:linear-gradient(to left, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%);mask-image:linear-gradient(to left, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%)}._tableScrollFadeStart_1fwnj_59{-webkit-mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%);-webkit-mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%);mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%)}[dir=rtl] ._tableScrollFadeStart_1fwnj_59{-webkit-mask-image:linear-gradient(to left, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%);-webkit-mask-image:linear-gradient(to left, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%);mask-image:linear-gradient(to left, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%)}._tableScrollFadeBoth_1fwnj_67{-webkit-mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%);-webkit-mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%);mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%)}._tableHeader_1qvg8_1{background:var(--cm-code-block-header-bg,var(--bg-layer-raised,#fcfcfc));border-color:var(--cm-markdown-border,var(--cm-code-block-border,var(--stroke-secondary,#d1dbea)))}._label_12p89_1{color:var(--pes-label-color,var(--text-primary,#161b2d))}
2
- /*$vite$:1*/.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-4{bottom:1rem}.end-0{inset-inline-end:0}.end-2{inset-inline-end:.5rem}.end-4{inset-inline-end:1rem}.top-0{top:0}.top-2{top:.5rem}.top-\[-6px\]{top:-6px}.z-10{z-index:10}.z-\[2\]{z-index:2}.z-\[52\]{z-index:52}.z-\[70\]{z-index:70}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.my-4{margin-bottom:1rem;margin-top:1rem}.my-5{margin-bottom:1.25rem;margin-top:1.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.me-1\.5{margin-inline-end:.375rem}.ms-auto{margin-inline-start:auto}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-full{height:100%;width:100%}.\!h-\[min\(800px\2c 100dvh\)\]{height:min(800px,100dvh)!important}.\!h-fit{height:-moz-fit-content!important;height:fit-content!important}.h-0{height:0}.h-\[24px\]{height:24px}.h-full{height:100%}.\!max-h-full{max-height:100%!important}.max-h-\[344px\]{max-height:344px}.max-h-\[50vh\]{max-height:50vh}.max-h-\[60vh\]{max-height:60vh}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.\!w-\[400px\]{width:400px!important}.w-\[360px\]{width:360px}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-96{max-width:24rem}.max-w-\[30\%\]{max-width:30%}.max-w-\[45\%\]{max-width:45%}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:4px}.rounded-\[14px\]{border-radius:14px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-s-2{border-inline-start-width:2px}.border-t{border-top-width:1px}.border-tertiary{border-color:var(--stroke-tertiary,#e0e6f0)}.\!bg-layer-sunken{background-color:var(--bg-layer-sunken,#eef1f7)!important}.bg-backdrop{background-color:var(--bg-backdrop,#161b2d4d)}.bg-layer-raised{background-color:var(--bg-layer-raised,#fcfcfc)}.bg-layer-sunken{background-color:var(--bg-layer-sunken,#eef1f7)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-\[7px\]{padding-bottom:7px;padding-top:7px}.pb-0{padding-bottom:0}.ps-4{padding-inline-start:1rem}.ps-5{padding-inline-start:1.25rem}.ps-\[2em\]{padding-inline-start:2em}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.text-center{text-align:center}.text-start{text-align:start}.text-end{text-align:end}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.uppercase{text-transform:uppercase}.italic{font-style:italic}.text-primary{color:var(--text-primary,#161b2d)}.text-secondary{color:var(--text-secondary,#57647a)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-chat-button{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-chat-button{--tw-shadow:0 2px 12px 0 var(--shadow-xs-1,#2764d933),0 2px 6px 0 var(--shadow-xs-2,#161b2d08);--tw-shadow-colored:0 2px 12px 0 var(--tw-shadow-color),0 2px 6px 0 var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 8px 10px 0 var(--shadow-sm,#2764d914);--tw-shadow-colored:0 8px 10px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xs{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 4px 0 var(--shadow-xs-1,#2764d933),0 1px 2px 0 var(--shadow-xs-2,#161b2d08);--tw-shadow-colored:0 1px 4px 0 var(--tw-shadow-color),0 1px 2px 0 var(--tw-shadow-color)}.outline{outline-style:solid;outline-width:1px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.\[overflow\:clip\]{overflow:clip}.\[text-wrap\:balance\]{text-wrap:balance}.\[text-wrap\:pretty\]{text-wrap:pretty}.first\:mt-0:first-child{margin-top:0}.last\:mb-0:last-child{margin-bottom:0}.focus-within\:opacity-100:focus-within{opacity:1}.hover\:decoration-current:hover{text-decoration-color:currentColor}.focus-visible\:outline:focus-visible{outline-style:solid;outline-width:1px}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.group\/table:hover .group-hover\/table\:opacity-100{opacity:1}@media (min-width:1280px){.desktop\:p-4{padding:1rem}}.rtl\:flex-row-reverse:where([dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.rtl\:justify-start:where([dir=rtl],[dir=rtl] *){justify-content:flex-start}.\[\&_\.w-md-editor-bar\]\:hidden .w-md-editor-bar{display:none}.\[\&_\.w-md-editor\:not\(\.w-md-editor-fullscreen\)\]\:\!h-\[var\(--resizable-field-max-height\2c 70vh\)\] .w-md-editor:not(.w-md-editor-fullscreen){height:var(--resizable-field-max-height,70vh)!important}.\[\&_\.w-md-editor\:not\(\.w-md-editor-fullscreen\)\]\:max-h-\[var\(--resizable-field-max-height\2c 70vh\)\] .w-md-editor:not(.w-md-editor-fullscreen){max-height:var(--resizable-field-max-height,70vh)}.\[\&_\.wmde-markdown\>ol\]\:list-decimal .wmde-markdown>ol{list-style-type:decimal}.\[\&_\.wmde-markdown_ul\]\:list-disc .wmde-markdown ul{list-style-type:disc}.\[\&_\.wmde-markdown_ul_ul\]\:list-\[circle\] .wmde-markdown ul ul{list-style-type:circle}.\[\&_\.wmde-markdown_ul_ul_ul\]\:list-\[square\] .wmde-markdown ul ul ul{list-style-type:square}
2
+ /*$vite$:1*/.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-4{bottom:1rem}.end-0{inset-inline-end:0}.end-2{inset-inline-end:.5rem}.end-4{inset-inline-end:1rem}.top-0{top:0}.top-2{top:.5rem}.top-\[-6px\]{top:-6px}.z-10{z-index:10}.z-\[2\]{z-index:2}.z-\[52\]{z-index:52}.z-\[70\]{z-index:70}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.my-4{margin-bottom:1rem;margin-top:1rem}.my-5{margin-bottom:1.25rem;margin-top:1.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.me-1\.5{margin-inline-end:.375rem}.ms-auto{margin-inline-start:auto}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-full{height:100%;width:100%}.\!h-\[min\(800px\2c 100dvh\)\]{height:min(800px,100dvh)!important}.\!h-fit{height:-moz-fit-content!important;height:fit-content!important}.h-0{height:0}.h-\[24px\]{height:24px}.h-full{height:100%}.\!max-h-full{max-height:100%!important}.max-h-\[344px\]{max-height:344px}.max-h-\[50vh\]{max-height:50vh}.max-h-\[60vh\]{max-height:60vh}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.\!w-\[400px\]{width:400px!important}.w-\[360px\]{width:360px}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-96{max-width:24rem}.max-w-\[30\%\]{max-width:30%}.max-w-\[45\%\]{max-width:45%}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:4px}.rounded-\[14px\]{border-radius:14px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-s-2{border-inline-start-width:2px}.border-t{border-top-width:1px}.border-tertiary{border-color:var(--stroke-tertiary,#e0e6f0)}.\!bg-layer-sunken{background-color:var(--bg-layer-sunken,#eef1f7)!important}.bg-backdrop{background-color:var(--bg-backdrop,#161b2d4d)}.bg-layer-base{background-color:var(--bg-layer-base,#f5f7fa)}.bg-layer-raised{background-color:var(--bg-layer-raised,#fcfcfc)}.bg-layer-sunken{background-color:var(--bg-layer-sunken,#eef1f7)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-\[7px\]{padding-bottom:7px;padding-top:7px}.pb-0{padding-bottom:0}.ps-4{padding-inline-start:1rem}.ps-5{padding-inline-start:1.25rem}.ps-\[2em\]{padding-inline-start:2em}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.text-center{text-align:center}.text-start{text-align:start}.text-end{text-align:end}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.uppercase{text-transform:uppercase}.italic{font-style:italic}.text-primary{color:var(--text-primary,#161b2d)}.text-secondary{color:var(--text-secondary,#57647a)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-chat-button{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-chat-button{--tw-shadow:0 2px 12px 0 var(--shadow-xs-1,#2764d933),0 2px 6px 0 var(--shadow-xs-2,#161b2d08);--tw-shadow-colored:0 2px 12px 0 var(--tw-shadow-color),0 2px 6px 0 var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 8px 10px 0 var(--shadow-sm,#2764d914);--tw-shadow-colored:0 8px 10px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xs{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 4px 0 var(--shadow-xs-1,#2764d933),0 1px 2px 0 var(--shadow-xs-2,#161b2d08);--tw-shadow-colored:0 1px 4px 0 var(--tw-shadow-color),0 1px 2px 0 var(--tw-shadow-color)}.outline{outline-style:solid;outline-width:1px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.\[overflow\:clip\]{overflow:clip}.\[text-wrap\:balance\]{text-wrap:balance}.\[text-wrap\:pretty\]{text-wrap:pretty}.first\:mt-0:first-child{margin-top:0}.last\:mb-0:last-child{margin-bottom:0}.focus-within\:opacity-100:focus-within{opacity:1}.hover\:decoration-current:hover{text-decoration-color:currentColor}.focus-visible\:outline:focus-visible{outline-style:solid;outline-width:1px}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.group\/table:hover .group-hover\/table\:opacity-100{opacity:1}@media (min-width:1280px){.desktop\:p-4{padding:1rem}}.rtl\:flex-row-reverse:where([dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.rtl\:justify-start:where([dir=rtl],[dir=rtl] *){justify-content:flex-start}.\[\&_\.w-md-editor-bar\]\:hidden .w-md-editor-bar{display:none}.\[\&_\.w-md-editor\:not\(\.w-md-editor-fullscreen\)\]\:\!h-\[var\(--resizable-field-max-height\2c 70vh\)\] .w-md-editor:not(.w-md-editor-fullscreen){height:var(--resizable-field-max-height,70vh)!important}.\[\&_\.w-md-editor\:not\(\.w-md-editor-fullscreen\)\]\:max-h-\[var\(--resizable-field-max-height\2c 70vh\)\] .w-md-editor:not(.w-md-editor-fullscreen){max-height:var(--resizable-field-max-height,70vh)}.\[\&_\.wmde-markdown\>ol\]\:list-decimal .wmde-markdown>ol{list-style-type:decimal}.\[\&_\.wmde-markdown_ul\]\:list-disc .wmde-markdown ul{list-style-type:disc}.\[\&_\.wmde-markdown_ul_ul\]\:list-\[circle\] .wmde-markdown ul ul{list-style-type:circle}.\[\&_\.wmde-markdown_ul_ul_ul\]\:list-\[square\] .wmde-markdown ul ul ul{list-style-type:square}
package/index.d.ts CHANGED
@@ -452,7 +452,7 @@ export declare interface ConfirmationViewColors {
452
452
 
453
453
  /** Props for `ConfirmationView`. */
454
454
  export declare interface ConfirmationViewProps {
455
- /** Entity the confirmation is about, rendered as an identity card above the copy. Ignored when `identity` is set. */
455
+ /** Entity the confirmation is about, rendered as an identity card above the copy. Ignored when `identity` is set; with neither, no card is rendered. */
456
456
  item?: EntityHeaderItem;
457
457
  /**
458
458
  * Identity card rendered in place of the default one, for a resource that is
@@ -2900,6 +2900,18 @@ export declare const truncateToUtf8Bytes: (str: string, maxBytes: number) => str
2900
2900
  /** Decodes a base64 string into raw bytes, or `undefined` if the string is not valid base64. */
2901
2901
  export declare const tryBase64ToBytes: (base64: string) => Uint8Array | undefined;
2902
2902
 
2903
+ /** Result of {@link useUnsavedChangesGuard}. */
2904
+ export declare interface UnsavedChangesGuardResult {
2905
+ /** Runs `action` immediately when nothing is dirty; otherwise defers it and opens the confirmation. */
2906
+ guard: (action: () => void) => void;
2907
+ /** Whether the discard confirmation should be shown. */
2908
+ isConfirmOpen: boolean;
2909
+ /** Closes the confirmation and runs the deferred action. */
2910
+ confirm: () => void;
2911
+ /** Closes the confirmation and drops the deferred action. */
2912
+ dismiss: () => void;
2913
+ }
2914
+
2903
2915
  /** Result of successfully uploading an {@link Attachment}. */
2904
2916
  export declare interface UploadedAttachmentResult {
2905
2917
  /** The DIAL Core file URL the attachment was uploaded to. */
@@ -3039,4 +3051,7 @@ export declare interface UseTextRefinementOptions {
3039
3051
  resetKey?: unknown;
3040
3052
  }
3041
3053
 
3054
+ /** Defers leaving a form with unsaved changes until the user confirms, and asks the browser to warn before the page unloads. */
3055
+ export declare const useUnsavedChangesGuard: (isDirty: boolean) => UnsavedChangesGuardResult;
3056
+
3042
3057
  export { }
package/index.js CHANGED
@@ -65,10 +65,11 @@ import { MarkdownWithPlaceholders as _t } from "./components/MarkdownWithPlaceho
65
65
  import { useCollapsedText as vt } from "./hooks/useCollapsedText.js";
66
66
  import { useAvailableHeightCap as yt } from "./hooks/useAvailableHeightCap.js";
67
67
  import { useIsMobile as bt } from "./hooks/useIsMobile.js";
68
- import { DialFileManagerActionProfile as xt, DialFileManagerVariant as St } from "./file-manager/file-manager-variant.js";
69
- import { getParentFolderPath as Ct, isHiddenPath as wt } from "./file-manager/path.js";
70
- import { FileUploadStatus as Tt, isUploadInProgress as Et } from "./file-manager/upload-batch.js";
71
- import { useGridEditingScroll as Dt } from "./file-manager/useGridEditingScroll/useGridEditingScroll.js";
72
- import { OperationLoaderModal as Ot } from "./file-manager/OperationLoaderModal/OperationLoaderModal.js";
73
- import { isSkillSelectionUnsupported as kt } from "./utils/is-skill-selection-unsupported.js";
74
- export { p as AttachmentErrorReason, m as AttachmentType, ye as BASE_LG_ICON_PROPS, be as BASE_MD_ICON_PROPS, o as BackgroundGenerationStatus, nt as CHAT_SHARED_CLASS, pt as COMPACT_MARKDOWN_CLASS_NAMES, h as CatalogEntityType, v as CodeBlockTheme, Ze as ConfirmationDialog, Xe as ConfirmationFooter, qe as ConfirmationIdentityCard, Je as ConfirmationIdentityRow, Ye as ConfirmationView, e as ConversationTransferErrorCode, t as ConversationTransferJobStatus, n as ConversationTransferSubjectKind, r as ConversationTransferUnitKind, i as ConversationTransferWarningCode, Le as CopyButton, Re as CopyIconButton, mt as DEFAULT_MARKDOWN_CLASS_NAMES, ot as DEFAULT_MARKDOWN_TABLE_DOWNLOAD_FILENAME, je as DESKTOP_BREAKPOINT_PX, Me as DESKTOP_MEDIA_QUERY, Ie as DeploymentIcon, xt as DialFileManagerActionProfile, St as DialFileManagerVariant, I as ENTITY_DESCRIPTION_MAX_LENGTH, L as ENTITY_INSTRUCTIONS_MAX_LENGTH, R as ENTITY_NAME_MAX_LENGTH, le as ENTITY_TYPE_BG_COLOR, ue as ENTITY_TYPE_COLOR, Ge as EntityHeader, Ue as EntityTypeLabel, We as FeaturedChip, g as FileExtension, Tt as FileUploadStatus, a as FilterTab, xe as HIDDEN_FILE, Fe as InitialsAvatar, He as ItemHeader, we as MARKDOWN_EDITOR_FILL_HEIGHT_CLASS_NAME, Te as MARKDOWN_EDITOR_MAX_HEIGHT_CLASS_NAME, Oe as MARKDOWN_EDITOR_PREVIEW_LIST_CLASS_NAME, st as MARKDOWN_TABLE_CSV_MIME_TYPE, gt as MDMessageViewer, _ as MIMEType, y as MIME_TYPE_ALIASES, b as MIME_TYPE_AUDIO_PREFIX, x as MIME_TYPE_EXT_MAP, S as MIME_TYPE_WILDCARD, Ne as MOBILE_MAX_WIDTH_PX, Pe as MOBILE_MEDIA_QUERY, at as MarkdownCodeBlock, dt as MarkdownRenderer, ut as MarkdownTable, ct as MarkdownTableCopyFormat, _t as MarkdownWithPlaceholders, s as MessageRating, c as MessageRole, Ot as OperationLoaderModal, j as PROHIBITED_CONVERSATION_NAME_CHARS_RE, de as PROMPT_PARAM_DEFAULT_SEPARATOR, fe as PROMPT_PARAM_PATTERN, pe as PROMPT_VARIABLE_CLASS_NAME, Se as PUBLIC_BUCKET, Ve as PanelEmptyState, ht as PlainTextRenderer, Ee as RESIZABLE_FIELD_MAX_HEIGHT_CSS_VARIABLE, De as RESIZABLE_TEXTAREA_CLASS_NAME, l as RequestStatus, Ke as ResourceSummary, f as ResponseFormat, ke as SELECT_LIST_MAX_HEIGHT_CLASS_NAME, Ae as SELECT_LIST_MAX_HEIGHT_PX, u as StageStatus, d as StatusEvent, Ce as TAG_INPUT_TAG_CLASS_NAME, Qe as TableHeader, tt as TextRefinementField, $e as TextRefinementState, te as base64ToBlob, H as buildCssVars, me as buildPromptParamDefaults, q as copyMarkdownAsRichText, J as copyToClipboard, ft as defaultMarkdownComponents, ne as downloadTextFile, re as ensureDownloadFilename, z as exceedsMaxLength, ze as extractInitials, he as extractPromptParams, Q as formatCost, Z as formatFileSize, X as formatLastUsed, $ as formatPrice, ee as formatUnitPrice, ve as generateUUID, C as getAttachmentTypeFromMime, w as getBaseMimeType, ie as getFileExtensionForLanguage, Ct as getParentFolderPath, M as getUtf8ByteLength, B as hasControlCharacters, T as inferMimeTypeFromPath, O as isAnnotationSelector, K as isAudioTranscriptionSupported, wt as isHiddenPath, kt as isSkillSelectionUnsupported, U as isStatusMessage, ce as isSyntaxHighlightingAllowed, Et as isUploadInProgress, Y as markdownToRichTextHtml, V as mergeClasses, W as messageAttachmentToDisplayAttachment, G as messageAttachmentsToDisplayAttachments, E as normalizeMimeType, k as normalizePersistedHtmlTagAttachmentType, A as normalizeRawAnnotations, Be as pickAvatarColor, ge as rehypePromptVariables, _e as resolvePromptParams, it as restrainedSyntaxTheme, N as sanitizeConversationName, lt as serializeMarkdownTableRows, P as stripTrailingDots, D as stripUrlQueryAndFragment, ae as triggerAnchorDownload, oe as triggerBlobDownload, F as truncateToUtf8Bytes, se as tryBase64ToBytes, yt as useAvailableHeightCap, rt as useCodeCopy, vt as useCollapsedText, Dt as useGridEditingScroll, bt as useIsMobile, et as useTextRefinement };
68
+ import { useUnsavedChangesGuard as xt } from "./hooks/useUnsavedChangesGuard.js";
69
+ import { DialFileManagerActionProfile as St, DialFileManagerVariant as Ct } from "./file-manager/file-manager-variant.js";
70
+ import { getParentFolderPath as wt, isHiddenPath as Tt } from "./file-manager/path.js";
71
+ import { FileUploadStatus as Et, isUploadInProgress as Dt } from "./file-manager/upload-batch.js";
72
+ import { useGridEditingScroll as Ot } from "./file-manager/useGridEditingScroll/useGridEditingScroll.js";
73
+ import { OperationLoaderModal as kt } from "./file-manager/OperationLoaderModal/OperationLoaderModal.js";
74
+ import { isSkillSelectionUnsupported as At } from "./utils/is-skill-selection-unsupported.js";
75
+ export { p as AttachmentErrorReason, m as AttachmentType, ye as BASE_LG_ICON_PROPS, be as BASE_MD_ICON_PROPS, o as BackgroundGenerationStatus, nt as CHAT_SHARED_CLASS, pt as COMPACT_MARKDOWN_CLASS_NAMES, h as CatalogEntityType, v as CodeBlockTheme, Ze as ConfirmationDialog, Xe as ConfirmationFooter, qe as ConfirmationIdentityCard, Je as ConfirmationIdentityRow, Ye as ConfirmationView, e as ConversationTransferErrorCode, t as ConversationTransferJobStatus, n as ConversationTransferSubjectKind, r as ConversationTransferUnitKind, i as ConversationTransferWarningCode, Le as CopyButton, Re as CopyIconButton, mt as DEFAULT_MARKDOWN_CLASS_NAMES, ot as DEFAULT_MARKDOWN_TABLE_DOWNLOAD_FILENAME, je as DESKTOP_BREAKPOINT_PX, Me as DESKTOP_MEDIA_QUERY, Ie as DeploymentIcon, St as DialFileManagerActionProfile, Ct as DialFileManagerVariant, I as ENTITY_DESCRIPTION_MAX_LENGTH, L as ENTITY_INSTRUCTIONS_MAX_LENGTH, R as ENTITY_NAME_MAX_LENGTH, le as ENTITY_TYPE_BG_COLOR, ue as ENTITY_TYPE_COLOR, Ge as EntityHeader, Ue as EntityTypeLabel, We as FeaturedChip, g as FileExtension, Et as FileUploadStatus, a as FilterTab, xe as HIDDEN_FILE, Fe as InitialsAvatar, He as ItemHeader, we as MARKDOWN_EDITOR_FILL_HEIGHT_CLASS_NAME, Te as MARKDOWN_EDITOR_MAX_HEIGHT_CLASS_NAME, Oe as MARKDOWN_EDITOR_PREVIEW_LIST_CLASS_NAME, st as MARKDOWN_TABLE_CSV_MIME_TYPE, gt as MDMessageViewer, _ as MIMEType, y as MIME_TYPE_ALIASES, b as MIME_TYPE_AUDIO_PREFIX, x as MIME_TYPE_EXT_MAP, S as MIME_TYPE_WILDCARD, Ne as MOBILE_MAX_WIDTH_PX, Pe as MOBILE_MEDIA_QUERY, at as MarkdownCodeBlock, dt as MarkdownRenderer, ut as MarkdownTable, ct as MarkdownTableCopyFormat, _t as MarkdownWithPlaceholders, s as MessageRating, c as MessageRole, kt as OperationLoaderModal, j as PROHIBITED_CONVERSATION_NAME_CHARS_RE, de as PROMPT_PARAM_DEFAULT_SEPARATOR, fe as PROMPT_PARAM_PATTERN, pe as PROMPT_VARIABLE_CLASS_NAME, Se as PUBLIC_BUCKET, Ve as PanelEmptyState, ht as PlainTextRenderer, Ee as RESIZABLE_FIELD_MAX_HEIGHT_CSS_VARIABLE, De as RESIZABLE_TEXTAREA_CLASS_NAME, l as RequestStatus, Ke as ResourceSummary, f as ResponseFormat, ke as SELECT_LIST_MAX_HEIGHT_CLASS_NAME, Ae as SELECT_LIST_MAX_HEIGHT_PX, u as StageStatus, d as StatusEvent, Ce as TAG_INPUT_TAG_CLASS_NAME, Qe as TableHeader, tt as TextRefinementField, $e as TextRefinementState, te as base64ToBlob, H as buildCssVars, me as buildPromptParamDefaults, q as copyMarkdownAsRichText, J as copyToClipboard, ft as defaultMarkdownComponents, ne as downloadTextFile, re as ensureDownloadFilename, z as exceedsMaxLength, ze as extractInitials, he as extractPromptParams, Q as formatCost, Z as formatFileSize, X as formatLastUsed, $ as formatPrice, ee as formatUnitPrice, ve as generateUUID, C as getAttachmentTypeFromMime, w as getBaseMimeType, ie as getFileExtensionForLanguage, wt as getParentFolderPath, M as getUtf8ByteLength, B as hasControlCharacters, T as inferMimeTypeFromPath, O as isAnnotationSelector, K as isAudioTranscriptionSupported, Tt as isHiddenPath, At as isSkillSelectionUnsupported, U as isStatusMessage, ce as isSyntaxHighlightingAllowed, Dt as isUploadInProgress, Y as markdownToRichTextHtml, V as mergeClasses, W as messageAttachmentToDisplayAttachment, G as messageAttachmentsToDisplayAttachments, E as normalizeMimeType, k as normalizePersistedHtmlTagAttachmentType, A as normalizeRawAnnotations, Be as pickAvatarColor, ge as rehypePromptVariables, _e as resolvePromptParams, it as restrainedSyntaxTheme, N as sanitizeConversationName, lt as serializeMarkdownTableRows, P as stripTrailingDots, D as stripUrlQueryAndFragment, ae as triggerAnchorDownload, oe as triggerBlobDownload, F as truncateToUtf8Bytes, se as tryBase64ToBytes, yt as useAvailableHeightCap, rt as useCodeCopy, vt as useCollapsedText, Ot as useGridEditingScroll, bt as useIsMobile, et as useTextRefinement, xt as useUnsavedChangesGuard };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-chat-shared",
3
3
  "description": "Shared domain models, utilities, and UI components for AI DIAL Chat libraries",
4
- "version": "1.2.0-dev.282",
4
+ "version": "1.2.0-dev.285",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "sideEffects": [
@@ -48,7 +48,7 @@
48
48
  "@tabler/icons-react": "^3.44.0",
49
49
  "classnames": "2.5.1",
50
50
  "dompurify": "3.4.16",
51
- "katex": "^0.16.22",
51
+ "katex": "^0.19.0",
52
52
  "react-markdown": "^10.1.0",
53
53
  "react-syntax-highlighter": "^16.1.1",
54
54
  "rehype-katex": "^7.0.1",