@epam/ai-dial-chat-shared 1.2.0-dev.170 → 1.2.0-dev.173

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.
@@ -1,84 +1,86 @@
1
1
  import { mergeClasses as e } from "../../utils/merge-class.js";
2
2
  import { TextRefinementState as t } from "../../hooks/useTextRefinement.js";
3
- import { DIAL_ICON_SIZE as n, DIAL_KIT_ICON_STROKE as r, ElementSize as i, ErrorText as a, GhostButton as o, Label as s, Spinner as c } from "@epam/ai-dial-ui-kit";
4
- import { useRef as l } from "react";
5
- import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
6
- import { IconSparkles as p } from "@tabler/icons-react";
3
+ import { CaptionText as n, DIAL_ICON_SIZE as r, DIAL_KIT_ICON_STROKE as i, ElementSize as a, ErrorText as o, GhostButton as s, Label as c, Spinner as l } from "@epam/ai-dial-ui-kit";
4
+ import { useRef as u } from "react";
5
+ import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
6
+ import { IconSparkles as m } from "@tabler/icons-react";
7
7
  //#region src/components/TextRefinementField/TextRefinementField.tsx
8
- var m = ({ isEnabled: m, fieldId: h, label: g, labelClassName: _, required: v, labels: y, refinement: b, disabled: x, feedbackClassName: S, errorClassName: C, children: w }) => {
9
- let T = l(null);
10
- if (!m) return /* @__PURE__ */ d(u, { children: w });
11
- let E = b.state === t.Error, D = {
8
+ var h = ({ isEnabled: h, fieldId: g, label: _, labelClassName: v, required: y, labels: b, refinement: x, disabled: S, feedbackClassName: C, errorClassName: w, children: T }) => {
9
+ let E = u(null);
10
+ if (!h) return /* @__PURE__ */ f(d, { children: T });
11
+ let D = x.state === t.Error, O = {
12
12
  [t.Idle]: "",
13
- [t.Pending]: y?.refinePendingAriaLabel ?? "Refining text",
14
- [t.Success]: y?.refineSuccessAriaLabel ?? "Text refined. Undo is available.",
15
- [t.Restored]: y?.refineUndoAriaLabel ?? "Original text restored.",
16
- [t.Unchanged]: y?.refineUnchangedAriaLabel ?? "No changes were needed.",
13
+ [t.Pending]: b?.refinePendingAriaLabel ?? "Refining text",
14
+ [t.Success]: b?.refineSuccessAriaLabel ?? "Text refined. Undo is available.",
15
+ [t.Restored]: b?.refineUndoAriaLabel ?? "Original text restored.",
16
+ [t.Unchanged]: b?.refineUnchangedAriaLabel ?? "No changes were needed.",
17
17
  [t.Error]: ""
18
- }[b.state];
19
- return /* @__PURE__ */ f("div", {
18
+ }[x.state];
19
+ return /* @__PURE__ */ p("div", {
20
20
  className: "flex min-w-0 flex-col gap-1",
21
21
  role: "group",
22
- "aria-labelledby": h + "-label",
23
- "aria-describedby": E ? h + "-refinement-error" : void 0,
22
+ "aria-labelledby": g + "-label",
23
+ "aria-describedby": D ? g + "-refinement-error" : void 0,
24
24
  children: [
25
- /* @__PURE__ */ f("div", {
25
+ /* @__PURE__ */ p("div", {
26
26
  className: "flex min-w-0 flex-wrap items-center gap-x-3",
27
- children: [/* @__PURE__ */ d(s, {
28
- id: h + "-label",
29
- htmlFor: h,
30
- className: _,
31
- label: g,
32
- required: v
33
- }), /* @__PURE__ */ f("div", {
34
- ref: T,
27
+ children: [/* @__PURE__ */ f(c, {
28
+ id: g + "-label",
29
+ htmlFor: g,
30
+ className: v,
31
+ label: _,
32
+ required: y
33
+ }), /* @__PURE__ */ p("div", {
34
+ ref: E,
35
35
  className: "ms-auto flex min-w-0 flex-wrap items-center",
36
- children: [/* @__PURE__ */ d(o, {
37
- size: i.Small,
38
- label: y?.refineWithAiLabel ?? "Refine with AI",
39
- disabled: x || !b.canRefine,
36
+ children: [/* @__PURE__ */ f(s, {
37
+ size: a.Small,
38
+ label: b?.refineWithAiLabel ?? "Refine with AI",
39
+ disabled: S || !x.canRefine,
40
40
  onClick: () => {
41
- b.refine();
41
+ x.refine();
42
42
  },
43
- iconBefore: b.isPending ? /* @__PURE__ */ d("span", {
43
+ iconBefore: x.isPending ? /* @__PURE__ */ f("span", {
44
44
  "aria-hidden": !0,
45
- children: /* @__PURE__ */ d(c, {
46
- size: n.SM,
45
+ children: /* @__PURE__ */ f(l, {
46
+ size: r.SM,
47
47
  ariaLabel: ""
48
48
  })
49
- }) : /* @__PURE__ */ d(p, {
50
- size: n.SM,
51
- stroke: r,
49
+ }) : /* @__PURE__ */ f(m, {
50
+ size: r.SM,
51
+ stroke: i,
52
52
  "aria-hidden": !0
53
53
  })
54
- }), b.canUndo && /* @__PURE__ */ d(o, {
55
- size: i.Small,
56
- label: y?.refineUndoLabel ?? "Undo",
57
- disabled: x,
54
+ }), x.canUndo && /* @__PURE__ */ f(s, {
55
+ size: a.Small,
56
+ label: b?.refineUndoLabel ?? "Undo",
57
+ disabled: S,
58
58
  onClick: () => {
59
- b.undo(), T.current?.querySelector("button")?.focus();
59
+ x.undo(), E.current?.querySelector("button")?.focus();
60
60
  }
61
61
  })]
62
62
  })]
63
63
  }),
64
- /* @__PURE__ */ d("div", {
65
- "aria-busy": b.isPending,
66
- children: w
64
+ /* @__PURE__ */ f("div", {
65
+ "aria-busy": x.isPending,
66
+ children: T
67
67
  }),
68
- /* @__PURE__ */ d("div", {
68
+ /* @__PURE__ */ f("div", {
69
69
  role: "status",
70
70
  "aria-live": "polite",
71
- className: S,
72
- children: D
71
+ children: /* @__PURE__ */ f(n, {
72
+ text: O,
73
+ className: C
74
+ })
73
75
  }),
74
- E && /* @__PURE__ */ d(a, {
76
+ D && /* @__PURE__ */ f(o, {
75
77
  role: "alert",
76
- id: h + "-refinement-error",
77
- className: e(S, C),
78
- text: y?.refineErrorLabel ?? "Could not refine this text. Please try again."
78
+ id: g + "-refinement-error",
79
+ className: e(C, w),
80
+ text: b?.refineErrorLabel ?? "Could not refine this text. Please try again."
79
81
  })
80
82
  ]
81
83
  });
82
84
  };
83
85
  //#endregion
84
- export { m as TextRefinementField };
86
+ export { h as TextRefinementField };
@@ -1,4 +1,4 @@
1
1
  //#region src/constants/resizable-fields.ts
2
- var e = "max-h-[50vh]", t = "--resizable-field-max-height", n = "[&_.w-md-editor:not(.w-md-editor-fullscreen)]:max-h-[var(--resizable-field-max-height,70vh)]";
2
+ var e = "max-h-[50vh]", t = "--resizable-field-max-height", n = "[&_.w-md-editor:not(.w-md-editor-fullscreen)]:max-h-[var(--resizable-field-max-height,70vh)]", r = "[&_.w-md-editor:not(.w-md-editor-fullscreen)]:!h-[var(--resizable-field-max-height,70vh)] [&_.w-md-editor-bar]:hidden";
3
3
  //#endregion
4
- export { n as MARKDOWN_EDITOR_MAX_HEIGHT_CLASS_NAME, t as RESIZABLE_FIELD_MAX_HEIGHT_CSS_VARIABLE, e as RESIZABLE_TEXTAREA_CLASS_NAME };
4
+ export { r as MARKDOWN_EDITOR_FILL_HEIGHT_CLASS_NAME, n as MARKDOWN_EDITOR_MAX_HEIGHT_CLASS_NAME, t as RESIZABLE_FIELD_MAX_HEIGHT_CSS_VARIABLE, e as RESIZABLE_TEXTAREA_CLASS_NAME };
@@ -1,309 +1,307 @@
1
1
  import { DialFileManagerActionProfile as e, DialFileManagerVariant as t } from "../file-manager-variant.js";
2
2
  import { getParentFolderPath as ee } from "../path.js";
3
- import { FileUploadStatus as n } from "../upload-batch.js";
4
- import { useGridEditingScroll as te } from "../useGridEditingScroll/useGridEditingScroll.js";
5
- import { OperationLoaderModal as ne } from "../OperationLoaderModal/OperationLoaderModal.js";
6
- import { UploadProgressModal as re } from "../UploadProgressModal/UploadProgressModal.js";
7
- import { NOT_ALLOWED_SYMBOLS_REGEXP as ie, PrimaryButton as r, Spinner as ae } from "@epam/ai-dial-ui-kit";
8
- import { memo as i, useEffect as oe, useMemo as a, useState as se } from "react";
9
- import { Fragment as ce, jsx as o, jsxs as s } from "react/jsx-runtime";
10
- import { DialFileManager as le, DialFileManagerActions as c, DialFileManagerTabs as ue, GridSelectionMode as de } from "@epam/ai-dial-react-file-manager";
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";
11
10
  //#region src/file-manager/DialFileManagerShell/DialFileManagerShell.tsx
12
- var l = (e, t) => {
11
+ var c = (e, t) => {
13
12
  if (e.isDownloading) return t.downloadingLabel;
14
13
  if (e.isDeleting) return t.deletingLabel;
15
14
  if (e.isRenaming && !e.isMoving) return t.renamingLabel;
16
15
  if (e.isUnsharing) return t.unsharingLabel;
17
16
  if (e.isRemovingAccess) return t.removingAccessLabel;
18
- }, u = ({ controller: i, labels: u, activeTab: d, tabs: f, onTabChange: p, selectedPaths: m, onSelectedPathsChange: fe, variant: pe, actionProfile: me, autoSelectUploadedItems: he = !1, allowedFileTypes: ge, maxSelectableFileSize: h, oversizedUploadMessage: g, isRowSelectable: _, getDisabledTooltip: _e, unsupportedFileTypeTooltip: ve }) => {
19
- let { items: ye, isLoading: be, error: xe, path: v, onPathChange: Se, retry: Ce, onSearchFiles: we, isSearching: y, searchResults: b, clearSearchResults: Te, expandedPaths: x, loadedPaths: S, onExpandedPathsChange: C, onFolderPopupPathChange: w, folderPopupLoadingPaths: T, onUploadFiles: E, onUploadArchive: D, onValidateUpload: O, uploadBatchState: k, cancelUpload: A, clearUploadBatch: Ee, onCreateFolder: De, onCreateFolderValidate: Oe, onDownloadFiles: ke, isDownloading: Ae, onDeleteFiles: je, isDeleting: Me, onMoveToFiles: Ne, onRenameValidate: Pe, isRenaming: Fe, onCopyFiles: Ie, isCopying: Le, isMoving: j, cancelCopyMove: Re, uploadEnabled: M, isNewButtonDisabled: N, disabledNewButtonTooltip: P, visibleColumns: F, dateLocale: I, dateOptions: L, actionLabels: R, sharedWithMeIds: ze, sharedByMePaths: z, onUnshareFiles: Be, isUnsharing: Ve, onRemoveFilesAccess: He, isRemovingAccess: Ue, fileMetadata: B, isFileMetadataLoading: V, onGetInfo: We, clearMetadata: H } = i, [U, Ge] = se(void 0), { handleGridApiChange: Ke, reset: W } = te();
20
- oe(() => {
21
- W();
22
- }, [d, W]);
23
- let G = a(() => {
17
+ }, l = ({ controller: r, labels: l, activeTab: u, tabs: d, onTabChange: f, selectedPaths: p, onSelectedPathsChange: me, variant: he, 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: w, onUploadArchive: T, onValidateUpload: ke, uploadBatchState: E, cancelUpload: D, cancelUploadFile: Ae, clearUploadBatch: O, onCreateFolder: je, onCreateFolderValidate: Me, onDownloadFiles: Ne, isDownloading: k, onDeleteFiles: Pe, isDeleting: Fe, onMoveToFiles: Ie, onRenameValidate: Le, isRenaming: Re, onCopyFiles: ze, isCopying: Be, isMoving: A, cancelCopyMove: Ve, uploadEnabled: j, isNewButtonDisabled: M, disabledNewButtonTooltip: N, visibleColumns: P, dateLocale: F, dateOptions: I, actionLabels: L, sharedWithMeIds: He, sharedByMePaths: R, onUnshareFiles: Ue, isUnsharing: We, onRemoveFilesAccess: Ge, isRemovingAccess: Ke, fileMetadata: z, isFileMetadataLoading: B, onGetInfo: qe, clearMetadata: V } = r, [H, Je] = le(void 0), { handleGridApiChange: Ye, reset: U } = n();
19
+ ce(() => {
20
+ U();
21
+ }, [u, U]);
22
+ let W = i(() => {
24
23
  let e = {};
25
- return c.Download in R && (e[c.Download] = u.downloadLabel), c.Delete in R && (e[c.Delete] = u.deleteLabel), c.Rename in R && (e[c.Rename] = u.renameLabel), c.Copy in R && (e[c.Copy] = u.copyLabel), c.Move in R && (e[c.Move] = u.moveLabel), c.Duplicate in R && (e[c.Duplicate] = u.duplicateLabel), c.Unshare in R && (e[c.Unshare] = u.unshareLabel), c.RemoveAccess in R && (e[c.RemoveAccess] = u.removeAccessLabel), e;
24
+ return s.Download in L && (e[s.Download] = l.downloadLabel), s.Delete in L && (e[s.Delete] = l.deleteLabel), s.Rename in L && (e[s.Rename] = l.renameLabel), s.Copy in L && (e[s.Copy] = l.copyLabel), s.Move in L && (e[s.Move] = l.moveLabel), s.Duplicate in L && (e[s.Duplicate] = l.duplicateLabel), s.Unshare in L && (e[s.Unshare] = l.unshareLabel), s.RemoveAccess in L && (e[s.RemoveAccess] = l.removeAccessLabel), e;
26
25
  }, [
27
- R,
28
- u.downloadLabel,
29
- u.deleteLabel,
30
- u.renameLabel,
31
- u.copyLabel,
32
- u.moveLabel,
33
- u.duplicateLabel,
34
- u.unshareLabel,
35
- u.removeAccessLabel
36
- ]), K = a(() => c.Info in R ? {
37
- ...G,
38
- [c.Info]: u.infoLabel
39
- } : G, [
40
- G,
41
- R,
42
- u.infoLabel
43
- ]), q = a(() => {
44
- if (m.size === 0) return !1;
45
- for (let e of m) if (!z.has(e)) return !1;
26
+ L,
27
+ l.downloadLabel,
28
+ l.deleteLabel,
29
+ l.renameLabel,
30
+ l.copyLabel,
31
+ l.moveLabel,
32
+ l.duplicateLabel,
33
+ l.unshareLabel,
34
+ l.removeAccessLabel
35
+ ]), G = i(() => s.Info in L ? {
36
+ ...W,
37
+ [s.Info]: l.infoLabel
38
+ } : W, [
39
+ W,
40
+ L,
41
+ l.infoLabel
42
+ ]), K = i(() => {
43
+ if (p.size === 0) return !1;
44
+ for (let e of p) if (!R.has(e)) return !1;
46
45
  return !0;
47
- }, [m, z]), J = a(() => {
48
- if (q) return G;
49
- let { [c.RemoveAccess]: e, ...t } = G;
46
+ }, [p, R]), q = i(() => {
47
+ if (K) return W;
48
+ let { [s.RemoveAccess]: e, ...t } = W;
50
49
  return t;
51
- }, [G, q]), qe = a(() => ({
52
- selectionMode: de.MULTIPLE,
53
- visibleColumns: F,
54
- dateLocale: I,
55
- dateOptions: L,
50
+ }, [W, K]), Xe = i(() => ({
51
+ selectionMode: pe.MULTIPLE,
52
+ visibleColumns: P,
53
+ dateLocale: F,
54
+ dateOptions: I,
56
55
  additionalGridOptions: {
57
56
  domLayout: "normal",
58
57
  rowSelection: {
59
58
  mode: "multiRow",
60
- isRowSelectable: _ ?? (() => !0)
59
+ isRowSelectable: g ?? (() => !0)
61
60
  }
62
61
  },
63
- actionLabels: K
62
+ actionLabels: G
64
63
  }), [
64
+ P,
65
65
  F,
66
66
  I,
67
- L,
68
- K,
69
- _
70
- ]), Je = a(() => ({
71
- header: u.treeHeaderByTab[d],
72
- tabs: f,
73
- activeTab: d,
74
- onTabChange: p,
75
- expandedPaths: x,
76
- loadedPaths: S,
77
- loadingPaths: T,
78
- onExpandedPathsChange: C,
79
- actionLabels: G
67
+ G,
68
+ g
69
+ ]), Ze = i(() => ({
70
+ header: l.treeHeaderByTab[u],
71
+ tabs: d,
72
+ activeTab: u,
73
+ onTabChange: f,
74
+ expandedPaths: b,
75
+ loadedPaths: x,
76
+ loadingPaths: C,
77
+ onExpandedPathsChange: S,
78
+ actionLabels: W
80
79
  }), [
81
- u.treeHeaderByTab,
82
- f,
80
+ l.treeHeaderByTab,
83
81
  d,
84
- p,
82
+ u,
83
+ f,
84
+ b,
85
85
  x,
86
- S,
87
- T,
88
86
  C,
89
- G
90
- ]), Y = pe === t.Standalone && me === e.Full && d === ue.MyFiles && M, Ye = a(() => ({
87
+ S,
88
+ W
89
+ ]), J = he === t.Standalone && ge === e.Full && u === fe.MyFiles && j, Qe = i(() => ({
91
90
  showHiddenFilesToggle: !0,
92
- hiddenFilesSwitcherLabel: u.hiddenFilesLabel,
93
- showHiddenFilesLabel: u.showHiddenFilesLabel,
94
- hideHiddenFilesLabel: u.hideHiddenFilesLabel,
95
- isNewButtonDisabled: N,
96
- disabledNewButtonTooltip: P,
91
+ hiddenFilesSwitcherLabel: l.hiddenFilesLabel,
92
+ showHiddenFilesLabel: l.showHiddenFilesLabel,
93
+ hideHiddenFilesLabel: l.hideHiddenFilesLabel,
94
+ isNewButtonDisabled: M,
95
+ disabledNewButtonTooltip: N,
97
96
  newActions: {
98
97
  uploadFiles: {
99
- label: u.uploadFilesLabel,
98
+ label: l.uploadFilesLabel,
100
99
  icon: null
101
100
  },
102
101
  newFolder: {
103
- label: u.newFolderLabel,
102
+ label: l.newFolderLabel,
104
103
  icon: null
105
104
  },
106
- ...Y ? { uploadArchive: {
107
- label: u.uploadArchiveAction,
105
+ ...J ? { uploadArchive: {
106
+ label: l.uploadArchiveAction,
108
107
  icon: null
109
108
  } } : {}
110
109
  }
111
110
  }), [
112
- u.hiddenFilesLabel,
113
- u.showHiddenFilesLabel,
114
- u.hideHiddenFilesLabel,
111
+ l.hiddenFilesLabel,
112
+ l.showHiddenFilesLabel,
113
+ l.hideHiddenFilesLabel,
114
+ M,
115
115
  N,
116
- P,
117
- u.uploadFilesLabel,
118
- u.newFolderLabel,
119
- Y,
120
- u.uploadArchiveAction
121
- ]), Xe = a(() => ({
122
- getSelectionLabel: u.getSelectionLabel,
123
- actionLabels: J
124
- }), [u.getSelectionLabel, J]), Ze = a(() => ({
125
- cancelLabel: u.deleteCancelLabel,
126
- confirmLabel: u.deleteConfirmLabel,
127
- titleRenderer: u.deleteConfirmTitle,
128
- contentRenderer: u.deleteConfirmBody
116
+ l.uploadFilesLabel,
117
+ l.newFolderLabel,
118
+ J,
119
+ l.uploadArchiveAction
120
+ ]), $e = i(() => ({
121
+ getSelectionLabel: l.getSelectionLabel,
122
+ actionLabels: q
123
+ }), [l.getSelectionLabel, q]), et = i(() => ({
124
+ cancelLabel: l.deleteCancelLabel,
125
+ confirmLabel: l.deleteConfirmLabel,
126
+ titleRenderer: l.deleteConfirmTitle,
127
+ contentRenderer: l.deleteConfirmBody
129
128
  }), [
130
- u.deleteCancelLabel,
131
- u.deleteConfirmLabel,
132
- u.deleteConfirmTitle,
133
- u.deleteConfirmBody
134
- ]), Qe = a(() => {
129
+ l.deleteCancelLabel,
130
+ l.deleteConfirmLabel,
131
+ l.deleteConfirmTitle,
132
+ l.deleteConfirmBody
133
+ ]), tt = i(() => {
135
134
  let e;
136
- for (let t of m) {
135
+ for (let t of p) {
137
136
  let n = ee(t);
138
137
  if (e === void 0) e = n;
139
138
  else if (e !== n) return;
140
139
  }
141
140
  return e;
142
- }, [m]), X = U != null && T.has(U), Z = X ? U : Qe, $e = a(() => ({
143
- copyLabel: u.copyLabel,
144
- moveLabel: u.moveLabel,
145
- addFolderLabel: u.addFolderLabel,
146
- hiddenFilesSwitcherLabel: u.hiddenFilesSwitcherLabel,
147
- getCopyHeader: u.getCopyHeader,
148
- getMoveHeader: u.getMoveHeader,
149
- disabledPathTooltip: X ? u.folderPickerLoadingTooltip : u.moveSourceDisabledTooltip,
150
- emptyStateTitle: u.folderPickerEmptyStateTitle,
151
- emptyStateDescription: u.folderPickerEmptyStateDescription,
152
- sourceFolder: Z,
153
- destinationFolderPath: U,
154
- setDestinationFolderPath: Ge,
155
- filesLoading: X
141
+ }, [p]), Y = H != null && C.has(H), X = Y ? H : tt, nt = i(() => ({
142
+ copyLabel: l.copyLabel,
143
+ moveLabel: l.moveLabel,
144
+ addFolderLabel: l.addFolderLabel,
145
+ hiddenFilesSwitcherLabel: l.hiddenFilesSwitcherLabel,
146
+ getCopyHeader: l.getCopyHeader,
147
+ getMoveHeader: l.getMoveHeader,
148
+ disabledPathTooltip: Y ? l.folderPickerLoadingTooltip : l.moveSourceDisabledTooltip,
149
+ emptyStateTitle: l.folderPickerEmptyStateTitle,
150
+ emptyStateDescription: l.folderPickerEmptyStateDescription,
151
+ sourceFolder: X,
152
+ destinationFolderPath: H,
153
+ setDestinationFolderPath: Je,
154
+ filesLoading: Y
156
155
  }), [
157
- u.copyLabel,
158
- u.moveLabel,
159
- u.addFolderLabel,
160
- u.hiddenFilesSwitcherLabel,
161
- u.getCopyHeader,
162
- u.getMoveHeader,
163
- u.folderPickerLoadingTooltip,
164
- u.moveSourceDisabledTooltip,
165
- u.folderPickerEmptyStateTitle,
166
- u.folderPickerEmptyStateDescription,
156
+ l.copyLabel,
157
+ l.moveLabel,
158
+ l.addFolderLabel,
159
+ l.hiddenFilesSwitcherLabel,
160
+ l.getCopyHeader,
161
+ l.getMoveHeader,
162
+ l.folderPickerLoadingTooltip,
163
+ l.moveSourceDisabledTooltip,
164
+ l.folderPickerEmptyStateTitle,
165
+ l.folderPickerEmptyStateDescription,
166
+ Y,
167
167
  X,
168
- Z,
169
- U
170
- ]), et = () => {
171
- A(), Ee();
172
- }, tt = a(() => ({
173
- fileMetadata: B,
174
- loading: V,
175
- clearMetadata: H,
176
- header: u.metadataHeader,
177
- nameLabel: u.metadataNameLabel,
178
- pathLabel: u.metadataPathLabel,
179
- modifiedDateLabel: u.metadataModifiedDateLabel,
180
- sizeLabel: u.metadataSizeLabel,
181
- authorLabel: u.metadataAuthorLabel
168
+ H
169
+ ]), rt = se(() => {
170
+ D(), O();
171
+ }, [D, O]), Z = i(() => ne(E?.files ?? []), [E]), it = i(() => ({
172
+ fileMetadata: z,
173
+ loading: B,
174
+ clearMetadata: V,
175
+ header: l.metadataHeader,
176
+ nameLabel: l.metadataNameLabel,
177
+ pathLabel: l.metadataPathLabel,
178
+ modifiedDateLabel: l.metadataModifiedDateLabel,
179
+ sizeLabel: l.metadataSizeLabel,
180
+ authorLabel: l.metadataAuthorLabel
182
181
  }), [
182
+ z,
183
183
  B,
184
184
  V,
185
- H,
186
- u.metadataHeader,
187
- u.metadataNameLabel,
188
- u.metadataPathLabel,
189
- u.metadataModifiedDateLabel,
190
- u.metadataSizeLabel,
191
- u.metadataAuthorLabel
192
- ]), Q = l({
193
- isDownloading: Ae,
194
- isDeleting: Me,
195
- isRenaming: Fe,
196
- isMoving: j,
197
- isUnsharing: Ve,
198
- isRemovingAccess: Ue
199
- }, u), nt = a(() => {
200
- if (k == null) return "";
201
- let e = k.files.filter((e) => e.status !== n.Uploading).length;
202
- return u.getUploadProgressText(e, k.files.length);
203
- }, [k, u]), $ = a(() => b != null && !y ? {
204
- title: u.searchEmptyStateTitle,
185
+ l.metadataHeader,
186
+ l.metadataNameLabel,
187
+ l.metadataPathLabel,
188
+ l.metadataModifiedDateLabel,
189
+ l.metadataSizeLabel,
190
+ l.metadataAuthorLabel
191
+ ]), Q = c({
192
+ isDownloading: k,
193
+ isDeleting: Fe,
194
+ isRenaming: Re,
195
+ isMoving: A,
196
+ isUnsharing: We,
197
+ isRemovingAccess: Ke
198
+ }, l), $ = i(() => y != null && !v ? {
199
+ title: l.searchEmptyStateTitle,
205
200
  description: ""
206
- } : v.split("/").filter(Boolean).length > 1 ? {
207
- title: u.folderEmptyStateTitle,
201
+ } : _.split("/").filter(Boolean).length > 1 ? {
202
+ title: l.folderEmptyStateTitle,
208
203
  description: ""
209
- } : u.emptyStateByTab[d], [
210
- b,
204
+ } : l.emptyStateByTab[u], [
211
205
  y,
212
206
  v,
213
- u.searchEmptyStateTitle,
214
- u.folderEmptyStateTitle,
215
- u.emptyStateByTab,
216
- d
207
+ _,
208
+ l.searchEmptyStateTitle,
209
+ l.folderEmptyStateTitle,
210
+ l.emptyStateByTab,
211
+ u
217
212
  ]);
218
- return /* @__PURE__ */ s(ce, { children: [
219
- xe == null ? /* @__PURE__ */ s("div", {
213
+ return /* @__PURE__ */ o(ue, { children: [
214
+ Ce == null ? /* @__PURE__ */ o("div", {
220
215
  className: "relative flex min-h-0 w-full grow overflow-auto bg-layer-sunken",
221
- children: [/* @__PURE__ */ o(le, {
216
+ children: [/* @__PURE__ */ a(de, {
222
217
  className: "min-h-0 w-full grow bg-layer-sunken",
223
218
  gridClassName: "size-full",
224
- items: ye,
225
- path: v,
226
- onPathChange: Se,
227
- onGridApiChange: Ke,
228
- filesLoading: be,
229
- allowedFileTypes: ge,
230
- maxSelectableFileSize: h,
231
- maxFileSize: h,
232
- uploadValidationMessages: g == null ? void 0 : { oversizedFiles: g },
233
- selectedPaths: m,
234
- onSelectedPathsChange: fe,
219
+ items: xe,
220
+ path: _,
221
+ onPathChange: we,
222
+ onGridApiChange: Ye,
223
+ filesLoading: Se,
224
+ allowedFileTypes: ve,
225
+ maxSelectableFileSize: m,
226
+ maxFileSize: m,
227
+ uploadValidationMessages: h == null ? void 0 : { oversizedFiles: h },
228
+ selectedPaths: p,
229
+ onSelectedPathsChange: me,
235
230
  navigationPanelOptions: { searchable: !0 },
236
231
  hideSearchPathItemName: !0,
237
- onSearchFiles: we,
238
- searchInProgress: y,
239
- searchResults: b ?? [],
240
- clearSearchResults: Te,
241
- gridOptions: qe,
242
- treeOptions: Je,
243
- onFolderPopupPathChange: w,
244
- toolbarOptions: Ye,
245
- bulkActionsToolbarOptions: Xe,
246
- autoSelectUploadedItems: he,
232
+ onSearchFiles: Ee,
233
+ searchInProgress: v,
234
+ searchResults: y ?? [],
235
+ clearSearchResults: De,
236
+ gridOptions: Xe,
237
+ treeOptions: Ze,
238
+ onFolderPopupPathChange: Oe,
239
+ toolbarOptions: Qe,
240
+ bulkActionsToolbarOptions: $e,
241
+ autoSelectUploadedItems: _e,
247
242
  emptyStateTitle: $.title,
248
243
  emptyStateDescription: $.description,
249
- uploadEnabled: M,
250
- sharedWithMeIds: ze,
251
- sharedByMePaths: z,
252
- onUnshareFiles: Be,
253
- onRemoveFilesAccess: He,
254
- fileMetadataPopupOptions: tt,
255
- onGetInfo: We,
256
- onUploadFiles: E,
257
- onUploadArchive: D,
258
- onValidateUpload: O,
259
- onCreateFolder: De,
260
- onCreateFolderValidate: Oe,
261
- onDownloadFiles: ke,
262
- onDeleteFiles: je,
263
- onMoveToFiles: Ne,
264
- onCopyFiles: Ie,
265
- onRenameValidate: Pe,
266
- renameValidationMessages: u.renameValidationMessages,
267
- isRenameFileAvailable: M,
268
- deleteConfirmationOptions: Ze,
269
- conflictResolutionPopupOptions: u.conflictResolutionPopupOptions,
270
- destinationFolderPopupOptions: $e,
271
- forbiddenSymbolsRegExp: ie,
272
- forbiddenSymbolsTooltip: u.forbiddenSymbolsTooltip,
273
- getDisabledTooltip: _e,
274
- unsupportedFileTypeTooltip: ve
275
- }), Q != null && /* @__PURE__ */ o("div", {
244
+ uploadEnabled: j,
245
+ sharedWithMeIds: He,
246
+ sharedByMePaths: R,
247
+ onUnshareFiles: Ue,
248
+ onRemoveFilesAccess: Ge,
249
+ fileMetadataPopupOptions: it,
250
+ onGetInfo: qe,
251
+ onUploadFiles: w,
252
+ onUploadArchive: T,
253
+ onValidateUpload: ke,
254
+ onCreateFolder: je,
255
+ onCreateFolderValidate: Me,
256
+ onDownloadFiles: Ne,
257
+ onDeleteFiles: Pe,
258
+ onMoveToFiles: Ie,
259
+ onCopyFiles: ze,
260
+ onRenameValidate: Le,
261
+ renameValidationMessages: l.renameValidationMessages,
262
+ isRenameFileAvailable: j,
263
+ deleteConfirmationOptions: et,
264
+ conflictResolutionPopupOptions: l.conflictResolutionPopupOptions,
265
+ destinationFolderPopupOptions: nt,
266
+ forbiddenSymbolsRegExp: re,
267
+ forbiddenSymbolsTooltip: l.forbiddenSymbolsTooltip,
268
+ getDisabledTooltip: ye,
269
+ unsupportedFileTypeTooltip: be
270
+ }), Q != null && /* @__PURE__ */ a("div", {
276
271
  "aria-live": "polite",
277
272
  className: "absolute inset-0 z-[52] flex items-center justify-center bg-backdrop desktop:p-4",
278
- children: /* @__PURE__ */ o(ae, {
273
+ children: /* @__PURE__ */ a(ae, {
279
274
  size: 32,
280
275
  fullWidth: !1,
281
276
  ariaLabel: Q
282
277
  })
283
278
  })]
284
- }) : /* @__PURE__ */ s("div", {
279
+ }) : /* @__PURE__ */ o("div", {
285
280
  role: "alert",
286
281
  className: "flex flex-col items-center gap-4 p-6",
287
- children: [/* @__PURE__ */ o("p", { children: u.errorMessage }), /* @__PURE__ */ o(r, {
288
- label: u.retryLabel,
289
- onClick: Ce
282
+ children: [/* @__PURE__ */ a("p", { children: l.errorMessage }), /* @__PURE__ */ a(ie, {
283
+ label: l.retryLabel,
284
+ onClick: Te
290
285
  })]
291
286
  }),
292
- k != null && /* @__PURE__ */ o(re, {
293
- batchState: k,
294
- uploadProgressTitle: u.uploadProgressTitle,
295
- uploadProgressText: nt,
296
- cancelLabel: u.cancelLabel,
297
- onCancel: et
287
+ /* @__PURE__ */ a("div", {
288
+ className: "fixed bottom-4 end-4 z-[70]",
289
+ children: /* @__PURE__ */ a(oe, {
290
+ title: l.getUploadQueueTitle(Z.length),
291
+ items: Z,
292
+ onClose: rt,
293
+ onCancelItem: Ae,
294
+ labels: l.uploadQueueLabels
295
+ })
298
296
  }),
299
- (Le || j) && /* @__PURE__ */ o(ne, {
300
- title: j ? u.operationLoaderMoveTitle : u.operationLoaderCopyTitle,
301
- text: j ? u.movingLabel : u.copyingLabel,
302
- cancelLabel: u.operationLoaderCancelLabel,
303
- onCancel: Re
297
+ (Be || A) && /* @__PURE__ */ a(te, {
298
+ title: A ? l.operationLoaderMoveTitle : l.operationLoaderCopyTitle,
299
+ text: A ? l.movingLabel : l.copyingLabel,
300
+ cancelLabel: l.operationLoaderCancelLabel,
301
+ onCancel: Ve
304
302
  })
305
303
  ] });
306
304
  };
307
- i(u);
305
+ r(l);
308
306
  //#endregion
309
- export { u as DialFileManagerShell };
307
+ export { l as DialFileManagerShell };
@@ -1,6 +1,6 @@
1
1
  //#region src/file-manager/upload-batch.ts
2
2
  var e = /* @__PURE__ */ function(e) {
3
3
  return e.Queued = "queued", e.Uploading = "uploading", e.Completed = "completed", e.Failed = "failed", e.Cancelled = "cancelled", e;
4
- }({});
4
+ }({}), t = (e) => e?.files.some((e) => e.status === "queued" || e.status === "uploading") ?? !1;
5
5
  //#endregion
6
- export { e as FileUploadStatus };
6
+ export { e as FileUploadStatus, t as isUploadInProgress };
@@ -0,0 +1,17 @@
1
+ import { FileUploadStatus as e } from "./upload-batch.js";
2
+ import { TransferQueueItemStatus as t } from "@epam/ai-dial-ui-kit";
3
+ //#region src/file-manager/upload-queue.ts
4
+ var n = {
5
+ [e.Queued]: t.InProgress,
6
+ [e.Uploading]: t.InProgress,
7
+ [e.Completed]: t.Success,
8
+ [e.Failed]: t.Failed,
9
+ [e.Cancelled]: t.Canceled
10
+ }, r = (e) => e.map((e) => ({
11
+ id: e.id,
12
+ name: e.name,
13
+ status: n[e.status],
14
+ percent: e.percent
15
+ }));
16
+ //#endregion
17
+ export { r as toUploadQueueItems };
package/file-manager.d.ts CHANGED
@@ -13,6 +13,8 @@ import { FileManagerColumnKey } from '@epam/ai-dial-react-file-manager';
13
13
  import { FileManagerGridRow } from '@epam/ai-dial-react-file-manager';
14
14
  import { FileTreeOptions } from '@epam/ai-dial-react-file-manager';
15
15
  import { ReactNode } from 'react';
16
+ import { TransferQueueItem } from '@epam/ai-dial-ui-kit';
17
+ import { TransferQueueLabels } from '@epam/ai-dial-ui-kit';
16
18
 
17
19
  /** Result returned by the file-manager attach modal when the user confirms a selection. */
18
20
  declare interface AttachResult {
@@ -122,12 +124,10 @@ declare interface DialFileManagerShellLabels {
122
124
  deleteConfirmLabel: string;
123
125
  /** Cancel-button label in the delete confirmation dialog. */
124
126
  deleteCancelLabel: string;
125
- /** Title for the upload progress modal. */
126
- uploadProgressTitle: string;
127
- /** Cancel-button label in the upload progress modal. */
128
- cancelLabel: string;
129
- /** Returns upload progress text (e.g. "3 of 5 uploaded"). */
130
- getUploadProgressText: (done: number, total: number) => string;
127
+ /** Returns the upload queue heading for the number of files in it (e.g. "Uploading 5 files"). */
128
+ getUploadQueueTitle: (count: number) => string;
129
+ /** Translated strings for the upload `TransferQueue`; unset ones fall back to the kit's English defaults. */
130
+ uploadQueueLabels?: Partial<TransferQueueLabels>;
131
131
  /** Empty-state title when a search yields no results. */
132
132
  searchEmptyStateTitle: string;
133
133
  /** Empty-state title for an empty subfolder. */
@@ -372,7 +372,9 @@ declare interface FileManagerController {
372
372
  uploadBatchState: FileUploadBatchState | null;
373
373
  /** Upload: abort all in-flight and queued uploads. */
374
374
  cancelUpload: () => void;
375
- /** Upload: dismiss the progress modal after the batch has settled. */
375
+ /** Upload: abort one queued or in-flight upload by its entry id. */
376
+ cancelUploadFile: (id: string) => void;
377
+ /** Upload: empty the upload queue. */
376
378
  clearUploadBatch: () => void;
377
379
  /** Folder creation: called when user confirms a new folder name. */
378
380
  onCreateFolder: (file: DialUploadFileItem, folderPath: string, fileId: string) => Promise<void>;
@@ -452,11 +454,11 @@ declare interface FileManagerSelectableNode {
452
454
  contentLength?: number;
453
455
  }
454
456
 
455
- /** State of an in-progress or just-settled upload batch, as returned by `useDialFileUploadBatch`. */
457
+ /** State of the upload queue, as returned by `useDialFileUploadBatch`. */
456
458
  declare interface FileUploadBatchState {
457
- /** Individual file entries in this batch. */
459
+ /** Every file uploaded since the queue was last cleared, settled ones included. */
458
460
  files: FileUploadEntry[];
459
- /** Whether the upload progress modal should be visible. */
461
+ /** Whether the upload queue should be visible. */
460
462
  isOpen: boolean;
461
463
  }
462
464
 
@@ -492,4 +494,7 @@ declare interface FileUploadValidationResult {
492
494
  /** Validation messages shown during inline rename editing. */
493
495
  declare type RenameValidationMessages = NonNullable<DialFileManagerComponentProps['renameValidationMessages']>;
494
496
 
497
+ /** Maps upload entries onto the UI kit's `TransferQueue` rows. */
498
+ export declare const toUploadQueueItems: (files: FileUploadEntry[]) => TransferQueueItem[];
499
+
495
500
  export { }
package/file-manager.js CHANGED
@@ -1,3 +1,4 @@
1
- import { DialFileManagerShell as e } from "./file-manager/DialFileManagerShell/DialFileManagerShell.js";
2
- import { FileManagerAttachModal as t } from "./file-manager/FileManagerAttachModal/FileManagerAttachModal.js";
3
- export { e as DialFileManagerShell, t as FileManagerAttachModal };
1
+ import { toUploadQueueItems as e } from "./file-manager/upload-queue.js";
2
+ import { DialFileManagerShell as t } from "./file-manager/DialFileManagerShell/DialFileManagerShell.js";
3
+ import { FileManagerAttachModal as n } from "./file-manager/FileManagerAttachModal/FileManagerAttachModal.js";
4
+ export { t as DialFileManagerShell, n as FileManagerAttachModal, e as toUploadQueueItems };
package/index.css CHANGED
@@ -1,2 +1,2 @@
1
1
  ._agentIconBadge_1ger8_1{background:var(--di-icon-bg,var(--bg-layer-sunken,#eef1f7))}._badge_1ko75_1{background:var(--ia-bg,var(--bg-visual-green-1,#cde8e5))}._initials_1ko75_5{color:var(--ia-fg,var(--text-visual-green-2,#0d6e72))}._title_11w3i_1{color:var(--ih-title-color,var(--text-primary,#161b2d))}._count_11w3i_5{color:var(--ih-count-color,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))}._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}
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}.end-0{inset-inline-end:0}.end-2{inset-inline-end:.5rem}.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}.mx-0{margin-left:0;margin-right:0}.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{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.me-1{margin-inline-end:.25rem}.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}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.\!w-\[400px\]{width:400px!important}.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}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.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-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-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-auto{overflow-y: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-2xl{border-radius:1rem}.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-none{border-style:none}.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-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}.ps-4{padding-inline-start:1rem}.ps-\[2em\]{padding-inline-start:2em}.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-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);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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 (max-width:1279px){.mobile\:\!w-full{width:100%!important}}@media (min-width:1280px){.desktop\:\!max-h-\[693px\]{max-height:693px!important}.desktop\:p-4{padding:1rem}}.\[\&_\.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{margin-left:0;margin-right:0}.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{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.me-1{margin-inline-end:.25rem}.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-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}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.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-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-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-2xl{border-radius:1rem}.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-none{border-style:none}.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-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}.ps-4{padding-inline-start:1rem}.ps-\[2em\]{padding-inline-start:2em}.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-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);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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}}.\[\&_\.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
@@ -20,6 +20,7 @@ import { IRowNode } from 'ag-grid-community';
20
20
  import { Options } from 'react-markdown';
21
21
  import { ReactNode } from 'react';
22
22
  import { RefObject } from 'react';
23
+ import { TransferQueueLabels } from '@epam/ai-dial-ui-kit';
23
24
 
24
25
  /** A single annotation attached to an assistant message, optionally citing a source document. */
25
26
  export declare interface Annotation {
@@ -741,12 +742,10 @@ export declare interface DialFileManagerShellLabels {
741
742
  deleteConfirmLabel: string;
742
743
  /** Cancel-button label in the delete confirmation dialog. */
743
744
  deleteCancelLabel: string;
744
- /** Title for the upload progress modal. */
745
- uploadProgressTitle: string;
746
- /** Cancel-button label in the upload progress modal. */
747
- cancelLabel: string;
748
- /** Returns upload progress text (e.g. "3 of 5 uploaded"). */
749
- getUploadProgressText: (done: number, total: number) => string;
745
+ /** Returns the upload queue heading for the number of files in it (e.g. "Uploading 5 files"). */
746
+ getUploadQueueTitle: (count: number) => string;
747
+ /** Translated strings for the upload `TransferQueue`; unset ones fall back to the kit's English defaults. */
748
+ uploadQueueLabels?: Partial<TransferQueueLabels>;
750
749
  /** Empty-state title when a search yields no results. */
751
750
  searchEmptyStateTitle: string;
752
751
  /** Empty-state title for an empty subfolder. */
@@ -1111,7 +1110,9 @@ export declare interface FileManagerController {
1111
1110
  uploadBatchState: FileUploadBatchState | null;
1112
1111
  /** Upload: abort all in-flight and queued uploads. */
1113
1112
  cancelUpload: () => void;
1114
- /** Upload: dismiss the progress modal after the batch has settled. */
1113
+ /** Upload: abort one queued or in-flight upload by its entry id. */
1114
+ cancelUploadFile: (id: string) => void;
1115
+ /** Upload: empty the upload queue. */
1115
1116
  clearUploadBatch: () => void;
1116
1117
  /** Folder creation: called when user confirms a new folder name. */
1117
1118
  onCreateFolder: (file: DialUploadFileItem, folderPath: string, fileId: string) => Promise<void>;
@@ -1191,11 +1192,11 @@ export declare interface FileManagerSelectableNode {
1191
1192
  contentLength?: number;
1192
1193
  }
1193
1194
 
1194
- /** State of an in-progress or just-settled upload batch, as returned by `useDialFileUploadBatch`. */
1195
+ /** State of the upload queue, as returned by `useDialFileUploadBatch`. */
1195
1196
  export declare interface FileUploadBatchState {
1196
- /** Individual file entries in this batch. */
1197
+ /** Every file uploaded since the queue was last cleared, settled ones included. */
1197
1198
  files: FileUploadEntry[];
1198
- /** Whether the upload progress modal should be visible. */
1199
+ /** Whether the upload queue should be visible. */
1199
1200
  isOpen: boolean;
1200
1201
  }
1201
1202
 
@@ -1357,6 +1358,9 @@ export declare const isSkillSelectionUnsupported: (skillUrl: string | null | und
1357
1358
  /** Returns `true` when `msg` is a `StatusMessage`. */
1358
1359
  export declare const isStatusMessage: (msg: Message | StatusMessage) => msg is StatusMessage;
1359
1360
 
1361
+ /** Returns whether any file in the batch is still queued or uploading. */
1362
+ export declare const isUploadInProgress: (batchState: FileUploadBatchState | null) => boolean;
1363
+
1360
1364
  /** Item title header with optional numeric or string postfix and trailing slot. */
1361
1365
  export declare const ItemHeader: FC<ItemHeaderProps>;
1362
1366
 
@@ -1394,6 +1398,8 @@ export declare interface ItemHeaderProps {
1394
1398
  shouldTruncateTitle?: boolean;
1395
1399
  }
1396
1400
 
1401
+ export declare const MARKDOWN_EDITOR_FILL_HEIGHT_CLASS_NAME = "[&_.w-md-editor:not(.w-md-editor-fullscreen)]:!h-[var(--resizable-field-max-height,70vh)] [&_.w-md-editor-bar]:hidden";
1402
+
1397
1403
  export declare const MARKDOWN_EDITOR_MAX_HEIGHT_CLASS_NAME = "[&_.w-md-editor:not(.w-md-editor-fullscreen)]:max-h-[var(--resizable-field-max-height,70vh)]";
1398
1404
 
1399
1405
  export declare const MARKDOWN_EDITOR_PREVIEW_LIST_CLASS_NAME = "[&_.wmde-markdown>ol]:list-decimal [&_.wmde-markdown_ul]:list-disc [&_.wmde-markdown_ul_ul]:list-[circle] [&_.wmde-markdown_ul_ul_ul]:list-[square]";
@@ -2624,23 +2630,6 @@ export declare interface UploadedAttachmentResult {
2624
2630
  name: string;
2625
2631
  }
2626
2632
 
2627
- /** Modal showing per-file upload progress with a cancel action. */
2628
- export declare const UploadProgressModal: FC<UploadProgressModalProps>;
2629
-
2630
- /** Props for the upload-progress modal. */
2631
- export declare interface UploadProgressModalProps {
2632
- /** Current batch state with per-file entries and open flag. */
2633
- batchState: FileUploadBatchState;
2634
- /** Title shown in the modal header (e.g. "Uploading files"). */
2635
- uploadProgressTitle: string;
2636
- /** Summary text below the title (e.g. "3 of 5 uploaded"). */
2637
- uploadProgressText: string;
2638
- /** Label for the cancel button. */
2639
- cancelLabel: string;
2640
- /** Called when the user clicks Cancel. */
2641
- onCancel: () => void;
2642
- }
2643
-
2644
2633
  /**
2645
2634
  * Writes the height still available below an element into a CSS custom
2646
2635
  * property, so a user-resizable control inside it can be capped at the space
package/index.js CHANGED
@@ -27,43 +27,42 @@ import { generateUUID as ge } from "./utils/generate-uuid.js";
27
27
  import { BASE_LG_ICON_PROPS as _e, BASE_MD_ICON_PROPS as ve } from "./constants/icon.js";
28
28
  import { HIDDEN_FILE as ye, PUBLIC_BUCKET as be } from "./constants/dial.js";
29
29
  import { TAG_INPUT_TAG_CLASS_NAME as xe } from "./constants/tag-input.js";
30
- import { MARKDOWN_EDITOR_MAX_HEIGHT_CLASS_NAME as Se, RESIZABLE_FIELD_MAX_HEIGHT_CSS_VARIABLE as Ce, RESIZABLE_TEXTAREA_CLASS_NAME as we } from "./constants/resizable-fields.js";
31
- import { MARKDOWN_EDITOR_PREVIEW_LIST_CLASS_NAME as Te } from "./constants/markdown-editor.js";
32
- import { SELECT_LIST_MAX_HEIGHT_CLASS_NAME as Ee, SELECT_LIST_MAX_HEIGHT_PX as De } from "./constants/select-list.js";
33
- import { DESKTOP_BREAKPOINT_PX as Oe, DESKTOP_MEDIA_QUERY as ke, MOBILE_MAX_WIDTH_PX as Ae, MOBILE_MEDIA_QUERY as je } from "./constants/breakpoint.js";
34
- import { pickAvatarColor as Me } from "./utils/avatar-color.js";
35
- import { extractInitials as Ne } from "./utils/initials.js";
36
- import { InitialsAvatar as Pe } from "./components/InitialsAvatar/InitialsAvatar.js";
37
- import { DeploymentIcon as Fe } from "./components/DeploymentIcon/DeploymentIcon.js";
38
- import { CopyButton as Ie, CopyIconButton as Le } from "./components/CopyButton/CopyButton.js";
39
- import { PanelEmptyState as Re } from "./components/PanelEmptyState/PanelEmptyState.js";
40
- import { ItemHeader as ze } from "./components/ItemHeader/ItemHeader.js";
41
- import { EntityTypeLabel as Be } from "./components/EntityTypeLabel/EntityTypeLabel.js";
42
- import { FeaturedChip as Ve } from "./components/FeaturedChip/FeaturedChip.js";
43
- import { EntityHeader as He } from "./components/EntityHeader/EntityHeader.js";
44
- import { ResourceSummary as Ue } from "./components/ResourceSummary/ResourceSummary.js";
45
- import { TableHeader as We } from "./components/MarkdownRenderer/Table/TableHeader.js";
46
- import { TextRefinementState as Ge, useTextRefinement as Ke } from "./hooks/useTextRefinement.js";
47
- import { TextRefinementField as qe } from "./components/TextRefinementField/TextRefinementField.js";
48
- import { CHAT_SHARED_CLASS as Je } from "./constants/public-class-names.js";
49
- import { useCodeCopy as Ye } from "./hooks/useCodeCopy.js";
50
- import { restrainedSyntaxTheme as Xe } from "./components/MarkdownRenderer/CodeBlock/syntax-theme.js";
51
- import { MarkdownCodeBlock as Ze } from "./components/MarkdownRenderer/CodeBlock/CodeBlock.js";
52
- import { DEFAULT_MARKDOWN_TABLE_DOWNLOAD_FILENAME as Qe, MARKDOWN_TABLE_CSV_MIME_TYPE as $e, MarkdownTableCopyFormat as et, serializeMarkdownTableRows as tt } from "./components/MarkdownRenderer/Table/table-serialization.js";
53
- import { MarkdownTable as nt } from "./components/MarkdownRenderer/Table/MarkdownTable.js";
54
- import { MarkdownRenderer as rt, defaultMarkdownComponents as it } from "./components/MarkdownRenderer/MarkdownRenderer.js";
55
- import { COMPACT_MARKDOWN_CLASS_NAMES as at, DEFAULT_MARKDOWN_CLASS_NAMES as ot } from "./components/MarkdownRenderer/markdown-class-names.js";
56
- import { PlainTextRenderer as st } from "./components/MarkdownRenderer/PlainTextRenderer.js";
57
- import { MDMessageViewer as ct } from "./components/MarkdownRenderer/MDMessageViewer.js";
58
- import { MarkdownWithPlaceholders as lt } from "./components/MarkdownWithPlaceholders/MarkdownWithPlaceholders.js";
59
- import { useCollapsedText as ut } from "./hooks/useCollapsedText.js";
60
- import { useAvailableHeightCap as dt } from "./hooks/useAvailableHeightCap.js";
61
- import { useIsMobile as ft } from "./hooks/useIsMobile.js";
62
- import { DialFileManagerActionProfile as pt, DialFileManagerVariant as mt } from "./file-manager/file-manager-variant.js";
63
- import { getParentFolderPath as ht, isHiddenPath as gt } from "./file-manager/path.js";
64
- import { FileUploadStatus as _t } from "./file-manager/upload-batch.js";
65
- import { useGridEditingScroll as vt } from "./file-manager/useGridEditingScroll/useGridEditingScroll.js";
66
- import { OperationLoaderModal as yt } from "./file-manager/OperationLoaderModal/OperationLoaderModal.js";
67
- import { UploadProgressModal as bt } from "./file-manager/UploadProgressModal/UploadProgressModal.js";
68
- import { isSkillSelectionUnsupported as xt } from "./utils/is-skill-selection-unsupported.js";
69
- export { f as AttachmentErrorReason, p as AttachmentType, _e as BASE_LG_ICON_PROPS, ve as BASE_MD_ICON_PROPS, Je as CHAT_SHARED_CLASS, at as COMPACT_MARKDOWN_CLASS_NAMES, m as CatalogEntityType, _ as CodeBlockTheme, e as ConversationTransferErrorCode, t as ConversationTransferJobStatus, n as ConversationTransferSubjectKind, r as ConversationTransferUnitKind, i as ConversationTransferWarningCode, Ie as CopyButton, Le as CopyIconButton, ot as DEFAULT_MARKDOWN_CLASS_NAMES, Qe as DEFAULT_MARKDOWN_TABLE_DOWNLOAD_FILENAME, Oe as DESKTOP_BREAKPOINT_PX, ke as DESKTOP_MEDIA_QUERY, Fe as DeploymentIcon, pt as DialFileManagerActionProfile, mt as DialFileManagerVariant, F as ENTITY_DESCRIPTION_MAX_LENGTH, I as ENTITY_INSTRUCTIONS_MAX_LENGTH, L as ENTITY_NAME_MAX_LENGTH, se as ENTITY_TYPE_BG_COLOR, ce as ENTITY_TYPE_COLOR, He as EntityHeader, Be as EntityTypeLabel, Ve as FeaturedChip, h as FileExtension, _t as FileUploadStatus, a as FilterTab, ye as HIDDEN_FILE, Pe as InitialsAvatar, ze as ItemHeader, Se as MARKDOWN_EDITOR_MAX_HEIGHT_CLASS_NAME, Te as MARKDOWN_EDITOR_PREVIEW_LIST_CLASS_NAME, $e as MARKDOWN_TABLE_CSV_MIME_TYPE, ct as MDMessageViewer, g as MIMEType, v as MIME_TYPE_ALIASES, y as MIME_TYPE_AUDIO_PREFIX, b as MIME_TYPE_EXT_MAP, x as MIME_TYPE_WILDCARD, Ae as MOBILE_MAX_WIDTH_PX, je as MOBILE_MEDIA_QUERY, Ze as MarkdownCodeBlock, rt as MarkdownRenderer, nt as MarkdownTable, et as MarkdownTableCopyFormat, lt as MarkdownWithPlaceholders, o as MessageRating, s as MessageRole, yt as OperationLoaderModal, A as PROHIBITED_CONVERSATION_NAME_CHARS_RE, le as PROMPT_PARAM_DEFAULT_SEPARATOR, ue as PROMPT_PARAM_PATTERN, de as PROMPT_VARIABLE_CLASS_NAME, be as PUBLIC_BUCKET, Re as PanelEmptyState, st as PlainTextRenderer, Ce as RESIZABLE_FIELD_MAX_HEIGHT_CSS_VARIABLE, we as RESIZABLE_TEXTAREA_CLASS_NAME, c as RequestStatus, Ue as ResourceSummary, d as ResponseFormat, Ee as SELECT_LIST_MAX_HEIGHT_CLASS_NAME, De as SELECT_LIST_MAX_HEIGHT_PX, l as StageStatus, u as StatusEvent, xe as TAG_INPUT_TAG_CLASS_NAME, We as TableHeader, qe as TextRefinementField, Ge as TextRefinementState, bt as UploadProgressModal, ee as base64ToBlob, V as buildCssVars, fe as buildPromptParamDefaults, K as copyMarkdownAsRichText, q as copyToClipboard, it as defaultMarkdownComponents, te as downloadTextFile, ne as ensureDownloadFilename, R as exceedsMaxLength, Ne as extractInitials, pe as extractPromptParams, Z as formatCost, X as formatFileSize, Y as formatLastUsed, Q as formatPrice, $ as formatUnitPrice, ge as generateUUID, S as getAttachmentTypeFromMime, C as getBaseMimeType, re as getFileExtensionForLanguage, ht as getParentFolderPath, j as getUtf8ByteLength, z as hasControlCharacters, w as inferMimeTypeFromPath, D as isAnnotationSelector, G as isAudioTranscriptionSupported, gt as isHiddenPath, xt as isSkillSelectionUnsupported, H as isStatusMessage, J as markdownToRichTextHtml, B as mergeClasses, U as messageAttachmentToDisplayAttachment, W as messageAttachmentsToDisplayAttachments, T as normalizeMimeType, O as normalizePersistedHtmlTagAttachmentType, k as normalizeRawAnnotations, Me as pickAvatarColor, me as rehypePromptVariables, he as resolvePromptParams, Xe as restrainedSyntaxTheme, M as sanitizeConversationName, tt as serializeMarkdownTableRows, N as stripTrailingDots, E as stripUrlQueryAndFragment, ie as triggerAnchorDownload, ae as triggerBlobDownload, P as truncateToUtf8Bytes, oe as tryBase64ToBytes, dt as useAvailableHeightCap, Ye as useCodeCopy, ut as useCollapsedText, vt as useGridEditingScroll, ft as useIsMobile, Ke as useTextRefinement };
30
+ import { MARKDOWN_EDITOR_FILL_HEIGHT_CLASS_NAME as Se, MARKDOWN_EDITOR_MAX_HEIGHT_CLASS_NAME as Ce, RESIZABLE_FIELD_MAX_HEIGHT_CSS_VARIABLE as we, RESIZABLE_TEXTAREA_CLASS_NAME as Te } from "./constants/resizable-fields.js";
31
+ import { MARKDOWN_EDITOR_PREVIEW_LIST_CLASS_NAME as Ee } from "./constants/markdown-editor.js";
32
+ import { SELECT_LIST_MAX_HEIGHT_CLASS_NAME as De, SELECT_LIST_MAX_HEIGHT_PX as Oe } from "./constants/select-list.js";
33
+ import { DESKTOP_BREAKPOINT_PX as ke, DESKTOP_MEDIA_QUERY as Ae, MOBILE_MAX_WIDTH_PX as je, MOBILE_MEDIA_QUERY as Me } from "./constants/breakpoint.js";
34
+ import { pickAvatarColor as Ne } from "./utils/avatar-color.js";
35
+ import { extractInitials as Pe } from "./utils/initials.js";
36
+ import { InitialsAvatar as Fe } from "./components/InitialsAvatar/InitialsAvatar.js";
37
+ import { DeploymentIcon as Ie } from "./components/DeploymentIcon/DeploymentIcon.js";
38
+ import { CopyButton as Le, CopyIconButton as Re } from "./components/CopyButton/CopyButton.js";
39
+ import { PanelEmptyState as ze } from "./components/PanelEmptyState/PanelEmptyState.js";
40
+ import { ItemHeader as Be } from "./components/ItemHeader/ItemHeader.js";
41
+ import { EntityTypeLabel as Ve } from "./components/EntityTypeLabel/EntityTypeLabel.js";
42
+ import { FeaturedChip as He } from "./components/FeaturedChip/FeaturedChip.js";
43
+ import { EntityHeader as Ue } from "./components/EntityHeader/EntityHeader.js";
44
+ import { ResourceSummary as We } from "./components/ResourceSummary/ResourceSummary.js";
45
+ import { TableHeader as Ge } from "./components/MarkdownRenderer/Table/TableHeader.js";
46
+ import { TextRefinementState as Ke, useTextRefinement as qe } from "./hooks/useTextRefinement.js";
47
+ import { TextRefinementField as Je } from "./components/TextRefinementField/TextRefinementField.js";
48
+ import { CHAT_SHARED_CLASS as Ye } from "./constants/public-class-names.js";
49
+ import { useCodeCopy as Xe } from "./hooks/useCodeCopy.js";
50
+ import { restrainedSyntaxTheme as Ze } from "./components/MarkdownRenderer/CodeBlock/syntax-theme.js";
51
+ import { MarkdownCodeBlock as Qe } from "./components/MarkdownRenderer/CodeBlock/CodeBlock.js";
52
+ import { DEFAULT_MARKDOWN_TABLE_DOWNLOAD_FILENAME as $e, MARKDOWN_TABLE_CSV_MIME_TYPE as et, MarkdownTableCopyFormat as tt, serializeMarkdownTableRows as nt } from "./components/MarkdownRenderer/Table/table-serialization.js";
53
+ import { MarkdownTable as rt } from "./components/MarkdownRenderer/Table/MarkdownTable.js";
54
+ import { MarkdownRenderer as it, defaultMarkdownComponents as at } from "./components/MarkdownRenderer/MarkdownRenderer.js";
55
+ import { COMPACT_MARKDOWN_CLASS_NAMES as ot, DEFAULT_MARKDOWN_CLASS_NAMES as st } from "./components/MarkdownRenderer/markdown-class-names.js";
56
+ import { PlainTextRenderer as ct } from "./components/MarkdownRenderer/PlainTextRenderer.js";
57
+ import { MDMessageViewer as lt } from "./components/MarkdownRenderer/MDMessageViewer.js";
58
+ import { MarkdownWithPlaceholders as ut } from "./components/MarkdownWithPlaceholders/MarkdownWithPlaceholders.js";
59
+ import { useCollapsedText as dt } from "./hooks/useCollapsedText.js";
60
+ import { useAvailableHeightCap as ft } from "./hooks/useAvailableHeightCap.js";
61
+ import { useIsMobile as pt } from "./hooks/useIsMobile.js";
62
+ import { DialFileManagerActionProfile as mt, DialFileManagerVariant as ht } from "./file-manager/file-manager-variant.js";
63
+ import { getParentFolderPath as gt, isHiddenPath as _t } from "./file-manager/path.js";
64
+ import { FileUploadStatus as vt, isUploadInProgress as yt } from "./file-manager/upload-batch.js";
65
+ import { useGridEditingScroll as bt } from "./file-manager/useGridEditingScroll/useGridEditingScroll.js";
66
+ import { OperationLoaderModal as xt } from "./file-manager/OperationLoaderModal/OperationLoaderModal.js";
67
+ import { isSkillSelectionUnsupported as St } from "./utils/is-skill-selection-unsupported.js";
68
+ export { f as AttachmentErrorReason, p as AttachmentType, _e as BASE_LG_ICON_PROPS, ve as BASE_MD_ICON_PROPS, Ye as CHAT_SHARED_CLASS, ot as COMPACT_MARKDOWN_CLASS_NAMES, m as CatalogEntityType, _ as CodeBlockTheme, e as ConversationTransferErrorCode, t as ConversationTransferJobStatus, n as ConversationTransferSubjectKind, r as ConversationTransferUnitKind, i as ConversationTransferWarningCode, Le as CopyButton, Re as CopyIconButton, st as DEFAULT_MARKDOWN_CLASS_NAMES, $e as DEFAULT_MARKDOWN_TABLE_DOWNLOAD_FILENAME, ke as DESKTOP_BREAKPOINT_PX, Ae as DESKTOP_MEDIA_QUERY, Ie as DeploymentIcon, mt as DialFileManagerActionProfile, ht as DialFileManagerVariant, F as ENTITY_DESCRIPTION_MAX_LENGTH, I as ENTITY_INSTRUCTIONS_MAX_LENGTH, L as ENTITY_NAME_MAX_LENGTH, se as ENTITY_TYPE_BG_COLOR, ce as ENTITY_TYPE_COLOR, Ue as EntityHeader, Ve as EntityTypeLabel, He as FeaturedChip, h as FileExtension, vt as FileUploadStatus, a as FilterTab, ye as HIDDEN_FILE, Fe as InitialsAvatar, Be as ItemHeader, Se as MARKDOWN_EDITOR_FILL_HEIGHT_CLASS_NAME, Ce as MARKDOWN_EDITOR_MAX_HEIGHT_CLASS_NAME, Ee as MARKDOWN_EDITOR_PREVIEW_LIST_CLASS_NAME, et as MARKDOWN_TABLE_CSV_MIME_TYPE, lt as MDMessageViewer, g as MIMEType, v as MIME_TYPE_ALIASES, y as MIME_TYPE_AUDIO_PREFIX, b as MIME_TYPE_EXT_MAP, x as MIME_TYPE_WILDCARD, je as MOBILE_MAX_WIDTH_PX, Me as MOBILE_MEDIA_QUERY, Qe as MarkdownCodeBlock, it as MarkdownRenderer, rt as MarkdownTable, tt as MarkdownTableCopyFormat, ut as MarkdownWithPlaceholders, o as MessageRating, s as MessageRole, xt as OperationLoaderModal, A as PROHIBITED_CONVERSATION_NAME_CHARS_RE, le as PROMPT_PARAM_DEFAULT_SEPARATOR, ue as PROMPT_PARAM_PATTERN, de as PROMPT_VARIABLE_CLASS_NAME, be as PUBLIC_BUCKET, ze as PanelEmptyState, ct as PlainTextRenderer, we as RESIZABLE_FIELD_MAX_HEIGHT_CSS_VARIABLE, Te as RESIZABLE_TEXTAREA_CLASS_NAME, c as RequestStatus, We as ResourceSummary, d as ResponseFormat, De as SELECT_LIST_MAX_HEIGHT_CLASS_NAME, Oe as SELECT_LIST_MAX_HEIGHT_PX, l as StageStatus, u as StatusEvent, xe as TAG_INPUT_TAG_CLASS_NAME, Ge as TableHeader, Je as TextRefinementField, Ke as TextRefinementState, ee as base64ToBlob, V as buildCssVars, fe as buildPromptParamDefaults, K as copyMarkdownAsRichText, q as copyToClipboard, at as defaultMarkdownComponents, te as downloadTextFile, ne as ensureDownloadFilename, R as exceedsMaxLength, Pe as extractInitials, pe as extractPromptParams, Z as formatCost, X as formatFileSize, Y as formatLastUsed, Q as formatPrice, $ as formatUnitPrice, ge as generateUUID, S as getAttachmentTypeFromMime, C as getBaseMimeType, re as getFileExtensionForLanguage, gt as getParentFolderPath, j as getUtf8ByteLength, z as hasControlCharacters, w as inferMimeTypeFromPath, D as isAnnotationSelector, G as isAudioTranscriptionSupported, _t as isHiddenPath, St as isSkillSelectionUnsupported, H as isStatusMessage, yt as isUploadInProgress, J as markdownToRichTextHtml, B as mergeClasses, U as messageAttachmentToDisplayAttachment, W as messageAttachmentsToDisplayAttachments, T as normalizeMimeType, O as normalizePersistedHtmlTagAttachmentType, k as normalizeRawAnnotations, Ne as pickAvatarColor, me as rehypePromptVariables, he as resolvePromptParams, Ze as restrainedSyntaxTheme, M as sanitizeConversationName, nt as serializeMarkdownTableRows, N as stripTrailingDots, E as stripUrlQueryAndFragment, ie as triggerAnchorDownload, ae as triggerBlobDownload, P as truncateToUtf8Bytes, oe as tryBase64ToBytes, ft as useAvailableHeightCap, Xe as useCodeCopy, dt as useCollapsedText, bt as useGridEditingScroll, pt as useIsMobile, qe as useTextRefinement };
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.170",
4
+ "version": "1.2.0-dev.173",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "sideEffects": [
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "peerDependencies": {
34
34
  "react": "^19.2.8",
35
- "@epam/ai-dial-ui-kit": "^0.15.0-dev.20",
35
+ "@epam/ai-dial-ui-kit": "^0.15.0-dev.21",
36
36
  "@epam/ai-dial-react-file-manager": "^0.3.0-dev.13",
37
37
  "ag-grid-community": "^35.3.0"
38
38
  },
@@ -1,47 +0,0 @@
1
- import { DialFileName as e, ElementSize as t, Popup as n, ProgressBar as r } from "@epam/ai-dial-ui-kit";
2
- import { memo as i, useCallback as a } from "react";
3
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
4
- //#region src/file-manager/UploadProgressModal/UploadProgressModal.tsx
5
- var c = ({ batchState: i, uploadProgressTitle: c, uploadProgressText: l, cancelLabel: u, onCancel: d }) => {
6
- let { files: f } = i, p = a((e, n) => n === void 0 ? null : /* @__PURE__ */ o(r, {
7
- value: n,
8
- size: t.Small,
9
- "aria-label": e,
10
- "data-qa": "uploading-indicator"
11
- }), []);
12
- return /* @__PURE__ */ o(n, {
13
- className: "!h-fit !max-h-full !w-[400px] mobile:!w-full desktop:!max-h-[693px]",
14
- open: i.isOpen,
15
- closeOnOutsideClick: !1,
16
- hideClose: !0,
17
- onClose: d,
18
- mainButtons: [{
19
- label: u,
20
- onClick: d
21
- }],
22
- header: /* @__PURE__ */ s("div", {
23
- className: "flex flex-col gap-2",
24
- children: [/* @__PURE__ */ o("div", { children: c }), /* @__PURE__ */ o("div", {
25
- className: "dial-small-text text-secondary",
26
- "data-qa": "uploading-items-count",
27
- children: l
28
- })]
29
- }),
30
- children: /* @__PURE__ */ o("div", {
31
- className: "flex h-full max-h-full flex-col gap-4 px-6",
32
- children: /* @__PURE__ */ o("div", {
33
- className: "flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto",
34
- children: f.map((t) => /* @__PURE__ */ o("div", {
35
- className: "rounded bg-layer-sunken px-3 py-2",
36
- children: /* @__PURE__ */ o(e, {
37
- name: t.name,
38
- details: p(t.name, t.percent)
39
- })
40
- }, t.id))
41
- })
42
- })
43
- });
44
- };
45
- i(c);
46
- //#endregion
47
- export { c as UploadProgressModal };