@epam/ai-dial-chat-shared 1.3.0-dev.10 → 1.3.0-dev.102

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/components/ConfirmationDialog/ConfirmationDialog.d.ts +41 -0
  2. package/components/ConfirmationDialog/ConfirmationDialog.d.ts.map +1 -0
  3. package/components/ConfirmationIdentityCard/ConfirmationIdentityCard.d.ts +33 -0
  4. package/components/ConfirmationIdentityCard/ConfirmationIdentityCard.d.ts.map +1 -0
  5. package/components/ConfirmationIdentityRow/ConfirmationIdentityRow.d.ts +33 -0
  6. package/components/ConfirmationIdentityRow/ConfirmationIdentityRow.d.ts.map +1 -0
  7. package/components/ConfirmationView/ConfirmationFooter.d.ts +41 -0
  8. package/components/ConfirmationView/ConfirmationFooter.d.ts.map +1 -0
  9. package/components/ConfirmationView/ConfirmationFooter.js +3 -1
  10. package/components/ConfirmationView/ConfirmationView.d.ts +57 -0
  11. package/components/ConfirmationView/ConfirmationView.d.ts.map +1 -0
  12. package/components/ConfirmationView/ConfirmationView.js +15 -14
  13. package/components/CopyButton/CopyButton.d.ts +19 -0
  14. package/components/CopyButton/CopyButton.d.ts.map +1 -0
  15. package/components/DeleteConfirmationDialog/DeleteConfirmationDialog.d.ts +41 -0
  16. package/components/DeleteConfirmationDialog/DeleteConfirmationDialog.d.ts.map +1 -0
  17. package/components/DeleteConfirmationDialog/DeleteConfirmationDialog.js +34 -0
  18. package/components/DeleteConfirmationView/DeleteConfirmationView.d.ts +49 -0
  19. package/components/DeleteConfirmationView/DeleteConfirmationView.d.ts.map +1 -0
  20. package/components/DeleteConfirmationView/DeleteConfirmationView.js +37 -0
  21. package/components/DeleteConfirmationView/DeleteConfirmationView.module.scss.js +6 -0
  22. package/components/DeploymentIcon/DeploymentIcon.d.ts +36 -0
  23. package/components/DeploymentIcon/DeploymentIcon.d.ts.map +1 -0
  24. package/components/EntityHeader/EntityHeader.d.ts +38 -0
  25. package/components/EntityHeader/EntityHeader.d.ts.map +1 -0
  26. package/components/EntityHeader/EntityHeader.js +1 -1
  27. package/components/EntityTypeLabel/EntityTypeLabel.d.ts +18 -0
  28. package/components/EntityTypeLabel/EntityTypeLabel.d.ts.map +1 -0
  29. package/components/FeaturedChip/FeaturedChip.d.ts +16 -0
  30. package/components/FeaturedChip/FeaturedChip.d.ts.map +1 -0
  31. package/components/InitialsAvatar/InitialsAvatar.d.ts +15 -0
  32. package/components/InitialsAvatar/InitialsAvatar.d.ts.map +1 -0
  33. package/components/ItemHeader/ItemHeader.d.ts +40 -0
  34. package/components/ItemHeader/ItemHeader.d.ts.map +1 -0
  35. package/components/ItemHeader/ItemHeader.js +4 -1
  36. package/components/MarkdownRenderer/CodeBlock/CodeBlock.d.ts +55 -0
  37. package/components/MarkdownRenderer/CodeBlock/CodeBlock.d.ts.map +1 -0
  38. package/components/MarkdownRenderer/CodeBlock/CodeBlock.js +25 -25
  39. package/components/MarkdownRenderer/CodeBlock/syntax-theme.d.ts +7 -0
  40. package/components/MarkdownRenderer/CodeBlock/syntax-theme.d.ts.map +1 -0
  41. package/components/MarkdownRenderer/MDMessageViewer.d.ts +66 -0
  42. package/components/MarkdownRenderer/MDMessageViewer.d.ts.map +1 -0
  43. package/components/MarkdownRenderer/MDMessageViewer.js +14 -12
  44. package/components/MarkdownRenderer/MarkdownRenderer.d.ts +139 -0
  45. package/components/MarkdownRenderer/MarkdownRenderer.d.ts.map +1 -0
  46. package/components/MarkdownRenderer/MarkdownRenderer.js +140 -133
  47. package/components/MarkdownRenderer/Math/MarkdownMathBlock.d.ts +18 -0
  48. package/components/MarkdownRenderer/Math/MarkdownMathBlock.d.ts.map +1 -0
  49. package/components/MarkdownRenderer/Math/MarkdownMathBlock.js +1 -1
  50. package/components/MarkdownRenderer/PlainTextRenderer.d.ts +39 -0
  51. package/components/MarkdownRenderer/PlainTextRenderer.d.ts.map +1 -0
  52. package/components/MarkdownRenderer/PlainTextRenderer.js +1 -1
  53. package/components/MarkdownRenderer/Table/MarkdownTable.d.ts +47 -0
  54. package/components/MarkdownRenderer/Table/MarkdownTable.d.ts.map +1 -0
  55. package/components/MarkdownRenderer/Table/MarkdownTable.js +3 -3
  56. package/components/MarkdownRenderer/Table/TableHeader.d.ts +22 -0
  57. package/components/MarkdownRenderer/Table/TableHeader.d.ts.map +1 -0
  58. package/components/MarkdownRenderer/Table/table-serialization.d.ts +16 -0
  59. package/components/MarkdownRenderer/Table/table-serialization.d.ts.map +1 -0
  60. package/components/MarkdownRenderer/Table/useMarkdownTableActions/useMarkdownTableActions.d.ts +27 -0
  61. package/components/MarkdownRenderer/Table/useMarkdownTableActions/useMarkdownTableActions.d.ts.map +1 -0
  62. package/components/MarkdownRenderer/TaskCheckbox/MarkdownTaskCheckbox.d.ts +9 -0
  63. package/components/MarkdownRenderer/TaskCheckbox/MarkdownTaskCheckbox.d.ts.map +1 -0
  64. package/components/MarkdownRenderer/ThinkingShimmer.d.ts +17 -0
  65. package/components/MarkdownRenderer/ThinkingShimmer.d.ts.map +1 -0
  66. package/components/MarkdownRenderer/markdown-class-names.d.ts +10 -0
  67. package/components/MarkdownRenderer/markdown-class-names.d.ts.map +1 -0
  68. package/components/MarkdownRenderer/markdown-whitespace.d.ts +15 -0
  69. package/components/MarkdownRenderer/markdown-whitespace.d.ts.map +1 -0
  70. package/components/MarkdownRenderer/markdown-whitespace.js +18 -0
  71. package/components/MarkdownWithPlaceholders/MarkdownWithPlaceholders.d.ts +25 -0
  72. package/components/MarkdownWithPlaceholders/MarkdownWithPlaceholders.d.ts.map +1 -0
  73. package/components/PanelEmptyState/PanelEmptyState.d.ts +22 -0
  74. package/components/PanelEmptyState/PanelEmptyState.d.ts.map +1 -0
  75. package/components/ResourceSummary/ResourceSummary.d.ts +49 -0
  76. package/components/ResourceSummary/ResourceSummary.d.ts.map +1 -0
  77. package/components/TextRefinementField/TextRefinementField.d.ts +33 -0
  78. package/components/TextRefinementField/TextRefinementField.d.ts.map +1 -0
  79. package/components/TextRefinementField/TextRefinementField.js +27 -17
  80. package/constants/breakpoint.d.ts +9 -0
  81. package/constants/breakpoint.d.ts.map +1 -0
  82. package/constants/dial.d.ts +5 -0
  83. package/constants/dial.d.ts.map +1 -0
  84. package/constants/entity-colors.d.ts +6 -0
  85. package/constants/entity-colors.d.ts.map +1 -0
  86. package/constants/icon.d.ts +14 -0
  87. package/constants/icon.d.ts.map +1 -0
  88. package/constants/markdown-editor.d.ts +2 -0
  89. package/constants/markdown-editor.d.ts.map +1 -0
  90. package/constants/mime-types.d.ts +27 -0
  91. package/constants/mime-types.d.ts.map +1 -0
  92. package/constants/public-class-names.d.ts +13 -0
  93. package/constants/public-class-names.d.ts.map +1 -0
  94. package/constants/resizable-fields.d.ts +5 -0
  95. package/constants/resizable-fields.d.ts.map +1 -0
  96. package/constants/select-list.d.ts +4 -0
  97. package/constants/select-list.d.ts.map +1 -0
  98. package/constants/tag-input.d.ts +2 -0
  99. package/constants/tag-input.d.ts.map +1 -0
  100. package/entry-points/file-manager.d.ts +5 -0
  101. package/entry-points/file-manager.d.ts.map +1 -0
  102. package/entry-points/markdown.d.ts +19 -0
  103. package/entry-points/markdown.d.ts.map +1 -0
  104. package/file-manager/DialFileManagerShell/DialFileManagerShell.d.ts +58 -0
  105. package/file-manager/DialFileManagerShell/DialFileManagerShell.d.ts.map +1 -0
  106. package/file-manager/DialFileManagerShell/DialFileManagerShell.js +193 -190
  107. package/file-manager/FileManagerAttachModal/FileManagerAttachModal.d.ts +89 -0
  108. package/file-manager/FileManagerAttachModal/FileManagerAttachModal.d.ts.map +1 -0
  109. package/file-manager/FileManagerAttachModal/FileManagerAttachModal.js +2 -1
  110. package/file-manager/OperationLoaderModal/OperationLoaderModal.d.ts +17 -0
  111. package/file-manager/OperationLoaderModal/OperationLoaderModal.d.ts.map +1 -0
  112. package/file-manager/OperationLoaderModal/OperationLoaderModal.js +1 -1
  113. package/file-manager/attach-result.d.ts +9 -0
  114. package/file-manager/attach-result.d.ts.map +1 -0
  115. package/file-manager/file-manager-controller.d.ts +121 -0
  116. package/file-manager/file-manager-controller.d.ts.map +1 -0
  117. package/file-manager/file-manager-variant.d.ts +21 -0
  118. package/file-manager/file-manager-variant.d.ts.map +1 -0
  119. package/file-manager/file-upload-validation.d.ts +8 -0
  120. package/file-manager/file-upload-validation.d.ts.map +1 -0
  121. package/file-manager/index.d.ts +10 -0
  122. package/file-manager/index.d.ts.map +1 -0
  123. package/file-manager/labels.d.ts +158 -0
  124. package/file-manager/labels.d.ts.map +1 -0
  125. package/file-manager/path.d.ts +12 -0
  126. package/file-manager/path.d.ts.map +1 -0
  127. package/file-manager/upload-batch.d.ts +29 -0
  128. package/file-manager/upload-batch.d.ts.map +1 -0
  129. package/file-manager/upload-queue.d.ts +5 -0
  130. package/file-manager/upload-queue.d.ts.map +1 -0
  131. package/file-manager/useGridEditingScroll/useGridEditingScroll.d.ts +27 -0
  132. package/file-manager/useGridEditingScroll/useGridEditingScroll.d.ts.map +1 -0
  133. package/file-manager.d.ts +2 -506
  134. package/hooks/useAvailableHeightCap.d.ts +30 -0
  135. package/hooks/useAvailableHeightCap.d.ts.map +1 -0
  136. package/hooks/useCodeCopy.d.ts +6 -0
  137. package/hooks/useCodeCopy.d.ts.map +1 -0
  138. package/hooks/useCollapsedText.d.ts +27 -0
  139. package/hooks/useCollapsedText.d.ts.map +1 -0
  140. package/hooks/useHorizontalOverflow.d.ts +21 -0
  141. package/hooks/useHorizontalOverflow.d.ts.map +1 -0
  142. package/hooks/useIsMobile.d.ts +3 -0
  143. package/hooks/useIsMobile.d.ts.map +1 -0
  144. package/hooks/useStreamedMarkdownContent.d.ts +3 -0
  145. package/hooks/useStreamedMarkdownContent.d.ts.map +1 -0
  146. package/hooks/useTextRefinement.d.ts +44 -0
  147. package/hooks/useTextRefinement.d.ts.map +1 -0
  148. package/hooks/useUnsavedChangesGuard.d.ts +14 -0
  149. package/hooks/useUnsavedChangesGuard.d.ts.map +1 -0
  150. package/index.css +3 -2
  151. package/index.d.ts +79 -3072
  152. package/index.d.ts.map +1 -0
  153. package/index.js +68 -64
  154. package/markdown.d.ts +2 -465
  155. package/markdown.js +3 -2
  156. package/models/annotation.d.ts +143 -0
  157. package/models/annotation.d.ts.map +1 -0
  158. package/models/application-visualizer.d.ts +67 -0
  159. package/models/application-visualizer.d.ts.map +1 -0
  160. package/models/auth.d.ts +26 -0
  161. package/models/auth.d.ts.map +1 -0
  162. package/models/chat.d.ts +407 -0
  163. package/models/chat.d.ts.map +1 -0
  164. package/models/conversation-classification.d.ts +9 -0
  165. package/models/conversation-classification.d.ts.map +1 -0
  166. package/models/conversation-transfer.d.ts +96 -0
  167. package/models/conversation-transfer.d.ts.map +1 -0
  168. package/models/custom-visualizer.d.ts +61 -0
  169. package/models/custom-visualizer.d.ts.map +1 -0
  170. package/models/deployment-configuration.d.ts +55 -0
  171. package/models/deployment-configuration.d.ts.map +1 -0
  172. package/models/deployment-features.d.ts +17 -0
  173. package/models/deployment-features.d.ts.map +1 -0
  174. package/models/deployment.d.ts +31 -0
  175. package/models/deployment.d.ts.map +1 -0
  176. package/models/dial-model.d.ts +19 -0
  177. package/models/dial-model.d.ts.map +1 -0
  178. package/models/entity.d.ts +15 -0
  179. package/models/entity.d.ts.map +1 -0
  180. package/models/import-export.d.ts +23 -0
  181. package/models/import-export.d.ts.map +1 -0
  182. package/models/inline-segment.d.ts +11 -0
  183. package/models/inline-segment.d.ts.map +1 -0
  184. package/models/locale.d.ts +19 -0
  185. package/models/locale.d.ts.map +1 -0
  186. package/models/text-refinement.d.ts +18 -0
  187. package/models/text-refinement.d.ts.map +1 -0
  188. package/models/theme.d.ts +36 -0
  189. package/models/theme.d.ts.map +1 -0
  190. package/models/tool-menu-item.d.ts +13 -0
  191. package/models/tool-menu-item.d.ts.map +1 -0
  192. package/package.json +3 -3
  193. package/types/attachment.d.ts +25 -0
  194. package/types/attachment.d.ts.map +1 -0
  195. package/types/code-editor.d.ts +8 -0
  196. package/types/code-editor.d.ts.map +1 -0
  197. package/types/entity-type.d.ts +10 -0
  198. package/types/entity-type.d.ts.map +1 -0
  199. package/types/file-manager-node.d.ts +17 -0
  200. package/types/file-manager-node.d.ts.map +1 -0
  201. package/types/mime-type.d.ts +59 -0
  202. package/types/mime-type.d.ts.map +1 -0
  203. package/utils/annotation.d.ts +29 -0
  204. package/utils/annotation.d.ts.map +1 -0
  205. package/utils/avatar-color.d.ts +10 -0
  206. package/utils/avatar-color.d.ts.map +1 -0
  207. package/utils/base64-json.d.ts +14 -0
  208. package/utils/base64-json.d.ts.map +1 -0
  209. package/utils/base64-json.js +4 -0
  210. package/utils/build-css-vars.d.ts +4 -0
  211. package/utils/build-css-vars.d.ts.map +1 -0
  212. package/utils/copy-to-clipboard.d.ts +18 -0
  213. package/utils/copy-to-clipboard.d.ts.map +1 -0
  214. package/utils/entity-field-limits.d.ts +11 -0
  215. package/utils/entity-field-limits.d.ts.map +1 -0
  216. package/utils/entity-type.d.ts +5 -0
  217. package/utils/entity-type.d.ts.map +1 -0
  218. package/utils/file-download.d.ts +21 -0
  219. package/utils/file-download.d.ts.map +1 -0
  220. package/utils/format-file-size.d.ts +3 -0
  221. package/utils/format-file-size.d.ts.map +1 -0
  222. package/utils/format-last-used.d.ts +3 -0
  223. package/utils/format-last-used.d.ts.map +1 -0
  224. package/utils/format-price.d.ts +7 -0
  225. package/utils/format-price.d.ts.map +1 -0
  226. package/utils/generate-uuid.d.ts +3 -0
  227. package/utils/generate-uuid.d.ts.map +1 -0
  228. package/utils/initials.d.ts +3 -0
  229. package/utils/initials.d.ts.map +1 -0
  230. package/utils/inline-segments.d.ts +38 -0
  231. package/utils/inline-segments.d.ts.map +1 -0
  232. package/utils/inline-segments.js +53 -0
  233. package/utils/is-audio-transcription-supported.d.ts +3 -0
  234. package/utils/is-audio-transcription-supported.d.ts.map +1 -0
  235. package/utils/is-skill-selection-unsupported.d.ts +3 -0
  236. package/utils/is-skill-selection-unsupported.d.ts.map +1 -0
  237. package/utils/latex.d.ts +21 -0
  238. package/utils/latex.d.ts.map +1 -0
  239. package/utils/markdown-html.d.ts +14 -0
  240. package/utils/markdown-html.d.ts.map +1 -0
  241. package/utils/markdown-html.js +11 -0
  242. package/utils/merge-class.d.ts +4 -0
  243. package/utils/merge-class.d.ts.map +1 -0
  244. package/utils/message-attachment-to-display.d.ts +22 -0
  245. package/utils/message-attachment-to-display.d.ts.map +1 -0
  246. package/utils/message.d.ts +4 -0
  247. package/utils/message.d.ts.map +1 -0
  248. package/utils/mime-type.d.ts +22 -0
  249. package/utils/mime-type.d.ts.map +1 -0
  250. package/utils/prompt-variables.d.ts +62 -0
  251. package/utils/prompt-variables.d.ts.map +1 -0
  252. package/utils/string-utils.d.ts +11 -0
  253. package/utils/string-utils.d.ts.map +1 -0
  254. package/utils/syntax-highlighting.d.ts +8 -0
  255. package/utils/syntax-highlighting.d.ts.map +1 -0
@@ -4,52 +4,52 @@ import { getParentFolderPath as ee } from "../path.js";
4
4
  import { useGridEditingScroll as te } from "../useGridEditingScroll/useGridEditingScroll.js";
5
5
  import { OperationLoaderModal as ne } from "../OperationLoaderModal/OperationLoaderModal.js";
6
6
  import { toUploadQueueItems as re } from "../upload-queue.js";
7
- import { ButtonVariant as r, 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 i, useCallback as ce, useEffect as le, useMemo as a, useState as ue } from "react";
9
- import { Fragment as de, jsx as o, jsxs as s } from "react/jsx-runtime";
10
- import { DialFileManager as fe, DialFileManagerActions as c, DialFileManagerTabs as pe, GridSelectionMode as me } from "@epam/ai-dial-react-file-manager";
7
+ import { ButtonVariant as ie, NOT_ALLOWED_SYMBOLS_REGEXP as ae, PrimaryButton as oe, Spinner as se, TransferQueue as ce } from "@epam/ai-dial-ui-kit";
8
+ import { memo as r, useCallback as le, useEffect as ue, useMemo as i, useState as de } from "react";
9
+ import { Fragment as fe, jsx as a, jsxs as o } from "react/jsx-runtime";
10
+ import { DialFileManager as pe, DialFileManagerActions as s, DialFileManagerTabs as me, GridSelectionMode as he } from "@epam/ai-dial-react-file-manager";
11
11
  //#region src/file-manager/DialFileManagerShell/DialFileManagerShell.tsx
12
- var he = (e, t) => {
12
+ var ge = (e, t) => {
13
13
  if (e.isDownloading) return t.downloadingLabel;
14
14
  if (e.isDeleting) return t.deletingLabel;
15
15
  if (e.isRenaming && !e.isMoving) return t.renamingLabel;
16
16
  if (e.isUnsharing) return t.unsharingLabel;
17
17
  if (e.isRemovingAccess) return t.removingAccessLabel;
18
- }, l = ({ controller: i, labels: l, activeTab: u, tabs: d, onTabChange: f, selectedPaths: p, onSelectedPathsChange: ge, variant: m, actionProfile: _e, autoSelectUploadedItems: ve = !1, allowedFileTypes: ye, maxSelectableFileSize: h, oversizedUploadMessage: g, isRowSelectable: _, getDisabledTooltip: be, unsupportedFileTypeTooltip: xe }) => {
19
- let { items: Se, isLoading: Ce, error: we, path: v, onPathChange: Te, retry: Ee, onSearchFiles: De, isSearching: Oe, searchResults: ke, clearSearchResults: Ae, expandedPaths: y, loadedPaths: b, onExpandedPathsChange: x, onFolderPopupPathChange: je, folderPopupLoadingPaths: S, onUploadFiles: Me, onUploadArchive: Ne, onValidateUpload: Pe, uploadBatchState: C, cancelUpload: w, cancelUploadFile: T, clearUploadBatch: E, onCreateFolder: Fe, onCreateFolderValidate: Ie, onDownloadFiles: Le, isDownloading: Re, onDeleteFiles: ze, isDeleting: Be, onMoveToFiles: Ve, onRenameValidate: He, isRenaming: Ue, onCopyFiles: We, isCopying: Ge, isMoving: D, cancelCopyMove: Ke, uploadEnabled: O, isNewButtonDisabled: k, disabledNewButtonTooltip: A, visibleColumns: j, dateLocale: M, dateOptions: N, actionLabels: P, sharedWithMeIds: qe, sharedByMePaths: F, onUnshareFiles: Je, isUnsharing: Ye, onRemoveFilesAccess: Xe, isRemovingAccess: Ze, fileMetadata: I, isFileMetadataLoading: L, onGetInfo: Qe, clearMetadata: R, sectionTab: $e } = i, z = $e ?? u, [B, et] = ue(void 0), { handleGridApiChange: tt, reset: V } = te();
20
- le(() => {
18
+ }, c = ({ controller: r, labels: c, activeTab: l, tabs: u, onTabChange: d, selectedPaths: f, onSelectedPathsChange: _e, variant: p, actionProfile: ve, autoSelectUploadedItems: ye = !1, allowedFileTypes: be, maxSelectableFileSize: m, oversizedUploadMessage: h, isRowSelectable: g, getDisabledTooltip: xe, unsupportedFileTypeTooltip: Se, treeContainerClassName: _ }) => {
19
+ let { items: Ce, isLoading: we, error: Te, path: v, onPathChange: Ee, retry: De, onSearchFiles: Oe, isSearching: ke, searchResults: Ae, clearSearchResults: je, expandedPaths: y, loadedPaths: b, onExpandedPathsChange: x, onFolderPopupPathChange: Me, folderPopupLoadingPaths: S, onUploadFiles: Ne, onUploadArchive: Pe, onValidateUpload: Fe, uploadBatchState: C, cancelUpload: w, cancelUploadFile: Ie, clearUploadBatch: T, onCreateFolder: Le, onCreateFolderValidate: Re, onDownloadFiles: ze, isDownloading: Be, onDeleteFiles: E, isDeleting: Ve, onMoveToFiles: He, onRenameValidate: Ue, isRenaming: We, onCopyFiles: Ge, isCopying: Ke, isMoving: D, cancelCopyMove: qe, uploadEnabled: O, isNewButtonDisabled: k, disabledNewButtonTooltip: A, visibleColumns: j, dateLocale: M, dateOptions: N, actionLabels: P, sharedWithMeIds: Je, sharedByMePaths: F, onUnshareFiles: Ye, isUnsharing: Xe, onRemoveFilesAccess: Ze, isRemovingAccess: Qe, fileMetadata: I, isFileMetadataLoading: L, onGetInfo: $e, clearMetadata: R, sectionTab: et } = r, z = et ?? l, [B, tt] = de(void 0), { handleGridApiChange: nt, reset: V } = te();
20
+ ue(() => {
21
21
  V();
22
22
  }, [z, V]);
23
- let H = a(() => {
23
+ let H = i(() => {
24
24
  let e = {};
25
- return c.Download in P && (e[c.Download] = l.downloadLabel), c.Delete in P && (e[c.Delete] = l.deleteLabel), c.Rename in P && (e[c.Rename] = l.renameLabel), c.Copy in P && (e[c.Copy] = l.copyLabel), c.Move in P && (e[c.Move] = l.moveLabel), c.Duplicate in P && (e[c.Duplicate] = l.duplicateLabel), c.Unshare in P && (e[c.Unshare] = l.unshareLabel), c.RemoveAccess in P && (e[c.RemoveAccess] = l.removeAccessLabel), e;
25
+ return s.Download in P && (e[s.Download] = c.downloadLabel), s.Delete in P && (e[s.Delete] = c.deleteLabel), s.Rename in P && (e[s.Rename] = c.renameLabel), s.Copy in P && (e[s.Copy] = c.copyLabel), s.Move in P && (e[s.Move] = c.moveLabel), s.Duplicate in P && (e[s.Duplicate] = c.duplicateLabel), s.Unshare in P && (e[s.Unshare] = c.unshareLabel), s.RemoveAccess in P && (e[s.RemoveAccess] = c.removeAccessLabel), e;
26
26
  }, [
27
27
  P,
28
- l.downloadLabel,
29
- l.deleteLabel,
30
- l.renameLabel,
31
- l.copyLabel,
32
- l.moveLabel,
33
- l.duplicateLabel,
34
- l.unshareLabel,
35
- l.removeAccessLabel
36
- ]), U = a(() => c.Info in P ? {
28
+ c.downloadLabel,
29
+ c.deleteLabel,
30
+ c.renameLabel,
31
+ c.copyLabel,
32
+ c.moveLabel,
33
+ c.duplicateLabel,
34
+ c.unshareLabel,
35
+ c.removeAccessLabel
36
+ ]), U = i(() => s.Info in P ? {
37
37
  ...H,
38
- [c.Info]: l.infoLabel
38
+ [s.Info]: c.infoLabel
39
39
  } : H, [
40
40
  H,
41
41
  P,
42
- l.infoLabel
43
- ]), W = a(() => {
44
- if (p.size === 0) return !1;
45
- for (let e of p) if (!F.has(e)) return !1;
42
+ c.infoLabel
43
+ ]), W = i(() => {
44
+ if (f.size === 0) return !1;
45
+ for (let e of f) if (!F.has(e)) return !1;
46
46
  return !0;
47
- }, [p, F]), G = a(() => {
47
+ }, [f, F]), G = i(() => {
48
48
  if (W) return H;
49
- let { [c.RemoveAccess]: e, ...t } = H;
49
+ let { [s.RemoveAccess]: e, ...t } = H;
50
50
  return t;
51
- }, [H, W]), K = m === n.Attach, nt = a(() => ({
52
- selectionMode: me.MULTIPLE,
51
+ }, [H, W]), K = p === n.Attach, rt = i(() => ({
52
+ selectionMode: he.MULTIPLE,
53
53
  ...K ? { filterable: !1 } : {},
54
54
  visibleColumns: j,
55
55
  dateLocale: M,
@@ -58,7 +58,7 @@ var he = (e, t) => {
58
58
  domLayout: "normal",
59
59
  rowSelection: {
60
60
  mode: "multiRow",
61
- isRowSelectable: _ ?? (() => !0)
61
+ isRowSelectable: g ?? (() => !0)
62
62
  }
63
63
  },
64
64
  actionLabels: U
@@ -68,253 +68,256 @@ var he = (e, t) => {
68
68
  M,
69
69
  N,
70
70
  U,
71
- _
72
- ]), rt = a(() => ({
73
- header: m === n.Attach ? null : l.treeHeaderByTab[u],
74
- containerClassName: m === n.Attach ? "min-h-0 h-full w-[360px] shrink-0 rounded-xl bg-layer-raised shadow-sm" : void 0,
75
- tabsAriaLabel: l.treeHeaderByTab[u],
76
- tabs: d,
77
- activeTab: u,
78
- onTabChange: f,
71
+ g
72
+ ]), it = i(() => ({
73
+ header: p === n.Attach ? null : c.treeHeaderByTab[l],
74
+ containerClassName: _ ?? (p === n.Attach ? "min-h-0 h-full w-[360px] shrink-0 rounded-xl bg-layer-raised shadow-sm" : void 0),
75
+ tabsAriaLabel: c.treeHeaderByTab[l],
76
+ tabs: u,
77
+ activeTab: l,
78
+ onTabChange: d,
79
79
  expandedPaths: y,
80
80
  loadedPaths: b,
81
81
  loadingPaths: S,
82
82
  onExpandedPathsChange: x,
83
83
  actionLabels: H
84
84
  }), [
85
- l.treeHeaderByTab,
86
- m,
87
- d,
85
+ c.treeHeaderByTab,
86
+ _,
87
+ p,
88
88
  u,
89
- f,
89
+ l,
90
+ d,
90
91
  y,
91
92
  b,
92
93
  S,
93
94
  x,
94
95
  H
95
- ]), q = m === n.Standalone && _e === t.Full && z === pe.MyFiles && O, it = a(() => ({
96
+ ]), q = p === n.Standalone && ve === t.Full && z === me.MyFiles && O, at = i(() => ({
96
97
  showHiddenFilesToggle: !0,
97
- ...K ? { newButtonVariant: r.Neutral } : {},
98
- hiddenFilesSwitcherLabel: l.hiddenFilesLabel,
99
- showHiddenFilesLabel: l.showHiddenFilesLabel,
100
- hideHiddenFilesLabel: l.hideHiddenFilesLabel,
98
+ ...K ? { newButtonVariant: ie.Neutral } : {},
99
+ hiddenFilesSwitcherLabel: c.hiddenFilesLabel,
100
+ showHiddenFilesLabel: c.showHiddenFilesLabel,
101
+ hideHiddenFilesLabel: c.hideHiddenFilesLabel,
101
102
  isNewButtonDisabled: k,
102
103
  disabledNewButtonTooltip: A,
103
104
  newActions: {
104
105
  uploadFiles: {
105
- label: l.uploadFilesLabel,
106
+ label: c.uploadFilesLabel,
106
107
  icon: null
107
108
  },
108
109
  newFolder: {
109
- label: l.newFolderLabel,
110
+ label: c.newFolderLabel,
110
111
  icon: null
111
112
  },
112
113
  ...q ? { uploadArchive: {
113
- label: l.uploadArchiveAction,
114
+ label: c.uploadArchiveAction,
114
115
  icon: null
115
116
  } } : {}
116
117
  }
117
118
  }), [
118
119
  K,
119
- l.hiddenFilesLabel,
120
- l.showHiddenFilesLabel,
121
- l.hideHiddenFilesLabel,
120
+ c.hiddenFilesLabel,
121
+ c.showHiddenFilesLabel,
122
+ c.hideHiddenFilesLabel,
122
123
  k,
123
124
  A,
124
- l.uploadFilesLabel,
125
- l.newFolderLabel,
125
+ c.uploadFilesLabel,
126
+ c.newFolderLabel,
126
127
  q,
127
- l.uploadArchiveAction
128
- ]), at = a(() => K ? void 0 : {
129
- getSelectionLabel: l.getSelectionLabel,
128
+ c.uploadArchiveAction
129
+ ]), ot = i(() => K ? void 0 : {
130
+ getSelectionLabel: c.getSelectionLabel,
130
131
  actionLabels: G
131
132
  }, [
132
133
  K,
133
- l.getSelectionLabel,
134
+ c.getSelectionLabel,
134
135
  G
135
- ]), ot = a(() => ({
136
- cancelLabel: l.deleteCancelLabel,
137
- confirmLabel: l.deleteConfirmLabel,
138
- closeLabel: l.deleteCloseLabel,
139
- titleRenderer: l.deleteConfirmTitle,
140
- contentRenderer: l.deleteConfirmBody
136
+ ]), st = i(() => ({
137
+ cancelLabel: c.deleteCancelLabel,
138
+ confirmLabel: c.deleteConfirmLabel,
139
+ closeLabel: c.deleteCloseLabel,
140
+ titleRenderer: c.deleteConfirmTitle,
141
+ contentRenderer: c.deleteConfirmBody
141
142
  }), [
142
- l.deleteCancelLabel,
143
- l.deleteConfirmLabel,
144
- l.deleteCloseLabel,
145
- l.deleteConfirmTitle,
146
- l.deleteConfirmBody
147
- ]), st = a(() => {
143
+ c.deleteCancelLabel,
144
+ c.deleteConfirmLabel,
145
+ c.deleteCloseLabel,
146
+ c.deleteConfirmTitle,
147
+ c.deleteConfirmBody
148
+ ]), ct = i(() => {
148
149
  let e;
149
- for (let t of p) {
150
+ for (let t of f) {
150
151
  let n = ee(t);
151
152
  if (e === void 0) e = n;
152
153
  else if (e !== n) return;
153
154
  }
154
155
  return e;
155
- }, [p]), J = B != null && S.has(B), Y = J ? B : st, ct = a(() => ({
156
- copyLabel: l.copyLabel,
157
- moveLabel: l.moveLabel,
158
- addFolderLabel: l.addFolderLabel,
159
- hiddenFilesSwitcherLabel: l.hiddenFilesSwitcherLabel,
160
- getCopyHeader: l.getCopyHeader,
161
- getMoveHeader: l.getMoveHeader,
162
- disabledPathTooltip: J ? l.folderPickerLoadingTooltip : l.moveSourceDisabledTooltip,
163
- emptyStateTitle: l.folderPickerEmptyStateTitle,
164
- emptyStateDescription: l.folderPickerEmptyStateDescription,
156
+ }, [f]), J = B != null && S.has(B), Y = J ? B : ct, lt = i(() => ({
157
+ copyLabel: c.copyLabel,
158
+ moveLabel: c.moveLabel,
159
+ addFolderLabel: c.addFolderLabel,
160
+ hiddenFilesSwitcherLabel: c.hiddenFilesSwitcherLabel,
161
+ getCopyHeader: c.getCopyHeader,
162
+ getMoveHeader: c.getMoveHeader,
163
+ disabledPathTooltip: J ? c.folderPickerLoadingTooltip : c.moveSourceDisabledTooltip,
164
+ movedIntoItselfTooltip: c.movedIntoItselfTooltip,
165
+ emptyStateTitle: c.folderPickerEmptyStateTitle,
166
+ emptyStateDescription: c.folderPickerEmptyStateDescription,
165
167
  sourceFolder: Y,
166
168
  destinationFolderPath: B,
167
- setDestinationFolderPath: et,
169
+ setDestinationFolderPath: tt,
168
170
  filesLoading: J
169
171
  }), [
170
- l.copyLabel,
171
- l.moveLabel,
172
- l.addFolderLabel,
173
- l.hiddenFilesSwitcherLabel,
174
- l.getCopyHeader,
175
- l.getMoveHeader,
176
- l.folderPickerLoadingTooltip,
177
- l.moveSourceDisabledTooltip,
178
- l.folderPickerEmptyStateTitle,
179
- l.folderPickerEmptyStateDescription,
172
+ c.copyLabel,
173
+ c.moveLabel,
174
+ c.addFolderLabel,
175
+ c.hiddenFilesSwitcherLabel,
176
+ c.getCopyHeader,
177
+ c.getMoveHeader,
178
+ c.folderPickerLoadingTooltip,
179
+ c.moveSourceDisabledTooltip,
180
+ c.movedIntoItselfTooltip,
181
+ c.folderPickerEmptyStateTitle,
182
+ c.folderPickerEmptyStateDescription,
180
183
  J,
181
184
  Y,
182
185
  B
183
- ]), lt = ce(() => {
184
- w(), E();
185
- }, [w, E]), X = a(() => re(C?.files ?? []), [C]), ut = a(() => ({
186
+ ]), ut = le(() => {
187
+ w(), T();
188
+ }, [w, T]), X = i(() => re(C?.files ?? []), [C]), dt = i(() => ({
186
189
  fileMetadata: I,
187
190
  loading: L,
188
191
  clearMetadata: R,
189
- header: l.metadataHeader,
190
- nameLabel: l.metadataNameLabel,
191
- pathLabel: l.metadataPathLabel,
192
- modifiedDateLabel: l.metadataModifiedDateLabel,
193
- sizeLabel: l.metadataSizeLabel,
194
- authorLabel: l.metadataAuthorLabel
192
+ header: c.metadataHeader,
193
+ nameLabel: c.metadataNameLabel,
194
+ pathLabel: c.metadataPathLabel,
195
+ modifiedDateLabel: c.metadataModifiedDateLabel,
196
+ sizeLabel: c.metadataSizeLabel,
197
+ authorLabel: c.metadataAuthorLabel
195
198
  }), [
196
199
  I,
197
200
  L,
198
201
  R,
199
- l.metadataHeader,
200
- l.metadataNameLabel,
201
- l.metadataPathLabel,
202
- l.metadataModifiedDateLabel,
203
- l.metadataSizeLabel,
204
- l.metadataAuthorLabel
205
- ]), Z = he({
206
- isDownloading: Re,
207
- isDeleting: Be,
208
- isRenaming: Ue,
202
+ c.metadataHeader,
203
+ c.metadataNameLabel,
204
+ c.metadataPathLabel,
205
+ c.metadataModifiedDateLabel,
206
+ c.metadataSizeLabel,
207
+ c.metadataAuthorLabel
208
+ ]), Z = ge({
209
+ isDownloading: Be,
210
+ isDeleting: Ve,
211
+ isRenaming: We,
209
212
  isMoving: D,
210
- isUnsharing: Ye,
211
- isRemovingAccess: Ze
212
- }, l), Q = "bg-layer-base", $ = a(() => v.split("/").filter(Boolean).length > 1 ? {
213
- title: l.folderEmptyStateTitle,
213
+ isUnsharing: Xe,
214
+ isRemovingAccess: Qe
215
+ }, c), Q = "bg-layer-base", $ = i(() => v.split("/").filter(Boolean).length > 1 ? {
216
+ title: c.folderEmptyStateTitle,
214
217
  description: ""
215
- } : l.emptyStateByTab[z], [
218
+ } : c.emptyStateByTab[z], [
216
219
  v,
217
- l.folderEmptyStateTitle,
218
- l.emptyStateByTab,
220
+ c.folderEmptyStateTitle,
221
+ c.emptyStateByTab,
219
222
  z
220
223
  ]);
221
- return /* @__PURE__ */ s(de, { children: [
222
- we == null ? /* @__PURE__ */ s("div", {
224
+ return /* @__PURE__ */ o(fe, { children: [
225
+ Te == null ? /* @__PURE__ */ o("div", {
223
226
  className: e("relative flex min-h-0 w-full grow overflow-auto", Q),
224
- children: [/* @__PURE__ */ o(fe, {
225
- className: e("min-h-0 w-full grow", Q),
226
- contentClassName: m === n.Attach ? "px-0 pb-0" : void 0,
227
- gridClassName: m === n.Attach ? "size-full gap-6 px-6 py-4" : "size-full",
228
- items: Se,
227
+ children: [/* @__PURE__ */ a(pe, {
228
+ className: e("min-h-0 w-full grow", Q, K && "p-0"),
229
+ contentClassName: p === n.Attach ? "px-0 pb-0" : void 0,
230
+ gridClassName: p === n.Attach ? "size-full gap-6 px-6 py-4" : "size-full",
231
+ items: Ce,
229
232
  path: v,
230
- onPathChange: Te,
231
- onGridApiChange: tt,
232
- filesLoading: Ce,
233
- allowedFileTypes: ye,
234
- maxSelectableFileSize: h,
235
- maxFileSize: h,
236
- uploadValidationMessages: g == null ? void 0 : { oversizedFiles: g },
237
- selectedPaths: p,
238
- onSelectedPathsChange: ge,
233
+ onPathChange: Ee,
234
+ onGridApiChange: nt,
235
+ filesLoading: we,
236
+ allowedFileTypes: be,
237
+ maxSelectableFileSize: m,
238
+ maxFileSize: m,
239
+ uploadValidationMessages: h == null ? void 0 : { oversizedFiles: h },
240
+ selectedPaths: f,
241
+ onSelectedPathsChange: _e,
239
242
  navigationPanelOptions: {
240
243
  searchable: !0,
241
- placeholder: l.searchPlaceholderByTab?.[z]
244
+ placeholder: c.searchPlaceholderByTab?.[z]
242
245
  },
243
246
  hideSearchPathItemName: !0,
244
- onSearchFiles: De,
245
- searchInProgress: Oe,
246
- searchResults: ke ?? [],
247
- clearSearchResults: Ae,
248
- gridOptions: nt,
249
- treeOptions: rt,
250
- onFolderPopupPathChange: je,
251
- toolbarOptions: it,
252
- bulkActionsToolbarOptions: at,
253
- autoSelectUploadedItems: ve,
247
+ onSearchFiles: Oe,
248
+ searchInProgress: ke,
249
+ searchResults: Ae ?? [],
250
+ clearSearchResults: je,
251
+ gridOptions: rt,
252
+ treeOptions: it,
253
+ onFolderPopupPathChange: Me,
254
+ toolbarOptions: at,
255
+ bulkActionsToolbarOptions: ot,
256
+ autoSelectUploadedItems: ye,
254
257
  emptyStateTitle: $.title,
255
258
  emptyStateDescription: $.description,
256
- searchEmptyStateTitle: l.searchEmptyStateTitle,
259
+ searchEmptyStateTitle: c.searchEmptyStateTitle,
257
260
  uploadEnabled: O,
258
- sharedWithMeIds: qe,
261
+ sharedWithMeIds: Je,
259
262
  sharedByMePaths: F,
260
- onUnshareFiles: Je,
261
- onRemoveFilesAccess: Xe,
262
- fileMetadataPopupOptions: ut,
263
- onGetInfo: Qe,
264
- onUploadFiles: Me,
265
- onUploadArchive: Ne,
266
- onValidateUpload: Pe,
267
- onCreateFolder: Fe,
268
- onCreateFolderValidate: Ie,
269
- onDownloadFiles: Le,
270
- onDeleteFiles: ze,
271
- onMoveToFiles: Ve,
272
- onCopyFiles: We,
273
- onRenameValidate: He,
274
- renameValidationMessages: l.renameValidationMessages,
263
+ onUnshareFiles: Ye,
264
+ onRemoveFilesAccess: Ze,
265
+ fileMetadataPopupOptions: dt,
266
+ onGetInfo: $e,
267
+ onUploadFiles: Ne,
268
+ onUploadArchive: Pe,
269
+ onValidateUpload: Fe,
270
+ onCreateFolder: Le,
271
+ onCreateFolderValidate: Re,
272
+ onDownloadFiles: ze,
273
+ onDeleteFiles: E,
274
+ onMoveToFiles: He,
275
+ onCopyFiles: Ge,
276
+ onRenameValidate: Ue,
277
+ renameValidationMessages: c.renameValidationMessages,
275
278
  isRenameFileAvailable: O,
276
- deleteConfirmationOptions: ot,
277
- conflictResolutionPopupOptions: l.conflictResolutionPopupOptions,
278
- destinationFolderPopupOptions: ct,
279
- forbiddenSymbolsRegExp: ie,
280
- forbiddenSymbolsTooltip: l.forbiddenSymbolsTooltip,
281
- getDisabledTooltip: be,
282
- unsupportedFileTypeTooltip: xe
283
- }), Z != null && /* @__PURE__ */ o("div", {
279
+ deleteConfirmationOptions: st,
280
+ conflictResolutionPopupOptions: c.conflictResolutionPopupOptions,
281
+ destinationFolderPopupOptions: lt,
282
+ forbiddenSymbolsRegExp: ae,
283
+ forbiddenSymbolsTooltip: c.forbiddenSymbolsTooltip,
284
+ getDisabledTooltip: xe,
285
+ unsupportedFileTypeTooltip: Se
286
+ }), Z != null && /* @__PURE__ */ a("div", {
284
287
  "aria-live": "polite",
285
- className: "absolute inset-0 z-[52] flex items-center justify-center bg-backdrop desktop:p-4",
286
- children: /* @__PURE__ */ o(oe, {
288
+ className: "absolute inset-0 z-52 flex items-center justify-center bg-backdrop desktop:p-4",
289
+ children: /* @__PURE__ */ a(se, {
287
290
  size: 32,
288
291
  fullWidth: !1,
289
292
  ariaLabel: Z
290
293
  })
291
294
  })]
292
- }) : /* @__PURE__ */ s("div", {
295
+ }) : /* @__PURE__ */ o("div", {
293
296
  role: "alert",
294
297
  className: "flex flex-col items-center gap-4 p-6",
295
- children: [/* @__PURE__ */ o("p", { children: l.errorMessage }), /* @__PURE__ */ o(ae, {
296
- label: l.retryLabel,
297
- onClick: Ee
298
+ children: [/* @__PURE__ */ a("p", { children: c.errorMessage }), /* @__PURE__ */ a(oe, {
299
+ label: c.retryLabel,
300
+ onClick: De
298
301
  })]
299
302
  }),
300
- /* @__PURE__ */ o("div", {
301
- className: "fixed bottom-4 end-4 z-[70]",
302
- children: /* @__PURE__ */ o(se, {
303
- title: l.getUploadQueueTitle(X.length),
303
+ /* @__PURE__ */ a("div", {
304
+ className: "fixed inset-e-4 bottom-4 z-70",
305
+ children: /* @__PURE__ */ a(ce, {
306
+ title: c.getUploadQueueTitle(X.length),
304
307
  items: X,
305
- onClose: lt,
306
- onCancelItem: T,
307
- labels: l.uploadQueueLabels
308
+ onClose: ut,
309
+ onCancelItem: Ie,
310
+ labels: c.uploadQueueLabels
308
311
  })
309
312
  }),
310
- (Ge || D) && /* @__PURE__ */ o(ne, {
311
- title: D ? l.operationLoaderMoveTitle : l.operationLoaderCopyTitle,
312
- text: D ? l.movingLabel : l.copyingLabel,
313
- cancelLabel: l.operationLoaderCancelLabel,
314
- onCancel: Ke
313
+ (Ke || D) && /* @__PURE__ */ a(ne, {
314
+ title: D ? c.operationLoaderMoveTitle : c.operationLoaderCopyTitle,
315
+ text: D ? c.movingLabel : c.copyingLabel,
316
+ cancelLabel: c.operationLoaderCancelLabel,
317
+ onCancel: qe
315
318
  })
316
319
  ] });
317
320
  };
318
- i(l);
321
+ r(c);
319
322
  //#endregion
320
- export { l as DialFileManagerShell };
323
+ export { c as DialFileManagerShell };
@@ -0,0 +1,89 @@
1
+ import { DialFileManagerTabs, DialFile, DialFileAcceptType, FileManagerGridRow, FileTreeOptions } from '@epam/ai-dial-react-file-manager';
2
+ import { FC } from 'react';
3
+ import { FileManagerSelectableNode } from '../../types/file-manager-node';
4
+ import { AttachResult } from '../attach-result';
5
+ import { FileManagerController } from '../file-manager-controller';
6
+ import { DialFileManagerActionProfile, DialFileManagerVariant } from '../file-manager-variant';
7
+ import { FileManagerAttachModalLabels } from '../labels';
8
+ /** Props accepted by `FileManagerAttachModal`. */
9
+ export interface FileManagerAttachModalProps {
10
+ /** Whether the modal is open. */
11
+ isOpen: boolean;
12
+ /** Called when the modal requests to be closed. */
13
+ onClose: () => void;
14
+ /** Called with the confirmed selection when the user presses Attach. */
15
+ onAttach: (result: AttachResult) => void;
16
+ /** Called when one or more selected files were filtered out due to an unsupported type. */
17
+ onSkippedUnsupportedFiles?: () => void;
18
+ /** Called when the total attachment count would exceed the limit. */
19
+ onCountLimitExceeded?: (totalCount: number, limit: number) => void;
20
+ /** Live file-manager state driving the grid. */
21
+ controller: FileManagerController;
22
+ /**
23
+ * True while any mutating operation is in progress (upload, delete, rename, etc.).
24
+ * Disables the Attach button alongside `isLoading`.
25
+ */
26
+ isAnyOperationInProgress: boolean;
27
+ /** Currently active tab. */
28
+ activeTab: DialFileManagerTabs;
29
+ /** Filter chips scoping the tree and the grid, rendered above the folder tree. */
30
+ tabs: FileTreeOptions['tabs'];
31
+ /**
32
+ * Called when the user switches tabs.
33
+ * The host is responsible for resetting `selectedPaths` to an empty set.
34
+ */
35
+ onTabChange: (tab: DialFileManagerTabs) => void;
36
+ /** All user-visible strings. */
37
+ labels: FileManagerAttachModalLabels;
38
+ /** File-manager variant (controls which toolbar entries are shown). */
39
+ variant: DialFileManagerVariant;
40
+ /** Action profile controlling toolbar entry visibility. */
41
+ actionProfile: DialFileManagerActionProfile;
42
+ /**
43
+ * Current set of selected virtual paths, managed by the host.
44
+ * The host must reset this to an empty set when the active tab changes.
45
+ */
46
+ selectedPaths: Set<string>;
47
+ /** Called when the user changes the grid selection. */
48
+ onSelectedPathsChange: (paths: Set<string>) => void;
49
+ /**
50
+ * Resolves a folder `DialFile` to its DIAL Core path string for inclusion in
51
+ * `AttachResult.folderPaths`. Return `null` to skip the folder.
52
+ * Path normalization and bucket resolution are the host's responsibility.
53
+ */
54
+ resolveFolderPath: (file: DialFile) => string | null;
55
+ /**
56
+ * Returns `false` for file content-types that must be filtered out on attach.
57
+ * When absent, all content types are accepted.
58
+ */
59
+ isFileTypeAllowed?: (contentType: string) => boolean;
60
+ /** Maximum size in bytes a selectable file may have. */
61
+ maxSelectableFileSize?: number;
62
+ /** Maximum total attachments (already-attached plus newly selected). */
63
+ maximumAttachmentsAmount?: number;
64
+ /** Count of attachments already present before this modal opens. Defaults to `0`. */
65
+ existingAttachmentsAmount?: number;
66
+ /**
67
+ * Row selectability predicate forwarded to the grid and re-applied to every
68
+ * selection change, so items that were not clicked manually (e.g. the file
69
+ * manager's auto-select of newly created items) cannot enter selection
70
+ * unless manually selectable. Paths resolving to no listed node are dropped.
71
+ * When absent, selection changes are forwarded unfiltered.
72
+ */
73
+ isRowSelectable?: (node: {
74
+ data?: FileManagerSelectableNode | null;
75
+ }) => boolean;
76
+ /** Returns a tooltip for disabled rows; forwarded to the grid. */
77
+ getDisabledTooltip?: (row: FileManagerGridRow) => string | undefined;
78
+ /** Tooltip shown on files with an unsupported type; forwarded to the grid. */
79
+ unsupportedFileTypeTooltip?: string;
80
+ /** Accepted file types for the upload file input. */
81
+ allowedFileTypes?: DialFileAcceptType[];
82
+ /** Whether to auto-select items immediately after upload. Defaults to `false`. */
83
+ autoSelectUploadedItems?: boolean;
84
+ /** Pre-translated message shown by the ui-kit when a newly-selected file exceeds `maxSelectableFileSize`. Omit to leave upload-size validation unrestricted regardless of `maxSelectableFileSize`. */
85
+ oversizedUploadMessage?: string;
86
+ }
87
+ /** File-manager modal with Popup chrome and an Attach footer. Selection and tab state are controlled by the host. */
88
+ export declare const FileManagerAttachModal: FC<FileManagerAttachModalProps>;
89
+ //# sourceMappingURL=FileManagerAttachModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileManagerAttachModal.d.ts","sourceRoot":"","sources":["../../../src/file-manager/FileManagerAttachModal/FileManagerAttachModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAEnB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAA8B,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAG9D,kDAAkD;AAClD,MAAM,WAAW,2BAA2B;IAC1C,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,mDAAmD;IACnD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,wEAAwE;IACxE,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,2FAA2F;IAC3F,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnE,gDAAgD;IAChD,UAAU,EAAE,qBAAqB,CAAC;IAClC;;;OAGG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC,4BAA4B;IAC5B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,kFAAkF;IAClF,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9B;;;OAGG;IACH,WAAW,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAEhD,gCAAgC;IAChC,MAAM,EAAE,4BAA4B,CAAC;IAErC,uEAAuE;IACvE,OAAO,EAAE,sBAAsB,CAAC;IAChC,2DAA2D;IAC3D,aAAa,EAAE,4BAA4B,CAAC;IAE5C;;;OAGG;IACH,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,uDAAuD;IACvD,qBAAqB,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAEpD;;;;OAIG;IACH,iBAAiB,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,GAAG,IAAI,CAAC;IAErD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,wDAAwD;IACxD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wEAAwE;IACxE,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qFAAqF;IACrF,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QACvB,IAAI,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC;KACzC,KAAK,OAAO,CAAC;IACd,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,MAAM,GAAG,SAAS,CAAC;IACrE,8EAA8E;IAC9E,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACxC,kFAAkF;IAClF,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,sMAAsM;IACtM,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,qHAAqH;AACrH,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CAkOlE,CAAC"}
@@ -74,7 +74,8 @@ var d = a(({ isOpen: a, onClose: d, onAttach: f, onSkippedUnsupportedFiles: p, o
74
74
  }),
75
75
  ariaLabel: U,
76
76
  size: i.Lg,
77
- className: "flex !h-[min(900px,100dvh)] w-full flex-col !bg-layer-base md:!max-w-[1600px]",
77
+ className: "flex h-[min(900px,100dvh)]! w-full max-w-[1600px]! flex-col bg-layer-base! mobile:h-full! mobile:max-w-full! mobile:rounded-none",
78
+ overlayClassName: "mobile:p-0",
78
79
  headerClassName: "pb-0",
79
80
  footerClassName: "pt-0",
80
81
  onClose: d,
@@ -0,0 +1,17 @@
1
+ import { FC } from 'react';
2
+ /** Props for the operation-in-progress overlay modal (copy/move spinner). */
3
+ export interface OperationLoaderModalProps {
4
+ /** Title shown above the spinner (e.g. "Copying files"). */
5
+ title: string;
6
+ /** Secondary text below the title (e.g. "Copying 2 items"). */
7
+ text: string;
8
+ /** Label for the cancel button. */
9
+ cancelLabel: string;
10
+ /** Called when the user clicks Cancel. */
11
+ onCancel: () => void;
12
+ }
13
+ /** Modal overlay with a spinner and cancel button for long-running file operations. */
14
+ export declare const OperationLoaderModal: FC<OperationLoaderModalProps>;
15
+ declare const _default: import('react').NamedExoticComponent<OperationLoaderModalProps>;
16
+ export default _default;
17
+ //# sourceMappingURL=OperationLoaderModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperationLoaderModal.d.ts","sourceRoot":"","sources":["../../../src/file-manager/OperationLoaderModal/OperationLoaderModal.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEtC,6EAA6E;AAC7E,MAAM,WAAW,yBAAyB;IACxC,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,uFAAuF;AACvF,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,CAyB9D,CAAC;;AAEF,wBAA0C"}
@@ -3,7 +3,7 @@ import { memo as n } from "react";
3
3
  import { jsx as r, jsxs as i } from "react/jsx-runtime";
4
4
  //#region src/file-manager/OperationLoaderModal/OperationLoaderModal.tsx
5
5
  var a = ({ title: n, text: a, cancelLabel: o, onCancel: s }) => /* @__PURE__ */ r(e, {
6
- className: "!h-fit !max-h-full !w-[400px]",
6
+ className: "h-fit! max-h-full! w-[400px]!",
7
7
  open: !0,
8
8
  closeOnOutsideClick: !1,
9
9
  hideClose: !0,