@umbraco-cms/backoffice 14.0.0-40e04294 → 14.0.0-45828375

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 (164) hide show
  1. package/dist-cms/apps/app/app.element.js +0 -3
  2. package/dist-cms/assets/lang/da-dk.js +3 -0
  3. package/dist-cms/assets/lang/da-dk.ts +3 -0
  4. package/dist-cms/assets/lang/en-us.js +21 -18
  5. package/dist-cms/assets/lang/en-us.ts +21 -18
  6. package/dist-cms/custom-elements.json +149 -19
  7. package/dist-cms/mocks/browser-handlers.js +1 -1
  8. package/dist-cms/mocks/data/entity.data.d.ts +1 -1
  9. package/dist-cms/mocks/data/entity.data.js +1 -9
  10. package/dist-cms/mocks/data/media.data.d.ts +2 -1
  11. package/dist-cms/mocks/data/media.data.js +11 -0
  12. package/dist-cms/mocks/data/user-group.data.d.ts +17 -0
  13. package/dist-cms/mocks/data/user-group.data.js +61 -0
  14. package/dist-cms/mocks/data/user.data.d.ts +15 -0
  15. package/dist-cms/mocks/data/{users.data.js → user.data.js} +27 -41
  16. package/dist-cms/mocks/handlers/dictionary.handlers.js +2 -2
  17. package/dist-cms/mocks/handlers/media.handlers.js +8 -0
  18. package/dist-cms/mocks/handlers/partial-views.handlers.js +3 -3
  19. package/dist-cms/mocks/handlers/user-group/collection.handlers.d.ts +1 -0
  20. package/dist-cms/mocks/handlers/user-group/collection.handlers.js +10 -0
  21. package/dist-cms/mocks/handlers/user-group/detail.handlers.d.ts +1 -0
  22. package/dist-cms/mocks/handlers/user-group/detail.handlers.js +37 -0
  23. package/dist-cms/mocks/handlers/user-group/index.js +4 -0
  24. package/dist-cms/mocks/handlers/user-group/item.handlers.d.ts +1 -0
  25. package/dist-cms/mocks/handlers/user-group/item.handlers.js +13 -0
  26. package/dist-cms/mocks/handlers/user-group/slug.d.ts +1 -0
  27. package/dist-cms/mocks/handlers/user-group/slug.js +1 -0
  28. package/dist-cms/mocks/handlers/user.handlers.js +15 -1
  29. package/dist-cms/packages/core/components/input-list-base/input-list-base.js +1 -1
  30. package/dist-cms/packages/core/components/input-section/input-section.element.d.ts +2 -2
  31. package/dist-cms/packages/core/components/input-section/input-section.element.js +5 -5
  32. package/dist-cms/packages/core/extension-registry/conditions/types.d.ts +3 -2
  33. package/dist-cms/packages/core/extension-registry/models/index.d.ts +5 -1
  34. package/dist-cms/packages/core/extension-registry/models/index.js +2 -0
  35. package/dist-cms/packages/core/extension-registry/models/user-granular-permission.model.d.ts +8 -0
  36. package/dist-cms/packages/core/extension-registry/models/user-granular-permission.model.js +1 -0
  37. package/dist-cms/packages/core/extension-registry/models/user-permission.model.d.ts +11 -0
  38. package/dist-cms/packages/core/extension-registry/models/user-permission.model.js +1 -0
  39. package/dist-cms/packages/core/modal/common/entity-user-permission-settings/entity-user-permission-settings-modal.element.d.ts +19 -0
  40. package/dist-cms/packages/core/modal/common/entity-user-permission-settings/entity-user-permission-settings-modal.element.js +97 -0
  41. package/dist-cms/packages/core/modal/common/manifests.js +6 -0
  42. package/dist-cms/packages/core/modal/common/tree-picker/tree-picker-modal.element.js +5 -3
  43. package/dist-cms/packages/core/modal/token/entity-user-permission-settings-modal.token.d.ts +7 -0
  44. package/dist-cms/packages/core/modal/token/entity-user-permission-settings-modal.token.js +4 -0
  45. package/dist-cms/packages/core/modal/token/index.d.ts +1 -0
  46. package/dist-cms/packages/core/modal/token/index.js +1 -0
  47. package/dist-cms/packages/core/picker-input/picker-input.context.js +1 -3
  48. package/dist-cms/packages/core/tree/tree.context.js +3 -2
  49. package/dist-cms/packages/documents/documents/components/index.d.ts +1 -0
  50. package/dist-cms/packages/documents/documents/components/index.js +1 -0
  51. package/dist-cms/packages/documents/documents/components/input-document/input-document.context.d.ts +6 -0
  52. package/dist-cms/packages/documents/documents/components/input-document/input-document.context.js +7 -0
  53. package/dist-cms/packages/documents/documents/components/input-document/input-document.element.d.ts +7 -12
  54. package/dist-cms/packages/documents/documents/components/input-document/input-document.element.js +51 -64
  55. package/dist-cms/packages/documents/documents/components/input-document-granular-permission/input-document-granular-permission.element.d.ts +23 -0
  56. package/dist-cms/packages/documents/documents/components/input-document-granular-permission/input-document-granular-permission.element.js +102 -0
  57. package/dist-cms/packages/documents/documents/entity-actions/create/manifests.js +9 -0
  58. package/dist-cms/packages/documents/documents/entity-actions/manifests.js +1 -1
  59. package/dist-cms/packages/documents/documents/entity-actions/permissions.action.d.ts +2 -1
  60. package/dist-cms/packages/documents/documents/entity-actions/permissions.action.js +22 -2
  61. package/dist-cms/packages/documents/documents/index.d.ts +2 -0
  62. package/dist-cms/packages/documents/documents/index.js +2 -0
  63. package/dist-cms/packages/documents/documents/manifests.d.ts +4 -0
  64. package/dist-cms/packages/documents/documents/manifests.js +2 -0
  65. package/dist-cms/packages/documents/documents/recycle-bin/entity-action/manifests.d.ts +4 -0
  66. package/dist-cms/packages/documents/documents/recycle-bin/entity-action/manifests.js +6 -0
  67. package/dist-cms/packages/documents/documents/recycle-bin/manifests.d.ts +4 -0
  68. package/dist-cms/packages/documents/documents/repository/document.repository.js +4 -4
  69. package/dist-cms/packages/documents/documents/repository/manifests.d.ts +3 -2
  70. package/dist-cms/packages/documents/documents/repository/manifests.js +9 -1
  71. package/dist-cms/packages/documents/documents/user-permissions/index.d.ts +1 -0
  72. package/dist-cms/packages/documents/documents/user-permissions/index.js +1 -0
  73. package/dist-cms/packages/documents/documents/user-permissions/manifests.d.ts +19 -0
  74. package/dist-cms/packages/documents/documents/user-permissions/manifests.js +196 -0
  75. package/dist-cms/packages/documents/manifests.d.ts +4 -0
  76. package/dist-cms/packages/media/manifests.d.ts +2 -1
  77. package/dist-cms/packages/media/manifests.js +1 -0
  78. package/dist-cms/packages/media/media/components/index.d.ts +1 -0
  79. package/dist-cms/packages/media/media/components/index.js +1 -0
  80. package/dist-cms/packages/media/media/components/input-media/input-media.context.d.ts +6 -0
  81. package/dist-cms/packages/media/media/components/input-media/input-media.context.js +7 -0
  82. package/dist-cms/packages/media/media/components/input-media/input-media.element.d.ts +7 -15
  83. package/dist-cms/packages/media/media/components/input-media/input-media.element.js +50 -72
  84. package/dist-cms/packages/media/media/index.d.ts +2 -0
  85. package/dist-cms/packages/media/media/index.js +1 -1
  86. package/dist-cms/packages/media/media/manifests.d.ts +1 -1
  87. package/dist-cms/packages/media/media/manifests.js +2 -0
  88. package/dist-cms/packages/media/media/repository/manifests.d.ts +3 -2
  89. package/dist-cms/packages/media/media/repository/manifests.js +9 -1
  90. package/dist-cms/packages/media/media/repository/media-item.store.d.ts +20 -0
  91. package/dist-cms/packages/media/media/repository/media-item.store.js +23 -0
  92. package/dist-cms/packages/media/media/repository/media.repository.d.ts +6 -0
  93. package/dist-cms/packages/media/media/repository/media.repository.js +22 -0
  94. package/dist-cms/packages/media/media/repository/sources/media-item.server.data.d.ts +24 -0
  95. package/dist-cms/packages/media/media/repository/sources/media-item.server.data.js +31 -0
  96. package/dist-cms/packages/media/media/user-permissions/index.d.ts +1 -0
  97. package/dist-cms/packages/media/media/user-permissions/index.js +1 -0
  98. package/dist-cms/packages/media/media/user-permissions/manifests.d.ts +4 -0
  99. package/dist-cms/packages/media/media/user-permissions/manifests.js +27 -0
  100. package/dist-cms/packages/users/current-user/conditions/index.d.ts +1 -0
  101. package/dist-cms/packages/users/current-user/conditions/index.js +1 -0
  102. package/dist-cms/packages/users/current-user/conditions/user-permission.condition.d.ts +18 -0
  103. package/dist-cms/packages/users/current-user/conditions/user-permission.condition.js +23 -0
  104. package/dist-cms/packages/users/current-user/index.d.ts +1 -0
  105. package/dist-cms/packages/users/current-user/index.js +1 -0
  106. package/dist-cms/packages/users/current-user/manifests.js +7 -1
  107. package/dist-cms/packages/users/current-user/modals/current-user/current-user-modal.element.js +7 -7
  108. package/dist-cms/packages/users/index.d.ts +4 -2
  109. package/dist-cms/packages/users/index.js +4 -2
  110. package/dist-cms/packages/users/manifests.d.ts +2 -0
  111. package/dist-cms/packages/users/manifests.js +3 -0
  112. package/dist-cms/packages/users/user-groups/collection/user-group-collection-header.element.js +2 -2
  113. package/dist-cms/packages/users/user-groups/collection/user-group-collection-view.element.js +6 -6
  114. package/dist-cms/packages/users/user-groups/components/index.d.ts +1 -0
  115. package/dist-cms/packages/users/user-groups/components/index.js +1 -0
  116. package/dist-cms/packages/users/user-groups/entity-actions/manifests.d.ts +2 -0
  117. package/dist-cms/packages/users/user-groups/entity-actions/manifests.js +19 -0
  118. package/dist-cms/packages/users/user-groups/index.d.ts +2 -0
  119. package/dist-cms/packages/users/user-groups/index.js +2 -0
  120. package/dist-cms/packages/users/user-groups/manifests.d.ts +1 -1
  121. package/dist-cms/packages/users/user-groups/manifests.js +2 -0
  122. package/dist-cms/packages/users/user-groups/workspace/components/user-group-default-permission-list.element.d.ts +16 -0
  123. package/dist-cms/packages/users/user-groups/workspace/components/user-group-default-permission-list.element.js +69 -0
  124. package/dist-cms/packages/users/user-groups/workspace/components/user-group-granular-permission-list.element.d.ts +14 -0
  125. package/dist-cms/packages/users/user-groups/workspace/components/user-group-granular-permission-list.element.js +31 -0
  126. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace-editor.element.d.ts +2 -0
  127. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace-editor.element.js +57 -56
  128. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.context.d.ts +12 -0
  129. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.context.js +20 -0
  130. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.element.js +1 -1
  131. package/dist-cms/packages/users/users/collection/user-collection-header.element.js +18 -11
  132. package/dist-cms/packages/users/users/collection/views/grid/user-collection-grid-view.element.js +6 -6
  133. package/dist-cms/packages/users/users/collection/views/table/column-layouts/status/user-table-status-column-layout.element.js +3 -3
  134. package/dist-cms/packages/users/users/components/index.d.ts +3 -0
  135. package/dist-cms/packages/users/users/components/index.js +3 -0
  136. package/dist-cms/packages/users/users/components/user-input/user-input.element.js +2 -2
  137. package/dist-cms/packages/users/users/components/user-permission-setting/user-permission-setting.element.d.ts +15 -0
  138. package/dist-cms/packages/users/users/components/user-permission-setting/user-permission-setting.element.js +66 -0
  139. package/dist-cms/packages/users/users/index.d.ts +2 -0
  140. package/dist-cms/packages/users/users/index.js +2 -0
  141. package/dist-cms/packages/users/users/modals/user-picker/user-picker-modal.element.d.ts +3 -1
  142. package/dist-cms/packages/users/users/modals/user-picker/user-picker-modal.element.js +20 -25
  143. package/dist-cms/packages/users/users/repository/index.d.ts +1 -0
  144. package/dist-cms/packages/users/users/repository/index.js +1 -0
  145. package/dist-cms/packages/users/users/repository/user.repository.js +1 -1
  146. package/dist-cms/packages/users/users/workspace/user-workspace-editor.element.js +73 -56
  147. package/dist-cms/packages/users/utils.d.ts +5 -2
  148. package/dist-cms/packages/users/utils.js +14 -14
  149. package/dist-cms/shared/auth/auth-flow.d.ts +0 -4
  150. package/dist-cms/shared/auth/auth-flow.js +6 -25
  151. package/dist-cms/shared/repository/repository-items.manager.js +5 -0
  152. package/dist-cms/shared/umb-events/index.d.ts +1 -0
  153. package/dist-cms/shared/umb-events/index.js +1 -0
  154. package/dist-cms/shared/umb-events/selected.event.d.ts +3 -0
  155. package/dist-cms/shared/umb-events/selected.event.js +6 -0
  156. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  157. package/dist-cms/umbraco-package-schema.json +154 -0
  158. package/dist-cms/vscode-html-custom-data.json +66 -18
  159. package/package.json +1 -1
  160. package/dist-cms/mocks/data/user-groups.data.d.ts +0 -9
  161. package/dist-cms/mocks/data/user-groups.data.js +0 -21
  162. package/dist-cms/mocks/data/users.data.d.ts +0 -16
  163. package/dist-cms/mocks/handlers/user-group.handlers.js +0 -17
  164. /package/dist-cms/mocks/handlers/{user-group.handlers.d.ts → user-group/index.d.ts} +0 -0
@@ -0,0 +1,19 @@
1
+ import type { ManifestUserGranularPermission, ManifestUserPermission } from '../../../core/extension-registry/index.js';
2
+ export declare const UMB_USER_PERMISSION_DOCUMENT_CREATE = "Umb.UserPermission.Document.Create";
3
+ export declare const UMB_USER_PERMISSION_DOCUMENT_READ = "Umb.UserPermission.Document.Read";
4
+ export declare const UMB_USER_PERMISSION_DOCUMENT_UPDATE = "Umb.UserPermission.Document.Update";
5
+ export declare const UMB_USER_PERMISSION_DOCUMENT_DELETE = "Umb.UserPermission.Document.Delete";
6
+ export declare const UMB_USER_PERMISSION_DOCUMENT_CREATE_BLUEPRINT = "Umb.UserPermission.Document.CreateBlueprint";
7
+ export declare const UMB_USER_PERMISSION_DOCUMENT_NOTIFICATIONS = "Umb.UserPermission.Document.Notifications";
8
+ export declare const UMB_USER_PERMISSION_DOCUMENT_PUBLISH = "Umb.UserPermission.Document.Publish";
9
+ export declare const UMB_USER_PERMISSION_DOCUMENT_PERMISSIONS = "Umb.UserPermission.Document.Permissions";
10
+ export declare const UMB_USER_PERMISSION_DOCUMENT_SEND_FOR_APPROVAL = "Umb.UserPermission.Document.SendForApproval";
11
+ export declare const UMB_USER_PERMISSION_DOCUMENT_UNPUBLISH = "Umb.UserPermission.Document.Unpublish";
12
+ export declare const UMB_USER_PERMISSION_DOCUMENT_COPY = "Umb.UserPermission.Document.Copy";
13
+ export declare const UMB_USER_PERMISSION_DOCUMENT_MOVE = "Umb.UserPermission.Document.Move";
14
+ export declare const UMB_USER_PERMISSION_DOCUMENT_SORT = "Umb.UserPermission.Document.Sort";
15
+ export declare const UMB_USER_PERMISSION_DOCUMENT_CULTURE_AND_HOSTNAMES = "Umb.UserPermission.Document.CultureAndHostnames";
16
+ export declare const UMB_USER_PERMISSION_DOCUMENT_PUBLIC_ACCESS = "Umb.UserPermission.Document.PublicAccess";
17
+ export declare const UMB_USER_PERMISSION_DOCUMENT_ROLLBACK = "Umb.UserPermission.Document.Rollback";
18
+ export declare const granularPermissions: Array<ManifestUserGranularPermission>;
19
+ export declare const manifests: (ManifestUserPermission | ManifestUserGranularPermission)[];
@@ -0,0 +1,196 @@
1
+ export const UMB_USER_PERMISSION_DOCUMENT_CREATE = 'Umb.UserPermission.Document.Create';
2
+ export const UMB_USER_PERMISSION_DOCUMENT_READ = 'Umb.UserPermission.Document.Read';
3
+ export const UMB_USER_PERMISSION_DOCUMENT_UPDATE = 'Umb.UserPermission.Document.Update';
4
+ export const UMB_USER_PERMISSION_DOCUMENT_DELETE = 'Umb.UserPermission.Document.Delete';
5
+ export const UMB_USER_PERMISSION_DOCUMENT_CREATE_BLUEPRINT = 'Umb.UserPermission.Document.CreateBlueprint';
6
+ export const UMB_USER_PERMISSION_DOCUMENT_NOTIFICATIONS = 'Umb.UserPermission.Document.Notifications';
7
+ export const UMB_USER_PERMISSION_DOCUMENT_PUBLISH = 'Umb.UserPermission.Document.Publish';
8
+ export const UMB_USER_PERMISSION_DOCUMENT_PERMISSIONS = 'Umb.UserPermission.Document.Permissions';
9
+ export const UMB_USER_PERMISSION_DOCUMENT_SEND_FOR_APPROVAL = 'Umb.UserPermission.Document.SendForApproval';
10
+ export const UMB_USER_PERMISSION_DOCUMENT_UNPUBLISH = 'Umb.UserPermission.Document.Unpublish';
11
+ export const UMB_USER_PERMISSION_DOCUMENT_COPY = 'Umb.UserPermission.Document.Copy';
12
+ export const UMB_USER_PERMISSION_DOCUMENT_MOVE = 'Umb.UserPermission.Document.Move';
13
+ export const UMB_USER_PERMISSION_DOCUMENT_SORT = 'Umb.UserPermission.Document.Sort';
14
+ export const UMB_USER_PERMISSION_DOCUMENT_CULTURE_AND_HOSTNAMES = 'Umb.UserPermission.Document.CultureAndHostnames';
15
+ export const UMB_USER_PERMISSION_DOCUMENT_PUBLIC_ACCESS = 'Umb.UserPermission.Document.PublicAccess';
16
+ export const UMB_USER_PERMISSION_DOCUMENT_ROLLBACK = 'Umb.UserPermission.Document.Rollback';
17
+ const permissions = [
18
+ {
19
+ type: 'userPermission',
20
+ alias: UMB_USER_PERMISSION_DOCUMENT_READ,
21
+ name: 'Read Document User Permission',
22
+ meta: {
23
+ entityType: 'document',
24
+ label: 'Read',
25
+ description: 'Allow access to browse documents',
26
+ },
27
+ },
28
+ {
29
+ type: 'userPermission',
30
+ alias: UMB_USER_PERMISSION_DOCUMENT_CREATE_BLUEPRINT,
31
+ name: 'Create Document Blueprint User Permission',
32
+ meta: {
33
+ entityType: 'document',
34
+ label: 'Create Content Template',
35
+ description: 'Allow access to create a Content Template',
36
+ },
37
+ },
38
+ {
39
+ type: 'userPermission',
40
+ alias: UMB_USER_PERMISSION_DOCUMENT_DELETE,
41
+ name: 'Delete Document User Permission',
42
+ meta: {
43
+ entityType: 'document',
44
+ label: 'Delete',
45
+ description: 'Allow access to delete a document',
46
+ },
47
+ },
48
+ {
49
+ type: 'userPermission',
50
+ alias: UMB_USER_PERMISSION_DOCUMENT_CREATE,
51
+ name: 'Create Document User Permission',
52
+ meta: {
53
+ entityType: 'document',
54
+ label: 'Create',
55
+ description: 'Allow access to create a document',
56
+ },
57
+ },
58
+ {
59
+ type: 'userPermission',
60
+ alias: UMB_USER_PERMISSION_DOCUMENT_NOTIFICATIONS,
61
+ name: 'Document Notifications User Permission',
62
+ meta: {
63
+ entityType: 'document',
64
+ label: 'Notifications',
65
+ description: 'Allow access to setup notifications for documents',
66
+ },
67
+ },
68
+ {
69
+ type: 'userPermission',
70
+ alias: UMB_USER_PERMISSION_DOCUMENT_PUBLISH,
71
+ name: 'Publish Document User Permission',
72
+ meta: {
73
+ entityType: 'document',
74
+ label: 'Publish',
75
+ description: 'Allow access to publish a document',
76
+ },
77
+ },
78
+ {
79
+ type: 'userPermission',
80
+ alias: UMB_USER_PERMISSION_DOCUMENT_PERMISSIONS,
81
+ name: 'Document Permissions User Permission',
82
+ meta: {
83
+ entityType: 'document',
84
+ label: 'Permissions',
85
+ description: 'Allow access to change permissions for a document',
86
+ },
87
+ },
88
+ {
89
+ type: 'userPermission',
90
+ alias: UMB_USER_PERMISSION_DOCUMENT_SEND_FOR_APPROVAL,
91
+ name: 'Send Document For Approval User Permission',
92
+ meta: {
93
+ entityType: 'document',
94
+ label: 'Send For Approval',
95
+ description: 'Allow access to send a document for approval before publishing',
96
+ },
97
+ },
98
+ {
99
+ type: 'userPermission',
100
+ alias: UMB_USER_PERMISSION_DOCUMENT_UNPUBLISH,
101
+ name: 'Unpublish Document User Permission',
102
+ meta: {
103
+ entityType: 'document',
104
+ label: 'Unpublish',
105
+ description: 'Allow access to unpublish a document',
106
+ },
107
+ },
108
+ {
109
+ type: 'userPermission',
110
+ alias: UMB_USER_PERMISSION_DOCUMENT_UPDATE,
111
+ name: 'Update Document User Permission',
112
+ meta: {
113
+ entityType: 'document',
114
+ label: 'Update',
115
+ description: 'Allow access to save a document',
116
+ },
117
+ },
118
+ {
119
+ type: 'userPermission',
120
+ alias: UMB_USER_PERMISSION_DOCUMENT_COPY,
121
+ name: 'Copy Document User Permission',
122
+ meta: {
123
+ entityType: 'document',
124
+ label: 'Copy',
125
+ description: 'Allow access to copy a document',
126
+ group: 'structure',
127
+ },
128
+ },
129
+ {
130
+ type: 'userPermission',
131
+ alias: UMB_USER_PERMISSION_DOCUMENT_MOVE,
132
+ name: 'Move Document User Permission',
133
+ meta: {
134
+ entityType: 'document',
135
+ label: 'Move',
136
+ description: 'Allow access to move a document',
137
+ group: 'structure',
138
+ },
139
+ },
140
+ {
141
+ type: 'userPermission',
142
+ alias: UMB_USER_PERMISSION_DOCUMENT_SORT,
143
+ name: 'Sort Document User Permission',
144
+ meta: {
145
+ entityType: 'document',
146
+ label: 'Sort',
147
+ description: 'Allow access to sort documents',
148
+ group: 'structure',
149
+ },
150
+ },
151
+ {
152
+ type: 'userPermission',
153
+ alias: UMB_USER_PERMISSION_DOCUMENT_CULTURE_AND_HOSTNAMES,
154
+ name: 'Document Culture And Hostnames User Permission',
155
+ meta: {
156
+ entityType: 'document',
157
+ label: 'Culture And Hostnames',
158
+ description: 'Allow access to set culture and hostnames for documents',
159
+ group: 'administration',
160
+ },
161
+ },
162
+ {
163
+ type: 'userPermission',
164
+ alias: UMB_USER_PERMISSION_DOCUMENT_PUBLIC_ACCESS,
165
+ name: 'Document Public Access User Permission',
166
+ meta: {
167
+ entityType: 'document',
168
+ label: 'Public Access',
169
+ description: 'Allow access to set and change access restrictions for a document',
170
+ group: 'administration',
171
+ },
172
+ },
173
+ {
174
+ type: 'userPermission',
175
+ alias: UMB_USER_PERMISSION_DOCUMENT_ROLLBACK,
176
+ name: 'Document Rollback User Permission',
177
+ meta: {
178
+ entityType: 'document',
179
+ label: 'Rollback',
180
+ description: 'Allow access to roll back a document to a previous state',
181
+ group: 'administration',
182
+ },
183
+ },
184
+ ];
185
+ export const granularPermissions = [
186
+ {
187
+ type: 'userGranularPermission',
188
+ alias: 'Umb.UserGranularPermission.Document',
189
+ name: 'Document Granular User Permission',
190
+ loader: () => import('../components/input-document-granular-permission/input-document-granular-permission.element.js'),
191
+ meta: {
192
+ entityType: 'document',
193
+ },
194
+ },
195
+ ];
196
+ export const manifests = [...permissions, ...granularPermissions];
@@ -10,4 +10,8 @@ export declare const manifests: (import("../../libs/extension-api/types.js").Man
10
10
  api: typeof import("../core/index.js").UmbTrashEntityAction;
11
11
  entityTypes: string[];
12
12
  };
13
+ conditions: {
14
+ alias: string;
15
+ match: string;
16
+ }[];
13
17
  })[];
@@ -1 +1,2 @@
1
- export declare const manifests: (import("../core/index.js").ManifestSectionSidebarApp | import("../core/index.js").ManifestCollectionView | import("../core/index.js").ManifestDashboardCollection | import("../core/index.js").ManifestEntityAction | import("../core/index.js").ManifestEntityBulkAction | import("../core/index.js").ManifestMenu | import("../core/index.js").ManifestMenuItem | import("../core/index.js").ManifestRepository | import("../core/index.js").ManifestSection | import("../core/index.js").ManifestStore | import("../core/index.js").ManifestTree | import("../core/index.js").ManifestTreeItem | import("../core/index.js").ManifestTreeStore | import("../core/index.js").ManifestWorkspace | import("../core/index.js").ManifestWorkspaceAction | import("../core/index.js").ManifestWorkspaceEditorView | import("../core/index.js").ManifestWorkspaceViewCollection)[];
1
+ import './media/components/index.js';
2
+ export declare const manifests: (import("../core/index.js").ManifestSectionSidebarApp | import("../core/index.js").ManifestCollectionView | import("../core/index.js").ManifestDashboardCollection | import("../core/index.js").ManifestEntityAction | import("../core/index.js").ManifestEntityBulkAction | import("../core/index.js").ManifestItemStore | import("../core/index.js").ManifestMenu | import("../core/index.js").ManifestMenuItem | import("../core/index.js").ManifestRepository | import("../core/index.js").ManifestSection | import("../core/index.js").ManifestStore | import("../core/index.js").ManifestTree | import("../core/index.js").ManifestTreeItem | import("../core/index.js").ManifestTreeStore | import("../core/index.js").ManifestWorkspace | import("../core/index.js").ManifestWorkspaceAction | import("../core/index.js").ManifestWorkspaceEditorView | import("../core/index.js").ManifestWorkspaceViewCollection | import("../core/index.js").ManifestUserPermission)[];
@@ -2,4 +2,5 @@ import { manifests as mediaSectionManifests } from './section.manifests.js';
2
2
  import { manifests as mediaMenuManifests } from './menu.manifests.js';
3
3
  import { manifests as mediaManifests } from './media/manifests.js';
4
4
  import { manifests as mediaTypesManifests } from './media-types/manifests.js';
5
+ import './media/components/index.js';
5
6
  export const manifests = [...mediaSectionManifests, ...mediaMenuManifests, ...mediaManifests, ...mediaTypesManifests];
@@ -1 +1,2 @@
1
1
  import './input-media/input-media.element.js';
2
+ export * from './input-media/input-media.element.js';
@@ -1 +1,2 @@
1
1
  import './input-media/input-media.element.js';
2
+ export * from './input-media/input-media.element.js';
@@ -0,0 +1,6 @@
1
+ import { UmbPickerInputContext } from '../../../../core/picker-input/index.js';
2
+ import { UmbControllerHostElement } from '../../../../../libs/controller-api/index.js';
3
+ import { MediaItemResponseModel } from '../../../../../external/backend-api/index.js';
4
+ export declare class UmbMediaPickerContext extends UmbPickerInputContext<MediaItemResponseModel> {
5
+ constructor(host: UmbControllerHostElement);
6
+ }
@@ -0,0 +1,7 @@
1
+ import { UmbPickerInputContext } from '../../../../core/picker-input/index.js';
2
+ import { UMB_MEDIA_TREE_PICKER_MODAL } from '../../../../core/modal/index.js';
3
+ export class UmbMediaPickerContext extends UmbPickerInputContext {
4
+ constructor(host) {
5
+ super(host, 'Umb.Repository.Media', UMB_MEDIA_TREE_PICKER_MODAL);
6
+ }
7
+ }
@@ -1,13 +1,15 @@
1
1
  import { UmbLitElement } from '../../../../../shared/lit-element/index.js';
2
2
  declare const UmbInputMediaElement_base: (new (...args: any[]) => import("../../../../../external/uui/index.js").FormControlMixinInterface) & typeof UmbLitElement;
3
3
  export declare class UmbInputMediaElement extends UmbInputMediaElement_base {
4
+ #private;
4
5
  /**
5
6
  * This is a minimum amount of selected items in this input.
6
7
  * @type {number}
7
8
  * @attr
8
- * @default undefined
9
+ * @default 0
9
10
  */
10
- min?: number;
11
+ get min(): number;
12
+ set min(value: number);
11
13
  /**
12
14
  * Min validation message.
13
15
  * @type {boolean}
@@ -19,9 +21,10 @@ export declare class UmbInputMediaElement extends UmbInputMediaElement_base {
19
21
  * This is a maximum amount of selected items in this input.
20
22
  * @type {number}
21
23
  * @attr
22
- * @default undefined
24
+ * @default Infinity
23
25
  */
24
- max?: number;
26
+ get max(): number;
27
+ set max(value: number);
25
28
  /**
26
29
  * Max validation message.
27
30
  * @type {boolean}
@@ -29,24 +32,13 @@ export declare class UmbInputMediaElement extends UmbInputMediaElement_base {
29
32
  * @default
30
33
  */
31
34
  maxMessage: string;
32
- private _selectedIds;
33
35
  get selectedIds(): Array<string>;
34
36
  set selectedIds(ids: Array<string>);
35
37
  set value(idsString: string);
36
38
  private _items?;
37
- private _modalContext?;
38
- private _pickedItemsObserver?;
39
- private _repository;
40
39
  constructor();
41
- connectedCallback(): void;
42
40
  protected getFormElement(): undefined;
43
- private _observePickedMedias;
44
- private _openPicker;
45
- private _removeItem;
46
- private _setSelection;
47
41
  render(): import("lit-html").TemplateResult<1>;
48
- private _renderButton;
49
- private _renderItem;
50
42
  static styles: import("@lit/reactive-element/css-tag.js").CSSResult[];
51
43
  }
52
44
  export default UmbInputMediaElement;
@@ -4,25 +4,46 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { UmbMediaRepository } from '../../repository/media.repository.js';
8
- import { css, html, nothing, customElement, property, state, ifDefined } from '../../../../../external/lit/index.js';
7
+ import { UmbMediaPickerContext } from './input-media.context.js';
8
+ import { css, html, customElement, property, state, ifDefined } from '../../../../../external/lit/index.js';
9
9
  import { FormControlMixin } from '../../../../../external/uui/index.js';
10
- import { UMB_MODAL_MANAGER_CONTEXT_TOKEN, UMB_CONFIRM_MODAL, UMB_MEDIA_TREE_PICKER_MODAL, } from '../../../../core/modal/index.js';
11
10
  import { UmbLitElement } from '../../../../../shared/lit-element/index.js';
12
11
  export let UmbInputMediaElement = class UmbInputMediaElement extends FormControlMixin(UmbLitElement) {
12
+ /**
13
+ * This is a minimum amount of selected items in this input.
14
+ * @type {number}
15
+ * @attr
16
+ * @default 0
17
+ */
18
+ get min() {
19
+ return this.#pickerContext.min;
20
+ }
21
+ set min(value) {
22
+ this.#pickerContext.min = value;
23
+ }
24
+ /**
25
+ * This is a maximum amount of selected items in this input.
26
+ * @type {number}
27
+ * @attr
28
+ * @default Infinity
29
+ */
30
+ get max() {
31
+ return this.#pickerContext.max;
32
+ }
33
+ set max(value) {
34
+ this.#pickerContext.max = value;
35
+ }
13
36
  get selectedIds() {
14
- return this._selectedIds;
37
+ return this.#pickerContext.getSelection();
15
38
  }
16
39
  set selectedIds(ids) {
17
- this._selectedIds = ids;
18
- super.value = ids.join(',');
19
- this._observePickedMedias();
40
+ this.#pickerContext.setSelection(ids);
20
41
  }
21
42
  set value(idsString) {
22
- if (idsString !== this._value) {
23
- this.selectedIds = idsString.split(/[ ,]+/);
24
- }
43
+ // Its with full purpose we don't call super.value, as thats being handled by the observation of the context selection.
44
+ this.selectedIds = idsString.split(/[ ,]+/);
25
45
  }
46
+ #pickerContext;
26
47
  constructor() {
27
48
  super();
28
49
  /**
@@ -39,89 +60,45 @@ export let UmbInputMediaElement = class UmbInputMediaElement extends FormControl
39
60
  * @default
40
61
  */
41
62
  this.maxMessage = 'This field exceeds the allowed amount of items';
42
- // TODO: do we need both selectedIds and value? If we just use value we follow the same pattern as native form controls.
43
- this._selectedIds = [];
44
- this._repository = new UmbMediaRepository(this);
45
- this.addValidator('rangeUnderflow', () => this.minMessage, () => !!this.min && this._selectedIds.length < this.min);
46
- this.addValidator('rangeOverflow', () => this.maxMessage, () => !!this.max && this._selectedIds.length > this.max);
47
- this.consumeContext(UMB_MODAL_MANAGER_CONTEXT_TOKEN, (instance) => {
48
- this._modalContext = instance;
49
- });
50
- }
51
- connectedCallback() {
52
- super.connectedCallback();
53
- this._observePickedMedias();
63
+ this.#pickerContext = new UmbMediaPickerContext(this);
64
+ this.addValidator('rangeUnderflow', () => this.minMessage, () => !!this.min && this.#pickerContext.getSelection().length < this.min);
65
+ this.addValidator('rangeOverflow', () => this.maxMessage, () => !!this.max && this.#pickerContext.getSelection().length > this.max);
66
+ this.observe(this.#pickerContext.selection, (selection) => (super.value = selection.join(',')));
67
+ this.observe(this.#pickerContext.selectedItems, (selectedItems) => (this._items = selectedItems));
54
68
  }
55
69
  getFormElement() {
56
70
  return undefined;
57
71
  }
58
- async _observePickedMedias() {
59
- this._pickedItemsObserver?.destroy();
60
- // TODO: consider changing this to the list data endpoint when it is available
61
- const { asObservable } = await this._repository.requestItemsLegacy(this._selectedIds);
62
- if (!asObservable)
63
- return;
64
- this._pickedItemsObserver = this.observe(asObservable(), (items) => {
65
- this._items = items;
66
- });
67
- }
68
- _openPicker() {
69
- // We send a shallow copy(good enough as its just an array of ids) of our this._selectedIds, as we don't want the modal to manipulate our data:
70
- const modalContext = this._modalContext?.open(UMB_MEDIA_TREE_PICKER_MODAL, {
71
- multiple: this.max === 1 ? false : true,
72
- selection: [...this._selectedIds],
73
- });
74
- modalContext?.onSubmit().then(({ selection }) => {
75
- this._setSelection(selection);
76
- });
77
- }
78
- _removeItem(item) {
79
- const modalContext = this._modalContext?.open(UMB_CONFIRM_MODAL, {
80
- color: 'danger',
81
- headline: `Remove ${item.name}?`,
82
- content: 'Are you sure you want to remove this item',
83
- confirmLabel: 'Remove',
84
- });
85
- modalContext?.onSubmit().then(() => {
86
- const newSelection = this._selectedIds.filter((value) => value !== item.id);
87
- this._setSelection(newSelection);
88
- });
89
- }
90
- _setSelection(newSelection) {
91
- this.selectedIds = newSelection;
92
- this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }));
93
- }
94
72
  render() {
95
- return html ` ${this._items?.map((item) => this._renderItem(item))} ${this._renderButton()} `;
73
+ return html ` ${this._items?.map((item) => this.#renderItem(item))} ${this.#renderButton()} `;
96
74
  }
97
- _renderButton() {
75
+ #renderButton() {
98
76
  if (this._items && this.max && this._items.length >= this.max)
99
77
  return;
100
- return html `<uui-button id="add-button" look="placeholder" @click=${this._openPicker} label="open">
101
- <uui-icon name="umb:add"></uui-icon>
102
- Add
103
- </uui-button>`;
78
+ return html `
79
+ <uui-button id="add-button" look="placeholder" @click=${() => this.#pickerContext.openPicker()} label="open">
80
+ <uui-icon name="umb:add"></uui-icon>
81
+ Add
82
+ </uui-button>
83
+ `;
104
84
  }
105
- _renderItem(item) {
106
- // TODO: remove when we have a way to handle trashed items
107
- const tempItem = item;
85
+ #renderItem(item) {
108
86
  return html `
109
87
  <uui-card-media
110
88
  name=${ifDefined(item.name === null ? undefined : item.name)}
111
89
  detail=${ifDefined(item.id)}
112
90
  file-ext="jpg">
113
- ${tempItem.isTrashed ? html ` <uui-tag size="s" slot="tag" color="danger">Trashed</uui-tag> ` : nothing}
91
+ <!-- <uui-tag size="s" slot="tag" color="danger">Trashed</uui-tag> -->
114
92
  <uui-action-bar slot="actions">
115
93
  <uui-button label="Copy media">
116
94
  <uui-icon name="umb:documents"></uui-icon>
117
95
  </uui-button>
118
- <uui-button @click=${() => this._removeItem(item)} label="Remove media ${item.name}">
96
+ <uui-button @click=${() => this.#pickerContext.requestRemoveItem(item.id)} label="Remove media ${item.name}">
119
97
  <uui-icon name="umb:trash"></uui-icon>
120
98
  </uui-button>
121
99
  </uui-action-bar>
122
100
  </uui-card-media>
123
101
  `;
124
- //TODO: <uui-button-inline-create vertical></uui-button-inline-create>
125
102
  }
126
103
  static { this.styles = [
127
104
  css `
@@ -130,6 +107,7 @@ export let UmbInputMediaElement = class UmbInputMediaElement extends FormControl
130
107
  gap: var(--uui-size-space-3);
131
108
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
132
109
  }
110
+
133
111
  #add-button {
134
112
  text-align: center;
135
113
  height: 160px;
@@ -144,13 +122,13 @@ export let UmbInputMediaElement = class UmbInputMediaElement extends FormControl
144
122
  };
145
123
  __decorate([
146
124
  property({ type: Number })
147
- ], UmbInputMediaElement.prototype, "min", void 0);
125
+ ], UmbInputMediaElement.prototype, "min", null);
148
126
  __decorate([
149
127
  property({ type: String, attribute: 'min-message' })
150
128
  ], UmbInputMediaElement.prototype, "minMessage", void 0);
151
129
  __decorate([
152
130
  property({ type: Number })
153
- ], UmbInputMediaElement.prototype, "max", void 0);
131
+ ], UmbInputMediaElement.prototype, "max", null);
154
132
  __decorate([
155
133
  property({ type: String, attribute: 'min-message' })
156
134
  ], UmbInputMediaElement.prototype, "maxMessage", void 0);
@@ -1,4 +1,5 @@
1
1
  import { ContentTreeItemResponseModel } from '../../../external/backend-api/index.js';
2
+ export * from './components/index.js';
2
3
  export interface ContentProperty {
3
4
  alias: string;
4
5
  label: string;
@@ -15,4 +16,5 @@ export interface MediaDetails extends ContentTreeItemResponseModel {
15
16
  properties: Array<ContentProperty>;
16
17
  data: Array<ContentPropertyData>;
17
18
  variants: Array<any>;
19
+ icon?: string;
18
20
  }
@@ -1 +1 @@
1
- export {};
1
+ export * from './components/index.js';
@@ -1 +1 @@
1
- export declare const manifests: (import("../../core/index.js").ManifestCollectionView | import("../../core/index.js").ManifestEntityAction | import("../../core/index.js").ManifestEntityBulkAction | import("../../core/index.js").ManifestMenuItem | import("../../core/index.js").ManifestRepository | import("../../core/index.js").ManifestStore | import("../../core/index.js").ManifestTree | import("../../core/index.js").ManifestTreeItem | import("../../core/index.js").ManifestTreeStore | import("../../core/index.js").ManifestWorkspace | import("../../core/index.js").ManifestWorkspaceAction | import("../../core/index.js").ManifestWorkspaceEditorView | import("../../core/index.js").ManifestWorkspaceViewCollection)[];
1
+ export declare const manifests: (import("../../core/index.js").ManifestCollectionView | import("../../core/index.js").ManifestEntityAction | import("../../core/index.js").ManifestEntityBulkAction | import("../../core/index.js").ManifestItemStore | import("../../core/index.js").ManifestMenuItem | import("../../core/index.js").ManifestRepository | import("../../core/index.js").ManifestStore | import("../../core/index.js").ManifestTree | import("../../core/index.js").ManifestTreeItem | import("../../core/index.js").ManifestTreeStore | import("../../core/index.js").ManifestWorkspace | import("../../core/index.js").ManifestWorkspaceAction | import("../../core/index.js").ManifestWorkspaceEditorView | import("../../core/index.js").ManifestWorkspaceViewCollection | import("../../core/index.js").ManifestUserPermission)[];
@@ -5,6 +5,7 @@ import { manifests as treeManifests } from './tree/manifests.js';
5
5
  import { manifests as workspaceManifests } from './workspace/manifests.js';
6
6
  import { manifests as entityActionsManifests } from './entity-actions/manifests.js';
7
7
  import { manifests as entityBulkActionsManifests } from './entity-bulk-actions/manifests.js';
8
+ import { manifests as userPermissionManifests } from './user-permissions/manifests.js';
8
9
  export const manifests = [
9
10
  ...collectionViewManifests,
10
11
  ...repositoryManifests,
@@ -13,4 +14,5 @@ export const manifests = [
13
14
  ...workspaceManifests,
14
15
  ...entityActionsManifests,
15
16
  ...entityBulkActionsManifests,
17
+ ...userPermissionManifests,
16
18
  ];
@@ -1,5 +1,6 @@
1
- import type { ManifestStore, ManifestTreeStore, ManifestRepository } from '../../../core/extension-registry/index.js';
1
+ import type { ManifestStore, ManifestTreeStore, ManifestRepository, ManifestItemStore } from '../../../core/extension-registry/index.js';
2
2
  export declare const MEDIA_REPOSITORY_ALIAS = "Umb.Repository.Media";
3
3
  export declare const MEDIA_STORE_ALIAS = "Umb.Store.Media";
4
4
  export declare const MEDIA_TREE_STORE_ALIAS = "Umb.Store.MediaTree";
5
- export declare const manifests: (ManifestRepository | ManifestStore | ManifestTreeStore)[];
5
+ export declare const MEDIA_ITEM_STORE_ALIAS = "Umb.Store.MediaItem";
6
+ export declare const manifests: (ManifestItemStore | ManifestRepository | ManifestStore | ManifestTreeStore)[];
@@ -1,3 +1,4 @@
1
+ import { UmbMediaItemStore } from './media-item.store.js';
1
2
  import { UmbMediaRepository } from './media.repository.js';
2
3
  import { UmbMediaStore } from './media.store.js';
3
4
  import { UmbMediaTreeStore } from './media.tree.store.js';
@@ -10,6 +11,7 @@ const repository = {
10
11
  };
11
12
  export const MEDIA_STORE_ALIAS = 'Umb.Store.Media';
12
13
  export const MEDIA_TREE_STORE_ALIAS = 'Umb.Store.MediaTree';
14
+ export const MEDIA_ITEM_STORE_ALIAS = 'Umb.Store.MediaItem';
13
15
  const store = {
14
16
  type: 'store',
15
17
  alias: MEDIA_STORE_ALIAS,
@@ -22,4 +24,10 @@ const treeStore = {
22
24
  name: 'Media Tree Store',
23
25
  class: UmbMediaTreeStore,
24
26
  };
25
- export const manifests = [store, treeStore, repository];
27
+ const itemStore = {
28
+ type: 'itemStore',
29
+ alias: MEDIA_ITEM_STORE_ALIAS,
30
+ name: 'Media Item Store',
31
+ class: UmbMediaItemStore,
32
+ };
33
+ export const manifests = [store, treeStore, itemStore, repository];
@@ -0,0 +1,20 @@
1
+ import { UmbContextToken } from '../../../../libs/context-api/index.js';
2
+ import { UmbControllerHostElement } from '../../../../libs/controller-api/index.js';
3
+ import { UmbItemStore, UmbStoreBase } from '../../../core/store/index.js';
4
+ import { MediaItemResponseModel } from '../../../../external/backend-api/index.js';
5
+ /**
6
+ * @export
7
+ * @class UmbMediaItemStore
8
+ * @extends {UmbStoreBase}
9
+ * @description - Data Store for Media items
10
+ */
11
+ export declare class UmbMediaItemStore extends UmbStoreBase<MediaItemResponseModel> implements UmbItemStore<MediaItemResponseModel> {
12
+ /**
13
+ * Creates an instance of UmbMediaItemStore.
14
+ * @param {UmbControllerHostElement} host
15
+ * @memberof UmbMediaItemStore
16
+ */
17
+ constructor(host: UmbControllerHostElement);
18
+ items(ids: Array<string>): import("rxjs").Observable<MediaItemResponseModel[]>;
19
+ }
20
+ export declare const UMB_Media_ITEM_STORE_CONTEXT_TOKEN: UmbContextToken<UmbMediaItemStore, UmbMediaItemStore>;
@@ -0,0 +1,23 @@
1
+ import { UmbContextToken } from '../../../../libs/context-api/index.js';
2
+ import { UmbStoreBase } from '../../../core/store/index.js';
3
+ import { UmbArrayState } from '../../../../libs/observable-api/index.js';
4
+ /**
5
+ * @export
6
+ * @class UmbMediaItemStore
7
+ * @extends {UmbStoreBase}
8
+ * @description - Data Store for Media items
9
+ */
10
+ export class UmbMediaItemStore extends UmbStoreBase {
11
+ /**
12
+ * Creates an instance of UmbMediaItemStore.
13
+ * @param {UmbControllerHostElement} host
14
+ * @memberof UmbMediaItemStore
15
+ */
16
+ constructor(host) {
17
+ super(host, UMB_Media_ITEM_STORE_CONTEXT_TOKEN.toString(), new UmbArrayState([], (x) => x.id));
18
+ }
19
+ items(ids) {
20
+ return this._data.asObservablePart((items) => items.filter((item) => ids.includes(item.id ?? '')));
21
+ }
22
+ }
23
+ export const UMB_Media_ITEM_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbMediaItemStore');
@@ -33,6 +33,12 @@ export declare class UmbMediaRepository implements UmbTreeRepository<EntityTreeI
33
33
  rootTreeItems(): Promise<import("rxjs").Observable<EntityTreeItemResponseModel[]>>;
34
34
  treeItemsOf(parentId: string | null): Promise<import("rxjs").Observable<EntityTreeItemResponseModel[]>>;
35
35
  itemsLegacy(ids: Array<string>): Promise<import("rxjs").Observable<EntityTreeItemResponseModel[]>>;
36
+ requestItems(ids: Array<string>): Promise<{
37
+ data: import("../../../../external/backend-api/index.js").MediaItemResponseModel[] | undefined;
38
+ error: import("../../../../external/backend-api/index.js").ApiError | import("../../../../external/backend-api/index.js").CancelError | undefined;
39
+ asObservable: () => import("rxjs").Observable<import("../../../../external/backend-api/index.js").MediaItemResponseModel[]>;
40
+ }>;
41
+ items(ids: Array<string>): Promise<import("rxjs").Observable<import("../../../../external/backend-api/index.js").MediaItemResponseModel[]>>;
36
42
  createScaffold(parentId: string | null): Promise<{
37
43
  data: {
38
44
  id: string;