@umbraco-cms/backoffice 1.0.0-next.426eb58e → 1.0.0-next.47874b74

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,51 @@ 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
+ interface ManifestModalTreePickerKind extends ManifestModal {
250
+ type: 'modal';
251
+ kind: 'treePicker';
252
+ meta: MetaModalTreePickerKind;
253
+ }
254
+ interface MetaModalTreePickerKind {
255
+ treeAlias: string;
256
+ }
257
+
206
258
  interface ManifestPackageView extends ManifestElement {
207
259
  type: 'packageView';
208
260
  meta: MetaPackageView;
@@ -218,7 +270,7 @@ interface ConditionsPropertyAction {
218
270
  propertyEditors: string[];
219
271
  }
220
272
 
221
- interface ManifestPropertyEditorUI extends ManifestElement {
273
+ interface ManifestPropertyEditorUI extends ManifestElement<UmbPropertyEditorExtensionElement> {
222
274
  type: 'propertyEditorUI';
223
275
  meta: MetaPropertyEditorUI;
224
276
  }
@@ -252,7 +304,11 @@ interface PropertyEditorConfigDefaultData {
252
304
  value: any;
253
305
  }
254
306
 
255
- interface ManifestSection extends ManifestElement {
307
+ interface ManifestRepository extends ManifestClass<unknown> {
308
+ type: 'repository';
309
+ }
310
+
311
+ interface ManifestSection extends ManifestElement<UmbSectionExtensionElement> {
256
312
  type: 'section';
257
313
  meta: MetaSection;
258
314
  }
@@ -261,20 +317,11 @@ interface MetaSection {
261
317
  pathname: string;
262
318
  }
263
319
 
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>;
320
+ interface UmbSectionSidebarAppExtensionElement extends HTMLElement {
321
+ manifest?: ManifestSectionSidebarApp;
275
322
  }
276
323
 
277
- interface ManifestSectionSidebarApp extends ManifestElement {
324
+ interface ManifestSectionSidebarApp extends ManifestElement<UmbSectionSidebarAppExtensionElement> {
278
325
  type: 'sectionSidebarApp';
279
326
  conditions: ConditionsSectionSidebarApp;
280
327
  }
@@ -291,33 +338,31 @@ interface MetaSectionSidebarAppMenuKind {
291
338
  menu: string;
292
339
  }
293
340
 
294
- interface ManifestMenu extends ManifestElement {
295
- type: 'menu';
341
+ interface UmbSectionViewExtensionElement extends HTMLElement {
342
+ manifest?: ManifestSectionView;
296
343
  }
297
344
 
298
- interface ManifestMenuItem extends ManifestElement {
299
- type: 'menuItem';
300
- meta: MetaMenuItem;
301
- conditions: ConditionsMenuItem;
345
+ interface ManifestSectionView extends ManifestElement<UmbSectionViewExtensionElement>, ManifestWithConditions<ConditionsSectionView> {
346
+ type: 'sectionView';
347
+ meta: MetaSectionView;
302
348
  }
303
- interface MetaMenuItem {
349
+ interface MetaSectionView {
304
350
  label: string;
351
+ pathname: string;
305
352
  icon: string;
306
- entityType?: string;
307
353
  }
308
- interface ConditionsMenuItem {
309
- menus: Array<string>;
354
+ interface ConditionsSectionView {
355
+ sections: Array<string>;
310
356
  }
311
- interface ManifestMenuItemTreeKind extends ManifestMenuItem {
312
- type: 'menuItem';
313
- kind: 'tree';
314
- meta: MetaMenuItemTreeKind;
357
+
358
+ interface ManifestStore extends ManifestClass<UmbStoreBase> {
359
+ type: 'store';
315
360
  }
316
- interface MetaMenuItemTreeKind {
317
- treeAlias: string;
318
- label: string;
319
- icon: string;
320
- entityType?: string;
361
+ interface ManifestTreeStore extends ManifestClass<UmbTreeStore> {
362
+ type: 'treeStore';
363
+ }
364
+ interface ManifestItemStore extends ManifestClass<UmbItemStore> {
365
+ type: 'itemStore';
321
366
  }
322
367
 
323
368
  /**
@@ -341,12 +386,12 @@ interface MetaTree {
341
386
  repositoryAlias: string;
342
387
  }
343
388
 
344
- interface ManifestTreeItem extends ManifestElement {
389
+ interface ManifestTreeItem extends ManifestElement<UmbTreeItemExtensionElement> {
345
390
  type: 'treeItem';
346
391
  conditions: ConditionsTreeItem;
347
392
  }
348
393
  interface ConditionsTreeItem {
349
- entityType: string;
394
+ entityTypes: Array<string>;
350
395
  }
351
396
 
352
397
  interface ManifestUserProfileApp extends ManifestElement {
@@ -375,61 +420,37 @@ interface MetaWorkspaceAction {
375
420
  label?: string;
376
421
  look?: InterfaceLook;
377
422
  color?: InterfaceColor;
378
- api: ClassConstructor<any>;
423
+ api: ClassConstructor<UmbWorkspaceAction>;
379
424
  }
380
425
  interface ConditionsWorkspaceAction {
381
426
  workspaces: Array<string>;
382
427
  }
383
428
 
384
- interface ManifestWorkspaceView extends ManifestWithView {
385
- type: 'workspaceView';
386
- meta: MetaWorkspaceView;
387
- conditions: ConditionsWorkspaceView;
429
+ interface UmbWorkspaceEditorViewExtensionElement extends HTMLElement {
430
+ manifest?: ManifestWorkspaceEditorView;
388
431
  }
389
- interface MetaWorkspaceView {
390
- pathname: string;
391
- label: string;
392
- icon: string;
432
+
433
+ interface ManifestWorkspaceEditorView extends ManifestWithView<UmbWorkspaceEditorViewExtensionElement> {
434
+ type: 'workspaceEditorView';
435
+ conditions: ConditionsWorkspaceView;
393
436
  }
394
437
  interface ConditionsWorkspaceView {
395
438
  workspaces: string[];
396
439
  }
397
440
 
398
- interface ManifestWorkspaceViewCollection extends ManifestBase, ManifestWithConditions<ConditionsEditorViewCollection> {
441
+ interface ManifestWorkspaceViewCollection extends ManifestWithView, ManifestWithConditions<ConditionsEditorViewCollection> {
399
442
  type: 'workspaceViewCollection';
400
443
  meta: MetaEditorViewCollection;
401
444
  }
402
- interface MetaEditorViewCollection {
403
- pathname: string;
404
- label: string;
405
- icon: string;
445
+ interface MetaEditorViewCollection extends MetaManifestWithView {
406
446
  entityType: string;
407
- storeAlias?: string;
408
- repositoryAlias?: string;
447
+ repositoryAlias: string;
409
448
  }
410
449
  interface ConditionsEditorViewCollection {
411
450
  workspaces: string[];
412
451
  }
413
452
 
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;
453
+ type ManifestTypes = ManifestCollectionView | ManifestDashboard | ManifestDashboardCollection | ManifestEntityAction | ManifestEntityBulkAction | ManifestEntrypoint | ManifestExternalLoginProvider | ManifestHeaderApp | ManifestHeaderAppButtonKind | ManifestHealthCheck | ManifestItemStore | ManifestMenu | ManifestMenuItem | ManifestMenuItemTreeKind | ManifestModal | ManifestModalTreePickerKind | ManifestPackageView | ManifestPropertyAction | ManifestPropertyEditorModel | ManifestPropertyEditorUI | ManifestRepository | ManifestSection | ManifestSectionSidebarApp | ManifestSectionSidebarAppMenuKind | ManifestSectionView | ManifestStore | ManifestTheme | ManifestTree | ManifestTreeItem | ManifestTreeStore | ManifestUserProfileApp | ManifestWorkspace | ManifestWorkspaceAction | ManifestWorkspaceEditorView | ManifestWorkspaceViewCollection | ManifestBase;
433
454
  type ManifestStandardTypes = ManifestTypes['type'];
434
455
  type ManifestTypeMap = {
435
456
  [Manifest in ManifestTypes as Manifest['type']]: Manifest;
@@ -481,7 +502,10 @@ interface ManifestWithLoader<LoaderReturnType> extends ManifestBase {
481
502
  /**
482
503
  * The type of extension such as dashboard etc...
483
504
  */
484
- interface ManifestClass<T = unknown> extends ManifestWithLoader<object> {
505
+ interface ManifestClass<ClassType = unknown> extends ManifestWithLoader<{
506
+ default: ClassConstructor<ClassType>;
507
+ }> {
508
+ readonly CLASS_TYPE?: ClassType;
485
509
  /**
486
510
  * The file location of the javascript file to load
487
511
  * @TJS-required
@@ -494,12 +518,15 @@ interface ManifestClass<T = unknown> extends ManifestWithLoader<object> {
494
518
  /**
495
519
  * @TJS-ignore
496
520
  */
497
- class?: ClassConstructor<T>;
521
+ class?: ClassConstructor<ClassType>;
498
522
  }
499
- interface ManifestClassWithClassConstructor extends ManifestClass {
500
- class: ClassConstructor<unknown>;
523
+ interface ManifestClassWithClassConstructor<T = unknown> extends ManifestClass<T> {
524
+ class: ClassConstructor<T>;
501
525
  }
502
- interface ManifestElement extends ManifestWithLoader<object | HTMLElement> {
526
+ interface ManifestElement<ElementType extends HTMLElement = HTMLElement> extends ManifestWithLoader<{
527
+ default: ClassConstructor<ElementType>;
528
+ } | Omit<object, 'default'>> {
529
+ readonly ELEMENT_TYPE?: ElementType;
503
530
  /**
504
531
  * The file location of the javascript file to load
505
532
  *
@@ -516,7 +543,7 @@ interface ManifestElement extends ManifestWithLoader<object | HTMLElement> {
516
543
  */
517
544
  meta?: unknown;
518
545
  }
519
- interface ManifestWithView extends ManifestElement {
546
+ interface ManifestWithView<ElementType extends HTMLElement = HTMLElement> extends ManifestElement<ElementType> {
520
547
  meta: MetaManifestWithView;
521
548
  }
522
549
  interface MetaManifestWithView {
@@ -549,10 +576,33 @@ interface ManifestEntrypoint extends ManifestBase {
549
576
  js: string;
550
577
  }
551
578
 
579
+ interface UmbDashboardExtensionElement extends HTMLElement {
580
+ manifest?: ManifestDashboard;
581
+ }
582
+
583
+ interface UmbModalExtensionElement<UmbModalData extends object = object, UmbModalResult = unknown, ModalManifestType extends ManifestModal = ManifestModal> extends HTMLElement {
584
+ manifest?: ModalManifestType;
585
+ modalHandler?: UmbModalHandler<UmbModalData, UmbModalResult>;
586
+ data?: UmbModalData;
587
+ }
588
+
589
+ interface UmbPropertyEditorExtensionElement extends HTMLElement {
590
+ value: unknown;
591
+ config: DataTypePropertyPresentationModel[];
592
+ }
593
+
594
+ interface UmbSectionExtensionElement extends HTMLElement {
595
+ manifest?: ManifestSection;
596
+ }
597
+
598
+ interface UmbTreeItemExtensionElement extends HTMLElement {
599
+ item?: TreeItemPresentationModel;
600
+ }
601
+
552
602
  declare class UmbEntryPointExtensionInitializer {
553
603
  #private;
554
604
  constructor(host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry);
555
605
  instantiateEntryPoint(manifest: ManifestEntrypoint): Promise<void>;
556
606
  }
557
607
 
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 };
608
+ 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, ManifestModalTreePickerKind, 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, MetaModalTreePickerKind, 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 };