@umbraco-cms/backoffice 1.0.0-next.93a8a0e4 → 1.0.0-next.965e6eec

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.
package/element.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Observable } from 'rxjs';
2
- import { HTMLElementConstructor } from '@umbraco-cms/backoffice/models';
2
+ import { HTMLElementConstructor } from '@umbraco-cms/backoffice/extension-api';
3
3
  import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
4
4
  import { UmbContextToken, UmbContextProviderController, UmbContextCallback, UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api';
5
5
  import { UmbObserverController } from '@umbraco-cms/backoffice/observable-api';
@@ -0,0 +1,200 @@
1
+ import { Observable } from 'rxjs';
2
+ import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
3
+
4
+ type HTMLElementConstructor<T = HTMLElement> = new (...args: any[]) => T;
5
+ type ClassConstructor<T> = new (...args: any[]) => T;
6
+ type ManifestTypeMap<ManifestTypes extends ManifestBase> = {
7
+ [Manifest in ManifestTypes as Manifest['type']]: Manifest;
8
+ } & {
9
+ [key: string]: ManifestBase;
10
+ };
11
+ type SpecificManifestTypeOrManifestBase<ManifestTypes extends ManifestBase, T extends keyof ManifestTypeMap<ManifestTypes> | string> = T extends keyof ManifestTypeMap<ManifestTypes> ? ManifestTypeMap<ManifestTypes>[T] : ManifestBase;
12
+ interface ManifestBase {
13
+ /**
14
+ * The type of extension such as dashboard etc...
15
+ */
16
+ type: string;
17
+ /**
18
+ * The alias of the extension, ensure it is unique
19
+ */
20
+ alias: string;
21
+ /**
22
+ * The kind of the extension, used to group extensions together
23
+ *
24
+ * @examples ["button"]
25
+ */
26
+ kind?: unknown;
27
+ /**
28
+ * The friendly name of the extension
29
+ */
30
+ name: string;
31
+ /**
32
+ * Extensions such as dashboards are ordered by weight with lower numbers being first in the list
33
+ */
34
+ weight?: number;
35
+ }
36
+ interface ManifestKind<ManifestTypes> {
37
+ type: 'kind';
38
+ alias: string;
39
+ matchType: string;
40
+ matchKind: string;
41
+ manifest: Partial<ManifestTypes>;
42
+ }
43
+ interface ManifestWithConditions<ConditionsType> {
44
+ /**
45
+ * Set the conditions for when the extension should be loaded
46
+ */
47
+ conditions: ConditionsType;
48
+ }
49
+ interface ManifestWithLoader<LoaderReturnType> extends ManifestBase {
50
+ /**
51
+ * @TJS-ignore
52
+ */
53
+ loader?: () => Promise<LoaderReturnType>;
54
+ }
55
+ /**
56
+ * The type of extension such as dashboard etc...
57
+ */
58
+ interface ManifestClass<ClassType = unknown> extends ManifestWithLoader<{
59
+ default: ClassConstructor<ClassType>;
60
+ }> {
61
+ readonly CLASS_TYPE?: ClassType;
62
+ /**
63
+ * The file location of the javascript file to load
64
+ * @TJS-required
65
+ */
66
+ js?: string;
67
+ /**
68
+ * @TJS-ignore
69
+ */
70
+ className?: string;
71
+ /**
72
+ * @TJS-ignore
73
+ */
74
+ class?: ClassConstructor<ClassType>;
75
+ }
76
+ interface ManifestClassWithClassConstructor<T = unknown> extends ManifestClass<T> {
77
+ class: ClassConstructor<T>;
78
+ }
79
+ interface ManifestElement<ElementType extends HTMLElement = HTMLElement> extends ManifestWithLoader<{
80
+ default: ClassConstructor<ElementType>;
81
+ } | Omit<object, 'default'>> {
82
+ readonly ELEMENT_TYPE?: ElementType;
83
+ /**
84
+ * The file location of the javascript file to load
85
+ *
86
+ * @TJS-require
87
+ */
88
+ js?: string;
89
+ /**
90
+ * The HTML web component name to use such as 'my-dashboard'
91
+ * Note it is NOT <my-dashboard></my-dashboard> but just the name
92
+ */
93
+ elementName?: string;
94
+ /**
95
+ * This contains properties specific to the type of extension
96
+ */
97
+ meta?: unknown;
98
+ }
99
+ interface ManifestWithView<ElementType extends HTMLElement = HTMLElement> extends ManifestElement<ElementType> {
100
+ meta: MetaManifestWithView;
101
+ }
102
+ interface MetaManifestWithView {
103
+ pathname: string;
104
+ label: string;
105
+ icon: string;
106
+ }
107
+ interface ManifestElementWithElementName extends ManifestElement {
108
+ /**
109
+ * The HTML web component name to use such as 'my-dashboard'
110
+ * Note it is NOT <my-dashboard></my-dashboard> but just the name
111
+ */
112
+ elementName: string;
113
+ }
114
+ interface ManifestWithMeta extends ManifestBase {
115
+ /**
116
+ * This contains properties specific to the type of extension
117
+ */
118
+ meta: unknown;
119
+ }
120
+ /**
121
+ * This type of extension gives full control and will simply load the specified JS file
122
+ * You could have custom logic to decide which extensions to load/register by using extensionRegistry
123
+ */
124
+ interface ManifestEntryPoint extends ManifestBase {
125
+ type: 'entryPoint';
126
+ /**
127
+ * The file location of the javascript file to load in the backoffice
128
+ */
129
+ js: string;
130
+ }
131
+
132
+ declare class UmbExtensionRegistry<IncomingManifestTypes extends ManifestBase, ManifestTypes extends ManifestBase = IncomingManifestTypes | ManifestBase> {
133
+ private _extensions;
134
+ readonly extensions: Observable<ManifestTypes[]>;
135
+ private _kinds;
136
+ readonly kinds: Observable<ManifestKind<ManifestTypes>[]>;
137
+ defineKind(kind: ManifestKind<ManifestTypes>): void;
138
+ register(manifest: ManifestTypes | ManifestKind<ManifestTypes>): void;
139
+ registerMany(manifests: Array<ManifestTypes | ManifestKind<ManifestTypes>>): void;
140
+ unregister(alias: string): void;
141
+ isRegistered(alias: string): boolean;
142
+ private _kindsOfType;
143
+ private _extensionsOfType;
144
+ private _kindsOfTypes;
145
+ private _extensionsOfTypes;
146
+ getByTypeAndAlias<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, alias: string): Observable<T | undefined>;
147
+ extensionsOfType<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key): Observable<T[]>;
148
+ extensionsOfTypes<ExtensionTypes extends ManifestBase = ManifestBase>(types: string[]): Observable<Array<ExtensionTypes>>;
149
+ }
150
+
151
+ declare function isManifestClassConstructorType(manifest: unknown): manifest is ManifestClassWithClassConstructor;
152
+
153
+ declare function isManifestClassableType(manifest: ManifestBase): manifest is ManifestClass;
154
+
155
+ declare function isManifestElementNameType(manifest: unknown): manifest is ManifestElementWithElementName;
156
+
157
+ declare function isManifestElementableType<ElementType extends HTMLElement = HTMLElement>(manifest: ManifestBase): manifest is ManifestElement;
158
+
159
+ type ManifestJSType<T> = ManifestWithLoader<T> & {
160
+ js: string;
161
+ };
162
+ declare function isManifestJSType<T>(manifest: ManifestBase | unknown): manifest is ManifestJSType<T>;
163
+
164
+ type ManifestLoaderType<T> = ManifestWithLoader<T> & {
165
+ loader: () => Promise<T>;
166
+ };
167
+ declare function isManifestLoaderType<T>(manifest: ManifestBase): manifest is ManifestLoaderType<T>;
168
+
169
+ declare function createExtensionElement<ElementType extends HTMLElement>(manifest: ManifestElement<ElementType>): Promise<ElementType | undefined>;
170
+
171
+ declare function hasDefaultExport<ConstructorType>(object: unknown): object is {
172
+ default: ConstructorType;
173
+ };
174
+
175
+ type UmbEntryPointOnInit = (host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry<ManifestBase>) => void;
176
+ /**
177
+ * Interface containing supported life-cycle functions for ESModule entry points
178
+ */
179
+ interface UmbEntryPointModule {
180
+ onInit: UmbEntryPointOnInit;
181
+ }
182
+
183
+ /**
184
+ * Validate if an ESModule exports a known init function called 'onInit'
185
+ */
186
+ declare function hasInitExport(obj: unknown): obj is Pick<UmbEntryPointModule, 'onInit'>;
187
+
188
+ declare function loadExtension<T = unknown>(manifest: ManifestWithLoader<T>): Promise<T | null>;
189
+
190
+ declare function createExtensionElementOrFallback(manifest: any, fallbackElementName: string): Promise<HTMLElement | undefined>;
191
+
192
+ declare function createExtensionClass<T = unknown>(manifest: ManifestClass, constructorArguments: unknown[]): Promise<T | undefined>;
193
+
194
+ declare class UmbEntryPointExtensionInitializer {
195
+ #private;
196
+ constructor(host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry<ManifestEntryPoint>);
197
+ instantiateEntryPoint(manifest: ManifestEntryPoint): Promise<void>;
198
+ }
199
+
200
+ export { ClassConstructor, HTMLElementConstructor, ManifestBase, ManifestClass, ManifestClassWithClassConstructor, ManifestElement, ManifestElementWithElementName, ManifestEntryPoint, ManifestJSType, ManifestKind, ManifestLoaderType, ManifestTypeMap, ManifestWithConditions, ManifestWithLoader, ManifestWithMeta, ManifestWithView, MetaManifestWithView, SpecificManifestTypeOrManifestBase, UmbEntryPointExtensionInitializer, UmbEntryPointModule, UmbEntryPointOnInit, UmbExtensionRegistry, createExtensionClass, createExtensionElement, createExtensionElementOrFallback, hasDefaultExport, hasInitExport, isManifestClassConstructorType, isManifestClassableType, isManifestElementNameType, isManifestElementableType, isManifestJSType, isManifestLoaderType, loadExtension };
@@ -1,11 +1,9 @@
1
+ import { ManifestElement, ManifestWithConditions, ManifestBase, ManifestClass, ManifestWithLoader, ClassConstructor, ManifestWithView, MetaManifestWithView, ManifestEntryPoint, ManifestKind, UmbExtensionRegistry } from '@umbraco-cms/backoffice/extension-api';
2
+ import { UmbModalHandler } from '@umbraco-cms/backoffice/modal';
1
3
  import { DataTypePropertyPresentationModel, TreeItemPresentationModel } from '@umbraco-cms/backoffice/backend-api';
2
4
  import { UmbStoreBase, UmbTreeStore, UmbItemStore } from '@umbraco-cms/backoffice/store';
3
5
  import { InterfaceLook, InterfaceColor } from '@umbraco-ui/uui-base/lib/types/index';
4
- import { ClassConstructor } from '@umbraco-cms/backoffice/models';
5
6
  import { UmbWorkspaceAction } from '@umbraco-cms/backoffice/workspace';
6
- import { UmbModalHandler } from '@umbraco-cms/backoffice/modal';
7
- import { UmbExtensionRegistry } from '@umbraco-cms/backoffice/extensions-api';
8
- import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller';
9
7
 
10
8
  interface ManifestCollectionView extends ManifestElement, ManifestWithConditions<ConditionsCollectionView> {
11
9
  type: 'collectionView';
@@ -126,7 +124,7 @@ interface MetaEntityAction {
126
124
  repositoryAlias: string;
127
125
  }
128
126
  interface ConditionsEntityAction {
129
- entityType: string;
127
+ entityTypes: Array<string>;
130
128
  }
131
129
 
132
130
  /**
@@ -383,7 +381,7 @@ interface ManifestTreeItem extends ManifestElement<UmbTreeItemExtensionElement>
383
381
  conditions: ConditionsTreeItem;
384
382
  }
385
383
  interface ConditionsTreeItem {
386
- entityType: string;
384
+ entityTypes: Array<string>;
387
385
  }
388
386
 
389
387
  interface ManifestUserProfileApp extends ManifestElement {
@@ -442,137 +440,14 @@ interface ConditionsEditorViewCollection {
442
440
  workspaces: string[];
443
441
  }
444
442
 
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;
446
- type ManifestStandardTypes = ManifestTypes['type'];
447
- type ManifestTypeMap = {
448
- [Manifest in ManifestTypes as Manifest['type']]: Manifest;
449
- };
450
- type SpecificManifestTypeOrManifestBase<T extends keyof ManifestTypeMap | string> = T extends keyof ManifestTypeMap ? ManifestTypeMap[T] : ManifestBase;
451
- interface ManifestBase {
452
- /**
453
- * The type of extension such as dashboard etc...
454
- */
455
- type: string;
456
- /**
457
- * The alias of the extension, ensure it is unique
458
- */
459
- alias: string;
460
- /**
461
- * The kind of the extension, used to group extensions together
462
- *
463
- * @examples ["button"]
464
- */
465
- kind?: unknown;
466
- /**
467
- * The friendly name of the extension
468
- */
469
- name: string;
470
- /**
471
- * Extensions such as dashboards are ordered by weight with lower numbers being first in the list
472
- */
473
- weight?: number;
474
- }
475
- interface ManifestKind {
476
- type: 'kind';
477
- alias: string;
478
- matchType: string;
479
- matchKind: string;
480
- manifest: Partial<ManifestTypes>;
481
- }
482
- interface ManifestWithConditions<ConditionsType> {
483
- /**
484
- * Set the conditions for when the extension should be loaded
485
- */
486
- conditions: ConditionsType;
487
- }
488
- interface ManifestWithLoader<LoaderReturnType> extends ManifestBase {
489
- /**
490
- * @TJS-ignore
491
- */
492
- loader?: () => Promise<LoaderReturnType>;
493
- }
494
- /**
495
- * The type of extension such as dashboard etc...
496
- */
497
- interface ManifestClass<ClassType = unknown> extends ManifestWithLoader<{
498
- default: ClassConstructor<ClassType>;
499
- }> {
500
- readonly CLASS_TYPE?: ClassType;
501
- /**
502
- * The file location of the javascript file to load
503
- * @TJS-required
504
- */
505
- js?: string;
506
- /**
507
- * @TJS-ignore
508
- */
509
- className?: string;
510
- /**
511
- * @TJS-ignore
512
- */
513
- class?: ClassConstructor<ClassType>;
514
- }
515
- interface ManifestClassWithClassConstructor<T = unknown> extends ManifestClass<T> {
516
- class: ClassConstructor<T>;
517
- }
518
- interface ManifestElement<ElementType extends HTMLElement = HTMLElement> extends ManifestWithLoader<{
519
- default: ClassConstructor<ElementType>;
520
- } | Omit<object, 'default'>> {
521
- readonly ELEMENT_TYPE?: ElementType;
522
- /**
523
- * The file location of the javascript file to load
524
- *
525
- * @TJS-require
526
- */
527
- js?: string;
528
- /**
529
- * The HTML web component name to use such as 'my-dashboard'
530
- * Note it is NOT <my-dashboard></my-dashboard> but just the name
531
- */
532
- elementName?: string;
533
- /**
534
- * This contains properties specific to the type of extension
535
- */
536
- meta?: unknown;
537
- }
538
- interface ManifestWithView<ElementType extends HTMLElement = HTMLElement> extends ManifestElement<ElementType> {
539
- meta: MetaManifestWithView;
540
- }
541
- interface MetaManifestWithView {
542
- pathname: string;
543
- label: string;
544
- icon: string;
545
- }
546
- interface ManifestElementWithElementName extends ManifestElement {
547
- /**
548
- * The HTML web component name to use such as 'my-dashboard'
549
- * Note it is NOT <my-dashboard></my-dashboard> but just the name
550
- */
551
- elementName: string;
552
- }
553
- interface ManifestWithMeta extends ManifestBase {
554
- /**
555
- * This contains properties specific to the type of extension
556
- */
557
- meta: unknown;
558
- }
559
- /**
560
- * This type of extension gives full control and will simply load the specified JS file
561
- * You could have custom logic to decide which extensions to load/register by using extensionRegistry
562
- */
563
- interface ManifestEntrypoint extends ManifestBase {
564
- type: 'entryPoint';
565
- /**
566
- * The file location of the javascript file to load in the backoffice
567
- */
568
- js: string;
569
- }
443
+ 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;
570
444
 
571
445
  interface UmbDashboardExtensionElement extends HTMLElement {
572
446
  manifest?: ManifestDashboard;
573
447
  }
574
448
 
575
- interface UmbModalExtensionElement<UmbModalData extends object = object, UmbModalResult = unknown> extends HTMLElement {
449
+ interface UmbModalExtensionElement<UmbModalData extends object = object, UmbModalResult = unknown, ModalManifestType extends ManifestModal = ManifestModal> extends HTMLElement {
450
+ manifest?: ModalManifestType;
576
451
  modalHandler?: UmbModalHandler<UmbModalData, UmbModalResult>;
577
452
  data?: UmbModalData;
578
453
  }
@@ -590,10 +465,8 @@ interface UmbTreeItemExtensionElement extends HTMLElement {
590
465
  item?: TreeItemPresentationModel;
591
466
  }
592
467
 
593
- declare class UmbEntryPointExtensionInitializer {
594
- #private;
595
- constructor(host: UmbControllerHostElement, extensionRegistry: UmbExtensionRegistry);
596
- instantiateEntryPoint(manifest: ManifestEntrypoint): Promise<void>;
597
- }
468
+ type UmbBackofficeManifestKind = ManifestKind<ManifestTypes>;
469
+ type UmbBackofficeExtensionRegistry = UmbExtensionRegistry<ManifestTypes>;
470
+ declare const umbExtensionsRegistry: UmbBackofficeExtensionRegistry;
598
471
 
599
- 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 };
472
+ export { ConditionsCollectionView, ConditionsDashboard, ConditionsDashboardCollection, ConditionsEditorViewCollection, ConditionsEntityAction, ConditionsEntityBulkAction, ConditionsMenuItem, ConditionsPropertyAction, ConditionsSectionSidebarApp, ConditionsSectionView, ConditionsTreeItem, ConditionsWorkspaceAction, ConditionsWorkspaceView, HealthCheck, ManifestCollectionView, ManifestDashboard, ManifestDashboardCollection, ManifestEntityAction, ManifestEntityBulkAction, ManifestExternalLoginProvider, ManifestHeaderApp, ManifestHeaderAppButtonKind, ManifestHealthCheck, ManifestItemStore, ManifestMenu, ManifestMenuItem, ManifestMenuItemTreeKind, ManifestModal, ManifestPackageView, ManifestPropertyAction, ManifestPropertyEditorModel, ManifestPropertyEditorUI, ManifestRepository, ManifestSection, ManifestSectionSidebarApp, ManifestSectionSidebarAppMenuKind, ManifestSectionView, ManifestStore, ManifestTheme, ManifestTree, ManifestTreeItem, ManifestTreeStore, ManifestTypes, ManifestUserProfileApp, ManifestWorkspace, ManifestWorkspaceAction, ManifestWorkspaceEditorView, ManifestWorkspaceViewCollection, MetaCollectionView, MetaDashboard, MetaDashboardCollection, MetaEditor, MetaEditorViewCollection, MetaEntityAction, MetaEntityBulkAction, MetaExternalLoginProvider, MetaHeaderApp, MetaHeaderAppButtonKind, MetaHealthCheck, MetaMenuItem, MetaMenuItemTreeKind, MetaPackageView, MetaPropertyEditorModel, MetaPropertyEditorUI, MetaSection, MetaSectionSidebarAppMenuKind, MetaSectionView, MetaTree, MetaUserProfileApp, MetaWorkspaceAction, PropertyEditorConfig, PropertyEditorConfigDefaultData, PropertyEditorConfigProperty, UmbBackofficeExtensionRegistry, UmbBackofficeManifestKind, UmbDashboardExtensionElement, UmbExternalLoginProviderExtensionElement, UmbMenuItemExtensionElement, UmbModalExtensionElement, UmbPropertyEditorExtensionElement, UmbSectionExtensionElement, UmbSectionSidebarAppExtensionElement, UmbSectionViewExtensionElement, UmbTreeItemExtensionElement, UmbWorkspaceEditorViewExtensionElement, umbExtensionsRegistry };
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, UserResponseModel, 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,20 +359,15 @@ 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
368
  type UmbUserPickerModalData = UmbPickerModalData$1<UserResponseModel>;
388
369
  interface UmbUserPickerModalResult {
389
- selection: Array<string>;
370
+ selection: Array<string | null>;
390
371
  }
391
372
  declare const UMB_USER_PICKER_MODAL: UmbModalToken$1<UmbUserPickerModalData, UmbUserPickerModalResult>;
392
373
 
@@ -399,22 +380,41 @@ interface UmbFolderModalResult {
399
380
  }
400
381
  declare const UMB_FOLDER_MODAL: UmbModalToken$1<UmbFolderModalData, UmbFolderModalResult>;
401
382
 
402
- interface UmbDataTypePickerModalData {
403
- selection?: Array<string>;
404
- multiple?: boolean;
383
+ interface UmbPartialViewPickerModalData {
384
+ multiple: boolean;
385
+ selection: string[];
405
386
  }
406
- interface UmbDataTypePickerModalResult {
407
- selection: Array<string>;
387
+ interface UmbPartialViewPickerModalResult {
388
+ selection: Array<string | null> | undefined;
408
389
  }
409
- 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>;
410
392
 
411
- interface UmbPickerModalData<T> {
393
+ interface UmbDictionaryItemPickerModalData {
412
394
  multiple: boolean;
413
- selection: Array<string>;
414
- filter?: (item: T) => boolean;
395
+ selection: string[];
396
+ }
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;
415
412
  }
416
413
  interface UmbPickerModalResult {
417
- selection: Array<string>;
414
+ selection: Array<string | null>;
415
+ }
416
+ interface UmbTreePickerModalData<TreeItemType> extends UmbPickerModalData<TreeItemType> {
417
+ treeAlias?: string;
418
418
  }
419
419
 
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_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, UmbUserPickerModalData, UmbUserPickerModalResult };
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 };