@acorex-platform/module-document-management-client 0.0.38 → 0.0.46

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 (87) hide show
  1. package/fesm2022/{acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-DHcNgw3P.mjs → acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-DhDRtALE.mjs} +477 -163
  2. package/fesm2022/acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-DhDRtALE.mjs.map +1 -0
  3. package/fesm2022/{acorex-platform-module-document-management-client-attachment-view-skeleton.component-lm3X8cQr.mjs → acorex-platform-module-document-management-client-attachment-view-skeleton.component-Dvvp7Dje.mjs} +2 -2
  4. package/fesm2022/{acorex-platform-module-document-management-client-attachment-view-skeleton.component-lm3X8cQr.mjs.map → acorex-platform-module-document-management-client-attachment-view-skeleton.component-Dvvp7Dje.mjs.map} +1 -1
  5. package/fesm2022/{acorex-platform-module-document-management-client-attachment-widget.component-nGSM4SLU.mjs → acorex-platform-module-document-management-client-attachment-widget.component-DVm7a1d2.mjs} +5 -4
  6. package/fesm2022/acorex-platform-module-document-management-client-attachment-widget.component-DVm7a1d2.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-document-management-client-contracts-entities-document-shortcut.mjs +20 -0
  8. package/fesm2022/acorex-platform-module-document-management-client-contracts-entities-document-shortcut.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-module-document-management-client-contracts-entities-document-type.mjs +65 -10
  10. package/fesm2022/acorex-platform-module-document-management-client-contracts-entities-document-type.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-module-document-management-client-contracts-entities-document-version.mjs +270 -0
  12. package/fesm2022/acorex-platform-module-document-management-client-contracts-entities-document-version.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-document-management-client-contracts-entities-document.mjs +61 -1
  14. package/fesm2022/acorex-platform-module-document-management-client-contracts-entities-document.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-module-document-management-client-contracts-entities-folder.mjs +21 -0
  16. package/fesm2022/acorex-platform-module-document-management-client-contracts-entities-folder.mjs.map +1 -1
  17. package/fesm2022/{acorex-platform-module-document-management-client-contracts-entity-catalog-acorex-platform-module-document-management-client-contracts-entity-catalog-Bl6_lO9-.mjs → acorex-platform-module-document-management-client-contracts-entity-catalog-acorex-platform-module-document-management-client-contracts-entity-catalog-BxwUMlCE.mjs} +12 -5
  18. package/fesm2022/acorex-platform-module-document-management-client-contracts-entity-catalog-acorex-platform-module-document-management-client-contracts-entity-catalog-BxwUMlCE.mjs.map +1 -0
  19. package/fesm2022/{acorex-platform-module-document-management-client-contracts-entity-catalog-document-shortcut.entity-BpGBX1CD.mjs → acorex-platform-module-document-management-client-contracts-entity-catalog-document-shortcut.entity-D-hEBLFT.mjs} +16 -2
  20. package/fesm2022/acorex-platform-module-document-management-client-contracts-entity-catalog-document-shortcut.entity-D-hEBLFT.mjs.map +1 -0
  21. package/fesm2022/{acorex-platform-module-document-management-client-contracts-entity-catalog-document-type.entity-D0-wHSOd.mjs → acorex-platform-module-document-management-client-contracts-entity-catalog-document-type.entity-CBMUwrc-.mjs} +61 -12
  22. package/fesm2022/acorex-platform-module-document-management-client-contracts-entity-catalog-document-type.entity-CBMUwrc-.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-document-management-client-contracts-entity-catalog-document-version.entity-hATC_iAQ.mjs +200 -0
  24. package/fesm2022/acorex-platform-module-document-management-client-contracts-entity-catalog-document-version.entity-hATC_iAQ.mjs.map +1 -0
  25. package/fesm2022/{acorex-platform-module-document-management-client-contracts-entity-catalog-document.entity-BB3250Gc.mjs → acorex-platform-module-document-management-client-contracts-entity-catalog-document.entity-DOvhTOtO.mjs} +57 -3
  26. package/fesm2022/acorex-platform-module-document-management-client-contracts-entity-catalog-document.entity-DOvhTOtO.mjs.map +1 -0
  27. package/fesm2022/{acorex-platform-module-document-management-client-contracts-entity-catalog-folder.entity-BWplP1j6.mjs → acorex-platform-module-document-management-client-contracts-entity-catalog-folder.entity-cNSFyJoY.mjs} +17 -2
  28. package/fesm2022/acorex-platform-module-document-management-client-contracts-entity-catalog-folder.entity-cNSFyJoY.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-module-document-management-client-contracts-entity-catalog.mjs +1 -1
  30. package/fesm2022/acorex-platform-module-document-management-client-contracts.mjs +91 -1
  31. package/fesm2022/acorex-platform-module-document-management-client-contracts.mjs.map +1 -1
  32. package/fesm2022/acorex-platform-module-document-management-client-distribute-document.command-Bw6xDrJ4.mjs +445 -0
  33. package/fesm2022/acorex-platform-module-document-management-client-distribute-document.command-Bw6xDrJ4.mjs.map +1 -0
  34. package/fesm2022/acorex-platform-module-document-management-client-distribute-document.command.util-Bnw0rh94.mjs +78 -0
  35. package/fesm2022/acorex-platform-module-document-management-client-distribute-document.command.util-Bnw0rh94.mjs.map +1 -0
  36. package/fesm2022/{acorex-platform-module-document-management-client-drive-choose.component-ByxmDInD.mjs → acorex-platform-module-document-management-client-drive-choose.component-BHiNuDvr.mjs} +17 -6
  37. package/fesm2022/acorex-platform-module-document-management-client-drive-choose.component-BHiNuDvr.mjs.map +1 -0
  38. package/fesm2022/{acorex-platform-module-document-management-client-large-icons-view-skeleton.component-B64PFFtO.mjs → acorex-platform-module-document-management-client-large-icons-view-skeleton.component-DmYeUizg.mjs} +2 -2
  39. package/fesm2022/{acorex-platform-module-document-management-client-large-icons-view-skeleton.component-B64PFFtO.mjs.map → acorex-platform-module-document-management-client-large-icons-view-skeleton.component-DmYeUizg.mjs.map} +1 -1
  40. package/fesm2022/acorex-platform-module-document-management-client-large-icons-view.component-Dx95E_1P.mjs +31 -0
  41. package/fesm2022/acorex-platform-module-document-management-client-large-icons-view.component-Dx95E_1P.mjs.map +1 -0
  42. package/fesm2022/acorex-platform-module-document-management-client-large-tiles-view.component-VNDRhDNx.mjs +36 -0
  43. package/fesm2022/acorex-platform-module-document-management-client-large-tiles-view.component-VNDRhDNx.mjs.map +1 -0
  44. package/fesm2022/{acorex-platform-module-document-management-client-list-view-skeleton.component-K22Zof-0.mjs → acorex-platform-module-document-management-client-list-view-skeleton.component-C9rbuY5b.mjs} +2 -2
  45. package/fesm2022/{acorex-platform-module-document-management-client-list-view-skeleton.component-K22Zof-0.mjs.map → acorex-platform-module-document-management-client-list-view-skeleton.component-C9rbuY5b.mjs.map} +1 -1
  46. package/fesm2022/acorex-platform-module-document-management-client-list-view.component-yHeNWSJC.mjs +31 -0
  47. package/fesm2022/acorex-platform-module-document-management-client-list-view.component-yHeNWSJC.mjs.map +1 -0
  48. package/fesm2022/acorex-platform-module-document-management-client-local-entities.mjs +1 -0
  49. package/fesm2022/acorex-platform-module-document-management-client-local-entities.mjs.map +1 -1
  50. package/fesm2022/{acorex-platform-module-document-management-client-open-document.command-Deqs3cEg.mjs → acorex-platform-module-document-management-client-open-document.command-By0k8BgV.mjs} +27 -14
  51. package/fesm2022/acorex-platform-module-document-management-client-open-document.command-By0k8BgV.mjs.map +1 -0
  52. package/fesm2022/acorex-platform-module-document-management-client-sign-distributed-document.command-DpQ-Un7q.mjs +124 -0
  53. package/fesm2022/acorex-platform-module-document-management-client-sign-distributed-document.command-DpQ-Un7q.mjs.map +1 -0
  54. package/fesm2022/{acorex-platform-module-document-management-client-small-icons-view-skeleton.component-BFuFFUax.mjs → acorex-platform-module-document-management-client-small-icons-view-skeleton.component-d0LTdcBY.mjs} +2 -2
  55. package/fesm2022/{acorex-platform-module-document-management-client-small-icons-view-skeleton.component-BFuFFUax.mjs.map → acorex-platform-module-document-management-client-small-icons-view-skeleton.component-d0LTdcBY.mjs.map} +1 -1
  56. package/fesm2022/acorex-platform-module-document-management-client-small-icons-view.component-CoEYTcd9.mjs +31 -0
  57. package/fesm2022/acorex-platform-module-document-management-client-small-icons-view.component-CoEYTcd9.mjs.map +1 -0
  58. package/fesm2022/{acorex-platform-module-document-management-client-small-tiles-view-skeleton.component-6EgbuXTv.mjs → acorex-platform-module-document-management-client-small-tiles-view-skeleton.component-rZAAx-ns.mjs} +2 -2
  59. package/fesm2022/{acorex-platform-module-document-management-client-small-tiles-view-skeleton.component-6EgbuXTv.mjs.map → acorex-platform-module-document-management-client-small-tiles-view-skeleton.component-rZAAx-ns.mjs.map} +1 -1
  60. package/fesm2022/acorex-platform-module-document-management-client-small-tiles-view.component-C4wnLgWR.mjs +36 -0
  61. package/fesm2022/acorex-platform-module-document-management-client-small-tiles-view.component-C4wnLgWR.mjs.map +1 -0
  62. package/fesm2022/{acorex-platform-module-document-management-client-upload-document.command-D6J57Ha5.mjs → acorex-platform-module-document-management-client-upload-document.command-JDYYMckB.mjs} +2 -2
  63. package/fesm2022/{acorex-platform-module-document-management-client-upload-document.command-D6J57Ha5.mjs.map → acorex-platform-module-document-management-client-upload-document.command-JDYYMckB.mjs.map} +1 -1
  64. package/fesm2022/acorex-platform-module-document-management-client.mjs +1 -1
  65. package/package.json +6 -2
  66. package/types/acorex-platform-module-document-management-client-contracts-entities-document-version.d.ts +8 -0
  67. package/types/acorex-platform-module-document-management-client-contracts.d.ts +85 -4
  68. package/types/acorex-platform-module-document-management-client.d.ts +98 -7
  69. package/fesm2022/acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-DHcNgw3P.mjs.map +0 -1
  70. package/fesm2022/acorex-platform-module-document-management-client-attachment-widget.component-nGSM4SLU.mjs.map +0 -1
  71. package/fesm2022/acorex-platform-module-document-management-client-contracts-entity-catalog-acorex-platform-module-document-management-client-contracts-entity-catalog-Bl6_lO9-.mjs.map +0 -1
  72. package/fesm2022/acorex-platform-module-document-management-client-contracts-entity-catalog-document-shortcut.entity-BpGBX1CD.mjs.map +0 -1
  73. package/fesm2022/acorex-platform-module-document-management-client-contracts-entity-catalog-document-type.entity-D0-wHSOd.mjs.map +0 -1
  74. package/fesm2022/acorex-platform-module-document-management-client-contracts-entity-catalog-document.entity-BB3250Gc.mjs.map +0 -1
  75. package/fesm2022/acorex-platform-module-document-management-client-contracts-entity-catalog-folder.entity-BWplP1j6.mjs.map +0 -1
  76. package/fesm2022/acorex-platform-module-document-management-client-drive-choose.component-ByxmDInD.mjs.map +0 -1
  77. package/fesm2022/acorex-platform-module-document-management-client-large-icons-view.component-CBk1WOVb.mjs +0 -30
  78. package/fesm2022/acorex-platform-module-document-management-client-large-icons-view.component-CBk1WOVb.mjs.map +0 -1
  79. package/fesm2022/acorex-platform-module-document-management-client-large-tiles-view.component-m-UkV_QT.mjs +0 -35
  80. package/fesm2022/acorex-platform-module-document-management-client-large-tiles-view.component-m-UkV_QT.mjs.map +0 -1
  81. package/fesm2022/acorex-platform-module-document-management-client-list-view.component-CVF0Lkii.mjs +0 -30
  82. package/fesm2022/acorex-platform-module-document-management-client-list-view.component-CVF0Lkii.mjs.map +0 -1
  83. package/fesm2022/acorex-platform-module-document-management-client-open-document.command-Deqs3cEg.mjs.map +0 -1
  84. package/fesm2022/acorex-platform-module-document-management-client-small-icons-view.component-5XaGmpoN.mjs +0 -30
  85. package/fesm2022/acorex-platform-module-document-management-client-small-icons-view.component-5XaGmpoN.mjs.map +0 -1
  86. package/fesm2022/acorex-platform-module-document-management-client-small-tiles-view.component-07tFnkqV.mjs +0 -35
  87. package/fesm2022/acorex-platform-module-document-management-client-small-tiles-view.component-07tFnkqV.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-document-management-client-upload-document.command-D6J57Ha5.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/commands/upload-document.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPFileChooserService } from '@acorex-platform/framework-client/layout/components';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXPRuntimeCommandResult, AXPPlatformScope } from '@acorex-platform/framework-shared/core';\nimport { AXFileService } from '@acorex/core/file';\nimport { AXMDocumentDocDto } from '@acorex-platform/module-document-management-client/contracts';\nimport { RootConfig } from '@acorex-platform/module-document-management-client/contracts';\nimport { inject, Injectable } from '@angular/core';\n\nimport { buildFileChooserOptionsFromDocumentType } from '../shared/document-type-accept.util';\nimport { AXMDocumentDialogService } from '../shared/services/document-dialog.service';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXMUploadDocumentCommandInput {\n documentType?: AXMDocumentDocDto;\n documentTypeId?: string;\n data?: {\n documentType?: AXMDocumentDocDto;\n documentTypeId?: string;\n };\n options?: {\n documentType?: AXMDocumentDocDto;\n documentTypeId?: string;\n };\n}\n\n//#endregion\n\n//#region ---- Helpers ----\n\nfunction resolveUploadDocumentInput(input: AXMUploadDocumentCommandInput = {}) {\n const data = input.data ?? {};\n const options = input.options ?? {};\n\n return {\n documentType: input.documentType ?? data.documentType ?? options.documentType,\n documentTypeId: input.documentTypeId ?? data.documentTypeId ?? options.documentTypeId,\n };\n}\n\n//#endregion\n\n//#region ---- Upload document command ----\n\n/**\n * Resolves document type (optional picker), then opens the file chooser for drive upload.\n * Replaces the former upload-document workflow (check type → choose type → choose file).\n * Registered as DocumentManagement.Document:Upload.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMUploadDocumentCommand implements AXPCommand<AXMUploadDocumentCommandInput> {\n private readonly documentDialog = inject(AXMDocumentDialogService);\n private readonly entityService = inject(AXPEntityService);\n private readonly chooserService = inject(AXPFileChooserService);\n private readonly fileService = inject(AXFileService);\n\n private readonly documentTypeService = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.documentType.name)\n .data<string, AXMDocumentDocDto>();\n\n async execute(input: AXMUploadDocumentCommandInput = {}): AXPCommandExecuteResultPromise {\n let { documentType, documentTypeId } = resolveUploadDocumentInput(input);\n\n if (!documentType) {\n const chooseTypeResult = await this.documentDialog.chooseDocumentType();\n if (chooseTypeResult.cancelled) {\n return { success: true, kind: 'object', data: { cancelled: true } };\n }\n documentTypeId = chooseTypeResult.documentTypeId;\n }\n\n let resolvedDocumentType = documentType;\n if (!resolvedDocumentType && documentTypeId) {\n resolvedDocumentType = (await this.documentTypeService.byKey(documentTypeId)) ?? undefined;\n }\n\n if (!resolvedDocumentType) {\n return {\n success: false,\n message: { text: 'Document type is required to upload a document.' },\n };\n }\n\n const { accept, fileType } = await buildFileChooserOptionsFromDocumentType(\n resolvedDocumentType,\n this.fileService,\n );\n const chosen = await this.chooserService.promptChoose({\n options: {\n multiple: false,\n accept: accept || undefined,\n fileType: fileType.length ? fileType : undefined,\n scope: AXPPlatformScope.Tenant,\n browseMode: 'file',\n destination: 'drive',\n },\n items: [],\n });\n\n if (!chosen?.length) {\n return { success: true, kind: 'object', data: { cancelled: true } };\n }\n\n return { success: true, kind: 'object',\n data: {\n documentType: resolvedDocumentType,\n chosenFiles: chosen,\n },\n };\n }\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-document-management-client-upload-document.command-JDYYMckB.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/commands/upload-document.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPFileChooserService } from '@acorex-platform/framework-client/layout/components';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXPRuntimeCommandResult, AXPPlatformScope } from '@acorex-platform/framework-shared/core';\nimport { AXFileService } from '@acorex/core/file';\nimport { AXMDocumentDocDto } from '@acorex-platform/module-document-management-client/contracts';\nimport { RootConfig } from '@acorex-platform/module-document-management-client/contracts';\nimport { inject, Injectable } from '@angular/core';\n\nimport { buildFileChooserOptionsFromDocumentType } from '../shared/document-type-accept.util';\nimport { AXMDocumentDialogService } from '../shared/services/document-dialog.service';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXMUploadDocumentCommandInput {\n documentType?: AXMDocumentDocDto;\n documentTypeId?: string;\n data?: {\n documentType?: AXMDocumentDocDto;\n documentTypeId?: string;\n };\n options?: {\n documentType?: AXMDocumentDocDto;\n documentTypeId?: string;\n };\n}\n\n//#endregion\n\n//#region ---- Helpers ----\n\nfunction resolveUploadDocumentInput(input: AXMUploadDocumentCommandInput = {}) {\n const data = input.data ?? {};\n const options = input.options ?? {};\n\n return {\n documentType: input.documentType ?? data.documentType ?? options.documentType,\n documentTypeId: input.documentTypeId ?? data.documentTypeId ?? options.documentTypeId,\n };\n}\n\n//#endregion\n\n//#region ---- Upload document command ----\n\n/**\n * Resolves document type (optional picker), then opens the file chooser for drive upload.\n * Replaces the former upload-document workflow (check type → choose type → choose file).\n * Registered as DocumentManagement.Document:Upload.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMUploadDocumentCommand implements AXPCommand<AXMUploadDocumentCommandInput> {\n private readonly documentDialog = inject(AXMDocumentDialogService);\n private readonly entityService = inject(AXPEntityService);\n private readonly chooserService = inject(AXPFileChooserService);\n private readonly fileService = inject(AXFileService);\n\n private readonly documentTypeService = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.documentType.name)\n .data<string, AXMDocumentDocDto>();\n\n async execute(input: AXMUploadDocumentCommandInput = {}): AXPCommandExecuteResultPromise {\n let { documentType, documentTypeId } = resolveUploadDocumentInput(input);\n\n if (!documentType) {\n const chooseTypeResult = await this.documentDialog.chooseDocumentType();\n if (chooseTypeResult.cancelled) {\n return { success: true, kind: 'object', data: { cancelled: true } };\n }\n documentTypeId = chooseTypeResult.documentTypeId;\n }\n\n let resolvedDocumentType = documentType;\n if (!resolvedDocumentType && documentTypeId) {\n resolvedDocumentType = (await this.documentTypeService.byKey(documentTypeId)) ?? undefined;\n }\n\n if (!resolvedDocumentType) {\n return {\n success: false,\n message: { text: 'Document type is required to upload a document.' },\n };\n }\n\n const { accept, fileType } = await buildFileChooserOptionsFromDocumentType(\n resolvedDocumentType,\n this.fileService,\n );\n const chosen = await this.chooserService.promptChoose({\n options: {\n multiple: false,\n accept: accept || undefined,\n fileType: fileType.length ? fileType : undefined,\n scope: AXPPlatformScope.Tenant,\n browseMode: 'file',\n destination: 'drive',\n },\n items: [],\n });\n\n if (!chosen?.length) {\n return { success: true, kind: 'object', data: { cancelled: true } };\n }\n\n return { success: true, kind: 'object',\n data: {\n documentType: resolvedDocumentType,\n chosenFiles: chosen,\n },\n };\n }\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { h as AXMDocumentDriveComponent, i as AXMDocumentDrivePageComponent, j as AXMDocumentDrivePageComponentProvider, a as AXMDocumentExpirationBadgeComponent, k as AXMDocumentExpirationStatusProvider, f as AXMDocumentExplorerComponent, l as AXMDocumentManagementApiService, m as AXMDocumentManagementFileTypeProvider, n as AXMDocumentManagementModule, c as AXMDocumentManagerService, o as AXMDocumentManagerServiceImpl, p as AXMFileTypeExtensionWidgetColumnComponent, q as AXMFileTypeExtensionWidgetDesignerComponent, r as AXMFileTypeExtensionWidgetEditComponent, s as AXMFileTypeExtensionWidgetViewComponent, t as AXMFileTypeModule, b as AXMFolderExpirationBadgesComponent, g as AXMFolderPathBreadcrumbsComponent, u as AXMMenuProvider, v as AXMSearchCommandProvider, w as AXM_DOCUMENT_ATTACHMENT_DIALOG_ON_ACTION_HOOK_KEY, x as AXM_DOCUMENT_DIALOG_SURFACE_ATTACHMENT, y as AXM_DOCUMENT_DIALOG_SURFACE_ATTACHMENT_NO_SAVE, z as AXM_DOCUMENT_EXPIRATION_STATUS, B as AXM_DOCUMENT_EXPIRATION_STATUS_DEFINITION_KEY, A as AXPDocumentExplorerViewModel, C as AXPDocumentManagementService, D as AXPDocumentManagementSettingProvider, E as AXmFileTypeExtensionWidget, F as DM_AUDIO_EXTENSION_ICONS, G as DM_DOCUMENT_EXTENSION_ICONS, H as DM_FILE_EXTENSION_ICONS, I as DM_FILE_TYPE_ICONS, J as DM_VIDEO_EXTENSION_ICONS, K as DOCUMENT_DRIVE_PAGE_COMPONENT_KEY, S as ScopedDriveService, L as buildDocumentManagementFileTypeCatalog, M as documentPlugin, N as resolveDocumentExpirationBadge, O as resolveFolderExpirationCountBadges } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-DHcNgw3P.mjs';
1
+ export { i as AXMDocumentDriveComponent, j as AXMDocumentDrivePageComponent, k as AXMDocumentDrivePageComponentProvider, a as AXMDocumentExpirationBadgeComponent, l as AXMDocumentExpirationStatusProvider, g as AXMDocumentExplorerComponent, m as AXMDocumentManagementApiService, n as AXMDocumentManagementFileTypeProvider, o as AXMDocumentManagementModule, d as AXMDocumentManagerService, p as AXMDocumentManagerServiceImpl, b as AXMDocumentVersionBadgeComponent, q as AXMFileTypeExtensionWidgetColumnComponent, r as AXMFileTypeExtensionWidgetDesignerComponent, s as AXMFileTypeExtensionWidgetEditComponent, t as AXMFileTypeExtensionWidgetViewComponent, u as AXMFileTypeModule, c as AXMFolderExpirationBadgesComponent, h as AXMFolderPathBreadcrumbsComponent, v as AXMMenuProvider, w as AXMSearchCommandProvider, x as AXM_DOCUMENT_ATTACHMENT_DIALOG_ON_ACTION_HOOK_KEY, y as AXM_DOCUMENT_DIALOG_SURFACE_ATTACHMENT, z as AXM_DOCUMENT_DIALOG_SURFACE_ATTACHMENT_NO_SAVE, B as AXM_DOCUMENT_EXPIRATION_STATUS, C as AXM_DOCUMENT_EXPIRATION_STATUS_DEFINITION_KEY, A as AXPDocumentExplorerViewModel, D as AXPDocumentManagementService, E as AXPDocumentManagementSettingProvider, F as AXmFileTypeExtensionWidget, G as DM_AUDIO_EXTENSION_ICONS, H as DM_DOCUMENT_EXTENSION_ICONS, I as DM_FILE_EXTENSION_ICONS, J as DM_FILE_TYPE_ICONS, K as DM_VIDEO_EXTENSION_ICONS, L as DOCUMENT_DRIVE_PAGE_COMPONENT_KEY, S as ScopedDriveService, M as buildDocumentManagementFileTypeCatalog, N as documentPlugin, O as resolveDocumentExpirationBadge, P as resolveDocumentVersionNumber, Q as resolveFolderExpirationCountBadges } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-DhDRtALE.mjs';
2
2
  export { AXM_DOCUMENT_EXPIRATION_NEAR_DAYS, toDocumentExpirationDate } from '@acorex-platform/module-document-management-client/contracts';
3
3
  //# sourceMappingURL=acorex-platform-module-document-management-client.mjs.map
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex-platform/module-document-management-client",
3
- "version": "0.0.38",
3
+ "version": "0.0.46",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
- "@acorex-platform/module-data-management-client": "0.0.38",
6
+ "@acorex-platform/module-data-management-client": "0.0.46",
7
7
  "@angular/common": "^21.0.0 || ^22.0.0",
8
8
  "@angular/core": "^21.0.0 || ^22.0.0"
9
9
  },
@@ -36,6 +36,10 @@
36
36
  "types": "./types/acorex-platform-module-document-management-client-contracts-entities-document-type.d.ts",
37
37
  "default": "./fesm2022/acorex-platform-module-document-management-client-contracts-entities-document-type.mjs"
38
38
  },
39
+ "./contracts/entities/document-version": {
40
+ "types": "./types/acorex-platform-module-document-management-client-contracts-entities-document-version.d.ts",
41
+ "default": "./fesm2022/acorex-platform-module-document-management-client-contracts-entities-document-version.mjs"
42
+ },
39
43
  "./contracts/entities/folder": {
40
44
  "types": "./types/acorex-platform-module-document-management-client-contracts-entities-folder.d.ts",
41
45
  "default": "./fesm2022/acorex-platform-module-document-management-client-contracts-entities-folder.mjs"
@@ -0,0 +1,8 @@
1
+ import { AXPEntity } from '@acorex-platform/framework-shared/entity';
2
+
3
+ /**
4
+ * Companion snapshots for Document. Other modules pin `id`; the drive host keeps using Document.id.
5
+ */
6
+ declare function documentVersionEntityFactory(): Promise<AXPEntity | null>;
7
+
8
+ export { documentVersionEntityFactory };
@@ -1,4 +1,4 @@
1
- import { AXPMultiLanguageString, AXPFileListItem, AXPMetaData, AXPCategoryEntity } from '@acorex-platform/framework-shared/core';
1
+ import { AXPModuleManifest, AXPMultiLanguageString, AXPFileListItem, AXPMetaData, AXPCategoryEntity } from '@acorex-platform/framework-shared/core';
2
2
  import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';
3
3
  import { AXMMetaDataBuilderValue } from '@acorex-platform/module-data-management-client/contracts';
4
4
 
@@ -19,6 +19,7 @@ declare const AXPDocumentManagementMenuKeys: {
19
19
  declare const AXPContentDocumentsPermissionKeys: {
20
20
  readonly Access: "ContentDocuments:Permission:Access";
21
21
  readonly MaintainDocuments: "ContentDocuments:Permission:MaintainDocuments";
22
+ readonly DistributeDocuments: "ContentDocuments:Permission:DistributeDocuments";
22
23
  readonly MaintainContent: "ContentDocuments:Permission:MaintainContent";
23
24
  readonly MaintainFormTemplates: "ContentDocuments:Permission:MaintainFormTemplates";
24
25
  readonly Setup: "ContentDocuments:Permission:Setup";
@@ -60,6 +61,11 @@ declare enum AXPDocumentManagementSettings {
60
61
 
61
62
  declare const AXMDocumentManagementCommandKeys: {
62
63
  readonly DocumentExpirationNotifyRun: "DocumentManagement:DocumentExpiration:NotifyRun";
64
+ readonly DocumentOpen: "DocumentManagement.Document:Open";
65
+ readonly DocumentDistribute: "DocumentManagement.Document:Distribute";
66
+ readonly DocumentDistributionSignOff: "DocumentManagement.DocumentDistribution:SignOff";
67
+ readonly ResolveCurrentSigner: "DocumentManagement.DocumentDistribution:ResolveCurrentSigner";
68
+ readonly AdvanceSignerIndex: "DocumentManagement.DocumentDistribution:AdvanceSignerIndex";
63
69
  };
64
70
  declare const AXM_DOCUMENT_EXPIRATION_NOTIFY_RUN_COMMAND_KEY: "DocumentManagement:DocumentExpiration:NotifyRun";
65
71
 
@@ -99,6 +105,12 @@ declare const RootConfig: {
99
105
  readonly titlePlural: `@${string}:entities.document-shortcut.title-plural`;
100
106
  readonly icon: "fa-light fa-up-right-from-square";
101
107
  };
108
+ readonly documentVersion: {
109
+ readonly name: "DocumentVersion";
110
+ readonly title: `@${string}:entities.document-version.title`;
111
+ readonly titlePlural: `@${string}:entities.document-version.title-plural`;
112
+ readonly icon: "fa-light fa-code-branch";
113
+ };
102
114
  };
103
115
  readonly queries: {
104
116
  readonly dashboard: {
@@ -123,6 +135,12 @@ declare const RootConfig: {
123
135
  };
124
136
  };
125
137
 
138
+ /**
139
+ * Document Management Module Manifest.
140
+ * Defines module metadata, features, and provider references.
141
+ */
142
+ declare const DocumentManagementManifest: AXPModuleManifest;
143
+
126
144
  declare const AXMDocumentManagementQueryKeys: {
127
145
  readonly Drive: {
128
146
  readonly GetRoot: "DocumentManagement:Drive:GetRoot";
@@ -236,6 +254,11 @@ interface AXMDocumentDto extends AXPEntityModel<string> {
236
254
  title?: string;
237
255
  };
238
256
  version?: number;
257
+ versionId?: string;
258
+ /** Stamped from Document Type `enableVersioning` at create (and when type changes). */
259
+ versioningEnabled?: boolean;
260
+ /** Stamped from Document Type `enableDistributionCapability`. */
261
+ distributionEnabled?: boolean;
239
262
  metaDataForm?: AXPMetaData;
240
263
  /**
241
264
  * Optional host-entity binding (same semantics as Folder.refType / Folder.refId).
@@ -248,6 +271,10 @@ interface AXMDocumentDocDto {
248
271
  id: string;
249
272
  name: string;
250
273
  title: AXPMultiLanguageString;
274
+ /** Copied from Document Type at stamp/slim time. Host eligibility is `versioningEnabled`. */
275
+ enableVersioning?: boolean;
276
+ /** Copied from Document Type at stamp/slim time. Host eligibility is `distributionEnabled`. */
277
+ enableDistributionCapability?: boolean;
251
278
  }
252
279
 
253
280
  /**
@@ -281,6 +308,18 @@ interface AXMDocumentShortcutEntityModel extends AXPEntityModel<string> {
281
308
  description?: string;
282
309
  }
283
310
 
311
+ /** Logical file-kind catalog name (`document`, `image`, …). */
312
+ type DocumentTypeFileKindName = string;
313
+ /** Select-editor option row when `selectValueStrategy` is `item`. */
314
+ interface DocumentTypeFileKindOption {
315
+ name: string;
316
+ title?: string;
317
+ icon?: string;
318
+ }
319
+ /**
320
+ * @deprecated Legacy `file-type-extension` value. Prefer a name array on `type`.
321
+ * Runtime still reads this shape from existing rows.
322
+ */
284
323
  interface DocumentTypeFileOutput {
285
324
  selectedItems: Array<{
286
325
  name: string;
@@ -291,18 +330,60 @@ interface DocumentTypeFileOutput {
291
330
  [key: string]: any;
292
331
  };
293
332
  }
333
+ /**
334
+ * Allowed logical file kinds for upload/chooser.
335
+ * Select-editor stores names or option rows; older rows used {@link DocumentTypeFileOutput}.
336
+ */
337
+ type DocumentTypeAllowedFileKinds = DocumentTypeFileKindName[] | DocumentTypeFileKindOption[] | DocumentTypeFileOutput;
294
338
  interface AXMDocumentManagementDocumentTypeEntityModel extends AXPEntityModel<string> {
295
339
  name: string;
296
340
  title: AXPMultiLanguageString;
297
341
  description?: AXPMultiLanguageString;
298
342
  isEncrypted: boolean;
299
343
  enableVersioning: boolean;
344
+ /** When true, Explorer offers Distribute (admin) for files of this type. */
345
+ enableDistributionCapability: boolean;
300
346
  enableExpiration: boolean;
301
347
  requiresReview: boolean;
302
348
  reviewFirst?: boolean;
303
349
  /** Metadata field definitions (meta-data-builder value; used by meta-data-form-editor). */
304
350
  metaDataList?: AXMMetaDataBuilderValue;
305
- type: DocumentTypeFileOutput;
351
+ type: DocumentTypeAllowedFileKinds;
352
+ }
353
+
354
+ /**
355
+ * Logical file-kind names from a document type row or its `type` field.
356
+ * Accepts name arrays, select option rows, and legacy `{ selectedItems, context }`.
357
+ */
358
+ declare function extractDocumentTypeFileKindNames(documentTypeOrType: unknown): string[];
359
+ /** Flattens a document type `type` value to a name array for select-editor storage. */
360
+ declare function normalizeDocumentTypeFileKinds(type: unknown): string[];
361
+
362
+ type AXMDocumentVersioningStatus = 'draft' | 'published';
363
+ declare const AXMDocumentVersioningStatusValues: {
364
+ Draft: "draft";
365
+ Published: "published";
366
+ };
367
+ /** Companion snapshot for {@link AXMDocumentDto}. Pin this id from other modules. */
368
+ interface AXMDocumentVersionDto extends AXPEntityModel<string> {
369
+ sourceId?: string;
370
+ versionNumber?: number;
371
+ versioningStatus?: AXMDocumentVersioningStatus;
372
+ name?: string;
373
+ title?: string;
374
+ documentType?: AXMDocumentDocDto;
375
+ parentId?: string;
376
+ fileInfo?: AXPFileListItem;
377
+ description?: string;
378
+ expirationDate?: Date | string;
379
+ statusId?: AXMDocumentManagementDocumentStatus;
380
+ status?: {
381
+ id: AXMDocumentManagementDocumentStatus;
382
+ title?: string;
383
+ };
384
+ metaDataForm?: AXPMetaData;
385
+ refType?: string;
386
+ refId?: string;
306
387
  }
307
388
 
308
389
  type AXMDocumentInheritanceType = 'Extends' | 'Inherited' | 'None';
@@ -372,5 +453,5 @@ interface AXMDocumentManagementFolderGetDto extends AXMDocumentManagementFolderE
372
453
  shortcuts?: AXMDocumentShortcutEntityModel[];
373
454
  }
374
455
 
375
- export { AXMDocumentManagementCommandKeys, AXMDocumentManagementDocumentStatusValues, AXMDocumentManagementQueryKeys, AXMPermissionsKeys, AXM_DOCUMENT_EXPIRATION_NEAR_DAYS, AXM_DOCUMENT_EXPIRATION_NOTIFY_RUN_COMMAND_KEY, AXPContentDocumentsPermissionKeys, AXPDocumentManagementFeatureKeys, AXPDocumentManagementMenuKeys, AXPDocumentManagementSettings, RootConfig, addDaysToDocumentExpirationDateKey, classifyDocumentExpirationStatus, getDocumentExpirationDateKey, getDocumentExpirationQueryBoundValues, getDocumentExpirationQueryBounds, getDocumentExpirationRemainingDays, getUtcDayBoundsForDateKey, toDocumentExpirationDate, toDocumentExpirationStorageValue };
376
- export type { AXMDocumentDocDto, AXMDocumentDto, AXMDocumentExpirationStatus, AXMDocumentInheritanceType, AXMDocumentManagementDocumentStatus, AXMDocumentManagementDocumentTypeEntityModel, AXMDocumentManagementFolderCreateDto, AXMDocumentManagementFolderEntityModel, AXMDocumentManagementFolderGetDto, AXMDocumentShortcutEntityModel, DocumentTypeFileOutput };
456
+ export { AXMDocumentManagementCommandKeys, AXMDocumentManagementDocumentStatusValues, AXMDocumentManagementQueryKeys, AXMDocumentVersioningStatusValues, AXMPermissionsKeys, AXM_DOCUMENT_EXPIRATION_NEAR_DAYS, AXM_DOCUMENT_EXPIRATION_NOTIFY_RUN_COMMAND_KEY, AXPContentDocumentsPermissionKeys, AXPDocumentManagementFeatureKeys, AXPDocumentManagementMenuKeys, AXPDocumentManagementSettings, DocumentManagementManifest, RootConfig, addDaysToDocumentExpirationDateKey, classifyDocumentExpirationStatus, extractDocumentTypeFileKindNames, getDocumentExpirationDateKey, getDocumentExpirationQueryBoundValues, getDocumentExpirationQueryBounds, getDocumentExpirationRemainingDays, getUtcDayBoundsForDateKey, normalizeDocumentTypeFileKinds, toDocumentExpirationDate, toDocumentExpirationStorageValue };
457
+ export type { AXMDocumentDocDto, AXMDocumentDto, AXMDocumentExpirationStatus, AXMDocumentInheritanceType, AXMDocumentManagementDocumentStatus, AXMDocumentManagementDocumentTypeEntityModel, AXMDocumentManagementFolderCreateDto, AXMDocumentManagementFolderEntityModel, AXMDocumentManagementFolderGetDto, AXMDocumentShortcutEntityModel, AXMDocumentVersionDto, AXMDocumentVersioningStatus, DocumentTypeAllowedFileKinds, DocumentTypeFileKindName, DocumentTypeFileKindOption, DocumentTypeFileOutput };
@@ -18,7 +18,7 @@ import { AXPSessionService } from '@acorex-platform/framework-client/auth';
18
18
  import { AXDialogService } from '@acorex/components/dialog';
19
19
  import { AXPopupService } from '@acorex/components/popup';
20
20
  import * as _acorex_platform_framework_client_common from '@acorex-platform/framework-client/common';
21
- import { AXPFileStorageService, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFileType, AXPFileTypeInfoProvider, AXPMenuProvider, AXPMenuProviderContext, AXPSearchCommandProvider, AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex-platform/framework-client/common';
21
+ import { AXPFileStorageService, AXPFileTypeProviderService, AXPFileType, AXPFileTypeInfoProvider, AXPMenuProvider, AXPMenuProviderContext, AXPSearchCommandProvider, AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex-platform/framework-client/common';
22
22
  import { AXPLayoutBuilderService, AXPDialogRef } from '@acorex-platform/framework-client/layout/builder';
23
23
  import { AXPFileViewerService, AXPPageComponentProvider, AXPPageComponentDefinition } from '@acorex-platform/framework-client/layout/components';
24
24
  import { AXPCommandService } from '@acorex-platform/framework-client/runtime';
@@ -97,6 +97,13 @@ interface AXMDocumentExplorerNode {
97
97
  title: string;
98
98
  }[];
99
99
  inherit?: AXMDocumentInheritanceType;
100
+ /** Current published version number on the host row. */
101
+ version?: number;
102
+ versionId?: string;
103
+ /** Stamped from Document Type; drives version menus. */
104
+ versioningEnabled?: boolean;
105
+ /** Stamped from Document Type; drives Distribute. */
106
+ distributionEnabled?: boolean;
100
107
  /** Folder accent color (hex), from entity `color`. */
101
108
  color?: string;
102
109
  }
@@ -201,15 +208,21 @@ declare class DocumentAttachmentsService {
201
208
  private readonly documentData;
202
209
  private readonly documentDialog;
203
210
  private readonly translateService;
211
+ private readonly toastService;
212
+ private readonly documentVersionData;
204
213
  attachFile(fileType: string | AXMDocumentDocDto, options?: AttachmentOptions): Promise<boolean>;
205
214
  updateAttachedFile(fileId: string, options?: UpdateAttachmentOptions): Promise<boolean>;
206
215
  /**
207
- * Upload a new version for an existing document. Lets user choose a new file, edit metadata, and updates the document
208
- * with incremented version number while keeping the same document identity.
216
+ * When versioning is on, writes the new file onto the open draft (creates one if needed).
217
+ * When versioning is off, overwrites the host in place (Published v1 is synced by middleware).
209
218
  */
210
219
  uploadNewVersion(fileId: string, options?: {
211
220
  scope?: AXPPlatformScope;
212
221
  }): Promise<boolean>;
222
+ findOpenVersionDraft(documentId: string): Promise<{
223
+ id: string;
224
+ } | null>;
225
+ private notifyHostContentLocked;
213
226
  private validateAttachmentOptions;
214
227
  private resolveFileType;
215
228
  private chooseFileListItems;
@@ -326,7 +339,14 @@ declare abstract class AXMDocumentManagerService {
326
339
  }): Promise<boolean>;
327
340
  abstract updateUploadFileByType(node: AXMDocumentExplorerNode): Promise<boolean>;
328
341
  abstract uploadNewVersion(node: AXMDocumentExplorerNode): Promise<boolean>;
342
+ abstract findOpenVersionDraft(documentId: string): Promise<{
343
+ id: string;
344
+ } | null>;
329
345
  abstract showVersionHistory(node: AXMDocumentExplorerNode): Promise<void>;
346
+ /** New Version, then optional Upload New File, then optional Publish Version. */
347
+ abstract runNewVersionFlow(node: AXMDocumentExplorerNode): Promise<void>;
348
+ /** Upload New File, then optional Publish Version. */
349
+ abstract runUploadNewVersionFlow(node: AXMDocumentExplorerNode): Promise<void>;
330
350
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMDocumentManagerService, never>;
331
351
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMDocumentManagerService>;
332
352
  }
@@ -353,7 +373,6 @@ declare class AXMDocumentManagerServiceImpl extends AXMDocumentManagerService {
353
373
  protected layoutBuilder: AXPLayoutBuilderService;
354
374
  protected fileViewerService: AXPFileViewerService;
355
375
  protected attachmentsService: DocumentAttachmentsService;
356
- protected filterMiddlewareService: AXPFilterOperatorMiddlewareService;
357
376
  protected hooks: AXPHookService | null;
358
377
  private scopedDriveCache;
359
378
  private buildPathCache;
@@ -586,11 +605,19 @@ declare class AXMDocumentManagerServiceImpl extends AXMDocumentManagerService {
586
605
  * Manage versions: Upload a new version for a specific document
587
606
  */
588
607
  uploadNewVersion(node: AXMDocumentExplorerNode): Promise<boolean>;
608
+ runNewVersionFlow(node: AXMDocumentExplorerNode): Promise<void>;
609
+ runUploadNewVersionFlow(node: AXMDocumentExplorerNode): Promise<void>;
610
+ findOpenVersionDraft(documentId: string): Promise<{
611
+ id: string;
612
+ } | null>;
589
613
  /**
590
614
  * Opens version history popup using common version-history command.
591
615
  * For shortcut nodes, shows history of the target document.
592
616
  */
593
617
  showVersionHistory(node: AXMDocumentExplorerNode): Promise<void>;
618
+ private continueToPublishVersion;
619
+ private confirmVersioningContinue;
620
+ private documentVersioningInput;
594
621
  /**
595
622
  * Shows share dialog for a node
596
623
  */
@@ -619,6 +646,8 @@ declare class AXMDocumentManagerServiceImpl extends AXMDocumentManagerService {
619
646
  * - `displayTitle`: the resolved select `textField` label.
620
647
  */
621
648
  private mapDocumentTypesForPicker;
649
+ /** Folder dialogs need a dense array; AXDataSource cache slots are undefined and break `pickerKey`. */
650
+ private loadDocumentTypesForFolderDialog;
622
651
  private toDocumentTypePickerRow;
623
652
  /** Stable identity of a document type, preferring the programmatic name over the backend id. */
624
653
  private resolveDocumentTypeKey;
@@ -633,7 +662,7 @@ declare class AXMDocumentManagerServiceImpl extends AXMDocumentManagerService {
633
662
  * the catalog are appended to the data source so the select still shows them as selected instead
634
663
  * of silently dropping them.
635
664
  *
636
- * With no assignment (create dialog) the catalog entry named `any` is preselected when present.
665
+ * With no assignment the catalog entry named `any` is preselected when present (edit fallback).
637
666
  */
638
667
  private resolveFolderDialogDocumentTypes;
639
668
  /** Removes the picker-only fields so only backend-owned properties are persisted. */
@@ -789,6 +818,7 @@ declare class AXMDocumentExplorerComponent {
789
818
  currentDrive: _angular_core.Signal<_acorex_platform_framework_shared_core.AXPPlatformScope | null>;
790
819
  fileTypes: _angular_core.Signal<dist_libs_framework_client_types_acorex_platform_framework_client_common.AXPFileType[]>;
791
820
  fileTypeFilter: _angular_core.Signal<string>;
821
+ acceptFilter: _angular_core.Signal<string>;
792
822
  detailPanel: _angular_core.Signal<boolean>;
793
823
  groupByType: _angular_core.Signal<boolean>;
794
824
  allowedDocumentTypeNames: _angular_core.Signal<string[] | null>;
@@ -839,6 +869,7 @@ declare class AXMDocumentExplorerComponent {
839
869
  setSelectionMode: (mode: AXMDocumentSelectionMode | string) => void;
840
870
  setDrive: (scope: _acorex_platform_framework_shared_core.AXPPlatformScope) => void;
841
871
  setFileTypeFilter: (key: string) => void;
872
+ setAcceptFilter: (accept?: string) => void;
842
873
  setLoading: (isLoading: boolean) => void;
843
874
  isLoadingFolder: (folderId: string) => boolean;
844
875
  getFileInfo: (fileName: string) => {
@@ -899,6 +930,7 @@ declare class AXMDocumentExplorerComponent {
899
930
  canAddFolder?: boolean;
900
931
  }) => Promise<_acorex_components_menu.AXMenuItem | null>;
901
932
  getContextMenuItems: () => Promise<_acorex_platform_framework_shared_core.AXPActionMenuItem[]>;
933
+ buildFileVersioningContextMenu: (node: AXMDocumentExplorerNode, trans: (key: string) => Promise<string>) => Promise<_acorex_components_menu.AXMenuItem | null>;
902
934
  getFileContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
903
935
  getFolderContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
904
936
  getNodeContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
@@ -942,6 +974,7 @@ declare class AXMDocumentExplorerComponent {
942
974
  currentDrive: _acorex_platform_framework_shared_core.AXPPlatformScope | null;
943
975
  fileTypes: dist_libs_framework_client_types_acorex_platform_framework_client_common.AXPFileType[];
944
976
  fileTypeFilter: string;
977
+ acceptFilter: string;
945
978
  detailPanel: boolean;
946
979
  groupByType: boolean;
947
980
  allowedDocumentTypeNames: string[] | null;
@@ -967,6 +1000,7 @@ declare class AXMDocumentExplorerComponent {
967
1000
  sideMenuWidth: _angular_core.Signal<number>;
968
1001
  sideMenuCompactWidth: _angular_core.Signal<number>;
969
1002
  menuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
1003
+ menuToggleCyclesStyle: _angular_core.Signal<boolean>;
970
1004
  menuOrientation: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuOrientation>;
971
1005
  menuAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuAppearance>;
972
1006
  headerAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPHeaderAppearance>;
@@ -980,6 +1014,7 @@ declare class AXMDocumentExplorerComponent {
980
1014
  overlayTaskCount: _angular_core.Signal<number>;
981
1015
  isNavigationLoading: _angular_core.Signal<boolean>;
982
1016
  isMenuHorizontal: _angular_core.Signal<boolean>;
1017
+ menuToggleCyclesStyleEnabled: _angular_core.Signal<boolean>;
983
1018
  effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
984
1019
  sideMenuDrawerWidth: _angular_core.Signal<number>;
985
1020
  menuDarkEnabled: _angular_core.Signal<boolean>;
@@ -994,6 +1029,7 @@ declare class AXMDocumentExplorerComponent {
994
1029
  setSideMenuWidth: (width: number) => void;
995
1030
  setSideMenuCompactWidth: (width: number) => void;
996
1031
  setSideMenuDrawerWidth: (width: number) => void;
1032
+ setMenuVerticalMode: (mode: _acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode) => void;
997
1033
  toggleSideMenu: () => void;
998
1034
  setNavigationLoading: (value: boolean, delay?: number) => void;
999
1035
  setOverlayLoading: (value: boolean, delay?: number) => void;
@@ -1016,6 +1052,7 @@ declare class AXMDocumentExplorerComponent {
1016
1052
  sideMenuWidth: number;
1017
1053
  sideMenuCompactWidth: number;
1018
1054
  menuVerticalMode: _acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode;
1055
+ menuToggleCyclesStyle: boolean;
1019
1056
  menuOrientation: _acorex_platform_framework_client_themes_shared.AXPMenuOrientation;
1020
1057
  menuAppearance: _acorex_platform_framework_client_themes_shared.AXPMenuAppearance;
1021
1058
  headerAppearance: _acorex_platform_framework_client_themes_shared.AXPHeaderAppearance;
@@ -1071,6 +1108,7 @@ declare const AXPDocumentExplorerViewModel: _angular_core.Type<{
1071
1108
  currentDrive: _angular_core.Signal<AXPPlatformScope | null>;
1072
1109
  fileTypes: _angular_core.Signal<AXPFileType[]>;
1073
1110
  fileTypeFilter: _angular_core.Signal<string>;
1111
+ acceptFilter: _angular_core.Signal<string>;
1074
1112
  detailPanel: _angular_core.Signal<boolean>;
1075
1113
  groupByType: _angular_core.Signal<boolean>;
1076
1114
  allowedDocumentTypeNames: _angular_core.Signal<string[] | null>;
@@ -1121,6 +1159,7 @@ declare const AXPDocumentExplorerViewModel: _angular_core.Type<{
1121
1159
  setSelectionMode: (mode: AXMDocumentSelectionMode | string) => void;
1122
1160
  setDrive: (scope: AXPPlatformScope) => void;
1123
1161
  setFileTypeFilter: (key: string) => void;
1162
+ setAcceptFilter: (accept?: string) => void;
1124
1163
  setLoading: (isLoading: boolean) => void;
1125
1164
  isLoadingFolder: (folderId: string) => boolean;
1126
1165
  getFileInfo: (fileName: string) => {
@@ -1181,6 +1220,7 @@ declare const AXPDocumentExplorerViewModel: _angular_core.Type<{
1181
1220
  canAddFolder?: boolean;
1182
1221
  }) => Promise<AXMenuItem | null>;
1183
1222
  getContextMenuItems: () => Promise<AXPActionMenuItem[]>;
1223
+ buildFileVersioningContextMenu: (node: AXMDocumentExplorerNode, trans: (key: string) => Promise<string>) => Promise<AXMenuItem | null>;
1184
1224
  getFileContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<AXMenuItem[]>;
1185
1225
  getFolderContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<AXMenuItem[]>;
1186
1226
  getNodeContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<AXMenuItem[]>;
@@ -1224,6 +1264,7 @@ declare const AXPDocumentExplorerViewModel: _angular_core.Type<{
1224
1264
  currentDrive: AXPPlatformScope | null;
1225
1265
  fileTypes: AXPFileType[];
1226
1266
  fileTypeFilter: string;
1267
+ acceptFilter: string;
1227
1268
  detailPanel: boolean;
1228
1269
  groupByType: boolean;
1229
1270
  allowedDocumentTypeNames: string[] | null;
@@ -1297,6 +1338,12 @@ declare class AXMDocumentDrivePageComponent extends AXPPageLayoutBaseComponent i
1297
1338
  readonly titlePlural: `@${string}:entities.document-shortcut.title-plural`;
1298
1339
  readonly icon: "fa-light fa-up-right-from-square";
1299
1340
  };
1341
+ readonly documentVersion: {
1342
+ readonly name: "DocumentVersion";
1343
+ readonly title: `@${string}:entities.document-version.title`;
1344
+ readonly titlePlural: `@${string}:entities.document-version.title-plural`;
1345
+ readonly icon: "fa-light fa-code-branch";
1346
+ };
1300
1347
  };
1301
1348
  readonly queries: {
1302
1349
  readonly dashboard: {
@@ -1342,6 +1389,7 @@ declare class AXMDocumentDrivePageComponent extends AXPPageLayoutBaseComponent i
1342
1389
  currentDrive: _angular_core.Signal<AXPPlatformScope | null>;
1343
1390
  fileTypes: _angular_core.Signal<_acorex_platform_framework_client_common.AXPFileType[]>;
1344
1391
  fileTypeFilter: _angular_core.Signal<string>;
1392
+ acceptFilter: _angular_core.Signal<string>;
1345
1393
  detailPanel: _angular_core.Signal<boolean>;
1346
1394
  groupByType: _angular_core.Signal<boolean>;
1347
1395
  allowedDocumentTypeNames: _angular_core.Signal<string[] | null>;
@@ -1392,6 +1440,7 @@ declare class AXMDocumentDrivePageComponent extends AXPPageLayoutBaseComponent i
1392
1440
  setSelectionMode: (mode: AXMDocumentSelectionMode | string) => void;
1393
1441
  setDrive: (scope: AXPPlatformScope) => void;
1394
1442
  setFileTypeFilter: (key: string) => void;
1443
+ setAcceptFilter: (accept?: string) => void;
1395
1444
  setLoading: (isLoading: boolean) => void;
1396
1445
  isLoadingFolder: (folderId: string) => boolean;
1397
1446
  getFileInfo: (fileName: string) => {
@@ -1452,6 +1501,7 @@ declare class AXMDocumentDrivePageComponent extends AXPPageLayoutBaseComponent i
1452
1501
  canAddFolder?: boolean;
1453
1502
  }) => Promise<_acorex_components_menu.AXMenuItem | null>;
1454
1503
  getContextMenuItems: () => Promise<AXPActionMenuItem[]>;
1504
+ buildFileVersioningContextMenu: (node: _acorex_platform_module_document_management_client.AXMDocumentExplorerNode, trans: (key: string) => Promise<string>) => Promise<_acorex_components_menu.AXMenuItem | null>;
1455
1505
  getFileContextMenuItems: (node: _acorex_platform_module_document_management_client.AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
1456
1506
  getFolderContextMenuItems: (node: _acorex_platform_module_document_management_client.AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
1457
1507
  getNodeContextMenuItems: (node: _acorex_platform_module_document_management_client.AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
@@ -1495,6 +1545,7 @@ declare class AXMDocumentDrivePageComponent extends AXPPageLayoutBaseComponent i
1495
1545
  currentDrive: AXPPlatformScope | null;
1496
1546
  fileTypes: _acorex_platform_framework_client_common.AXPFileType[];
1497
1547
  fileTypeFilter: string;
1548
+ acceptFilter: string;
1498
1549
  detailPanel: boolean;
1499
1550
  groupByType: boolean;
1500
1551
  allowedDocumentTypeNames: string[] | null;
@@ -1625,6 +1676,12 @@ declare class AXMDocumentDriveComponent extends AXPPageLayoutBaseComponent imple
1625
1676
  readonly titlePlural: `@${string}:entities.document-shortcut.title-plural`;
1626
1677
  readonly icon: "fa-light fa-up-right-from-square";
1627
1678
  };
1679
+ readonly documentVersion: {
1680
+ readonly name: "DocumentVersion";
1681
+ readonly title: `@${string}:entities.document-version.title`;
1682
+ readonly titlePlural: `@${string}:entities.document-version.title-plural`;
1683
+ readonly icon: "fa-light fa-code-branch";
1684
+ };
1628
1685
  };
1629
1686
  readonly queries: {
1630
1687
  readonly dashboard: {
@@ -1671,6 +1728,7 @@ declare class AXMDocumentDriveComponent extends AXPPageLayoutBaseComponent imple
1671
1728
  currentDrive: _angular_core.Signal<AXPPlatformScope | null>;
1672
1729
  fileTypes: _angular_core.Signal<_acorex_platform_framework_client_common.AXPFileType[]>;
1673
1730
  fileTypeFilter: _angular_core.Signal<string>;
1731
+ acceptFilter: _angular_core.Signal<string>;
1674
1732
  detailPanel: _angular_core.Signal<boolean>;
1675
1733
  groupByType: _angular_core.Signal<boolean>;
1676
1734
  allowedDocumentTypeNames: _angular_core.Signal<string[] | null>;
@@ -1721,6 +1779,7 @@ declare class AXMDocumentDriveComponent extends AXPPageLayoutBaseComponent imple
1721
1779
  setSelectionMode: (mode: AXMDocumentSelectionMode | string) => void;
1722
1780
  setDrive: (scope: AXPPlatformScope) => void;
1723
1781
  setFileTypeFilter: (key: string) => void;
1782
+ setAcceptFilter: (accept?: string) => void;
1724
1783
  setLoading: (isLoading: boolean) => void;
1725
1784
  isLoadingFolder: (folderId: string) => boolean;
1726
1785
  getFileInfo: (fileName: string) => {
@@ -1781,6 +1840,7 @@ declare class AXMDocumentDriveComponent extends AXPPageLayoutBaseComponent imple
1781
1840
  canAddFolder?: boolean;
1782
1841
  }) => Promise<_acorex_components_menu.AXMenuItem | null>;
1783
1842
  getContextMenuItems: () => Promise<AXPActionMenuItem[]>;
1843
+ buildFileVersioningContextMenu: (node: _acorex_platform_module_document_management_client.AXMDocumentExplorerNode, trans: (key: string) => Promise<string>) => Promise<_acorex_components_menu.AXMenuItem | null>;
1784
1844
  getFileContextMenuItems: (node: _acorex_platform_module_document_management_client.AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
1785
1845
  getFolderContextMenuItems: (node: _acorex_platform_module_document_management_client.AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
1786
1846
  getNodeContextMenuItems: (node: _acorex_platform_module_document_management_client.AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
@@ -1824,6 +1884,7 @@ declare class AXMDocumentDriveComponent extends AXPPageLayoutBaseComponent imple
1824
1884
  currentDrive: AXPPlatformScope | null;
1825
1885
  fileTypes: _acorex_platform_framework_client_common.AXPFileType[];
1826
1886
  fileTypeFilter: string;
1887
+ acceptFilter: string;
1827
1888
  detailPanel: boolean;
1828
1889
  groupByType: boolean;
1829
1890
  allowedDocumentTypeNames: string[] | null;
@@ -2098,6 +2159,15 @@ declare class AXMDocumentExpirationBadgeComponent {
2098
2159
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMDocumentExpirationBadgeComponent, "axm-document-expiration-badge", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
2099
2160
  }
2100
2161
 
2162
+ declare class AXMDocumentVersionBadgeComponent {
2163
+ readonly node: _angular_core.InputSignal<AXMDocumentExplorerNode>;
2164
+ protected readonly versionNumber: _angular_core.Signal<number | null>;
2165
+ protected readonly textKey = "@document-management:terms.document.version-badge.text";
2166
+ protected readonly tooltipKey = "@document-management:terms.document.version-badge.tooltip";
2167
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMDocumentVersionBadgeComponent, never>;
2168
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMDocumentVersionBadgeComponent, "axm-document-version-badge", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
2169
+ }
2170
+
2101
2171
  declare class AXMFolderExpirationBadgesComponent {
2102
2172
  private readonly translationService;
2103
2173
  readonly node: _angular_core.InputSignal<AXMDocumentExplorerNode>;
@@ -2136,6 +2206,7 @@ declare class AXMFolderPathBreadcrumbsComponent {
2136
2206
  currentDrive: _angular_core.Signal<_acorex_platform_framework_shared_core.AXPPlatformScope | null>;
2137
2207
  fileTypes: _angular_core.Signal<dist_libs_framework_client_types_acorex_platform_framework_client_common.AXPFileType[]>;
2138
2208
  fileTypeFilter: _angular_core.Signal<string>;
2209
+ acceptFilter: _angular_core.Signal<string>;
2139
2210
  detailPanel: _angular_core.Signal<boolean>;
2140
2211
  groupByType: _angular_core.Signal<boolean>;
2141
2212
  allowedDocumentTypeNames: _angular_core.Signal<string[] | null>;
@@ -2186,6 +2257,7 @@ declare class AXMFolderPathBreadcrumbsComponent {
2186
2257
  setSelectionMode: (mode: _acorex_platform_module_document_management_client.AXMDocumentSelectionMode | string) => void;
2187
2258
  setDrive: (scope: _acorex_platform_framework_shared_core.AXPPlatformScope) => void;
2188
2259
  setFileTypeFilter: (key: string) => void;
2260
+ setAcceptFilter: (accept?: string) => void;
2189
2261
  setLoading: (isLoading: boolean) => void;
2190
2262
  isLoadingFolder: (folderId: string) => boolean;
2191
2263
  getFileInfo: (fileName: string) => {
@@ -2246,6 +2318,7 @@ declare class AXMFolderPathBreadcrumbsComponent {
2246
2318
  canAddFolder?: boolean;
2247
2319
  }) => Promise<_acorex_components_menu.AXMenuItem | null>;
2248
2320
  getContextMenuItems: () => Promise<_acorex_platform_framework_shared_core.AXPActionMenuItem[]>;
2321
+ buildFileVersioningContextMenu: (node: AXMDocumentExplorerNode, trans: (key: string) => Promise<string>) => Promise<_acorex_components_menu.AXMenuItem | null>;
2249
2322
  getFileContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
2250
2323
  getFolderContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
2251
2324
  getNodeContextMenuItems: (node: AXMDocumentExplorerNode) => Promise<_acorex_components_menu.AXMenuItem[]>;
@@ -2289,6 +2362,7 @@ declare class AXMFolderPathBreadcrumbsComponent {
2289
2362
  currentDrive: _acorex_platform_framework_shared_core.AXPPlatformScope | null;
2290
2363
  fileTypes: dist_libs_framework_client_types_acorex_platform_framework_client_common.AXPFileType[];
2291
2364
  fileTypeFilter: string;
2365
+ acceptFilter: string;
2292
2366
  detailPanel: boolean;
2293
2367
  groupByType: boolean;
2294
2368
  allowedDocumentTypeNames: string[] | null;
@@ -2310,6 +2384,7 @@ declare class AXMFolderPathBreadcrumbsComponent {
2310
2384
  sideMenuWidth: _angular_core.Signal<number>;
2311
2385
  sideMenuCompactWidth: _angular_core.Signal<number>;
2312
2386
  menuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
2387
+ menuToggleCyclesStyle: _angular_core.Signal<boolean>;
2313
2388
  menuOrientation: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuOrientation>;
2314
2389
  menuAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuAppearance>;
2315
2390
  headerAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPHeaderAppearance>;
@@ -2323,6 +2398,7 @@ declare class AXMFolderPathBreadcrumbsComponent {
2323
2398
  overlayTaskCount: _angular_core.Signal<number>;
2324
2399
  isNavigationLoading: _angular_core.Signal<boolean>;
2325
2400
  isMenuHorizontal: _angular_core.Signal<boolean>;
2401
+ menuToggleCyclesStyleEnabled: _angular_core.Signal<boolean>;
2326
2402
  effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
2327
2403
  sideMenuDrawerWidth: _angular_core.Signal<number>;
2328
2404
  menuDarkEnabled: _angular_core.Signal<boolean>;
@@ -2337,6 +2413,7 @@ declare class AXMFolderPathBreadcrumbsComponent {
2337
2413
  setSideMenuWidth: (width: number) => void;
2338
2414
  setSideMenuCompactWidth: (width: number) => void;
2339
2415
  setSideMenuDrawerWidth: (width: number) => void;
2416
+ setMenuVerticalMode: (mode: _acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode) => void;
2340
2417
  toggleSideMenu: () => void;
2341
2418
  setNavigationLoading: (value: boolean, delay?: number) => void;
2342
2419
  setOverlayLoading: (value: boolean, delay?: number) => void;
@@ -2359,6 +2436,7 @@ declare class AXMFolderPathBreadcrumbsComponent {
2359
2436
  sideMenuWidth: number;
2360
2437
  sideMenuCompactWidth: number;
2361
2438
  menuVerticalMode: _acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode;
2439
+ menuToggleCyclesStyle: boolean;
2362
2440
  menuOrientation: _acorex_platform_framework_client_themes_shared.AXPMenuOrientation;
2363
2441
  menuAppearance: _acorex_platform_framework_client_themes_shared.AXPMenuAppearance;
2364
2442
  headerAppearance: _acorex_platform_framework_client_themes_shared.AXPHeaderAppearance;
@@ -2389,6 +2467,19 @@ interface AXMDocumentAttachmentDialogOnActionPayload {
2389
2467
  };
2390
2468
  }
2391
2469
 
2470
+ type AXMDocumentVersionSource = {
2471
+ type?: string;
2472
+ storageType?: string;
2473
+ isShortcut?: boolean;
2474
+ versioningEnabled?: boolean;
2475
+ version?: number | string | null;
2476
+ };
2477
+ /**
2478
+ * Published host version for explorer display. Only when versioning is on.
2479
+ * Missing/invalid numbers fall back to 1 (middleware stamps v1 on create).
2480
+ */
2481
+ declare function resolveDocumentVersionNumber(source: AXMDocumentVersionSource): number | null;
2482
+
2392
2483
  declare const AXM_DOCUMENT_EXPIRATION_STATUS_DEFINITION_KEY = "document-management.status.document-expiration";
2393
2484
  declare const AXM_DOCUMENT_EXPIRATION_STATUS: {
2394
2485
  readonly near: "near";
@@ -2452,5 +2543,5 @@ declare class AXPDocumentManagementSettingProvider implements AXPSettingDefiniti
2452
2543
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDocumentManagementSettingProvider>;
2453
2544
  }
2454
2545
 
2455
- export { AXMDocumentDriveComponent, AXMDocumentDrivePageComponent, AXMDocumentDrivePageComponentProvider, AXMDocumentExpirationBadgeComponent, AXMDocumentExpirationStatusProvider, AXMDocumentExplorerComponent, AXMDocumentManagementApiService, AXMDocumentManagementFileTypeProvider, AXMDocumentManagementModule, AXMDocumentManagerService, AXMDocumentManagerServiceImpl, AXMFileTypeExtensionWidgetColumnComponent, AXMFileTypeExtensionWidgetDesignerComponent, AXMFileTypeExtensionWidgetEditComponent, AXMFileTypeExtensionWidgetViewComponent, AXMFileTypeModule, AXMFolderExpirationBadgesComponent, AXMFolderPathBreadcrumbsComponent, AXMMenuProvider, AXMSearchCommandProvider, AXM_DOCUMENT_ATTACHMENT_DIALOG_ON_ACTION_HOOK_KEY, AXM_DOCUMENT_DIALOG_SURFACE_ATTACHMENT, AXM_DOCUMENT_DIALOG_SURFACE_ATTACHMENT_NO_SAVE, AXM_DOCUMENT_EXPIRATION_STATUS, AXM_DOCUMENT_EXPIRATION_STATUS_DEFINITION_KEY, AXPDocumentExplorerViewModel, AXPDocumentManagementService, AXPDocumentManagementSettingProvider, AXmFileTypeExtensionWidget, DM_AUDIO_EXTENSION_ICONS, DM_DOCUMENT_EXTENSION_ICONS, DM_FILE_EXTENSION_ICONS, DM_FILE_TYPE_ICONS, DM_VIDEO_EXTENSION_ICONS, DOCUMENT_DRIVE_PAGE_COMPONENT_KEY, ScopedDriveService, buildDocumentManagementFileTypeCatalog, documentPlugin, resolveDocumentExpirationBadge, resolveFolderExpirationCountBadges };
2456
- export type { AXMDocumentAttachmentDialogOnActionPayload, AXMDocumentExpirationBadge, AXMDocumentExpirationBadgeStatus, AXMDocumentExplorerBrowseMode, AXMDocumentExplorerNode, AXMDocumentSelectionMode, AXMDriveContentsDto, AXMDriveFolderPathSegment, AXMFolderExpirationCountBadge, AXMMetadataFieldInfo, AXMNodeType, AXPDocumentExplorerViewMode, CreateFileDto, CreateFolderDto, DocumentPluginOptions, UpdateFileDto, UpdateFolderDto };
2546
+ export { AXMDocumentDriveComponent, AXMDocumentDrivePageComponent, AXMDocumentDrivePageComponentProvider, AXMDocumentExpirationBadgeComponent, AXMDocumentExpirationStatusProvider, AXMDocumentExplorerComponent, AXMDocumentManagementApiService, AXMDocumentManagementFileTypeProvider, AXMDocumentManagementModule, AXMDocumentManagerService, AXMDocumentManagerServiceImpl, AXMDocumentVersionBadgeComponent, AXMFileTypeExtensionWidgetColumnComponent, AXMFileTypeExtensionWidgetDesignerComponent, AXMFileTypeExtensionWidgetEditComponent, AXMFileTypeExtensionWidgetViewComponent, AXMFileTypeModule, AXMFolderExpirationBadgesComponent, AXMFolderPathBreadcrumbsComponent, AXMMenuProvider, AXMSearchCommandProvider, AXM_DOCUMENT_ATTACHMENT_DIALOG_ON_ACTION_HOOK_KEY, AXM_DOCUMENT_DIALOG_SURFACE_ATTACHMENT, AXM_DOCUMENT_DIALOG_SURFACE_ATTACHMENT_NO_SAVE, AXM_DOCUMENT_EXPIRATION_STATUS, AXM_DOCUMENT_EXPIRATION_STATUS_DEFINITION_KEY, AXPDocumentExplorerViewModel, AXPDocumentManagementService, AXPDocumentManagementSettingProvider, AXmFileTypeExtensionWidget, DM_AUDIO_EXTENSION_ICONS, DM_DOCUMENT_EXTENSION_ICONS, DM_FILE_EXTENSION_ICONS, DM_FILE_TYPE_ICONS, DM_VIDEO_EXTENSION_ICONS, DOCUMENT_DRIVE_PAGE_COMPONENT_KEY, ScopedDriveService, buildDocumentManagementFileTypeCatalog, documentPlugin, resolveDocumentExpirationBadge, resolveDocumentVersionNumber, resolveFolderExpirationCountBadges };
2547
+ export type { AXMDocumentAttachmentDialogOnActionPayload, AXMDocumentExpirationBadge, AXMDocumentExpirationBadgeStatus, AXMDocumentExplorerBrowseMode, AXMDocumentExplorerNode, AXMDocumentSelectionMode, AXMDocumentVersionSource, AXMDriveContentsDto, AXMDriveFolderPathSegment, AXMFolderExpirationCountBadge, AXMMetadataFieldInfo, AXMNodeType, AXPDocumentExplorerViewMode, CreateFileDto, CreateFolderDto, DocumentPluginOptions, UpdateFileDto, UpdateFolderDto };