@codingfactory/mediables-vue 2.16.0 → 2.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/{PixiFrameExporter-cu2jpN20.js → PixiFrameExporter-B1jinD_-.js} +2 -2
  2. package/dist/{PixiFrameExporter-cu2jpN20.js.map → PixiFrameExporter-B1jinD_-.js.map} +1 -1
  3. package/dist/{PixiFrameExporter-BOijjcAa.cjs → PixiFrameExporter-vNJtMooF.cjs} +2 -2
  4. package/dist/{PixiFrameExporter-BOijjcAa.cjs.map → PixiFrameExporter-vNJtMooF.cjs.map} +1 -1
  5. package/dist/components/AlbumNavRail.vue.d.ts +27 -0
  6. package/dist/components/AlbumTree.vue.d.ts +2 -0
  7. package/dist/components/MediaAlbumPickerModal.vue.d.ts +14 -0
  8. package/dist/components/MediaBulkActionBar.vue.d.ts +33 -0
  9. package/dist/components/MediaEmptyState.vue.d.ts +20 -0
  10. package/dist/components/MediaFilterChips.vue.d.ts +26 -0
  11. package/dist/components/MediaInspectorPanel.vue.d.ts +36 -0
  12. package/dist/components/MediaLibraryShell.vue.d.ts +36 -0
  13. package/dist/components/MediaLibraryToolbar.vue.d.ts +11 -0
  14. package/dist/components/MediaLibraryWorkspace.vue.d.ts +70 -0
  15. package/dist/components/MediaManagementView.vue.d.ts +30 -0
  16. package/dist/components/MediaShortcutHelp.vue.d.ts +13 -0
  17. package/dist/components/MediaTrashWorkspace.vue.d.ts +15 -0
  18. package/dist/components/MediaUsageList.vue.d.ts +17 -0
  19. package/dist/components/MediaVariantStrip.vue.d.ts +10 -0
  20. package/dist/composables/useMediaDeletion.d.ts +36 -0
  21. package/dist/composables/useMediaDisplayName.d.ts +19 -0
  22. package/dist/composables/useMediaLibraryQuery.d.ts +25 -2
  23. package/dist/composables/useMediaLibraryUploads.d.ts +41 -0
  24. package/dist/composables/useMediaSelection.d.ts +34 -4
  25. package/dist/index-DCTHBp0p.cjs +357 -0
  26. package/dist/index-DCTHBp0p.cjs.map +1 -0
  27. package/dist/{index-Bff5fDnU.js → index-IIKslTrU.js} +19487 -17202
  28. package/dist/index-IIKslTrU.js.map +1 -0
  29. package/dist/index.d.ts +32 -2
  30. package/dist/mediables-vue.cjs +1 -1
  31. package/dist/mediables-vue.mjs +109 -93
  32. package/dist/style.css +1 -1
  33. package/dist/types/media.d.ts +5 -0
  34. package/dist/types/mediaLibraryPicker.d.ts +43 -1
  35. package/package.json +1 -1
  36. package/dist/index-Bff5fDnU.js.map +0 -1
  37. package/dist/index-zFuo-sDY.cjs +0 -357
  38. package/dist/index-zFuo-sDY.cjs.map +0 -1
@@ -43,6 +43,11 @@ export interface Media {
43
43
  deletion_status?: DeletionStatus;
44
44
  is_trashed?: boolean;
45
45
  purge_after?: string | null;
46
+ parent_media_uuid?: string | null;
47
+ album_count?: number;
48
+ usage_count?: number;
49
+ variant_count?: number;
50
+ last_used_at?: string | null;
46
51
  }
47
52
  /**
48
53
  * Lifecycle states from the trash-aware deletion state machine.
@@ -2,8 +2,10 @@ import type { VNode } from 'vue';
2
2
  import type { StorageAdapter } from './adapter';
3
3
  import type { Media } from './media';
4
4
  export type MediaKind = 'image' | 'video' | 'audio' | 'document' | (string & {});
5
- export type MediaSort = 'newest' | 'oldest';
5
+ export type MediaSort = 'newest' | 'oldest' | 'name' | 'largest' | (string & {});
6
+ export type MediaUsageStatus = 'used' | 'not_used';
6
7
  export type MediaSelectionMode = 'single' | 'multiple';
8
+ export type MediaLibraryPickerMode = 'picker-single' | 'picker-multi' | 'management';
7
9
  export type MediaLibraryUploadBehavior = 'adapter' | 'delegate';
8
10
  export type MediaLibraryView = {
9
11
  scope: 'library';
@@ -11,11 +13,22 @@ export type MediaLibraryView = {
11
13
  scope: 'album';
12
14
  albumId: string;
13
15
  albumName?: string;
16
+ } | {
17
+ scope: 'trash';
18
+ } | {
19
+ scope: 'selection';
20
+ } | {
21
+ scope: 'unfiled';
14
22
  };
15
23
  export interface MediaLibraryFilters {
16
24
  query?: string;
17
25
  kinds?: MediaKind[];
18
26
  sort?: MediaSort;
27
+ created_after?: string;
28
+ created_before?: string;
29
+ usage_status?: MediaUsageStatus | null;
30
+ unfiled_only?: boolean;
31
+ selected_uuids?: string[];
19
32
  }
20
33
  export interface MediaUploadTarget {
21
34
  type: 'library' | 'album';
@@ -69,6 +82,9 @@ export interface MediaLibraryResponsePagination {
69
82
  has_more: boolean;
70
83
  per_page: number | null;
71
84
  count: number | null;
85
+ total?: number | null;
86
+ current_page?: number | null;
87
+ last_page?: number | null;
72
88
  }
73
89
  export interface MediaLibraryResponseMeta {
74
90
  cursor: string | null;
@@ -179,9 +195,34 @@ export interface MediaLibraryPickerLabels {
179
195
  previewNext?: string;
180
196
  previewSelect?: string;
181
197
  previewDeselect?: string;
198
+ selectAction?: string;
199
+ allMedia?: string;
200
+ unfiled?: string;
201
+ pageTitle?: string;
202
+ albumLabel?: string;
203
+ }
204
+ export interface MediaLibraryCapabilities {
205
+ allowAddToAlbum?: boolean;
206
+ allowBulkDelete?: boolean;
207
+ allowCreateGallery?: boolean;
208
+ allowCreatePost?: boolean;
209
+ allowImageEdit?: boolean;
210
+ allowPreview?: boolean;
211
+ allowVideoEdit?: boolean;
212
+ allowVisibilityChange?: boolean;
213
+ allowDownloadZip?: boolean;
214
+ showRawFileName?: boolean;
215
+ }
216
+ export interface MediaItemFilterResult {
217
+ allowed: boolean;
218
+ reason?: string;
182
219
  }
220
+ export type MediaItemFilter = (media: Media) => boolean | string | MediaItemFilterResult;
183
221
  export interface MediaLibraryPickerProps {
184
222
  deps: MediaLibraryPickerDeps;
223
+ mode?: MediaLibraryPickerMode;
224
+ capabilities?: MediaLibraryCapabilities;
225
+ itemFilter?: MediaItemFilter;
185
226
  modelValue?: string[];
186
227
  defaultSelectedIds?: string[];
187
228
  selectionMode?: MediaSelectionMode;
@@ -295,6 +336,7 @@ export interface MediaManagementBulkActionsSlotProps {
295
336
  selectedCount: number;
296
337
  selectedItemIds: string[];
297
338
  selectedItems: Media[];
339
+ crossPageCount: number;
298
340
  isDeleting: boolean;
299
341
  onBulkDelete: () => void | Promise<void>;
300
342
  onCreatePost?: () => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingfactory/mediables-vue",
3
- "version": "2.16.0",
3
+ "version": "2.17.0",
4
4
  "publishConfig": {
5
5
  "access": "restricted"
6
6
  },