@umbraco-cms/backoffice 1.0.0-next.16eddfa6 → 1.0.0-next.186405ee

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,6 @@
1
1
  import { Observable } from 'rxjs';
2
- import { ManifestTypes, ManifestKind, ManifestTypeMap, ManifestBase, SpecificManifestTypeOrManifestBase, ManifestElement, ManifestElementWithElementName, ManifestClass } from '@umbraco-cms/backoffice/extensions-registry';
2
+ import { ManifestTypes, ManifestKind, ManifestTypeMap, ManifestBase, SpecificManifestTypeOrManifestBase, ManifestElement, ManifestElementWithElementName, ManifestWithLoader, ManifestClass } from '@umbraco-cms/backoffice/extensions-registry';
3
3
  import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
4
- import { PageComponent } from '@umbraco-cms/backoffice/router';
5
4
  import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
6
5
 
7
6
  declare class UmbExtensionRegistry {
@@ -11,7 +10,7 @@ declare class UmbExtensionRegistry {
11
10
  readonly kinds: Observable<ManifestKind[]>;
12
11
  defineKind(kind: ManifestKind): void;
13
12
  register(manifest: ManifestTypes | ManifestKind): void;
14
- registerMany(manifests: Array<ManifestTypes>): void;
13
+ registerMany(manifests: Array<ManifestTypes | ManifestKind>): void;
15
14
  unregister(alias: string): void;
16
15
  isRegistered(alias: string): boolean;
17
16
  private _kindsOfType;
@@ -24,7 +23,7 @@ declare class UmbExtensionRegistry {
24
23
  }
25
24
  declare const UMB_EXTENSION_REGISTRY_TOKEN: UmbContextToken<UmbExtensionRegistry>;
26
25
 
27
- declare function createExtensionElement(manifest: ManifestElement): Promise<PageComponent>;
26
+ declare function createExtensionElement<ElementType extends HTMLElement>(manifest: ManifestElement<ElementType>): Promise<ElementType | undefined>;
28
27
 
29
28
  declare function hasDefaultExport<ConstructorType>(object: unknown): object is {
30
29
  default: ConstructorType;
@@ -45,19 +44,19 @@ declare function hasInitExport(obj: unknown): obj is Pick<UmbEntrypointModule, '
45
44
 
46
45
  declare function isManifestElementNameType(manifest: unknown): manifest is ManifestElementWithElementName;
47
46
 
48
- declare function isManifestElementableType(manifest: ManifestBase): manifest is ManifestElement;
47
+ declare function isManifestElementableType<ElementType extends HTMLElement = HTMLElement>(manifest: ManifestBase): manifest is ManifestElement;
49
48
 
50
- type ManifestLoaderType = ManifestElement & {
51
- loader: () => Promise<object | HTMLElement>;
52
- };
53
- type ManifestJSType = ManifestElement & {
49
+ type ManifestJSType<T> = ManifestWithLoader<T> & {
54
50
  js: string;
55
51
  };
56
- declare function loadExtension(manifest: ManifestElement): Promise<object | HTMLElement | null>;
52
+ declare function isManifestJSType<T>(manifest: ManifestBase | unknown): manifest is ManifestJSType<T>;
57
53
 
58
- declare function isManifestJSType(manifest: ManifestBase | unknown): manifest is ManifestJSType;
54
+ type ManifestLoaderType<T> = ManifestWithLoader<T> & {
55
+ loader: () => Promise<T>;
56
+ };
57
+ declare function isManifestLoaderType<T>(manifest: ManifestBase): manifest is ManifestLoaderType<T>;
59
58
 
60
- declare function isManifestLoaderType(manifest: ManifestBase): manifest is ManifestLoaderType;
59
+ declare function loadExtension<T = unknown>(manifest: ManifestWithLoader<T>): Promise<T | null>;
61
60
 
62
61
  declare function createExtensionElementOrFallback(manifest: any, fallbackElementName: string): Promise<HTMLElement | undefined>;
63
62
 
@@ -1,6 +1,9 @@
1
+ import { DataTypePropertyPresentationModel, TreeItemPresentationModel } from '@umbraco-cms/backoffice/backend-api';
2
+ import { UmbStoreBase, UmbTreeStore, UmbItemStore } from '@umbraco-cms/backoffice/store';
1
3
  import { InterfaceLook, InterfaceColor } from '@umbraco-ui/uui-base/lib/types/index';
2
4
  import { ClassConstructor } from '@umbraco-cms/backoffice/models';
3
- import { UmbStoreBase, UmbTreeStore, UmbItemStore } from '@umbraco-cms/backoffice/store';
5
+ import { UmbWorkspaceAction } from '@umbraco-cms/backoffice/workspace';
6
+ import { UmbModalHandler } from '@umbraco-cms/backoffice/modal';
4
7
  import { UmbExtensionRegistry } from '@umbraco-cms/backoffice/extensions-api';
5
8
  import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
6
9
 
@@ -31,7 +34,7 @@ interface ConditionsCollectionView {
31
34
  entityType: string;
32
35
  }
33
36
 
34
- interface ManifestDashboard extends ManifestElement, ManifestWithConditions<ConditionsDashboard> {
37
+ interface ManifestDashboard extends ManifestElement<UmbDashboardExtensionElement>, ManifestWithConditions<ConditionsDashboard> {
35
38
  type: 'dashboard';
36
39
  meta: MetaDashboard;
37
40
  }
@@ -123,7 +126,7 @@ interface MetaEntityAction {
123
126
  repositoryAlias: string;
124
127
  }
125
128
  interface ConditionsEntityAction {
126
- entityType: string;
129
+ entityTypes: Array<string>;
127
130
  }
128
131
 
129
132
  /**
@@ -157,7 +160,11 @@ interface ConditionsEntityBulkAction {
157
160
  entityType: string;
158
161
  }
159
162
 
160
- interface ManifestExternalLoginProvider extends ManifestElement {
163
+ interface UmbExternalLoginProviderExtensionElement extends HTMLElement {
164
+ manifest?: ManifestExternalLoginProvider;
165
+ }
166
+
167
+ interface ManifestExternalLoginProvider extends ManifestElement<UmbExternalLoginProviderExtensionElement> {
161
168
  type: 'externalLoginProvider';
162
169
  meta: MetaExternalLoginProvider;
163
170
  }
@@ -203,6 +210,43 @@ interface HealthCheck {
203
210
  description: string;
204
211
  }
205
212
 
213
+ interface ManifestMenu extends ManifestElement {
214
+ type: 'menu';
215
+ }
216
+
217
+ interface UmbMenuItemExtensionElement extends HTMLElement {
218
+ manifest?: ManifestMenuItem;
219
+ }
220
+
221
+ interface ManifestMenuItem extends ManifestElement<UmbMenuItemExtensionElement> {
222
+ type: 'menuItem';
223
+ meta: MetaMenuItem;
224
+ conditions: ConditionsMenuItem;
225
+ }
226
+ interface MetaMenuItem {
227
+ label: string;
228
+ icon: string;
229
+ entityType?: string;
230
+ }
231
+ interface ConditionsMenuItem {
232
+ menus: Array<string>;
233
+ }
234
+ interface ManifestMenuItemTreeKind extends ManifestMenuItem {
235
+ type: 'menuItem';
236
+ kind: 'tree';
237
+ meta: MetaMenuItemTreeKind;
238
+ }
239
+ interface MetaMenuItemTreeKind {
240
+ treeAlias: string;
241
+ label: string;
242
+ icon: string;
243
+ entityType?: string;
244
+ }
245
+
246
+ interface ManifestModal extends ManifestElement {
247
+ type: 'modal';
248
+ }
249
+
206
250
  interface ManifestPackageView extends ManifestElement {
207
251
  type: 'packageView';
208
252
  meta: MetaPackageView;
@@ -218,7 +262,7 @@ interface ConditionsPropertyAction {
218
262
  propertyEditors: string[];
219
263
  }
220
264
 
221
- interface ManifestPropertyEditorUI extends ManifestElement {
265
+ interface ManifestPropertyEditorUI extends ManifestElement<UmbPropertyEditorExtensionElement> {
222
266
  type: 'propertyEditorUI';
223
267
  meta: MetaPropertyEditorUI;
224
268
  }
@@ -252,7 +296,11 @@ interface PropertyEditorConfigDefaultData {
252
296
  value: any;
253
297
  }
254
298
 
255
- interface ManifestSection extends ManifestElement {
299
+ interface ManifestRepository extends ManifestClass<unknown> {
300
+ type: 'repository';
301
+ }
302
+
303
+ interface ManifestSection extends ManifestElement<UmbSectionExtensionElement> {
256
304
  type: 'section';
257
305
  meta: MetaSection;
258
306
  }
@@ -261,20 +309,11 @@ interface MetaSection {
261
309
  pathname: string;
262
310
  }
263
311
 
264
- interface ManifestSectionView extends ManifestElement, ManifestWithConditions<ConditionsSectionView> {
265
- type: 'sectionView';
266
- meta: MetaSectionView;
267
- }
268
- interface MetaSectionView {
269
- label: string;
270
- pathname: string;
271
- icon: string;
272
- }
273
- interface ConditionsSectionView {
274
- sections: Array<string>;
312
+ interface UmbSectionSidebarAppExtensionElement extends HTMLElement {
313
+ manifest?: ManifestSectionSidebarApp;
275
314
  }
276
315
 
277
- interface ManifestSectionSidebarApp extends ManifestElement {
316
+ interface ManifestSectionSidebarApp extends ManifestElement<UmbSectionSidebarAppExtensionElement> {
278
317
  type: 'sectionSidebarApp';
279
318
  conditions: ConditionsSectionSidebarApp;
280
319
  }
@@ -291,33 +330,31 @@ interface MetaSectionSidebarAppMenuKind {
291
330
  menu: string;
292
331
  }
293
332
 
294
- interface ManifestMenu extends ManifestElement {
295
- type: 'menu';
333
+ interface UmbSectionViewExtensionElement extends HTMLElement {
334
+ manifest?: ManifestSectionView;
296
335
  }
297
336
 
298
- interface ManifestMenuItem extends ManifestElement {
299
- type: 'menuItem';
300
- meta: MetaMenuItem;
301
- conditions: ConditionsMenuItem;
337
+ interface ManifestSectionView extends ManifestElement<UmbSectionViewExtensionElement>, ManifestWithConditions<ConditionsSectionView> {
338
+ type: 'sectionView';
339
+ meta: MetaSectionView;
302
340
  }
303
- interface MetaMenuItem {
341
+ interface MetaSectionView {
304
342
  label: string;
343
+ pathname: string;
305
344
  icon: string;
306
- entityType?: string;
307
345
  }
308
- interface ConditionsMenuItem {
309
- menus: Array<string>;
346
+ interface ConditionsSectionView {
347
+ sections: Array<string>;
310
348
  }
311
- interface ManifestMenuItemTreeKind extends ManifestMenuItem {
312
- type: 'menuItem';
313
- kind: 'tree';
314
- meta: MetaMenuItemTreeKind;
349
+
350
+ interface ManifestStore extends ManifestClass<UmbStoreBase> {
351
+ type: 'store';
315
352
  }
316
- interface MetaMenuItemTreeKind {
317
- treeAlias: string;
318
- label: string;
319
- icon: string;
320
- entityType?: string;
353
+ interface ManifestTreeStore extends ManifestClass<UmbTreeStore> {
354
+ type: 'treeStore';
355
+ }
356
+ interface ManifestItemStore extends ManifestClass<UmbItemStore> {
357
+ type: 'itemStore';
321
358
  }
322
359
 
323
360
  /**
@@ -341,12 +378,12 @@ interface MetaTree {
341
378
  repositoryAlias: string;
342
379
  }
343
380
 
344
- interface ManifestTreeItem extends ManifestElement {
381
+ interface ManifestTreeItem extends ManifestElement<UmbTreeItemExtensionElement> {
345
382
  type: 'treeItem';
346
383
  conditions: ConditionsTreeItem;
347
384
  }
348
385
  interface ConditionsTreeItem {
349
- entityType: string;
386
+ entityTypes: Array<string>;
350
387
  }
351
388
 
352
389
  interface ManifestUserProfileApp extends ManifestElement {
@@ -375,61 +412,37 @@ interface MetaWorkspaceAction {
375
412
  label?: string;
376
413
  look?: InterfaceLook;
377
414
  color?: InterfaceColor;
378
- api: ClassConstructor<any>;
415
+ api: ClassConstructor<UmbWorkspaceAction>;
379
416
  }
380
417
  interface ConditionsWorkspaceAction {
381
418
  workspaces: Array<string>;
382
419
  }
383
420
 
384
- interface ManifestWorkspaceView extends ManifestWithView {
385
- type: 'workspaceView';
386
- meta: MetaWorkspaceView;
387
- conditions: ConditionsWorkspaceView;
421
+ interface UmbWorkspaceEditorViewExtensionElement extends HTMLElement {
422
+ manifest?: ManifestWorkspaceEditorView;
388
423
  }
389
- interface MetaWorkspaceView {
390
- pathname: string;
391
- label: string;
392
- icon: string;
424
+
425
+ interface ManifestWorkspaceEditorView extends ManifestWithView<UmbWorkspaceEditorViewExtensionElement> {
426
+ type: 'workspaceEditorView';
427
+ conditions: ConditionsWorkspaceView;
393
428
  }
394
429
  interface ConditionsWorkspaceView {
395
430
  workspaces: string[];
396
431
  }
397
432
 
398
- interface ManifestWorkspaceViewCollection extends ManifestBase, ManifestWithConditions<ConditionsEditorViewCollection> {
433
+ interface ManifestWorkspaceViewCollection extends ManifestWithView, ManifestWithConditions<ConditionsEditorViewCollection> {
399
434
  type: 'workspaceViewCollection';
400
435
  meta: MetaEditorViewCollection;
401
436
  }
402
- interface MetaEditorViewCollection {
403
- pathname: string;
404
- label: string;
405
- icon: string;
437
+ interface MetaEditorViewCollection extends MetaManifestWithView {
406
438
  entityType: string;
407
- storeAlias?: string;
408
- repositoryAlias?: string;
439
+ repositoryAlias: string;
409
440
  }
410
441
  interface ConditionsEditorViewCollection {
411
442
  workspaces: string[];
412
443
  }
413
444
 
414
- interface ManifestRepository extends ManifestClass {
415
- type: 'repository';
416
- }
417
-
418
- interface ManifestModal extends ManifestElement {
419
- type: 'modal';
420
- }
421
-
422
- interface ManifestStore extends ManifestClass<UmbStoreBase> {
423
- type: 'store';
424
- }
425
- interface ManifestTreeStore extends ManifestClass<UmbTreeStore> {
426
- type: 'treeStore';
427
- }
428
- interface ManifestItemStore extends ManifestClass<UmbItemStore> {
429
- type: 'itemStore';
430
- }
431
-
432
- type ManifestTypes = ManifestCollectionView | ManifestDashboard | ManifestDashboardCollection | ManifestEntityAction | ManifestEntityBulkAction | ManifestEntrypoint | ManifestExternalLoginProvider | ManifestHeaderApp | ManifestHeaderAppButtonKind | ManifestHealthCheck | ManifestPackageView | ManifestPropertyAction | ManifestPropertyEditorModel | ManifestPropertyEditorUI | ManifestRepository | ManifestSection | ManifestSectionSidebarApp | ManifestSectionSidebarAppMenuKind | ManifestSectionView | ManifestMenu | ManifestMenuItem | ManifestMenuItemTreeKind | ManifestTheme | ManifestTree | ManifestTreeItem | ManifestUserProfileApp | ManifestWorkspace | ManifestWorkspaceAction | ManifestWorkspaceView | ManifestWorkspaceViewCollection | ManifestModal | ManifestStore | ManifestTreeStore | ManifestItemStore | ManifestBase;
445
+ type ManifestTypes = ManifestCollectionView | ManifestDashboard | ManifestDashboardCollection | ManifestEntityAction | ManifestEntityBulkAction | ManifestEntrypoint | ManifestExternalLoginProvider | ManifestHeaderApp | ManifestHeaderAppButtonKind | ManifestHealthCheck | ManifestItemStore | ManifestMenu | ManifestMenuItem | ManifestMenuItemTreeKind | ManifestModal | ManifestPackageView | ManifestPropertyAction | ManifestPropertyEditorModel | ManifestPropertyEditorUI | ManifestRepository | ManifestSection | ManifestSectionSidebarApp | ManifestSectionSidebarAppMenuKind | ManifestSectionView | ManifestStore | ManifestTheme | ManifestTree | ManifestTreeItem | ManifestTreeStore | ManifestUserProfileApp | ManifestWorkspace | ManifestWorkspaceAction | ManifestWorkspaceEditorView | ManifestWorkspaceViewCollection | ManifestBase;
433
446
  type ManifestStandardTypes = ManifestTypes['type'];
434
447
  type ManifestTypeMap = {
435
448
  [Manifest in ManifestTypes as Manifest['type']]: Manifest;
@@ -481,7 +494,10 @@ interface ManifestWithLoader<LoaderReturnType> extends ManifestBase {
481
494
  /**
482
495
  * The type of extension such as dashboard etc...
483
496
  */
484
- interface ManifestClass<T = unknown> extends ManifestWithLoader<object> {
497
+ interface ManifestClass<ClassType = unknown> extends ManifestWithLoader<{
498
+ default: ClassConstructor<ClassType>;
499
+ }> {
500
+ readonly CLASS_TYPE?: ClassType;
485
501
  /**
486
502
  * The file location of the javascript file to load
487
503
  * @TJS-required
@@ -494,12 +510,15 @@ interface ManifestClass<T = unknown> extends ManifestWithLoader<object> {
494
510
  /**
495
511
  * @TJS-ignore
496
512
  */
497
- class?: ClassConstructor<T>;
513
+ class?: ClassConstructor<ClassType>;
498
514
  }
499
- interface ManifestClassWithClassConstructor extends ManifestClass {
500
- class: ClassConstructor<unknown>;
515
+ interface ManifestClassWithClassConstructor<T = unknown> extends ManifestClass<T> {
516
+ class: ClassConstructor<T>;
501
517
  }
502
- interface ManifestElement extends ManifestWithLoader<object | HTMLElement> {
518
+ interface ManifestElement<ElementType extends HTMLElement = HTMLElement> extends ManifestWithLoader<{
519
+ default: ClassConstructor<ElementType>;
520
+ } | Omit<object, 'default'>> {
521
+ readonly ELEMENT_TYPE?: ElementType;
503
522
  /**
504
523
  * The file location of the javascript file to load
505
524
  *
@@ -516,7 +535,7 @@ interface ManifestElement extends ManifestWithLoader<object | HTMLElement> {
516
535
  */
517
536
  meta?: unknown;
518
537
  }
519
- interface ManifestWithView extends ManifestElement {
538
+ interface ManifestWithView<ElementType extends HTMLElement = HTMLElement> extends ManifestElement<ElementType> {
520
539
  meta: MetaManifestWithView;
521
540
  }
522
541
  interface MetaManifestWithView {
@@ -549,10 +568,33 @@ interface ManifestEntrypoint extends ManifestBase {
549
568
  js: string;
550
569
  }
551
570
 
571
+ interface UmbDashboardExtensionElement extends HTMLElement {
572
+ manifest?: ManifestDashboard;
573
+ }
574
+
575
+ interface UmbModalExtensionElement<UmbModalData extends object = object, UmbModalResult = unknown, ModalManifestType extends ManifestModal = ManifestModal> extends HTMLElement {
576
+ manifest?: ModalManifestType;
577
+ modalHandler?: UmbModalHandler<UmbModalData, UmbModalResult>;
578
+ data?: UmbModalData;
579
+ }
580
+
581
+ interface UmbPropertyEditorExtensionElement extends HTMLElement {
582
+ value: unknown;
583
+ config: DataTypePropertyPresentationModel[];
584
+ }
585
+
586
+ interface UmbSectionExtensionElement extends HTMLElement {
587
+ manifest?: ManifestSection;
588
+ }
589
+
590
+ interface UmbTreeItemExtensionElement extends HTMLElement {
591
+ item?: TreeItemPresentationModel;
592
+ }
593
+
552
594
  declare class UmbEntryPointExtensionInitializer {
553
595
  #private;
554
596
  constructor(host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry);
555
597
  instantiateEntryPoint(manifest: ManifestEntrypoint): Promise<void>;
556
598
  }
557
599
 
558
- export { ConditionsCollectionView, ConditionsDashboard, ConditionsDashboardCollection, ConditionsEditorViewCollection, ConditionsEntityAction, ConditionsEntityBulkAction, ConditionsMenuItem, ConditionsPropertyAction, ConditionsSectionSidebarApp, ConditionsSectionView, ConditionsTreeItem, ConditionsWorkspaceAction, ConditionsWorkspaceView, HealthCheck, ManifestBase, ManifestClass, ManifestClassWithClassConstructor, ManifestCollectionView, ManifestDashboard, ManifestDashboardCollection, ManifestElement, ManifestElementWithElementName, ManifestEntityAction, ManifestEntityBulkAction, ManifestEntrypoint, ManifestExternalLoginProvider, ManifestHeaderApp, ManifestHeaderAppButtonKind, ManifestHealthCheck, ManifestItemStore, ManifestKind, ManifestMenu, ManifestMenuItem, ManifestMenuItemTreeKind, ManifestModal, ManifestPackageView, ManifestPropertyAction, ManifestPropertyEditorModel, ManifestPropertyEditorUI, ManifestRepository, ManifestSection, ManifestSectionSidebarApp, ManifestSectionSidebarAppMenuKind, ManifestSectionView, ManifestStandardTypes, ManifestStore, ManifestTheme, ManifestTree, ManifestTreeItem, ManifestTreeStore, ManifestTypeMap, ManifestTypes, ManifestUserProfileApp, ManifestWithConditions, ManifestWithLoader, ManifestWithMeta, ManifestWithView, ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceView, ManifestWorkspaceViewCollection, MetaCollectionView, MetaDashboard, MetaDashboardCollection, MetaEditor, MetaEditorViewCollection, MetaEntityAction, MetaEntityBulkAction, MetaExternalLoginProvider, MetaHeaderApp, MetaHeaderAppButtonKind, MetaHealthCheck, MetaManifestWithView, MetaMenuItem, MetaMenuItemTreeKind, MetaPackageView, MetaPropertyEditorModel, MetaPropertyEditorUI, MetaSection, MetaSectionSidebarAppMenuKind, MetaSectionView, MetaTree, MetaUserProfileApp, MetaWorkspaceAction, MetaWorkspaceView, PropertyEditorConfig, PropertyEditorConfigDefaultData, PropertyEditorConfigProperty, SpecificManifestTypeOrManifestBase, UmbEntryPointExtensionInitializer };
600
+ export { ConditionsCollectionView, ConditionsDashboard, ConditionsDashboardCollection, ConditionsEditorViewCollection, ConditionsEntityAction, ConditionsEntityBulkAction, ConditionsMenuItem, ConditionsPropertyAction, ConditionsSectionSidebarApp, ConditionsSectionView, ConditionsTreeItem, ConditionsWorkspaceAction, ConditionsWorkspaceView, HealthCheck, ManifestBase, ManifestClass, ManifestClassWithClassConstructor, ManifestCollectionView, ManifestDashboard, ManifestDashboardCollection, ManifestElement, ManifestElementWithElementName, ManifestEntityAction, ManifestEntityBulkAction, ManifestEntrypoint, ManifestExternalLoginProvider, ManifestHeaderApp, ManifestHeaderAppButtonKind, ManifestHealthCheck, ManifestItemStore, ManifestKind, ManifestMenu, ManifestMenuItem, ManifestMenuItemTreeKind, ManifestModal, ManifestPackageView, ManifestPropertyAction, ManifestPropertyEditorModel, ManifestPropertyEditorUI, ManifestRepository, ManifestSection, ManifestSectionSidebarApp, ManifestSectionSidebarAppMenuKind, ManifestSectionView, ManifestStandardTypes, ManifestStore, ManifestTheme, ManifestTree, ManifestTreeItem, ManifestTreeStore, ManifestTypeMap, ManifestTypes, ManifestUserProfileApp, ManifestWithConditions, ManifestWithLoader, ManifestWithMeta, ManifestWithView, ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceEditorView, ManifestWorkspaceViewCollection, MetaCollectionView, MetaDashboard, MetaDashboardCollection, MetaEditor, MetaEditorViewCollection, MetaEntityAction, MetaEntityBulkAction, MetaExternalLoginProvider, MetaHeaderApp, MetaHeaderAppButtonKind, MetaHealthCheck, MetaManifestWithView, MetaMenuItem, MetaMenuItemTreeKind, MetaPackageView, MetaPropertyEditorModel, MetaPropertyEditorUI, MetaSection, MetaSectionSidebarAppMenuKind, MetaSectionView, MetaTree, MetaUserProfileApp, MetaWorkspaceAction, PropertyEditorConfig, PropertyEditorConfigDefaultData, PropertyEditorConfigProperty, SpecificManifestTypeOrManifestBase, UmbDashboardExtensionElement, UmbEntryPointExtensionInitializer, UmbExternalLoginProviderExtensionElement, UmbMenuItemExtensionElement, UmbModalExtensionElement, UmbPropertyEditorExtensionElement, UmbSectionExtensionElement, UmbSectionSidebarAppExtensionElement, UmbSectionViewExtensionElement, UmbTreeItemExtensionElement, UmbWorkspaceEditorViewExtensionElement };
package/id.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ declare class UmbId {
2
+ static new(): string;
3
+ static validate(id: string): boolean;
4
+ }
5
+
6
+ export { UmbId };
package/modal.d.ts CHANGED
@@ -7,9 +7,8 @@ import { UUIModalDialogElement, UUIModalSidebarElement, UUIModalSidebarSize } fr
7
7
  import { UmbControllerHostElement, UmbControllerInterface } from '@umbraco-cms/backoffice/controller';
8
8
  import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
9
9
  import { Params } from '@umbraco-cms/backoffice/router';
10
- import { UmbModalToken as UmbModalToken$1, UmbModalConfig as UmbModalConfig$1, UmbPickerModalData as UmbPickerModalData$1 } from '@umbraco-cms/backoffice/modal';
11
- import { LanguageResponseModel, FolderReponseModel } from '@umbraco-cms/backoffice/backend-api';
12
- import { UserDetails } from '@umbraco-cms/backoffice/models';
10
+ import { UmbModalToken as UmbModalToken$1, UmbModalConfig as UmbModalConfig$1, UmbTreePickerModalData as UmbTreePickerModalData$1, UmbPickerModalResult as UmbPickerModalResult$1, UmbPickerModalData as UmbPickerModalData$1 } from '@umbraco-cms/backoffice/modal';
11
+ import { DocumentTreeItemResponseModel, EntityTreeItemResponseModel, LanguageResponseModel, ContentTreeItemResponseModel, UserResponseModel, FolderReponseModel, FolderTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api';
13
12
 
14
13
  declare class UmbSearchModalElement extends LitElement {
15
14
  #private;
@@ -27,38 +26,36 @@ declare global {
27
26
  }
28
27
  }
29
28
 
30
- declare class UmbModalToken<Data extends object = object, Result = unknown> {
29
+ declare class UmbModalToken<ModalDataType extends object = object, ModalResultType = unknown> {
31
30
  protected alias: string;
32
31
  protected defaultConfig?: UmbModalConfig | undefined;
33
- protected _desc?: string | undefined;
32
+ protected defaultData?: ModalDataType | undefined;
34
33
  /**
35
34
  * Get the data type of the token's data.
36
35
  *
37
36
  * @public
38
- * @type {Data}
37
+ * @type {ModalDataType}
39
38
  * @memberOf UmbModalToken
40
39
  * @example `typeof MyModal.TYPE`
41
40
  * @returns undefined
42
41
  */
43
- readonly DATA: Data;
42
+ readonly DATA: ModalDataType;
44
43
  /**
45
44
  * Get the result type of the token
46
45
  *
47
46
  * @public
48
- * @type {Result}
47
+ * @type {ModalResultType}
49
48
  * @memberOf UmbModalToken
50
49
  * @example `typeof MyModal.RESULT`
51
50
  * @returns undefined
52
51
  */
53
- readonly RESULT: Result;
52
+ readonly RESULT: ModalResultType;
54
53
  /**
55
54
  * @param alias Unique identifier for the token,
56
55
  * @param defaultConfig Default configuration for the modal,
57
- * @param _desc Description for the token,
58
- * used only for debugging purposes,
59
- * it should but does not need to be unique
56
+ * @param defaultData Default data for the modal,
60
57
  */
61
- constructor(alias: string, defaultConfig?: UmbModalConfig | undefined, _desc?: string | undefined);
58
+ constructor(alias: string, defaultConfig?: UmbModalConfig | undefined, defaultData?: ModalDataType | undefined);
62
59
  /**
63
60
  * This method must always return the unique alias of the token since that
64
61
  * will be used to look up the token in the injector.
@@ -67,6 +64,7 @@ declare class UmbModalToken<Data extends object = object, Result = unknown> {
67
64
  */
68
65
  toString(): string;
69
66
  getDefaultConfig(): UmbModalConfig | undefined;
67
+ getDefaultData(): ModalDataType | undefined;
70
68
  }
71
69
 
72
70
  /**
@@ -208,23 +206,13 @@ interface UmbContextDebuggerModalData {
208
206
  }
209
207
  declare const UMB_CONTEXT_DEBUGGER_MODAL: UmbModalToken$1<UmbContextDebuggerModalData, unknown>;
210
208
 
211
- interface UmbDocumentPickerModalData {
212
- multiple?: boolean;
213
- selection?: Array<string>;
214
- }
215
- interface UmbDocumentPickerModalResult {
216
- selection: Array<string>;
217
- }
218
- declare const UMB_DOCUMENT_PICKER_MODAL: UmbModalToken$1<UmbDocumentPickerModalData, UmbDocumentPickerModalResult>;
209
+ type UmbDocumentPickerModalData = UmbTreePickerModalData$1<DocumentTreeItemResponseModel>;
210
+ type UmbDocumentPickerModalResult = UmbPickerModalResult$1;
211
+ declare const UMB_DOCUMENT_PICKER_MODAL: UmbModalToken$1<UmbDocumentPickerModalData, UmbPickerModalResult$1>;
219
212
 
220
- interface UmbDocumentTypePickerModalData {
221
- multiple?: boolean;
222
- selection?: Array<string>;
223
- }
224
- interface UmbDocumentTypePickerModalResult {
225
- selection: Array<string>;
226
- }
227
- declare const UMB_DOCUMENT_TYPE_PICKER_MODAL: UmbModalToken$1<UmbDocumentTypePickerModalData, UmbDocumentTypePickerModalResult>;
213
+ type UmbDocumentTypePickerModalData = UmbTreePickerModalData$1<EntityTreeItemResponseModel>;
214
+ type UmbDocumentTypePickerModalResult = UmbPickerModalResult$1;
215
+ declare const UMB_DOCUMENT_TYPE_PICKER_MODAL: UmbModalToken$1<UmbDocumentTypePickerModalData, UmbPickerModalResult$1>;
228
216
 
229
217
  declare enum OEmbedStatus {
230
218
  NotSupported = 0,
@@ -289,11 +277,11 @@ declare const UMB_INVITE_USER_MODAL: UmbModalToken$1<object, unknown>;
289
277
 
290
278
  interface UmbLanguagePickerModalData {
291
279
  multiple?: boolean;
292
- selection?: Array<string>;
280
+ selection?: Array<string | null>;
293
281
  filter?: (language: LanguageResponseModel) => boolean;
294
282
  }
295
283
  interface UmbLanguagePickerModalResult {
296
- selection: Array<string>;
284
+ selection: Array<string | null>;
297
285
  }
298
286
  declare const UMB_LANGUAGE_PICKER_MODAL: UmbModalToken$1<UmbLanguagePickerModalData, UmbLanguagePickerModalResult>;
299
287
 
@@ -323,14 +311,9 @@ interface UmbLinkPickerConfig {
323
311
  }
324
312
  declare const UMB_LINK_PICKER_MODAL: UmbModalToken$1<UmbLinkPickerModalData, UmbLinkPickerModalResult>;
325
313
 
326
- interface UmbMediaPickerModalData {
327
- multiple?: boolean;
328
- selection: Array<string>;
329
- }
330
- interface UmbMediaPickerModalResult {
331
- selection: Array<string>;
332
- }
333
- declare const UMB_MEDIA_PICKER_MODAL: UmbModalToken$1<UmbMediaPickerModalData, UmbMediaPickerModalResult>;
314
+ type UmbMediaTreePickerModalData = UmbTreePickerModalData$1<ContentTreeItemResponseModel>;
315
+ type UmbMediaTreePickerModalResult = UmbPickerModalResult$1;
316
+ declare const UMB_MEDIA_TREE_PICKER_MODAL: UmbModalToken$1<UmbMediaTreePickerModalData, UmbPickerModalResult$1>;
334
317
 
335
318
  interface UmbPropertyEditorUIPickerModalData {
336
319
  selection?: Array<string>;
@@ -360,9 +343,12 @@ declare const UMB_SEARCH_MODAL: UmbModalToken$1<object, unknown>;
360
343
 
361
344
  interface UmbSectionPickerModalData {
362
345
  multiple: boolean;
363
- selection: string[];
346
+ selection: Array<string | null>;
347
+ }
348
+ interface UmbSectionPickerModalResult {
349
+ selection: Array<string | null>;
364
350
  }
365
- declare const UMB_SECTION_PICKER_MODAL: UmbModalToken$1<UmbSectionPickerModalData, unknown>;
351
+ declare const UMB_SECTION_PICKER_MODAL: UmbModalToken$1<UmbSectionPickerModalData, UmbSectionPickerModalResult>;
366
352
 
367
353
  interface UmbTemplateModalData {
368
354
  id: string;
@@ -373,18 +359,17 @@ interface UmbTemplateModalResult {
373
359
  }
374
360
  declare const UMB_TEMPLATE_MODAL: UmbModalToken$1<UmbTemplateModalData, UmbTemplateModalResult>;
375
361
 
376
- interface UmbTemplatePickerModalData {
377
- multiple: boolean;
378
- selection: string[];
379
- }
380
- interface UmbTemplatePickerModalResult {
381
- selection: string[] | undefined;
382
- }
383
- declare const UMB_TEMPLATE_PICKER_MODAL: UmbModalToken$1<UmbTemplatePickerModalData, UmbTemplatePickerModalResult>;
362
+ type UmbTemplatePickerModalData = UmbTreePickerModalData$1<EntityTreeItemResponseModel>;
363
+ type UmbTemplatePickerModalResult = UmbPickerModalResult$1;
364
+ declare const UMB_TEMPLATE_PICKER_MODAL: UmbModalToken$1<UmbTemplatePickerModalData, UmbPickerModalResult$1>;
384
365
 
385
- declare const UMB_USER_GROUP_PICKER_MODAL: UmbModalToken$1<UmbPickerModalData$1<UserDetails>, unknown>;
366
+ declare const UMB_USER_GROUP_PICKER_MODAL: UmbModalToken$1<UmbPickerModalData$1<any>, unknown>;
386
367
 
387
- declare const UMB_USER_PICKER_MODAL: UmbModalToken$1<UmbPickerModalData$1<UserDetails>, unknown>;
368
+ type UmbUserPickerModalData = UmbPickerModalData$1<UserResponseModel>;
369
+ interface UmbUserPickerModalResult {
370
+ selection: Array<string | null>;
371
+ }
372
+ declare const UMB_USER_PICKER_MODAL: UmbModalToken$1<UmbUserPickerModalData, UmbUserPickerModalResult>;
388
373
 
389
374
  interface UmbFolderModalData {
390
375
  repositoryAlias: string;
@@ -395,22 +380,41 @@ interface UmbFolderModalResult {
395
380
  }
396
381
  declare const UMB_FOLDER_MODAL: UmbModalToken$1<UmbFolderModalData, UmbFolderModalResult>;
397
382
 
398
- interface UmbDataTypePickerModalData {
399
- selection?: Array<string>;
400
- multiple?: boolean;
383
+ interface UmbPartialViewPickerModalData {
384
+ multiple: boolean;
385
+ selection: string[];
401
386
  }
402
- interface UmbDataTypePickerModalResult {
403
- selection: Array<string>;
387
+ interface UmbPartialViewPickerModalResult {
388
+ selection: Array<string | null> | undefined;
404
389
  }
405
- declare const UMB_DATA_TYPE_PICKER_MODAL: UmbModalToken$1<UmbDataTypePickerModalData, UmbDataTypePickerModalResult>;
390
+ declare const UMB_PARTIAL_VIEW_PICKER_MODAL_ALIAS = "Umb.Modal.PartialViewPicker";
391
+ declare const UMB_PARTIAL_VIEW_PICKER_MODAL: UmbModalToken$1<UmbPartialViewPickerModalData, UmbPartialViewPickerModalResult>;
406
392
 
407
- interface UmbPickerModalData<T> {
393
+ interface UmbDictionaryItemPickerModalData {
408
394
  multiple: boolean;
409
- selection: Array<string>;
410
- filter?: (language: T) => boolean;
395
+ selection: string[];
411
396
  }
412
- interface UmbPickerModalResult<T> {
413
- selection: Array<string>;
397
+ interface UmbDictionaryItemPickerModalResult {
398
+ selection: Array<string | null>;
399
+ }
400
+ declare const UMB_DICTIONARY_ITEM_PICKER_MODAL_ALIAS = "Umb.Modal.DictionaryItemPicker";
401
+ declare const UMB_DICTIONARY_ITEM_PICKER_MODAL: UmbModalToken$1<UmbDictionaryItemPickerModalData, UmbDictionaryItemPickerModalResult>;
402
+
403
+ type UmbDataTypePickerModalData = UmbTreePickerModalData$1<FolderTreeItemResponseModel>;
404
+ type UmbDataTypePickerModalResult = UmbPickerModalResult$1;
405
+ declare const UMB_DATA_TYPE_PICKER_MODAL: UmbModalToken$1<UmbDataTypePickerModalData, UmbPickerModalResult$1>;
406
+
407
+ interface UmbPickerModalData<ItemType> {
408
+ multiple?: boolean;
409
+ selection?: Array<string | null>;
410
+ filter?: (item: ItemType) => boolean;
411
+ pickableFilter?: (item: ItemType) => boolean;
412
+ }
413
+ interface UmbPickerModalResult {
414
+ selection: Array<string | null>;
415
+ }
416
+ interface UmbTreePickerModalData<TreeItemType> extends UmbPickerModalData<TreeItemType> {
417
+ treeAlias?: string;
414
418
  }
415
419
 
416
- export { OEmbedResult, OEmbedStatus, UMB_ALLOWED_DOCUMENT_TYPES_MODAL, UMB_CHANGE_PASSWORD_MODAL, UMB_CONFIRM_MODAL, UMB_CONTEXT_DEBUGGER_MODAL, UMB_CREATE_DICTIONARY_MODAL, UMB_CREATE_USER_MODAL, UMB_CURRENT_USER_MODAL, UMB_DATA_TYPE_PICKER_MODAL, UMB_DOCUMENT_PICKER_MODAL, UMB_DOCUMENT_TYPE_PICKER_MODAL, UMB_EMBEDDED_MEDIA_MODAL, UMB_EXAMINE_FIELDS_SETTINGS_MODAL, UMB_EXPORT_DICTIONARY_MODAL, UMB_FOLDER_MODAL, UMB_ICON_PICKER_MODAL, UMB_IMPORT_DICTIONARY_MODAL, UMB_INVITE_USER_MODAL, UMB_LANGUAGE_PICKER_MODAL, UMB_LINK_PICKER_MODAL, UMB_MEDIA_PICKER_MODAL, UMB_MODAL_CONTEXT_TOKEN, UMB_PROPERTY_EDITOR_UI_PICKER_MODAL, UMB_PROPERTY_SETTINGS_MODAL, UMB_SEARCH_MODAL, UMB_SECTION_PICKER_MODAL, UMB_TEMPLATE_MODAL, UMB_TEMPLATE_PICKER_MODAL, UMB_USER_GROUP_PICKER_MODAL, UMB_USER_PICKER_MODAL, UmbAllowedDocumentTypesModalData, UmbAllowedDocumentTypesModalResult, UmbChangePasswordModalData, UmbConfirmModalData, UmbConfirmModalResult, UmbContextDebuggerModalData, UmbCreateDictionaryModalData, UmbCreateDictionaryModalResult, UmbCreateDocumentModalResultData, UmbDataTypePickerModalData, UmbDataTypePickerModalResult, UmbDocumentPickerModalData, UmbDocumentPickerModalResult, UmbDocumentTypePickerModalData, UmbDocumentTypePickerModalResult, UmbEmbeddedMediaModalData, UmbEmbeddedMediaModalResult, UmbExamineFieldsSettingsModalData, UmbExportDictionaryModalData, UmbExportDictionaryModalResult, UmbFolderModalData, UmbFolderModalResult, UmbIconPickerModalData, UmbIconPickerModalResult, UmbImportDictionaryModalData, UmbImportDictionaryModalResult, UmbLanguagePickerModalData, UmbLanguagePickerModalResult, UmbLinkPickerConfig, UmbLinkPickerLink, UmbLinkPickerModalData, UmbLinkPickerModalResult, UmbMediaPickerModalData, UmbMediaPickerModalResult, UmbModalConfig, UmbModalContext, UmbModalHandler, UmbModalHandlerClass, UmbModalRouteBuilder, UmbModalRouteRegistration, UmbModalRouteRegistrationController, UmbModalToken, UmbModalType, UmbPickerModalData, UmbPickerModalResult, UmbPropertyEditorUIPickerModalData, UmbPropertyEditorUIPickerModalResult, UmbPropertySettingsModalResult, UmbSectionPickerModalData, UmbTemplateModalData, UmbTemplateModalResult, UmbTemplatePickerModalData, UmbTemplatePickerModalResult };
420
+ export { OEmbedResult, OEmbedStatus, UMB_ALLOWED_DOCUMENT_TYPES_MODAL, UMB_CHANGE_PASSWORD_MODAL, UMB_CONFIRM_MODAL, UMB_CONTEXT_DEBUGGER_MODAL, UMB_CREATE_DICTIONARY_MODAL, UMB_CREATE_USER_MODAL, UMB_CURRENT_USER_MODAL, UMB_DATA_TYPE_PICKER_MODAL, UMB_DICTIONARY_ITEM_PICKER_MODAL, UMB_DICTIONARY_ITEM_PICKER_MODAL_ALIAS, UMB_DOCUMENT_PICKER_MODAL, UMB_DOCUMENT_TYPE_PICKER_MODAL, UMB_EMBEDDED_MEDIA_MODAL, UMB_EXAMINE_FIELDS_SETTINGS_MODAL, UMB_EXPORT_DICTIONARY_MODAL, UMB_FOLDER_MODAL, UMB_ICON_PICKER_MODAL, UMB_IMPORT_DICTIONARY_MODAL, UMB_INVITE_USER_MODAL, UMB_LANGUAGE_PICKER_MODAL, UMB_LINK_PICKER_MODAL, UMB_MEDIA_TREE_PICKER_MODAL, UMB_MODAL_CONTEXT_TOKEN, UMB_PARTIAL_VIEW_PICKER_MODAL, UMB_PARTIAL_VIEW_PICKER_MODAL_ALIAS, UMB_PROPERTY_EDITOR_UI_PICKER_MODAL, UMB_PROPERTY_SETTINGS_MODAL, UMB_SEARCH_MODAL, UMB_SECTION_PICKER_MODAL, UMB_TEMPLATE_MODAL, UMB_TEMPLATE_PICKER_MODAL, UMB_USER_GROUP_PICKER_MODAL, UMB_USER_PICKER_MODAL, UmbAllowedDocumentTypesModalData, UmbAllowedDocumentTypesModalResult, UmbChangePasswordModalData, UmbConfirmModalData, UmbConfirmModalResult, UmbContextDebuggerModalData, UmbCreateDictionaryModalData, UmbCreateDictionaryModalResult, UmbCreateDocumentModalResultData, UmbDataTypePickerModalData, UmbDataTypePickerModalResult, UmbDictionaryItemPickerModalData, UmbDictionaryItemPickerModalResult, UmbDocumentPickerModalData, UmbDocumentPickerModalResult, UmbDocumentTypePickerModalData, UmbDocumentTypePickerModalResult, UmbEmbeddedMediaModalData, UmbEmbeddedMediaModalResult, UmbExamineFieldsSettingsModalData, UmbExportDictionaryModalData, UmbExportDictionaryModalResult, UmbFolderModalData, UmbFolderModalResult, UmbIconPickerModalData, UmbIconPickerModalResult, UmbImportDictionaryModalData, UmbImportDictionaryModalResult, UmbLanguagePickerModalData, UmbLanguagePickerModalResult, UmbLinkPickerConfig, UmbLinkPickerLink, UmbLinkPickerModalData, UmbLinkPickerModalResult, UmbMediaTreePickerModalData, UmbMediaTreePickerModalResult, UmbModalConfig, UmbModalContext, UmbModalHandler, UmbModalHandlerClass, UmbModalRouteBuilder, UmbModalRouteRegistration, UmbModalRouteRegistrationController, UmbModalToken, UmbModalType, UmbPartialViewPickerModalData, UmbPartialViewPickerModalResult, UmbPickerModalData, UmbPickerModalResult, UmbPropertyEditorUIPickerModalData, UmbPropertyEditorUIPickerModalResult, UmbPropertySettingsModalResult, UmbSectionPickerModalData, UmbSectionPickerModalResult, UmbTemplateModalData, UmbTemplateModalResult, UmbTemplatePickerModalData, UmbTemplatePickerModalResult, UmbTreePickerModalData, UmbUserPickerModalData, UmbUserPickerModalResult };